ROS——第六章SLAM与自主导航
文章目录
前言
本章是学习ROS中SLAM功能包的使用
一、一些基本信息
1、深度信息
激光雷达
seq:序列
stamp:时间戳
frame_id:坐标系
深度相机kinect
该功能包作用就是将三维信息转化为二维信息
2、里程计信息
Pose:
position:xyz坐标下的位置
orientation:用四元数表达的姿态位置
Twist:
linear:线速度
angular:角速度
控制机器人运动对机器人发布Twist信息
linear控制速度,angular控制转向
注意:covariance:协方差矩阵
坐标系:右手坐标系
3、仿真环境
参考之前的文章
二、ROS SLAM功能包应用
1.Gmapping
基本介绍
将深度信息、IMU信息、里程计信息发送给Gmapping功能包
,输出一个右侧的栅格地图
Gmapping中话题、服务和Tf变换
此处map坐标系和odom坐标系不一样。
map坐标系是固定的,odom坐标系是机器人开机时的为0的坐标系
栅格地图取值
栅格值越大,是障碍物的几率越大。
Gmapping功能包核心节点——gmapping节点
通过修改该节点的参数来调整建图的效果
参数:
odom_frame:里程计坐标系
map_update_intervel:地图更新频率
maxRange:最大范围
maxUrange:激光雷达最大范围
scan:激光雷达输入话题名
2、Cartographer
### 建图效果
2Ddemo演示
3Ddemo演示
关键节点
在launch中启动cartographer_node节点,通过一个rplidar.lua脚本配置参数。
若是修改了lua脚本中的参数,需要重新进行编译才能生效:
catkin_make_isolated --install --use-ninja