SLAM 一般使用昂贵的激光传扫描器来收集数据, 但是现在可以使用 Kinect或者Asus Xtion 等深度相机来使用点云的方式来模拟激光扫描。(参考depthimage_to_laserscan 和 kinect_2d_scanner 包)
在本章中,我们将介绍构成导航堆栈的核心三个ROS包:
•move_base: 机器人移动到给定参考坐标系的目标位置
•gmapping :利用(从深度相机获取的模拟激光数据)激光扫描数据创建地图
•AMCL: 使用现有的地图定位
8.1.1 使用move_base指定导航目标
$rosmsg show MoveBaseActionGoal
Header header
uint32 seq
time stamp
string frame_id
actionlib_msgs/GoalID goal_id
time stamp
string id
move_base_msgs/MoveBaseGoal goal
geometry_msgs/PoseStamped target_pose
Header header
uint32 seq
time stamp
string frame_id
geometry_msgs/Pose pose
geometry_msgs/Point position
float64 x
float64 y
float64 z
geometry_msgs/Quaternion orientation
float64 x
float64 y
float64 z
float64 w
8.1.2 为路劲规划配置参数
move_base 节点在运行前需要四个配置文件
•base_local_planner_params.yaml
•costmap_common_params.yaml
•global_costmap_params.yaml
•local_costmap_params.yaml