ROS節(jié)點(diǎn)運(yùn)行無(wú)點(diǎn)云輸出的排查實(shí)錄)
一、 問(wèn)題現(xiàn)象與排查思路在部署MID-360激光雷達(dá)的過(guò)程中開(kāi)發(fā)者常會(huì)遇到雷達(dá)初始化失敗或ROS節(jié)點(diǎn)啟動(dòng)后無(wú)數(shù)據(jù)輸出的問(wèn)題。如下圖所示。針對(duì)此類故障核心排查邏輯應(yīng)遵循“先物理鏈路后軟件配置”的原則。首先我們需要繞過(guò)ROS環(huán)境利用電腦直連雷達(dá)并借助網(wǎng)絡(luò)抓包工具如Wireshark來(lái)驗(yàn)證底層網(wǎng)絡(luò)通信是否正常。二、 物理鏈路與網(wǎng)絡(luò)連通性測(cè)試將測(cè)試電腦與MID-360雷達(dá)通過(guò)網(wǎng)線直接連接并啟動(dòng)Wireshark監(jiān)聽(tīng)對(duì)應(yīng)的有線網(wǎng)卡。若抓包界面未捕獲到任何來(lái)自雷達(dá)的數(shù)據(jù)幀這通常意味著主機(jī)的IP地址配置有誤導(dǎo)致雙方不在同一網(wǎng)段無(wú)法建立通信。如下圖所示。此時(shí)需將主機(jī)的有線網(wǎng)卡IP手動(dòng)修改為與雷達(dá)默認(rèn)網(wǎng)段一致的靜態(tài)IP例如192.168.86.15。修改完成后再次進(jìn)行抓包測(cè)試若能夠持續(xù)捕獲到雷達(dá)發(fā)出的UDP數(shù)據(jù)包則說(shuō)明物理鏈路已打通電腦已具備接收雷達(dá)數(shù)據(jù)的能力。三、 驅(qū)動(dòng)配置文件的參數(shù)映射盡管物理鏈路測(cè)試正常但在實(shí)際運(yùn)行ROS節(jié)點(diǎn)時(shí)仍可能出現(xiàn)話題無(wú)數(shù)據(jù)的情況。這通常是由于ROS驅(qū)動(dòng)配置文件中的IP映射與實(shí)際網(wǎng)絡(luò)環(huán)境不匹配所致。此時(shí)需進(jìn)入驅(qū)動(dòng)工程的config目錄找到對(duì)應(yīng)雷達(dá)型號(hào)的JSON配置文件如MID360_config.json。在配置文件中需重點(diǎn)核對(duì)并修改以下兩處IP參數(shù)主機(jī)IPHost IP需修改為當(dāng)前測(cè)試電腦的實(shí)際IP如192.168.86.15確保雷達(dá)知道將數(shù)據(jù)發(fā)送到哪里。雷達(dá)IPLidar IP需與雷達(dá)的實(shí)際出廠IP或已配置的靜態(tài)IP嚴(yán)格一致如192.168.86.201。四、 驗(yàn)證與總結(jié)完成上述JSON配置文件的修改并保存后重新編譯并運(yùn)行ROS驅(qū)動(dòng)節(jié)點(diǎn)。此時(shí)雷達(dá)數(shù)據(jù)應(yīng)能正常解析并發(fā)布到ROS話題中。如下圖所示節(jié)點(diǎn)數(shù)據(jù)發(fā)布。綜上所述MID-360無(wú)數(shù)據(jù)輸出的問(wèn)題大多源于網(wǎng)絡(luò)層配置。通過(guò)“直連抓包驗(yàn)證鏈路”與“修正驅(qū)動(dòng)JSON配置”兩步走策略可以高效、精準(zhǔn)地定位并解決絕大多數(shù)初始化失敗及數(shù)據(jù)丟失問(wèn)題。