【cartographer源码分析】系列的第六部分【 mapping】。 现总结 mapping 文件夹涉及到的主要功能:

【1】 mapping/probability_values.h

probability_values.h定义了一系列与概率相关的函数–多个用于计算概率的mapping命名空间下的全局函数。cartographer所有的概率不是以0-1.0表示,而是通过浮点数到整数的映射: [1, 32767],避免浮点数运算。


【2】id.h 该文件定义了一系列用于标记轨迹的数据结构,包括:

每一个轨迹trajectory上有多个节点node。节点标号:轨迹id+{0,1,2,…}.

重建全局地图global map时,是由多个submap组成。submap标号: 轨迹id+ {0,1,2,3…}

【3】imu_tracker.h

ImuTracker类利用来自imu测量仪器的数据对机器的位姿pose的方向角进行跟踪和预测。x,y轴不会drift漂移。z轴可能会产生漂移。(因为绕z轴旋转角有累计误差)