(02)Cartographer源码无死角解析-(31) LocalTrajectoryBuilder2D::AddRangeData()→点云数据重力对齐
创始人
2024-02-27 20:21:55

讲解关于slam一系列文章汇总链接:史上最全slam从零开始,针对于本栏目讲解(02)Cartographer源码无死角解析-链接如下:
(02)Cartographer源码无死角解析- (00)目录_最新无死角讲解:https://blog.csdn.net/weixin_43013761/article/details/127350885
 
文末正下方中心提供了本人联系方式,点击本人照片即可显示WX→官方认证{\color{blue}{文末正下方中心}提供了本人 \color{red} 联系方式,\color{blue}点击本人照片即可显示WX→官方认证}文末正下方中心提供了本人联系方式,点击本人照片即可显示WX→官方认证
 

一、前言

在上一篇博客,介绍了激光雷达运动畸变较正,其原理是利用每个点云数据生成时机器人的位姿 Robottrackinglocal\mathbf {Robot}^{local}_{tracking}Robottrackinglocal​(相对于local坐标系)对该点云进行校正,校正之后的点云记为 PointlocalPoint^{local}Pointlocal,其表示为在 local 坐标系下的位置。总的来说,此时的点云数据,已经完成了时间同步,以及运动畸变校正。

回到 LocalTrajectoryBuilder2D::AddRangeData() 函数,还有一部分代码没有进行讲解,先先粘贴一下代码如下所示:

  // 有一帧有效的数据了++num_accumulated_;// param: num_accumulated_range_data 几帧有效的点云数据进行一次扫描匹配if (num_accumulated_ >= options_.num_accumulated_range_data()) {// 计算2次有效点云数据的的时间差const common::Time current_sensor_time = synchronized_data.time;absl::optional sensor_duration;if (last_sensor_time_.has_value()) {sensor_duration = current_sensor_time - last_sensor_time_.value();}last_sensor_time_ = current_sensor_time;// 重置变量num_accumulated_ = 0;// 获取重力对齐变换矩阵,该矩阵只包含旋转,平移为0,//可理解机器人坐标系的Z轴需要与重力矢量平行const transform::Rigid3d gravity_alignment = transform::Rigid3d::Rotation(extrapolator_->EstimateGravityOrientation(time));// TODO(gaschler): This assumes that 'range_data_poses.back()' is at time// 'time'.// 以最后一个点的时间戳估计出的坐标为这帧数据的原点accumulated_range_data_.origin = range_data_poses.back().translation();return AddAccumulatedRangeData(time,// 对点云进行重力对齐,也就是让点云的Z轴与重力方向平行TransformToGravityAlignedFrameAndFilter(gravity_alignment.cast() * range_data_poses.back().inverse(),accumulated_range_data_),gravity_alignment, sensor_duration);}

其主要目的就是对点云进行重力对立,这里假设一个坐标系的 Z轴与重力方向平行,则认为该坐标系为世界坐标系。那么这里所谓的重力对齐,就是把 local 坐标系下的点云变换到世界坐标系。那么下面,就来对这些代码逐句分析吧。

相关内容

热门资讯

省委部署开展持续深化违规吃喝问... 转自:中安在线近日,省委办公厅印发《关于巩固拓展深入贯彻中央八项规定精神学习教育成果持续深化违规吃喝...
智者勇进•接续奋进新江苏|用数... 转自:扬子晚报在城市加速转型、发展方式不断更新迭代的当下,雨花台区把“数智”作为提升城市运行效率的重...
中创智领:董事长、副总经理拟合... 转自:贝壳财经新京报贝壳财经讯 12月21日,中创智领公告称,董事长焦承尧、副总经理付奇和张海斌因个...
广深港高铁客流破纪录:3000... 12月20日,从广州南发出的G6541次列车准时抵达香港西九龙站,来自香港南元朗官立小学的近百名学生...
加科思-B(01167)附属与... 加科思-B(01167)公布,该集团的非全资附属公司北京加科思新药研发有限公司与AstraZenec...