1.lio_sam 在程序中默认初始化的bias为0,这样做是否正确,kitti的数据集自身补过bias,tixiaoshan供大家测试的数据集也补了bias吗,实际有必要上电静止标一下bias 吗?
2.世界系的问题。VINS初始化中,需要对重力进行估计,用绝对的重力作为世界系。那么在LIO系统中,为什么不需要对重力进行估计呢,LIO系统中一般是以谁作为世界系原点(lidar 第一帧的位置? 还是gnss第一帧位置?)
答:
WGS84:Apollo 采用的是 WGS84 ( World Geodetic System 1984 )作为标准坐标系来表示 物体的纬度,经度和高度。
UTM : 将球面经纬度坐标经过投影算法转换成的平面坐标,即通常所说的 XY 坐标,单位为米制。UTM 相当于是把世界分成了若干个 ENU 坐标系,每个 zone 对应一个 ENU 。Apollo采用的是将 WGS84 -> UTM
ENU:导航系下的坐标表示,一般为"前左上" 。 课程采用的是 wgs84 -> ENU
LIO + GNSS : 任乾课程所配套的框架为 lidar + ins (imu + gnss) , 导航系的原点为 第一帧 ins 的位置,为ENU系下的坐标。具体转换为,ins 获得WGS84 坐标系下的经纬高,然后将 经纬高 信息转换为ENU坐标系下的位置信息。注意,该位置信息的x,y 是由经纬映射而来,z直接复用“高”信息。 ENU 系下
LIO : fastlio , lidar + imu(6DOF) 系统,跟vins一样,需要估计重力的方向,使用绝对重力作为导航系。 ENU 系下。
VIO: vins , 需要估计重力方向,使用绝对重力方向作为导航系的原点。ENU 系下。
LO : loam、lego_loam ,因为没有绝对重力矫正,只有单雷达传感器,所以在mapping的过程中,以第一帧点云的雷达所在位置为导航系的原点。
注意:
1.LIO + GNSS 、LIO 、VIO 等多传感器融合系统都是ENU系下,多种传感器数据融合都需要找到一个绝对的world做转换。
2.a.LIO + GNSS 系统中,因为使用的是惯导,默认已经完成一系列的初始化,所以不需要进行重力估计,也可以很容易得到ENU下的坐标。b.LIO 和 VIO 系统因为没有GNSS 信息,所以无法获得绝对的ENU信息,可以通过估计imu的重力方向,使用重力方向确定 ENU(前左上)的“天”,进而确定导航系下的原点。c.LIO_SAM 因为使用的是9DOF IMU,磁力计可以获取绝对重力,所以不需要额外做重力估计。
3.lego_loam 的去重力部分,就只是通过外参,把imu的重力分量去掉了,没有说有估计重力的部分。是因为在lego_loam 这类系统里,默认机体是平放地面,Z轴朝上, 而VINS考虑到手持飞控等场景,所以需要额外估计重力方向。但是为了系统具有更强的鲁棒性,所以静止几秒估计重力的方向会更好。("激光比较重型,除了机载的特殊轻型激光,一般都默认水平安装的")
问:ESKF 融合轮速计后如何考虑常值bias?答:把这个bias作为状态量添加到状态方程里,然后适当修改相应观测的更新。 问:常值bias状态矩阵里都是0,咋更新?答:常值bias,在融入观测时,随着kalman增益的改变,跟着改变。 问:如果不融合gps,轮速计的常值bias还能估计出来吗?