圖3定位導(dǎo)航仿真
2導(dǎo)航實(shí)測(cè)
在實(shí)際中,控制TurtleBot需要兩臺(tái)PC,即TurtleBotPC與用戶PC,其中TurtleBot PC主要用于控制TurtleBot機(jī)器人的運(yùn)動(dòng),用戶PC是人機(jī)交互端,可顯示TurtleBotPC發(fā)送過來的圖像信息以及向TurtleBot PC發(fā)送控制命令,兩個(gè)PC之間通過無線網(wǎng)絡(luò)并以主題的形式進(jìn)行通信。
首先配置TurtleBotPC與用戶PC的IP地址,使兩者接入同一無線網(wǎng)絡(luò)。
然后在TurtleBotPC上分別運(yùn)行命令:
$ roslaunch turtlebot_bringup minimal.launch
$ roslaunch turtlebot_bringup 3dsensor.launch
其次在用戶PC上運(yùn)行如下命令,啟動(dòng)Rviz:
$ roslaunch turtlebot_rviz_launchers view_robot.launch
運(yùn)行結(jié)果如圖4所示
圖4啟動(dòng)TurtleBot導(dǎo)航實(shí)驗(yàn)
在用戶PC中啟動(dòng)Rviz之后,可在Rviz上看到TurtleBot周圍有一簇綠色的小箭頭,如圖5所示。這些綠色的箭頭是amcl反饋的機(jī)器人的位姿范圍,箭頭越分散說明位姿越不確定。因此,我們需要在地圖中設(shè)置TurtleBot機(jī)器人的實(shí)際位置和方向,即TurtleBot在環(huán)境中的實(shí)際位姿與地圖中的位姿相匹配,以保證準(zhǔn)確的定位。首先點(diǎn)擊Rviz工具欄上的2DPose Estimate,然后點(diǎn)擊地圖上TurtleBot實(shí)際所在的大概位置點(diǎn),調(diào)整綠色箭頭的方向,使其與TurtleBot的實(shí)際方向一致。如果激光掃描的結(jié)果與環(huán)境邊界重合,則說明TurtleBot在地圖上的位姿與實(shí)際相符,否則重新調(diào)整。
圖5 TurtleBot初始狀態(tài)
設(shè)置TurtleBot的初始位姿之后,可以使用2DNav Goal工具設(shè)置TurtleBot的目標(biāo)位姿。TurtleBot機(jī)器人的導(dǎo)航定位結(jié)果如圖6所示。