LocalizationRos
树图思维导图提供 LocalizationRos 在线思维导图免费制作,点击“编辑”按钮,可对 LocalizationRos 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:2bc78a7041340228cfb1ff1a2a07d076
LocalizationRos思维导图模板大纲
构造函数:
makeBorderFromParams()
根据机器人类型创建footprint
cacheMapCallback()
缓存地图回调函数 1、创建一个线程,调用loadCacheMap()函数,并将map_msg作为参数传入。 2、线程分离,以便可以独立运行
loadCacheMap()
加载缓存地图 1、初始化缓存地图,并并进行地图边界扩充 2、
fillBorder()
地图边界扩充 1、计算地图旋转角度 2、根据旋转角度计算地图原点偏移量 3、扩充地图信息填充 4、将原始地图逐行拷贝至扩充地图中 5、发布扩充地图
Subtopic 3
Subtopic 3
imu回调函数,构建位姿推测器 1、数据放入imu_data_buf_中 2、初始化位姿推测器pose_extrapolator_ 3、将imu时间戳作为更新时间 4、imu数据格式转化,参考cartographer 5、添加新的imu数据,删除过时的数据
UpdataMsgsStamp()
ConvertImuMsgToImuData()
AddImuData()
map回调函数, 1、判断地图是否为缓存地图
Subtopic 2
Subtopic 3
Subtopic 4
~LocalizationRos()
Main Topic 3
激光回调函数 1、更新激光时间戳和初始化位姿推测器 2、判断是否收到地图和激光TF,里程计数据是否丢失 3、运动更新 4、低频雷达去畸变处理,激光数据转pcl点云 5、体素滤波处理,使近距离和远距离点分布均匀 6、给定初始位姿小范围重定位
UpdataLastScanStamp()
更新最新的激光时间戳
updateMotionPoseExtrapolator()
利用位姿推测器推算指定时刻位姿
ExtrapolatePose()
推算指定时刻位姿 1、获取pose队列最新位姿 2、判断pose时间是否等于激光时间 相等:直接为队列最新位姿 不等:最新位姿加这段时间增长量,平移和旋转分开计算 3、位姿格式转换 4、计算里程计位姿之间平移和旋转变量,判断是否运动,并判断里程计是否跳变。
ExtrapolateTranslation()
计算这段时间内的平移量 利用里程计位置变化量计算
ExtrapolateRotation()
计算这段时间的旋转量 利用IMU的旋转变化量计算
AdvanceImuTracker()
待细看
Advance()
Subtopic 3
ConvertRigidToVector3f()
TF位姿转向量形式
undistortScan()
如果是低频雷达则利用imu角速度积分对激光雷达旋转运动去畸变,转化成点云坐标形式
initialPoseFind()
初始位姿下重定位 1、调用scanmatch进行粗匹配获得粗匹配位姿和得分 2、精匹配,调用scanmatch在粗匹配位姿下进行精匹配
scanMatching()
Subtopic 3
updateLaserPose()
激光里程计
addLaserScan()
判断是否是第一帧激光数据 1、
Subtopic 2
树图思维导图提供 第二章 共轴球面系统的物像关系 在线思维导图免费制作,点击“编辑”按钮,可对 第二章 共轴球面系统的物像关系 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:280a1afa95831320272331b12704f35b
树图思维导图提供 社会学概论思维脑图 在线思维导图免费制作,点击“编辑”按钮,可对 社会学概论思维脑图 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:be8ce72731aee62c404a219fa1368014