CartoGrapher
Cartographer是Google推出的一套基于图优化的激光SLAM算法,它同时支持2D和3D激光SLAM,可以跨平台使用,支持Laser、IMU、Odemetry、GPS等多种传感器配置。该算法可以实现实时定位和建图。
LaserScan
测量的激光扫描角度,逆时针为正
设备坐标帧的0度面向前(沿着X轴方向)
1 | Header header # Header也是一个结构体,包含了seq,stamp,frame_id,其中seq指的是扫描顺序增加的id,stamp包含了开始扫描的时间和与开始扫描的时间差,frame_id是扫描的参考系名称.注意扫描是逆时针从正前方开始扫描的. |
OccupancyGrid
栅格地图定义 :栅格地图就是用一个个栅格组成的网格来代表地图. 栅格里可以存储不同的数值, 代表这个栅格的不同含义.
ROS的栅格地图使用
- 白色代表空闲,也就是可通过区域,其存储的值为 0;
- 黑色代表占用,也就是不可通过区域,其存储的值为 100;
- 灰色代表未知,就是说目前还不清楚这个栅格是否可以通过,其存储的值为 -1.
nav_msgs/OccupancyGrid.msg
如下
1 | std_msgs/Header header |
info
中包含起始点位置、地图宽和高、地图分辨率:
1 | map.info.width; // 单位是栅格数(个) |
data
中包含地图每个栅格的占用情况,栅格地图的序号是行优先,从左下角开始,从左到右,从下到上的遍历data数组的数据。
我是学生,给我钱