提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
本文记录学习的SLAM传感器预处理
一、数据预处理
1.数据获取:根据传感器类型进行获取,所看的文章或者代码中都是基于ros来完成的,主要是订阅相应的信息;
2.一般是使用队列来存储获取到的数据;根据不同型号的激光雷达,转成pcl的点云格式
3.如果涉及到多个传感器则还要将各个传感器的时间戳对齐,统一时间;
4.求解变换关系,这里面主要是要统一坐标原点,将获取到的位置信息,转换到统一坐标系下;
5.确定每一种传感器数据数量都是大于0的;
6。如果使用的是激光雷达,且帧率和机器人速度相比不是特别高,则要进行点云畸变处理;
二、点云畸变
由于雷达发布数据是周期性发送,而这些数据都只具有同一个时间点,但此时雷达其实是运动的,这就造成了数据的畸变。
仅有激光雷达的畸变处理参考下面的文章:
https://mp.weixin.qq.com/s?__biz=MzU1NjEwMTY0Mw==&mid=2247529789&idx=2&sn=c42d9a4abcd6c1f4c5a24ef23ca3e2a2&chksm=fbc80c59ccbf854f831cfb2d015ac3e73b015d35335c0d53aace85e475a7a13bae0cf1f15707&scene=27
如果有其他的传感器像imu等,这样可以使用imu的速度,加速度数据进行畸变补偿。参考文章:
https://zhuanlan.zhihu.com/p/109379384
https://www.guyuehome.com/38971
总结
预处理是最基本的操作,主要就是读取数据,数据同步,数据变换,畸变修正等相应处理。畸变处理大部分都会用到插值法来计算变换,将修正后的点云转换到第一个点云数据的坐标系下。