CMU機(jī)器人研究所于2021年7月開源全套移動(dòng)機(jī)器人自主導(dǎo)航和探索框架,其主要算法都出自近兩年CMU發(fā)出的頂會(huì)論文.該框架主要分為自主探索環(huán)境和探索planner兩部分:
其主要效果在鏈接中主要表現(xiàn)出來,筆者看到后很是震撼,所以接下來將針對(duì)tare_planner算法進(jìn)行一系列的學(xué)習(xí),并且會(huì)將學(xué)習(xí)心得記錄在博客上,歡迎有共同愛好的朋友一起學(xué)習(xí)探討。
一、自主探索開發(fā)環(huán)境
該環(huán)境旨在利用系統(tǒng)開發(fā)和機(jī)器人部署進(jìn)行地面自主導(dǎo)航和探索。包含各種仿真環(huán)境、自主導(dǎo)航模塊(如防撞、地形可穿越性分析、航路點(diǎn)跟蹤等)和一套可視化工具,用戶可以開發(fā)自主導(dǎo)航系統(tǒng),然后將這些系統(tǒng)移植到真正的機(jī)器人上進(jìn)行部署。這是我們的開源存儲(chǔ)庫(kù)。
1. 快速啟動(dòng)
該存儲(chǔ)庫(kù)已在Ubuntu 18.04和ROS Melodic中進(jìn)行了測(cè)試,并在Ubuntu 20.04和ROS Noetic中進(jìn)行了測(cè)試。使用下面的命令行安裝依賴項(xiàng)。由于樓主是使用的Ubuntu 18.04,所以本文以Melodic為主。
打開終端,安裝依賴
sudo apt update
sudo apt install libusb-dev
克隆開源代碼
git clone https://github.com/jizhang-cmu/ground_based_autonomy_basic.git
在終端中,轉(zhuǎn)到文件夾并簽出與計(jì)算機(jī)設(shè)置匹配的分支。將分支換為“melodic”或“noetic”。然后編譯。
cd autonomous_exploration_development_environment
git checkout mellodic
catkin_make -j1
運(yùn)行腳本下載模擬環(huán)境(~500MB)。這可能需要幾分鐘。如果腳本沒有啟動(dòng)下載,用戶可以下載模擬環(huán)境并將文件解壓縮src/vehicle_simulator/mesh。由于在國(guó)內(nèi)以上兩個(gè)文件需要科學(xué)上網(wǎng),所以樓主在百度網(wǎng)盤放置了以上文件。
./src/vehicle_simulator/mesh/download_environments.sh
百度云鏈接
鏈接:https://pan.baidu.com/s/1n0BxFLUJ_5Jc6fN4jRybWg
提取碼:l1mh
下載完成并解壓后,你的文件結(jié)構(gòu)應(yīng)該是這樣

打開vehicle_simulator后

打開mesh后

之后便可以source ROS的工作空間以及啟動(dòng)環(huán)境
source devel/setup.sh
roslaunch vehicle_simulator system_garage.launch
之后,你可以在rviz中看到如下圖片

我們可以使用他自帶的路點(diǎn)發(fā)布的程序進(jìn)行仿真實(shí)驗(yàn),在另一個(gè)終端中,轉(zhuǎn)到文件夾并找到ROS工作區(qū),然后使用下面的命令行運(yùn)行ROS節(jié)點(diǎn)。ROS節(jié)點(diǎn)還發(fā)送導(dǎo)航邊界和速度。車輛將在邊界內(nèi)導(dǎo)航,同時(shí)跟隨航路點(diǎn)。
roslaunch waypoint_example waypoint_example_garage.launch
二、tare_planner 規(guī)劃算法
tare_planner的源碼鏈接如下:
https://github.com/caochao39/tare_planner
如果發(fā)現(xiàn)自己上不了github的話,可以去gitee上面搜索Dev-sidecar這個(gè)工具,該工具可以使用代理連接到github,并且可以加速git的下載。
1.源碼下載
git clone https://github.com/caochao39/tare_planner.git
在終端中輸入以下命令,進(jìn)行編譯
cd tare_planner
catkin_make -j1
要運(yùn)行代碼,請(qǐng)轉(zhuǎn)到終端中的development environment文件夾,
source ROS工作區(qū),然后啟動(dòng)。
source devel/setup.sh
roslaunch vehicle_simulator system_garage.launch
打開另一個(gè)終端,找到tare_planner,source ROS的工作空間,然后輸入以下指令
source devel/setup.sh
roslaunch tare_planner explore_garage.launch
現(xiàn)在,用戶應(yīng)該可以看到自主探索的效果。要使用不同的環(huán)境啟動(dòng),請(qǐng)使用下面的命令行,并將<environment>替換為開發(fā)環(huán)境中的一個(gè)環(huán)境名稱,即campus、indoor、garage、tunnel和forest。
roslaunch vehicle_simulator system_<environment>.launch
roslaunch tare_planner explore_<environment>.launch
在Matterport3D進(jìn)行3D環(huán)境的TARE Planner算法的仿真,請(qǐng)按照“開發(fā)環(huán)境”頁(yè)面上的說明設(shè)置Matterport3D環(huán)境。然后,使用下面的命令行啟動(dòng)系統(tǒng)和皮重計(jì)劃器。
roslaunch vehicle_simulator system_matterport.launch
roslaunch tare_planner explore_matterport.launch