OriginBot 適配筆記之樂動(dòng)14雷達(dá)
前言
在機(jī)器人系統(tǒng)中,激光雷達(dá)通常被用于環(huán)境感知和導(dǎo)航。然而,由于不同激光雷達(dá)的性能和功能存在差異,當(dāng)需要升級或更換激光雷達(dá)時(shí),需要進(jìn)行一系列的操作。在本文中,我們以O(shè)riginBot小車為例,介紹如何OriginBot小車搭載的搭載了EAI YDLIDAR X3雷達(dá)換成樂動(dòng)14的步驟和注意事項(xiàng)。
硬件選型
在選擇激光雷達(dá)時(shí),我們通常會(huì)考慮到幾個(gè)因素,測量半徑、掃描頻率、測量頻率、掃描角度以及它的價(jià)格。
首先來介紹這幾個(gè)參數(shù)的含義。
測量半徑:激光雷達(dá)的測量半徑是指它能夠測量到的最遠(yuǎn)距離。測量半徑取決于激光雷達(dá)發(fā)射的激光束的功率和接收器的靈敏度。同時(shí),測量半徑還受到測量環(huán)境的影響,如光照強(qiáng)度、氣體濃度等。
掃描頻率:激光雷達(dá)的掃描頻率是指它每秒鐘掃描的次數(shù)。掃描頻率越高,激光雷達(dá)測量數(shù)據(jù)的更新速度就越快,掃描頻率的提高會(huì)增加激光雷達(dá)的功耗和成本。
測量頻率:激光雷達(dá)的測量頻率是指它每秒鐘發(fā)射的激光束的數(shù)量。測頻率決定了激光雷達(dá)在單位時(shí)間內(nèi)測量的點(diǎn)云數(shù)據(jù)量。測量頻率的提高會(huì)增加激光雷達(dá)的功耗和成本。
掃描角度:激光雷達(dá)的掃描角度是指它每次掃描的范圍。掃描角度的大小取決于激光雷達(dá)的設(shè)計(jì)和應(yīng)用場景。通常,掃描角度在幾度到360度之間。掃描角度的增加會(huì)增加激光雷達(dá)的掃描時(shí)間和功耗。
接下來,來看一下這兩款激光雷達(dá)的這幾個(gè)參數(shù)。

從這幾項(xiàng)參數(shù)來看,LD14較EXI X3 在各項(xiàng)指標(biāo)上可調(diào)空間小一些,但是不影響我們的適配。
硬件替換
硬件的替換時(shí)很簡單的,兩款激光雷達(dá)采用的接口是一致的,所以我們選擇把線路替換到另外一臺(tái)上面,有時(shí)候也要考慮一下功率問題。

軟件適配
在軟件適配上,先來看OriginBot小車是如何實(shí)現(xiàn)雷達(dá)驅(qū)動(dòng)的。
在originbot_bringup/launch/ydlidar.launch.py中實(shí)現(xiàn)有關(guān)雷達(dá)實(shí)現(xiàn)方式,內(nèi)容如下:
可以看到直接調(diào)用了ydlidar_ros2_driver_node這個(gè)節(jié)點(diǎn)并作了一次tf變換。再來看這個(gè)節(jié)點(diǎn)的實(shí)現(xiàn),originbot_driver\ydlidar_ros2_driver中便實(shí)現(xiàn)了ydlidar的驅(qū)動(dòng)代碼。如此一想,是不是我只需要將LD14的驅(qū)動(dòng)SDK拉出來就可以了。
不妨試試。
拉下來后,需要做這幾步
第一步,通過板載串口或者USB轉(zhuǎn)串口模塊(例如,cp2102模塊)的方式使雷達(dá)連接到你的系統(tǒng)主板.
第二步,設(shè)置雷達(dá)在系統(tǒng)中掛載的串口設(shè)備-x權(quán)限(以/dev/ttyUSB0為例)
實(shí)際使用時(shí),根據(jù)雷達(dá)在你的系統(tǒng)中的實(shí)際掛載情況來設(shè)置,可以使用ls -l /dev命令查看.
第三步,修改launch/目錄下雷達(dá)產(chǎn)品型號對應(yīng)的lanuch文件中的port_name值,以 ld14.launch.py 為例,如下所示.
接下來,編譯它。
最后測試一下它是否能夠采集到數(shù)據(jù)。
效果如下:


采集到數(shù)據(jù)后,我們還需要做一些TF的變換,因?yàn)樵贠riginBot上,雷達(dá)TF為laser_link,所以launch文件直接改為:
這樣就大功告成了!
功能運(yùn)行示例
運(yùn)行導(dǎo)航示例:
SSH連接OriginBot成功后,在終端中輸入如下指令,啟動(dòng)機(jī)器人底盤和激光雷達(dá):
為了便于發(fā)布導(dǎo)航的目標(biāo)點(diǎn),在同一網(wǎng)絡(luò)下的PC端,啟動(dòng)上位機(jī)可視化軟件:
通過SSH連接OriginBot,在終端中輸入如下指令,啟動(dòng)NAV2導(dǎo)航功能包:
最終效果如下:
