柚子快報(bào)邀請(qǐng)碼778899分享:算法 硬件機(jī)器人部署TARE
柚子快報(bào)邀請(qǐng)碼778899分享:算法 硬件機(jī)器人部署TARE
本文只是按照個(gè)人理解把TARE部署到硬件機(jī)器人上,并沒有對(duì)源碼進(jìn)行相關(guān)的解讀,代碼解讀可以參考其他博主的學(xué)習(xí)筆記。
一、硬件要求
1.1 雷達(dá)
我采用的是鐳神16線三維激光雷達(dá),這款雷達(dá)在淘寶可以搜到,但是價(jià)格略貴,雷達(dá)淘寶鏈接:由于雷達(dá)價(jià)格比較昂貴,大家量力而行!!!
1.2 主控
主控采用的是Jetson Nano的TX板
1.3 底層
底層控制采用stm32f4系列板
1.4 整車套件
整車套件買的是輪趣科技的阿克曼結(jié)構(gòu)機(jī)器人,淘寶鏈接,價(jià)格也比較昂貴,量力而行??!買整車套件的好處在于:(1)無需自己寫電機(jī)驅(qū)動(dòng)(類似pid算法、串口通信之類的)(2)雷達(dá)驅(qū)動(dòng)也是現(xiàn)成的 (3)上層與底層的通信是現(xiàn)成的。我們只需要關(guān)注自己算法的開發(fā)即可
二、環(huán)境搭建
這個(gè)可以參考CMU開源的網(wǎng)站,網(wǎng)站地址,這里面詳細(xì)介紹了如何下載源碼和搭建環(huán)境,這里就不再贅述。
在啟動(dòng)如下命令之后
roslaunch vehicle_simulator system_garage.launch
可以看到如下圖所示內(nèi)容,即代表仿真環(huán)境搭建成功,如果有報(bào)錯(cuò)則自己安裝對(duì)應(yīng)的功能包即可。
這個(gè)界面包含了三個(gè)部分:1、仿真地圖的rviz界面(這里代碼作者將gazebo顯示關(guān)閉了)2、攝像頭畫面 3、運(yùn)行時(shí)長和調(diào)用路徑規(guī)劃的次數(shù)
開啟這個(gè)界面之后,繼續(xù)運(yùn)行以下命令
roslaunch tare_planner explore_garage.launch
這里為開啟TARE規(guī)劃器的命令,開啟后如下圖所示。其中包括了rviz的一個(gè)全局地圖,然后通過更新局部的way_point來引導(dǎo)機(jī)器人移動(dòng)。
至此,TARE仿真環(huán)境完全搭建結(jié)束,可以進(jìn)行自己的開發(fā)了。
三、修改話題名
由于在路徑
/home/user_name/autonomous_exploration_development_environment/src/vehicle_simulator/launch/system_real_robot.launch
存在TARE團(tuán)隊(duì)提供給我們使用的一個(gè)可以直接使用在真實(shí)機(jī)器人上的launch文件,所以我們只需要把雷達(dá)的話題名相對(duì)應(yīng)即可。
首先在自己的硬件機(jī)器人上開啟三維雷達(dá),此時(shí)只要能接收到點(diǎn)云數(shù)據(jù)即可,如下圖,這里不需要開啟建圖!??!
開啟之后,用rostopic list查看雷達(dá)點(diǎn)云的話題名,比如我的是/point_cloud_raw,然后把這個(gè)話題名復(fù)制,進(jìn)入以下路徑。
/home/user_name/autonomous_exploration_development_environment/src/loam_interface/launch
找到一個(gè)叫l(wèi)oam_interface.launch的文件,文件內(nèi)容如下:
把第二個(gè)參數(shù)的值/velodyne_cloud_registered修改為自己雷達(dá)的點(diǎn)云話題名,此處例如我自己的為/point_cloud_raw,修改后代碼如下,注意第二個(gè)參數(shù)的值!!
修改成自己雷達(dá)的對(duì)應(yīng)話題之后,開啟雷達(dá)節(jié)點(diǎn),然后開啟TARE的節(jié)點(diǎn)
roslaunch rplidar rplidar_3d.launch #自己的雷達(dá)節(jié)點(diǎn),此處不需要開建圖??!
roslaunch vehicle_simulator system_real_robot.launch #開啟TARE的節(jié)點(diǎn)
然后就可以看到下圖的結(jié)果,左邊為TARE環(huán)境的RVIZ視圖,右邊為自己硬件小車的RVIZ視圖。到此,已經(jīng)將雷達(dá)數(shù)據(jù)傳遞給了TARE的環(huán)境中。
四、TARE規(guī)劃器
在第三節(jié)完成后,還需要開啟底層控制節(jié)點(diǎn),因?yàn)門ARE規(guī)劃器是需要改變/cmd_vel話題的值,通過串口發(fā)送給底層才能控制機(jī)器人運(yùn)動(dòng),而底層節(jié)點(diǎn)不包含在TARE里,需要自行準(zhǔn)備,這里可以參考第一節(jié)的整車套件的內(nèi)容。
開啟底層節(jié)點(diǎn)后再執(zhí)行以下代碼:
roslaunch tare_planner explore_matterport.launch
這里的launch文件需要根據(jù)你的實(shí)際測試環(huán)境進(jìn)行修改,如果是室外的話可以試試gexplore_garage.launch,在TARE社區(qū)里原作者給出了相關(guān)的解釋,可以進(jìn)行參考。開啟后機(jī)器人則開啟了地圖探索,但有些可能會(huì)出現(xiàn)機(jī)器人抖動(dòng),或者探索一會(huì)就回來了,這些問題目前我也沒搞懂為啥,但根據(jù)TARE社區(qū)原作者給出的解答,可以嘗試不同的launch文件適配不同的參數(shù)。想要完全達(dá)到100%的成功率還需要自己對(duì)代碼進(jìn)行修改。
免責(zé)聲明:由于我目前也只是本科大三階段,如果按照本文操作之后不成功,還望諒解。如果有一定的ROS基礎(chǔ)并能自己跑通gazebo仿真,理解話題之間的通信過程,我相信大部分是可以成功的。如有錯(cuò)誤之處請(qǐng)批評(píng)指正。
對(duì)于零基礎(chǔ)的同學(xué),我的建議還是先打好基礎(chǔ),不要越階挑戰(zhàn)TARE,太傷神。
最后對(duì)整個(gè)流程進(jìn)行一下梳理:
搭建仿真環(huán)境開啟自己的雷達(dá)測試TARE的仿真環(huán)境能否收到雷達(dá)數(shù)據(jù)開啟底層節(jié)點(diǎn)開啟TARE規(guī)劃器
柚子快報(bào)邀請(qǐng)碼778899分享:算法 硬件機(jī)器人部署TARE
精彩內(nèi)容
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場。
轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。