kahowang / FAST_LIO_SAM

Front_end : fastlio2 Back_end : lio_sam
486 stars 90 forks source link

关于GNSS转换为enu和fast-lio的对齐 #37

Open JiangWeiHn opened 2 months ago

JiangWeiHn commented 2 months ago

您好,我对比了您的程序和 https://github.com/zhh2005757/FAST-LIO-Multi-Sensor-Fusion 这个程序。发现这个程序有一个GNSS_Heading的旋转矩阵,原因是lio-sam是以enu为地图坐标的,而fast-lio是以imu第一帧的坐标为世界坐标建图的。2者差一个角度。 我用您的程序,跑我的数据集,就是差了一个旋转角,是否是这个原因?

JiangWeiHn commented 2 months ago

我加了个GNSS_Heading,轨迹就差不多了。 Screenshot from 2024-07-12 15-03-30

kahowang commented 2 months ago

您好,非常感谢您的关注,您的说法是对的,FASTLIO是以第一帧IMU的姿态为原点,如果要与GNSS对齐,需要进行WGS84 -> ENU的转换,并且需要对齐ENU与IMU初始时刻的姿态。可通过预先跑一段轨迹,进行标定确定姿态的相对关系。

zh1224 commented 2 months ago

您好,我对比了您的程序和 https://github.com/zhh2005757/FAST-LIO-Multi-Sensor-Fusion 这个程序。发现这个程序有一个GNSS_Heading的旋转矩阵,原因是lio-sam是以enu为地图坐标的,而fast-lio是以imu第一帧的坐标为世界坐标建图的。2者差一个角度。 我用您的程序,跑我的数据集,就是差了一个旋转角,是否是这个原因? 你好,具体怎么改的,能开源吗

JiangWeiHn commented 2 months ago

没必要吧,你看看https://github.com/zhh2005757/FAST-LIO-Multi-Sensor-Fusion 这个程序怎么处理gnss信号的,加个GNSS_Heading旋转矩阵乘以enu坐标就可以了。

zh1224 commented 2 months ago

没必要吧,你看看https://github.com/zhh2005757/FAST-LIO-Multi-Sensor-Fusion 这个程序怎么处理gnss信号的,加个GNSS_Heading旋转矩阵乘以enu坐标就可以了。 还是没搞定,gnss的path是正确了,但是红线还是会突变,是不是在因子图更新那里也要加入heading?

JiangWeiHn commented 2 months ago

没必要吧,你看看https://github.com/zhh2005757/FAST-LIO-Multi-Sensor-Fusion 这个程序怎么处理gnss信号的,加个GNSS_Heading旋转矩阵乘以enu坐标就可以了。 还是没搞定,gnss的path是正确了,但是红线还是会突变,是不是在因子图更新那里也要加入heading?

不用吧,你查查你自己的程序吧,我的跑的很顺滑。