图3定位导航仿真
2导航实测
在实际中,控制TurtleBot需要两台PC,即TurtleBotPC与用户PC,其中TurtleBot PC主要用于控制TurtleBot机器人的运动,用户PC是人机交互端,可显示TurtleBotPC发送过来的图像信息以及向TurtleBot PC发送控制命令,两个PC之间通过无线网络并以主题的形式进行通信。
首先配置TurtleBotPC与用户PC的IP地址,使两者接入同一无线网络。
然后在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在环境中的实际位姿与地图中的位姿相匹配,以保证准确的定位。首先点击Rviz工具栏上的2DPose Estimate,然后点击地图上TurtleBot实际所在的大概位置点,调整绿色箭头的方向,使其与TurtleBot的实际方向一致。如果激光扫描的结果与环境边界重合,则说明TurtleBot在地图上的位姿与实际相符,否则重新调整。
图5 TurtleBot初始状态
设置TurtleBot的初始位姿之后,可以使用2DNav Goal工具设置TurtleBot的目标位姿。TurtleBot机器人的导航定位结果如图6所示。