MOTB3 ROS2机器人使用-10.自主导航
启动TurtleBot3(之前启动过了就不用重复启动)
ros2 launch turtlebot3_bringup robot.launch.py
使用ROS2启动相机:
ros2 launch realsense2_camera rs_launch.py
输入以下指令,启动导航
ros2 launch turtlebot3_navigation2 navigation2.launch.py map:=$HOME/map.yaml
在运行导航之前,必须进行初始姿态估计,因为此过程会初始化对精确导航至关重要的AMCL参数。TurtleBot3必须位于地图上的正确位置,并且雷达传感器数据必须与显示的地图完全重叠。
1.单击RViz2菜单中的2D Pose Estimate按钮。
2.点击机器人实际所在位置的地图,然后将绿色大箭头拖向机器人所面向的方向。
3.重复步骤1和2,直到雷达传感器数据叠加在保存的地图上。
4.启动键盘遥操作节点,在地图上精确定位机器人。
1.单击RViz2菜单中的Navigation2 Goal按钮。
2.点击地图设置机器人的目的地,并将绿色箭头拖向机器人将要面对的方向。
这个绿色箭头是一个标记,可以指定机器人的目的地。
箭头的根是x目的地y的坐标,角度θ由箭头的方向决定。
一旦设置了x、y、θ,TurtleBot3将立即开始移动到目的地。
机器人将根据全局路径规划器创建一条到达Navigation2目标的路径。然后,机器人沿着该路径移动。如果路径上存在障碍物,Navigation2将使用局部路径规划器来避开障碍物。
如果无法创建导航2目标的路径,则设置导航2目标可能会失败。如果您希望在机器人到达目标位置之前停止机器人,请将TurtleBot3的当前位置设置为导航2 目标。

1. 黑色区域:
代表:障碍物(occupied)
通常表示激光雷达识别到的障碍物墙壁等区域。
来源是 /map 话题中 occupancy grid 的 occupancy > 65%。
2. 白色区域:
代表:自由空间(free)
表示机器人可以安全通过的区域,occupancy 值 < 25%。
3. 灰色区域:
代表:未知区域(unknown)
机器人尚未探索过的地方,地图上为 -1,通常显示为灰色或默认背景色。
4. 绿色点云(中间密集点):
代表:粒子滤波器中的粒子(用于定位)
出现在使用 AMCL 时,绿色小点就是在做定位时用于表示多个可能位置。
5. 蓝紫色扇形:
代表:激光雷达的扫描区域
扇形区域是雷达当前的检测范围,颜色(紫→蓝)反映的是感知结果。
6. 粉红色、青色、红色边界:
这些是局部代价地图(costmap)中的不同代价层(如果你启用了导航 stack,如 nav2):
青色(cyan)区域:膨胀层(inflation layer)
安全距离区域,用于路径规划时避免太靠近障碍物。
红色/粉色:局部路径规划的危险区域
越靠近障碍物,颜色越深,代表“代价”越高,不建议路径通过。
7. 红色箭头坐标轴:
表示机器人自身的坐标系(通常是 base_link)
下一篇 >>