LIO-SAM-自采数据运行踩坑

一直觉得LIO-SAM还是一个比较不错的激光雷达惯性里程计框架,最近在使用自己的数据进行测试过程中出现了很多坑,花费了一周多的时间才填平,在此记录一下。

前言

  • Ouster-128激光雷达数据
  • Ouster内部IMU(六轴100Hz)/ Xsens MTi 3(九轴100Hz)/ Xsens MTi-G-700(九轴400Hz)
  • 手持平台,正常行走速度,相对于无人车来说晃动较大
  • 室内、室外均进行了测试

问题

在测试过程中无人车平台以及无人机平台(飞行较稳)的状态下,能够使用LIO-SAM成功建图。但是使用手持平台会出现:行走直线或者较为缓慢的转弯正常,急转弯失败。

推测原因

时间同步

IMU与Lidar没有时间同步:对于 Ouster-128使用其内部IMU,1)尝试修改其驱动为电脑时间rostime::Now(),2)尝试修改为激光雷达内部时间(上电计时)。两种方式修改时间后,均能排除时间的问题。但是,在转弯出处仍然容易出现失败。

修改参考链接:
Ouster官方驱动中的ISSUE

六轴/九轴/IMU数据质量

尝试更换为外部的Xsens MTi 3(九轴100Hz)IMU进行使用,仍未解决。

IMU与激光雷达外参

作者使用的Microstrain 3DM-GX5-25 型号的IMU中,其加速度计与陀螺仪坐标系相同,但是磁力计的数据与另外两者的坐标轴不一致。所以作者在参数文件中定义了两个不同的旋转矩阵:extrinsicRot(加速度计、陀螺仪),extrinsicRPY(磁力计)。注意:如果你使用的IMU三者在同一个坐标系中,则extrinsicRot与extrinsicRPY的参数设置应该是一样的。
IMU alignment. LIO-SAM transforms IMU raw data from the IMU frame to the Lidar frame, which follows the ROS REP-105 convention (x - forward, y - left, z - upward). To make the system function properly, the correct extrinsic transformation needs to be provided in “params.yaml” file. The reason why there are two extrinsics is that my IMU (Microstrain 3DM-GX5-25) acceleration and attitude have different cooridinates. Depend on your IMU manufacturer, the two extrinsics for your IMU may or may not be the same. Using our setup as an example:

  • we need to set the readings of x-z acceleration and gyro negative to transform the IMU data in the lidar frame, which is indicated by “extrinsicRot” in “params.yaml.”
  • The transformation of attitude readings might be slightly different. IMU’s attitude measurement q_wb usually means the rotation of points in the IMU coordinate system to the world coordinate system (e.g. ENU). However, the algorithm requires q_wl, the rotation from lidar to world. So we need a rotation from lidar to IMU q_bl, where q_wl = q_wb * q_bl. For convenience, the user only needs to provide q_lb as “extrinsicRPY” in “params.yaml” (same as the “extrinsicRot” if acceleration and attitude have the same coordinate).

我在实验过程中已经注意到这个问题,并进行了相应的修改,但是仍然出现转弯处失败的问题。

IMU数据频率

更换为外部的/Xsens MTi-G-700(九轴400Hz)成功解决。

作者建议最低使用200Hz的IMU。当然六轴IMU也是可以使用的,只不过要换成对应的六轴版本,Ouster内部的IMU最大的问题其实不是六轴,而是只有100Hz。
The performance of the system largely depends on the quality of the IMU measurements. The higher the IMU data rate, the better the system accuracy. We use Microstrain 3DM-GX5-25, which outputs data at 500Hz. We recommend using an IMU that gives at least a 200Hz output rate. Note that the internal IMU of Ouster lidar is an 6-axis IMU.

取消imageProjection.cpp文件中的注释,能够查看IMU数据是否与传感器的移动相对应。(检验外参是否标定成功)
IMU debug. It’s strongly recommended that the user uncomment the debug lines in “imuHandler()” of “imageProjection.cpp” and test the output of the transformed IMU data. The user can rotate the sensor suite to check whether the readings correspond to the sensor’s movement. A YouTube video that shows the corrected IMU data can be found here (link to YouTube).

LIO-SAM中需要注意的地方

总结

LIO-SAM预积分部分还是比较敏感的,针对无人车平台,行驶速度较慢,平台稳定,晃动幅度小,IMU频率可以设置的较低一些。但是,针对晃动较大的平台,还是要使用较高频率的IMU数据,否则容易在角度变化较大的时刻给出一个错误的IMU姿态数据,这个错误的数据进而引发Lidar点云的错误匹配。整个系统就直接飘飞了。

有几个Issue写的很详细,供大家参考:
https://github.com/TixiaoShan/LIO-SAM/issues/94

https://github.com/TixiaoShan/LIO-SAM/issues/209

  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
方案是为解决特定问题或达成特定目标而制定的一系列计划或步骤。它的作用是提供一种系统性的方法,以有效地应对挑战、优化流程或实现目标。以下是方案的主要作用: 问题解决: 方案的核心目标是解决问题。通过系统性的规划和执行,方案能够分析问题的根本原因,提供可行的解决方案,并引导实施过程,确保问题得到合理解决。 目标达成: 方案通常与明确的目标相关联,它提供了一种达成这些目标的计划。无论是企业战略、项目管理还是个人发展,方案的制定都有助于明确目标并提供达成目标的路径。 资源优化: 方案在设计时考虑了可用资源,以最大化其效用。通过明智的资源分配,方案可以在有限的资源条件下实现最大的效益,提高效率并减少浪费。 风险管理: 方案通常会对潜在的风险进行评估,并制定相应的风险管理策略。这有助于减轻潜在问题的影响,提高方案的可行性和可持续性。 决策支持: 方案提供了决策者所需的信息和数据,以便做出明智的决策。这种数据驱动的方法有助于减少不确定性,提高决策的准确性。 团队协作: 复杂的问题通常需要多个人的协同努力。方案提供了一个共同的框架,帮助团队成员理解各自的职责和任务,促进协作并确保整个团队朝着共同的目标努力。 监控与评估: 方案通常包括监控和评估的机制,以确保实施的有效性。通过定期的评估,可以及时调整方案,以适应变化的环境或新的挑战。 总体而言,方案的作用在于提供一种有序、有计划的方法,以解决问题、实现目标,并在实施过程中最大化资源利用和风险管理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晓晨的博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值