該節(jié)需要完成前面一節(jié)內(nèi)容實(shí)現(xiàn)turtlebot3正常創(chuàng)建新地圖,才可以實(shí)現(xiàn)本節(jié)的自動避障和導(dǎo)航
自動避障
- 啟動虛擬機(jī)器人有環(huán)境的仿真
export SVGA_VGPU10=0
source ./devel/setup.bash # 之前已經(jīng)寫入.bashrc,可以忽略此步驟
export TURTLEBOT3_MODEL=burger # 之前已經(jīng)寫入.bashrc,可以忽略此步驟
roslaunch turtlebot3_gazebo turtlebot3_world.launch
- 鍵盤控制
打開新端口
# 如果上面的命令已經(jīng)寫入.bashrc,如果未寫入。每次打開新端口都需要執(zhí)行一次
roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch
3. 自動避障
打開新端口
roslaunch turtlebot3_gazebo turtlebot3_simulation.launch
4. 調(diào)用rviz
roslaunch turtlebot3_gazebo turtlebot3_gazebo_rviz.launch
注意:可以通過修改size來變化激光掃描邊緣的粗細(xì)
建地圖
之前已經(jīng)啟動無需再起世界地圖
# 啟動世界地圖,默認(rèn)的空白地圖環(huán)境中加載Turtlebot3機(jī)器人
roslaunch turtlebot3_gazebo turtlebot3_world.launch
# 新端口啟動slam程序
roslaunch turtlebot3_slam turtlebot3_slam.launch
啟動好后可以同步建圖了
# 新端口 啟動鍵盤控制移動,,建立全部的地圖
roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch
# 如果無法控制,可以再新端口使用自動避障使其自己走
roslaunch turtlebot3_gazebo turtlebot3_simulation.launch
控制turtlebot3四處移動,直到你覺得建圖滿意。
建完地圖之后,我們運(yùn)行下面的命令來保存地圖:
rosrun map_server map_saver -f ~/map
這個是地圖是保存到當(dāng)前路徑下的。保存為兩個文件
導(dǎo)航
# 加載仿真環(huán)境 啟動地圖
roslaunch turtlebot3_gazebo turtlebot3_world.launch
# 加載這個地圖
roslaunch turtlebot3_navigation turtlebot3_navigation.launch map_file:=$HOME/map.yaml # 這個路徑根據(jù)自己配置,是你的地圖路徑
# 如果啟動報(bào)警告,就多試幾次
效果如下:
(1)在rviz菜單中按下[2d pose estimate]時,會出現(xiàn)一個綠色箭頭,將箭頭放置tb3機(jī)器人在地圖中的位置,并按住鼠標(biāo)左鍵,轉(zhuǎn)動綠色箭頭使其指向機(jī)器人的正前方.這個箭頭相當(dāng)于給機(jī)器人一個初始位置和前進(jìn)方向(暫時這么理解,歡迎大佬糾正)
(2)一切準(zhǔn)備就緒后,下面下達(dá)移動命令。如果在RViz的菜單中按[2D Nav Goal],會出現(xiàn)一個非常大的綠色箭頭。該綠色箭頭是指定機(jī)器人的目的地的標(biāo)記,箭頭的起點(diǎn)是機(jī)器人的x、y位置,箭頭方向是機(jī)器人的i方向。將此箭頭移動到機(jī)器人的目的地,然后拖動,以設(shè)置方向。機(jī)器人將根據(jù)創(chuàng)建的地圖躲避障礙物,移動到目的地.
點(diǎn)擊2D Nav Goal按鈕,并拖動設(shè)置方向,如圖,就可以導(dǎo)航了
錯誤
錯誤1
啟動導(dǎo)航時報(bào)錯
這個錯好像是沒什么,但是可能需要等一段時間,我是多執(zhí)行了幾次,過一會就好了文章來源:http://www.zghlxwxcb.cn/news/detail-432827.html
參考
turtlebot3實(shí)現(xiàn)仿真環(huán)境下的導(dǎo)航
【ros實(shí)踐2】turtlebot3建圖與導(dǎo)航文章來源地址http://www.zghlxwxcb.cn/news/detail-432827.html
到了這里,關(guān)于機(jī)器人操作系統(tǒng)ROS(11)Turtlebot3自動避障及其地圖構(gòu)建和導(dǎo)航的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!