架构
基本同图优化框架差不多
内容简述
数据预处理节点
- 订阅imu原始数据,gnss原始数据,完成数据时间戳同步、点云畸变补偿
- 发布如下消息
- 畸变补偿后的点云
/synced_cloud
- gnss里程计
/synced_gnss
,注意这里的里程计包含了Twist数据(imu速度和角速度) - 同步后的自定义ros消息
/synced_pos_vel
:PosVel数据(gnss/imu的位置和速度信息) - 同步后的imu数据
/synced_imu
- 畸变补偿后的点云
滤波器节点
-
订阅imu原始数据以及数据预处理节点发布的所有话题消息
-
使用时间戳同步好的数据进行初始化,使用scan context进行初始化
-
然后就是滤波预测和观测修正
- 当imu原始数据达到,此时并没有观测,则值进行预测,主要更新协方差矩阵
- 当前端里程计有观测数据时,对滤波器进行观测修正并重置状态
结果
整体误差如下:
APE w.r.t. full transformation (unit-less)
(not aligned)
max 1.136680
mean 0.258573
median 0.224092
min 0.017928
rmse 0.306049
sse 166.163466
std 0.163726
可以达到0.3m左右的绝对轨迹误差,效果没有图优化好。
缺点
- ESKF误差状态的运动方程离散化其实是存在闭式解的,可以参考Quaternion kinematics for the error-state Kalman filter附录B
- 实时性的效果并不好,如果高频播放数据集,很容易直接跑飞,有待优化
数据集:
链接: https://pan.baidu.com/s/1oaMtP6jz0My5NEaE-X-83w 密码: vb02
–来自百度网盘超级会员V4的分享
框架:
链接: https://pan.baidu.com/s/1azX1lTFPF0RzLQJDnZxgBA 密码: eshb
–来自百度网盘超级会员V4的分享