在自动驾驶中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以及重力模型误差(如不同地区的重力变化),更适合复杂场景(如坡道、运动中的初始化)。

未完待续。。。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/96774.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/96774.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Dify 从入门到精通(第 55/100 篇):Dify 的模型微调(进阶篇)

Dify 从入门到精通(第 55/100 篇):Dify 的模型微调 Dify 入门到精通系列文章目录 第一篇《Dify 究竟是什么?真能开启低代码 AI 应用开发的未来?》介绍了 Dify 的定位与优势第二篇《Dify 的核心组件:从节点…

《Password Guessing Using Large Language Models》——论文阅读

1.研究背景LLM在文本生成和理解方面表现出色,但直接用于密码猜测存在以下问题:密码与自然语言的差异(短、无语法、需精确匹配)生成效率低、重复率高伦理限制(如GPT-4拒绝生成大量密码)2.本文研究提出PASSLL…

C# 使用OPCUA 与CODESYS进行标签通讯

目录 1.导出的标签 识别标签名称 2.引用OPCUA的包 3.读写方法的封装 4.完整的业务模块封装 1.导出的标签 识别标签名称 从CODESYS导出使用标签通讯的模块文档 大概是这样子的 <?xml version"1.0" encoding"utf-8"?> <Symbolconfiguratio…

C++ 中 `std::map` 的 `insert` 函数

1. 函数的概念与用途 std::map::insert 是 C 标准模板库&#xff08;STL&#xff09;中 map 容器的一个核心成员函数。它的核心任务很明确&#xff1a;向 map 中插入一个新的键值对&#xff08;key-value pair&#xff09;。 核心用途&#xff1a; 数据构建&#xff1a;初始化一…

【机器学习学习笔记】机器学习引言

前言本文章是拨珠自己的学习笔记&#xff0c;自用为主&#xff0c;学习请移步专门教程&#xff0c;若有错误请大佬轻喷&#xff0c;也欢迎同好交流学习。本文将阐述三个问题。什么是机器学习&#xff1f;监督学习、无监督学习到底在干什么&#xff1f;分类、回归、聚类又是怎么…

程序设计---状态机

在软件工程、嵌入式开发、自动化控制等领域&#xff0c;状态机&#xff08;State Machine&#xff09;是一种描述系统行为的强大工具。它通过抽象“状态”“事件”“转换”和“动作”四大核心要素&#xff0c;将复杂的逻辑流程转化为可视化、可验证的状态流转规则&#xff0c;广…

GaussDB 数据库架构师修炼(十八) SQL引擎-分布式计划

1 分布式架构GaussDB基于MPP &#xff08;Massively Parallel Processing&#xff09; 并行架构Streaming流式计算框架2 分布式计划CN轻量化&#xff08;light proxy&#xff09; FQS&#xff08; fast query shipping &#xff09; STREAM计划 XC计划计划类型场景原理CN…

微前端架构核心要点对比

1. 样式隔离 常见的隔离方式有以下几种,还是根据自身业务来确定: 1.1. shadowDOM 目前相对来说使用最多的样式隔离机制。 但shadowDOM并不是银弹,由于子应用的样式作用域仅在 shadow 元素下,那么一旦子应用中出现运行时“翻墙”跑到外面构建 DOM 的场景,必定会导致构建…

VMware 17.6安装包下载与保姆级图文安装教程!

软件下载 [软件名称]&#xff1a;VMware 17.6 [软件大小]&#xff1a;226.66MB [系统环境]&#xff1a;win 7/8/10/11或更高&#xff0c;64位操作系统 VMware合集&#xff0c;软件下载&#xff08;夸克网盘需手机打开&#xff09;&#xff1a;&#xff1a;VMware合集丨夸克网…

关于微服务下的不同服务之间配置不能通用的问题

问题引入现有两个服务&#xff0c;一个是 A 服务&#xff0c;一个是 B 服务&#xff0c;并且这两个服务都需要使用 mysql。现 B 服务中引入了 A 服务的依赖&#xff0c;在 A 服务中添加了 mysql 的相关配置&#xff0c;那么这时就有一个问题&#xff1a;既然 B 已经引入了 A 的…

