在自动驾驶中ESKF实现GINS时,是否将重力g作为变量考虑进去的目的是什么?

在自动驾驶的ESKF中,是否将重力 g 作为估计变量,可以从多个维度来比较这两种方法的差异。

对比维度 不将重力 g 作为变量 将重力 g 作为变量
核心假设 重力矢量 g已知且恒定的完美参考量。 重力矢量 g需要被估计或校准的量,其值可能存在不确定性。
状态向量 δx = [δθ, δv, δp, δb_g, δb_a] δx = [δθ, δv, δp, δb_g, δb_a, δg ]
姿态初始化 (Pitch/Roll) 依赖初始静止时段计算,一旦计算完成即固定。无法在运动中修正因误差导致的初始对准偏差。 持续估计。在运动过程中仍可利用重力方向作为参考,不断修正俯仰和滚转角的误差。
加速度计Bias估计 与姿态误差耦合严重。容易将姿态误差误判为Bias,或将Bias误判为姿态误差,导致估计不准。 通过引入重力误差状态,更好地解耦了姿态误差和加速度计Bias,能更准确地估计出Bias。
鲁棒性 较低。对IMU的初始对准精度要求高。在非水平路面、重力异常区域或车辆长时间动态运动时,性能下降明显。 极高。能适应坡道、不同地理经纬度(重力细微变化)、以及初始对准不完美的情况,系统更自适应。
处理运动加速度 "黑盒"处理。通常需依赖车辆动力学模型或机器学习方法来判断当前加速度是运动导致还是姿态导致,设计复杂。 "白盒"优化 。滤波器通过状态估计自动学习 和区分。它将测量到的加速度分解为:运动加速度 + 重力加速度分量 + bias,并通过观测(如GNSS速度)来约束运动加速度,从而反向优化重力和姿态的估计。
计算复杂度 稍低。状态向量维度更小,计算量略小。 稍高。增加了状态维度,计算量略有增加,但对于现代处理器而言可忽略不计。

个人理解:(如果觉得理解有不到位地方,欢迎批评指正!!!)

1. 不估计重力(重力恒定)的情况
  • 初始对准必需:系统必须通过初始静止时段(或其它方法)确定R0。加速度计测量重力矢量在b系中的投影,可得到R0。
  • 参考系固定 :一旦R0确定,整个导航坐标系(n系)就被固定了,其Z轴与初始重力方向对齐(即水平面)。后续所有姿态更新(通过积分陀螺仪数据)都是相对于这个固定的n系。因此,IMU的姿态是相对于初始时刻建立的水平面描述的。
  • 如果初始对准准确,姿态估计正确。但如果初始对准有误差(例如,由于坡道导致计算R0时假设错误),误差会持续影响后续估计。但关键是,n系本身是水平的,与坡道无关。
2. 估计重力(重力作为状态变量)的情况
  • 初始姿态可设为单元阵:即设R0 = I(单位阵)。
  • 重力作为状态变量:重力矢量g被纳入状态估计,初始值可设为[0, 0, -9.8]^T,允许滤波器后续优化其值。
  • 动态估计水平面 :通过融合IMU测量和GNSS等观测数据,滤波器会持续估计重力矢量的方向。这个估计的重力方向实际上定义了当前的真实水平面(因为重力方向垂直向下)。因此,重力矢量的估计值充当了一个动态参考,允许计算IMU当前姿态相对于水平面的偏移,而无需精确的初始对准。
  • 鲁棒性:这种方法能自动校正初始对准误差、IMU bias以及重力模型误差(如不同地区的重力变化),更适合复杂场景(如坡道、运动中的初始化)。

未完待续。。。

相关推荐
从孑开始22 分钟前
ManySpeech.MoonshineAsr 使用指南
人工智能·ai·c#·.net·私有化部署·语音识别·onnx·asr·moonshine
涛涛讲AI26 分钟前
一段音频多段字幕,让音频能够流畅自然对应字幕 AI生成视频,扣子生成剪映视频草稿
人工智能·音视频·语音识别
可触的未来,发芽的智生40 分钟前
新奇特:黑猫警长的纳米世界,忆阻器与神经网络的智慧
javascript·人工智能·python·神经网络·架构
WWZZ20251 小时前
快速上手大模型:机器学习2(一元线性回归、代价函数、梯度下降法)
人工智能·算法·机器学习·计算机视觉·机器人·大模型·slam
AKAMAI1 小时前
数据孤岛破局之战 :跨业务分析的难题攻坚
运维·人工智能·云计算
Chicheng_MA1 小时前
算能 CV184 智能相机整体方案介绍
人工智能·数码相机·算能
Element_南笙2 小时前
吴恩达新课程:Agentic AI(笔记2)
数据库·人工智能·笔记·python·深度学习·ui·自然语言处理
倔强青铜三2 小时前
苦练Python第69天:subprocess模块从入门到上瘾,手把手教你驯服系统命令!
人工智能·python·面试
Antonio9152 小时前
【图像处理】rgb和srgb
图像处理·人工智能·数码相机
倔强青铜三2 小时前
苦练 Python 第 68 天:并发狂飙!concurrent 模块让你 CPU 原地起飞
人工智能·python·面试