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