【机器学习项目 心脏病预测】

文章目录心脏病预测导入数据集数据集介绍理解数据数据处理机器学习K近邻分类器逻辑回归支持向量分类器&#xff08;SVC&#xff09;决策树分类器随机森林分类器结论心脏病预测 在这个机器学习项目中&#xff0c;我们使用UCI心脏病数据集 UCI &#xff0c;并将使用机器学习方法…

【论文阅读 | arXiv 2025 | WaveMamba:面向RGB-红外目标检测的小波驱动Mamba融合方法】

论文阅读 | arXiv 2025 | WaveMamba&#xff1a;面向RGB-红外目标检测的小波驱动Mamba融合方法​​1&&2. 摘要&&引言3. 方法3.1. 预备知识3.2. WaveMamba3.3. WaveMamba融合块&#xff08;WMFB&#xff09;3.3.1. 低频Mamba融合块&#xff08;LMFB&#xff09;…

DevExpress发布PowerPoint Presentation API库,支持跨平台与 PDF 导出

DevExpress专注于为 .NET、JavaScript、VCL 等多种平台提供高性能 UI 控件、报表工具、数据可视化组件及开发框架&#xff0c;产品覆盖桌面、Web、移动及跨平台应用开发领域。凭借稳定的性能、丰富的功能与优质的技术支持&#xff0c;DevExpress 的解决方案已广泛应用于金融、制…

Vue3使用 DAG 图(AntV X6)

参考文档 AntV X6 文档 可自定义设置以下属性 容器宽度&#xff08;width&#xff09;&#xff0c;类型&#xff1a;number | string&#xff0c;默认 ‘100%’容器高度&#xff08;height&#xff09;&#xff0c;类型&#xff1a;number | string&#xff0c;默认 ‘100%’…

【数据结构】跳表的概率模型详解与其 C 代码实现

文章目录介绍关键组成部分读者可以比对这张图片去理解跳表 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/c5704b6276a14c3f9facdc3e55015bcc.jpeg#pic_center) 核心操作原理算法的概率模型跳表的 C代码实现初始化跳跃表的节点、跳跃表本身跳表插入节点查找元素更新…

Verilog实现除法器

文章目录基本原理确定除数最高位移位相减基本原理 若想得到yx\frac{y}{x}xy​的商和余数&#xff0c;一种最直观的想法就是不断地用yyy减掉xxx&#xff0c;直到y<xy< xy<x为止&#xff0c;写成伪代码如下 z 0 while y<x:y - xz 1这种算实在是太低效了&#xff…

EasyLive的一些疑问

目录 一、pinia是什么 二、html的代码片段又失效&#xff1f; 三、Request.js 四 、状态管理库 五、main.js:19 Uncaught SyntaxError: The requested module /src/utils/Api.js?t1745328489985 does not provide an export named default (at main.js:19:8)​编辑 六、…

C++(String):

目录 string与C中字符串的区别&#xff1a; C字符串&#xff1a; string字符串&#xff1a; string的定义和初始化&#xff1a; 输入字符串&#xff1a; 方式1&#xff1a; 方式2&#xff1a; 字符串的拼接的操作&#xff1a; 方式1&#xff1a;使用“” 方式2&#…

【Linux】Java线上问题,一分钟日志定位

【Linux】Java线上问题&#xff0c;一分钟日志定位1. 查看异常堆栈2. 实时叮新日志3. 翻历史/压缩日志4. 统计异常数量5. 多种异常一起查6. 反向过滤7. 同时满足多个关键字查询8. 定位最近一次异常9. 异常排行榜1. 查看异常堆栈 # 在 a.log 文件中查找包含 NullPointerExcepti…

智慧农业温室大棚远程监控物联网系统解决方案

一、方案背景与目标随着现代农业向智能化、精准化转型&#xff0c;传统温室大棚管理面临效率低、响应慢、成本高等痛点。本方案通过部署御控农业物联网系统&#xff0c;实现温室环境参数实时监测、设备远程控制、数据智能分析及预警决策&#xff0c;助力农户降低人工成本&#…