车载多传感器融合定位方案Pipeline:IMU,CNSS,LIDAR

该博客探讨了使用IMU, CNSS和LIDAR组合来实现车载定位的方案。通过IMU提供连续信息,GNSS提供绝对位置,LIDAR补充精确周围信息,三者结合可以有效纠正数据漂移并确定车辆状态。整体流程涉及传感器同步、预估方差设置、ES-EKF初始值设定、状态预测与观测数据校正等步骤,实现了灵活且精确的车辆定位。" 136263642,8007060,Docker部署ClickHouse及SpringBoot整合指南,"['clickhouse', 'docker', 'spring boot']
摘要由CSDN通过智能技术生成

为什么用IMU, CNSS, LIDAR的组合

IMU可以提供连续的位置信息,以补充GNSS可能因为地形等原因缺失的数据信息
GNSS可以提供绝对的位置信息,减轻IMU累积的数据漂移问题
LIDAR可以根据准确的周边信息,确定自己在地图中的位置
三者可相互补充共同确定车辆的状态和所处位置

整体流程图

整个方案的大体思路为:将IMU数据作为输入带入运动学方程计算nominal state,当其他观测数据available时,将其带入计算车辆error state,然后两者相加得出最终的更正状态,用于后续迭代。当没有观测数据时,就将预测数据作为结果进行迭代。

采用这种方式的好处是:将最终的true state的确定分成了两个,nominal state只和状态方程和输入有关,这样一来我们就能很方便的在方程上增加想要的约束。
另一个好处在于能很好地处理传感器数据暂时丢失的问题。有观测数据的时候就拿来修正状态,没有的时候就用预测状态,应用起来比较flexible。当然只用IMU时,数据漂移现象还是没法避免,个人感觉在这种情况下,可能还需要camera辅助。
在这里插入图片描述
在这里插入图片描述

1. 同步传感器坐标系

通常情况下,IMU和GNSS数据用的是车身坐标系,而LIDAR坐标系与传感器on board位置相关,因此要将LIDAR数据转换到车身坐标系,完成传感器数据坐标系的统一

C_li = np.array([
     [ 0.9975 , -0.04742,  0.05235],
     [ 0.04992,  0.99763, -0.04742],
     [-0.04998,  0.04992,  0.9975 ]
])

t_i_li = np.array([0.5, 0.1, 0.5])

# Transform from the LIDAR frame to the vehicle (IMU) frame.
lidar.data = (C_li @ lidar.data.T).T + t_i_li

2. 设置预估传感器方差和噪音常量

这是滤波器最重要的方面之一,如果出现标定错误或者数据丢失时,通常需要调整传感器方差进行补偿。

var_imu_f = 0.10
var_imu_w = 0.001
var_gnss  = 0.01
var_lidar = 100

g = np.array([0, 0, -9.81])  # gravity 1x3
l_jac = np.zeros([9, 6])
l_jac[3:, :] = np.eye(6)  # motion model noise jacobian
h_jac = np.zeros([3, 9])
h_jac[:, :3] = np
  • 1
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值