FAST-LIVO2 icon indicating copy to clipboard operation
FAST-LIVO2 copied to clipboard

关于雷达倾斜对雷达-imu内参矩阵的影响

Open LiuJinbo1027 opened this issue 2 months ago • 7 comments

郑博您好! 我使用livox_mid360运行,将livox_ros_driver和fast_livo结合起来运行定位程序 在livox_ros_driver的config文件里有对雷达平移量和旋转量的调整,在fast_livoz中可以调整extrinsic_R和extrinsic_T矩阵,反映imu和雷达的位姿变化关系 但我发现在雷达倾斜放置时,在两份配置文件中要不都添加旋转量,要不都不添加,才能保证里程计不发生漂移,但是此时建图都是倾斜的 如果一个设置旋转量而另一个不设置,那么虽然能得到正立建图,但是一旦运动里程计就漂移 想请教一下extrinsic矩阵描述的变换关系会随着雷达位姿的改变而改变吗,如果会,如何变 应该如何理解livox_ros_driver和fast_livo的旋转变换 辛苦了!

LiuJinbo1027 avatar Oct 25 '25 06:10 LiuJinbo1027

通过设置gravity_align_en为true,我成功解决了正立地图的问题,但是我发现进行大范围回环运动时虽然能够闭环,但整体闭环平面并不能做到水平,pitch和roll都会有一个小角度倾斜,请问应该如何解决,谢谢

LiuJinbo1027 avatar Oct 25 '25 14:10 LiuJinbo1027

mid360自带imu,倾斜的话雷达和imu的相对位置和姿态没有变化,应该不用修改extrinsic_R和extrinsic_T矩阵吧? 我也想知道实现雷达倾斜安装需要做哪些修改?

huangzhenyu0311 avatar Oct 29 '25 14:10 huangzhenyu0311

通过设置gravity_align_en为true,我成功解决了正立地图的问题,但是我发现进行大范围回环运动时虽然能够闭环,但整体闭环平面并不能做到水平,pitch和roll都会有一个小角度倾斜,请问应该如何解决,谢谢

请问您解决了吗? 我使用FAST_LIO过程中了解到的livox_ros_driver2中的MID360_config.json的: "extrinsic_parameter" : { "roll": 0.0, "pitch": 36.0, "yaw": 180.0, "x": -80, "y": -10, "z": 260 } 是对点云坐标系进行了旋转平移,相应的fast_lio中的mid360.yaml也要将初始的数值改为: extrinsic_T: [ 0.069, -0.01329, -0.21588 ] extrinsic_R: [ -0.8090170, -0.0000, -0.5877852, 0.0000, -1.0000, 0.0000, -0.5877852, 0.0000, 0.8090170 ] 以重新对其雷达点云和IMU坐标系,我现在有个小疑问,FAST_LIO和FAST_LIVO2中最后是以那个坐标系为基准输出的里程计的数据?

myjhvytdrt avatar Oct 30 '25 01:10 myjhvytdrt

通过设置gravity_align_en为true,我成功解决了正立地图的问题,但是我发现进行大范围回环运动时虽然能够闭环,但整体闭环平面并不能做到水平,pitch和roll都会有一个小角度倾斜,请问应该如何解决,谢谢

请问您解决了吗? 我使用FAST_LIO过程中了解到的livox_ros_driver2中的MID360_config.json的: "extrinsic_parameter" : { "roll": 0.0, "pitch": 36.0, "yaw": 180.0, "x": -80, "y": -10, "z": 260 } 是对点云坐标系进行了旋转平移,相应的fast_lio中的mid360.yaml也要将初始的数值改为: extrinsic_T: [ 0.069, -0.01329, -0.21588 ] extrinsic_R: [ -0.8090170, -0.0000, -0.5877852, 0.0000, -1.0000, 0.0000, -0.5877852, 0.0000, 0.8090170 ] 以重新对其雷达点云和IMU坐标系,我现在有个小疑问,FAST_LIO和FAST_LIVO2中最后是以那个坐标系为基准输出的里程计的数据?

您好!通过阅读mid360手册可以知道常状态下imu坐标系方向与点云坐标系完全一致,两者只有平移矩阵extrinsic_T而无旋转矩阵extrinsic_R,但是当我们在livox_ros_driver中设置旋转量时,本质上是对点云坐标系的旋转,进而导致了点云和imu坐标系的位置关系发生了变化,此时才需要改动lio算法中的extrinsic_R参数,也就是说同时调整json和lio的旋转量或者都不调整都是可以的 我还没有完全解决回环轨迹稍有倾斜的问题,但大致认为问题出在imu和激光雷达的旋转矩阵 extrinsic_R 需要标定(在做小角度补偿后倾斜从2度减小到0.6度)因雷达的不同存在微小误差,现在正在找能适配ros2humble的标定算法,希望能帮到您。

LiuJinbo1027 avatar Oct 30 '25 05:10 LiuJinbo1027

mid360自带imu,倾斜的话雷达和imu的相对位置和姿态没有变化,应该不用修改extrinsic_R和extrinsic_T矩阵吧? 我也想知道实现雷达倾斜安装需要做哪些修改?

livox_ros_driver和livo-config里的旋转量只要能对应就可以,想得到正立图像要打开重力配准

LiuJinbo1027 avatar Oct 30 '25 05:10 LiuJinbo1027

所以就是打开 gravity_align_en 就可以吗?

liuhuapiaoyuan avatar Nov 24 '25 06:11 liuhuapiaoyuan

所以就是打开 gravity_align_en 就可以吗?

对的

LiuJinbo1027 avatar Nov 25 '25 10:11 LiuJinbo1027