JokerJohn / LIO_SAM_6AXIS

LIO_SAM for 6-axis IMU and GNSS.
565 stars 115 forks source link

exp01_construction_ground_level 数据集报 Large velocity, reset IMU-preintegration! #78

Open sywinyin opened 3 months ago

sywinyin commented 3 months ago

您好。 我使用 hilti2022的exp01_construction_ground_level 数据集做测试。 按照您这篇提示https://github.com/JokerJohn/LIO_SAM_6AXIS/blob/main/doc/adaption.md,参数设置为: image 结果报错 [ WARN] [1711695952.247137334]: Large velocity, reset IMU-preintegration! terminate called after throwing an instance of 'gtsam::IndeterminantLinearSystemException' what():
Indeterminant linear system detected while working near variable 7061644215716937728 (Symbol: b0).

image

请问什么原因呢?

JokerJohn commented 3 months ago

@sywinyin 这个其实是预积分节点不稳定带来的问题。预积分节点接收上一时刻优化后的雷达位姿,通过预积分约束,然后用来修正imu bias,利用新优化的bias和新雷达时间戳之后的新imu数据去做预测,给下一针雷达匹配做初始位姿。同时也会用于投影节点的点云畸变去除。从这个流程看,liosam前后端耦合非常紧密。而其核心的预积分节点,直接使用gtsam imu factor,当你噪声模型设置不对,或者外步运动剧烈的时候,这个节点很容易因为病态优化而挂掉,导致整个系统崩溃。 看你的报错说明系统欠定,有些参数解不出来。我猜测是exp01应该是手持采集的,在起始阶段运动幅度过大导致的问题,你换一个运动比较平缓的数据,比如exp05,可能就好点。

sywinyin commented 3 months ago

@sywinyin 权重调高点,手动固定下起点,仅此而已。避免出现像hkust_campus数据一样,起始一段gps很差,导致这部分缺乏绝对位置约束,最终的融合轨迹把起点拉偏了。

sywinyin commented 3 months ago

@JokerJohn 感谢及时的回复! 使用hilti2022的数据集 exp05_construction_upper_level_2.bag , 参数同上exp01的设置。 image 该exp05数据是没有gps数据的。 结果仍然报错: [ WARN] [1711934855.336546640]: Large velocity, reset IMU-preintegration! terminate called after throwing an instance of 'gtsam::IndeterminantLinearSystemException' what():
Indeterminant linear system detected while working near variable 7061644215716937728 (Symbol: b0).

您可以将您运行成功的exp01的参数设置发我一下吗,我的邮箱是 sywin_yin@163.com