自动驾驶融合定位系列教程五:惯性导航误差分析

2024-05-06 18:20

本文主要是介绍自动驾驶融合定位系列教程五:惯性导航误差分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

自动驾驶融合定位系列教程五:惯性导航误差分析

一、概述

在定位领域的几乎所有多传感器融合系统中,都有IMU存在,而且,IMU是定位系统的主线与核心(对此可能很多人并不同意,但是我仍然坚定地坚持这一观点)。

对于IMU参与的融合系统(无论是基于滤波还是基于优化),它的误差分析就既是核心内容,也是基础内容,是必须要掌握的。如果要简单解释,所谓融合,就是根据观测误差去反推状态误差,而误差分析就是给出观测误差与状态误差之间的关系,让这个“反推”不再是文字,而具有数学表达,从而可以进行算法实现。

具体来讲,在IMU融合系统中,这里的观测误差就对应位置误差、速度误差、姿态误差,状态误差指的就是位置误差、速度误差、姿态误差、陀螺仪的bias、加速度计的bias等。观测和状态中有重复的量这很正常,说明“有些状态可以被直接观测到”。而根据观测误差去反推状态误差,指的就是,如果告诉你它们之间的关系(比如已知陀螺仪的bias和姿态误差之间的关系),那么就可以根据该关系去反推出那些不能被直接观测到的量(比如已知姿态误差去反推陀螺仪bias)。

image

附赠自动驾驶学习资料和量产经验:链接

二、误差方程推导思路

误差方程的推导公式还是挺多的,所以,按照本系列文章的风格,会先介绍推导的思路,把公式推导放在思路的框架下理解,以避免陷入混乱状态。

既然误差分析是对观测误差和状态误差关系的推导,那么我们不妨就从一个简单的例子,来把这个推导思路解释清楚。假设z是观测,x和y都是状态,并且有

𝑧˙=𝑥+𝑦

误差分析指的就是,由上面的方程,推导出 𝛿𝑧 与 𝛿𝑥 、 𝛿𝑦 之间的关系。我们按照固定的套路,把推导步骤给固化下来,这样,我们在后面推导位置、速度、姿态的误差方程的时候就直接往上套就行了。整个过程可以分为以下几步:

1)写出不考虑误差时的微分方程

𝑧˙=𝑥+𝑦

2)写出考虑误差时的微分方程

image

3)写出真实值与理想值之间的关系

image

4)把3)中的关系,代入2)

image

5)把1)中的关系,代入4)

image

6)化简方程

image

经过这样 6 步,就很容易地达到了我们的目的。不过对于这个方程来讲,有点过于简单了,因为不写出这 6 个步骤,可能也能直接看出答案,但这只是以此为例,把步骤梳理清楚,等真正推导IMU的误差方程的时候,不能直接看得出结果,这些就用得上了。

三、IMU 误差方程推导

1.姿态误差方程

我们以四元数的表达方式为例,进行介绍。同样按照刚才的 6 个步骤往里面套。

image

image

根据上一篇文章所讲,四元数相乘可以转换成矩阵与向量相乘

image

image

image

由于融合时,状态量中往往不是使用四元数,而是使用失准角,因此要把上式转成失准角的微分形式。

image

2.速度误差方程

image

image

3.位置误差方程推导

image

位置误差方程推导完毕。

四、总结

可以看出,掌握基本思路以后,推导是不太费脑子的,就是有点费纸。这里啰哩啰嗦把这些东西讲完,后面的章节就直接使用这里的结论了。

这篇关于自动驾驶融合定位系列教程五:惯性导航误差分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/965020

相关文章

如何为Yarn配置国内源的详细教程

《如何为Yarn配置国内源的详细教程》在使用Yarn进行项目开发时,由于网络原因,直接使用官方源可能会导致下载速度慢或连接失败,配置国内源可以显著提高包的下载速度和稳定性,本文将详细介绍如何为Yarn... 目录一、查询当前使用的镜像源二、设置国内源1. 设置为淘宝镜像源2. 设置为其他国内源三、还原为官方

Maven的使用和配置国内源的保姆级教程

《Maven的使用和配置国内源的保姆级教程》Maven是⼀个项目管理工具,基于POM(ProjectObjectModel,项目对象模型)的概念,Maven可以通过一小段描述信息来管理项目的构建,报告... 目录1. 什么是Maven?2.创建⼀个Maven项目3.Maven 核心功能4.使用Maven H

Java程序进程起来了但是不打印日志的原因分析

《Java程序进程起来了但是不打印日志的原因分析》:本文主要介绍Java程序进程起来了但是不打印日志的原因分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java程序进程起来了但是不打印日志的原因1、日志配置问题2、日志文件权限问题3、日志文件路径问题4、程序

Java字符串操作技巧之语法、示例与应用场景分析

《Java字符串操作技巧之语法、示例与应用场景分析》在Java算法题和日常开发中,字符串处理是必备的核心技能,本文全面梳理Java中字符串的常用操作语法,结合代码示例、应用场景和避坑指南,可快速掌握字... 目录引言1. 基础操作1.1 创建字符串1.2 获取长度1.3 访问字符2. 字符串处理2.1 子字

IDEA自动生成注释模板的配置教程

《IDEA自动生成注释模板的配置教程》本文介绍了如何在IntelliJIDEA中配置类和方法的注释模板,包括自动生成项目名称、包名、日期和时间等内容,以及如何定制参数和返回值的注释格式,需要的朋友可以... 目录项目场景配置方法类注释模板定义类开头的注释步骤类注释效果方法注释模板定义方法开头的注释步骤方法注

pytorch自动求梯度autograd的实现

《pytorch自动求梯度autograd的实现》autograd是一个自动微分引擎,它可以自动计算张量的梯度,本文主要介绍了pytorch自动求梯度autograd的实现,具有一定的参考价值,感兴趣... autograd是pytorch构建神经网络的核心。在 PyTorch 中,结合以下代码例子,当你

Python如何自动生成环境依赖包requirements

《Python如何自动生成环境依赖包requirements》:本文主要介绍Python如何自动生成环境依赖包requirements问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录生成当前 python 环境 安装的所有依赖包1、命令2、常见问题只生成当前 项目 的所有依赖包1、

Python虚拟环境终极(含PyCharm的使用教程)

《Python虚拟环境终极(含PyCharm的使用教程)》:本文主要介绍Python虚拟环境终极(含PyCharm的使用教程),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录一、为什么需要虚拟环境?二、虚拟环境创建方式对比三、命令行创建虚拟环境(venv)3.1 基础命令3

使用Node.js制作图片上传服务的详细教程

《使用Node.js制作图片上传服务的详细教程》在现代Web应用开发中,图片上传是一项常见且重要的功能,借助Node.js强大的生态系统,我们可以轻松搭建高效的图片上传服务,本文将深入探讨如何使用No... 目录准备工作搭建 Express 服务器配置 multer 进行图片上传处理图片上传请求完整代码示例

Python 迭代器和生成器概念及场景分析

《Python迭代器和生成器概念及场景分析》yield是Python中实现惰性计算和协程的核心工具,结合send()、throw()、close()等方法,能够构建高效、灵活的数据流和控制流模型,这... 目录迭代器的介绍自定义迭代器省略的迭代器生产器的介绍yield的普通用法yield的高级用法yidle