惯性导航 | 运动学---运动模型
惯性导航 | 运动学---运动模型
- IMU系统的运动学
IMU系统的运动学
惯性测量单元(IMU)已经非常普及了。我们在绝大多数电子设备中都能找到IMU:车辆、手机、手表、头盔,甚至足球当中都内置了IMU。它们的体积很小,安装在设备内部,可以提供有效的局部运动估计,实现一些有趣的功能。在自动驾驶中,惯性导航器件也是十分基础的定位装置。惯性导航提供的定位效果基本与外部环境和其它传感器数据无关,具有很高的泛用性和可靠性。
典型的六轴IMU由陀螺仪(Gyroscope)和加速度计(Accelerator)组成。虽然它们测量的目标都是物体的惯性,但其实现手段非常多样,从低成本的MEMS(Micro-electromechanical Systems,微0087机电)惯性导航到昂贵的光纤陀螺,它们的作用都是精确的测量物体的惯性。

IMU通常安装在一个运动的系统中。通过测量运动载体的惯性,推断物体本身的状态。这些与惯性相关的物理量通常不是直接的位置和旋转,而是微分之后的物理量。IMU的陀螺仪可以测量物体的角速度,而加速度计可以测量物体的加速度。它们内部可以根据受力或者时间等其它物理量来推算角速度和加速度,但从外部来看,只需要关心它们对角速度和加速度的测量是否精确,以及这些量和车辆位置、姿态之间的关系。
根据运动学,可以把连续时间的运动方程列出来。
R ˙ = R ω ∧ 或 q ˙ = 1 2 q ω p ˙ = v v ˙ = a \begin{matrix} \dot{R} =R\omega^{\wedge }或 \dot{q} =\frac{1}{2} q\omega \\ \dot{p} =v \\ \dot{v} =a \end{matrix} R˙=Rω∧或q˙=21qωp˙=vv˙=a
其中旋转部分既可以用旋转矩阵表示,也可以用四元数来表示。
在不考虑地球自转时,也可以简单的将大地视为固定的世界坐标系。这时IMU的测量值 ω ~ \tilde{\omega } ω~ , a ~ \tilde{a} a~,就是车辆本身的角速度,以及车体坐标系下的加速度:
a ~ = R T a ω ~ = ω \begin{matrix} \tilde{a} =R^{T} a \\ \tilde{\omega } =\omega \end{matrix} a~=RTaω~=ω
注意 R T R^{T} RT 带下标之后就是 R b w R_{bw} Rbw。它将世界坐标系下的物理量转换到车体坐标系。
实际的车辆或者机器人都在地球表面运行。这些系统受到重力的影响,所以应该把重力写在系统方程中。在绝大多数IMU系统中,可以忽略地球自转影响,从而把IMU测量值写成:
a ~ = R T ( a − g ) ω ~ = ω \begin{matrix} \tilde{a} =R^{T} (a-g) \\ \tilde{\omega } =\omega \end{matrix} a~=RT(a−g)ω~=ω
g为地球的重力。当前如果在无重力环境下测量物体的加速度,就不会出现重力项。
注意,这里g的符合和坐标系定义相关,我们的车体坐标系和世界坐标系都是Z轴向上,于是g通常取值 ( 0 , 0 , − 9.8 ) T (0,0,-9.8)^T (0,0,−9.8)T,按照如上坐标系定义,测量方程中应该为a-g。
为了便于理解,可以试着想象一个水平放置的IMU。
假设IMU静止,由于物体加速度的测量实际上是通过测量受力情况得到的,这个IMU应该受到一个反向的支撑力,所以应该测到一个-g方向的重力。
如果把IMU颠倒过来, R T R^{T} RT 就发生了改变,也可以读取到正的重力g。
如果IMU在空中做自由落体运动,那么传感器本身将测不到外力影响,此时a-g=0,加速度计应该输出一个零测量值。
前面的惯导测量值的方程是在无噪声的情况下列写的。如果想要写一个仿真系统,那么可以用这种不带噪声模型的方程。不过实际的IMU测量值通常都带有噪声,因此我们要考虑噪声的影响。
注意另一种情况:如果不把IMU放在车辆中心,当车辆方式旋转和平移时,IMU还应该测量到由车辆旋转导致的离心力、科氏力和角加速度,最后体现在加速度计的读数上。有些车辆还存在各种机械减震,如悬挂系统、车辆本身的运动部件,它们也会影响IMU的读数。
因此完整的方程还应该加如这些项,但是将这些小项全部写到后面的状态估计方程中,势必使得方程变得冗长。
一方面这些读数本身是小量;另一方面,可以通过尽量保证IMU的安装位置在车辆中心,避免由于IMU与载体不重合引来的问题。
相关文章:
惯性导航 | 运动学---运动模型
惯性导航 | 运动学---运动模型 IMU系统的运动学 IMU系统的运动学 惯性测量单元(IMU)已经非常普及了。我们在绝大多数电子设备中都能找到IMU:车辆、手机、手表、头盔,甚至足球当中都内置了IMU。它们的体积很小,安装在设…...
Java Web(十一)--JSON Ajax
JSON JSon在线文档: JSON 简介 JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式。轻量级指的是跟xml做比较。数据交换指的是客户端和服务器之间业务数据的传递格式。 它基于 ECMAScript (W3C制定的JS规范)的一个子集,采…...
GL/gl.h: No such file or directory(CentOS8 QT5.12.12)
1.问题描述 新建的QT工程,出现如下问题: GL/gl.h: No such file or directory 2.原因分析 centos系统里面缺少opengl库 3.解决方法 运行命令: yum install mesa-libGL -devel -y...
【外设篇】-显示器
显示屏是一种电光转换工具,现在市面上的显示器都是LCD(Liquid Crystal Display,液晶显示器) 显示器参数介绍 对比度 是指画面黑与白的比值,对比度越高能使色彩表现越丰富,对比度越高,显示器的…...
可视化图文报表
Apache Echarts介绍 Apache Echarts是一款基于Javascript的数据可视化图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表。 官网:Apache ECharts 入门案例: <!DOCTYPE html> <html>…...
CW023A-H035 CW023A-R230铜合金硬度材质书
CW023A-H035 CW023A-R230铜合金硬度材质书C2100W-O、C2680TWS-OL、C2200W-1/2H、C2800TS-O 、C2800T-H、C2800T-1/2H、C2700TS-O、C4430T-O、C2700T-O、C2700T-H、C2700T-OL、C2800TS-1/2H、C2800T-OL、C2700-O、C2800TS-H、C2700-H、C2700T-1/2H、C2600TS-1/2H、C2700-1/2H、C…...
Ribbon负载均衡:提升应用性能与可靠性的秘密武器(一)
本系列文章简介: 本系列文章将深入探讨Ribbon负载均衡的工作原理、应用场景和实践经验,帮助大家更好地理解和应用这一强大的技术。通过合理配置和优化Ribbon负载均衡,您可以为您的应用带来更高的性能和可靠性,从而获得竞争优势并满…...
python递归算法
递归算法 一、嵌套调用的过程二、递归的基本原则1、递归的基本原则2、无限递归调用3、正常递归调用4、阶乘问题5、力扣:231. 2 的幂6、力扣面试题 08.05. 递归乘法7、力扣、326. 3 的幂8、力扣342. 4的幂 一、嵌套调用的过程 def show1():print("show 1 run s…...
azure devops工具实践分析
对azure devops此工具的功能深挖,结合jira的使用经验的分析 1、在backlog的功能描述,可理解为需求项,这里包括了bug,从开发的角度修复bug也是个工作项,所以需求的范围是真正的需求(开发接收到的已经确认的…...
2024年2月19日-2月25日(全面进行+收集免费虚幻商城资源,20小时,合计2561小时,剩余7439小时)
试试周一到周五重点进行,周末抄写源码,周一晚上看书很快就在22:00睡着,早上可以看看视频教程,出租车上补觉。 执行如下: 周一: 8:01-9:20ue4 rpg(184…...
Ubuntu制作本地安装源
Ubuntu制作本地安装源 应用场景离线安装包的制作(可联网电脑)更新源安装软件 生成依赖关系在另外一台Ubuntu上离线安装安装 使用deb http方式安装安装nginx更新ubuntu数据库,并安装应用 应用场景 当我们需要在多台电脑安装同一个软件,并且软…...
java springmvc/springboot 项目通过HttpServletRequest对象获取请求体body工具类
请求 测试接口 获取到的 获取到打印出的json字符串里有空格这些,在json解析的时候正常解析为json对象了。 工具类代码 import lombok.extern.slf4j.Slf4j; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.we…...
新手怎么使用github?
GitHub新手使用指南,涵盖了从注册、创建仓库、版本控制基本操作到SSH密钥配置等关键步骤: 第一步:注册与登录 访问GitHub官方网站:https://github.com。点击页面右上角的"sign up"按钮开始注册账号。输入有效的电子邮…...
CSS_实现三角形和聊天气泡框
如何用css画出一个三角形 1、第一步 写一个正常的盒子模型,先给个正方形的div,便于观察,给div设置宽高和背景颜色 <body><div class"box"></div> </body> <style>.box {width: 100px;height: 100px…...
VPX基于全国产飞腾FT-2000+/64核+复旦微FPGA的计算刀片
6U VPX计算板 产品简介 产品特点 飞腾计算平台,国产化率100% VPX-MPU6902是一款基于飞腾FT-2000/64核的计算刀片,主频2.2GHz,负责业务数据流的管控和调度。搭配自带独立显示芯片的飞腾X100芯片,可用于于各类终端及服务器类应用场…...
ifcplusplus 示例 函数中英文 对照分析
有需求,需要分析 ifc c渲染,分析完,有 230个函数,才能完成一个加载,3d加载真的是大工程! 函数中英文对照表,方便 日后开发,整理思路顺畅!!!&#…...
天一个数据分析题(一百七十三)
聚类算法的主要应用场景是用户分群,聚类是一种无监督方法,以下哪个不是衡量聚类效果好坏的评估方法()。 A. 轮廓系数 B. 平方根标准误差 C. ARI(调整的兰德系数) D. 相关系数 题目来源于CDA模拟题库 点击此处获取答案...
尚硅谷(SpringCloudAlibaba微服务分布式)学习代码Eureka部分
1.项目结构 2.cloud2024 pom <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.a…...
arm服务器上部署kibana
1.首先需要从elasticsearch对应的kibana版本(arm) Download Kibana Free | Get Started Now | Elastic 注意:选平台时切勿选错,linux aarch64,并选择elasticsearch对应的历史版本 2.可以通过rz命令上传压缩包至 linux 服务器进行解压,存放路径建议和e…...
Redis之二:Redis 常用命令
Redis 命名不区分大小写 0.登录远程服务器 如果需要在远程 redis 服务上执行命令,同样我们使用的也是 redis-cli 命令。 语法 $ redis-cli -h host -p port -a password 获取配置信息: CONFIG GET CONFIG_SETTING_NAME 例: CONFIG GE…...
金融APP安卓防篡改加固方案:如何满足企业级高安全与等保2.0要求?
对于金融类APP而言,安全不只是技术问题,更是业务的生命线和监管的红线。代码被逆向可能导致交易协议泄露、用户资金被盗;APP被篡改可能引发合规风险,导致应用商店下架甚至监管处罚。因此,金融企业在选择安卓防篡改加固…...
给程序员的真心话:读研三年 vs 本科直接进大厂,我用亲身经历帮你算笔账
程序员职业路径抉择:三年读研与直接就业的量化分析框架 凌晨两点的宿舍里,显示器蓝光映照着代码与招聘网站交替切换的界面——这是无数计算机专业学子毕业季的常态。当"是否读研"这个问题摆在面前时,我们需要的不是泛泛而谈的"…...
三步完成BilldDesk私有化部署:打造专属远程桌面控制平台
三步完成BilldDesk私有化部署:打造专属远程桌面控制平台 【免费下载链接】billd-desk 基于Vue3 WebRTC Nodejs Flutter搭建的远程桌面控制、游戏串流 项目地址: https://gitcode.com/gh_mirrors/bi/billd-desk BilldDesk是一款基于Vue3 WebRTC Electron…...
新概念英语第二册09_A cold welcome
Lesson 9: A cold welcomeKey words and expressions Town Hall 市政厅crowd 人群gather 聚集strike 敲,打the minute hand 分针refusewelcomelaugh Questions on the text Where did people gather on the last evening of the year? The people gath…...
Ollama integration issues: context window ignored + API key confusion + tool support blocking
Bug 报告:Ollama 集成三重问题:上下文窗口未识别 + API Key 要求困惑 + 工具支持阻塞 / Ollama integration issues: context window ignored + API key confusion + tool support blocking 链接: https://blog.csdn.net/cosmoslife 作者: cosmoslife 日期: 2026/04/18 11:35…...
[Android] 网易云音乐 v6.2.81 车机官方定制版
[Android] 网易云音乐 v6.2.81 车机官方定制版 链接:https://pan.xunlei.com/s/VOqUjtKLwmWbrMNeegZ4Ir-eA1?pwddnap# 极简轻快,告别卡顿,它在任何设备上都运行如飞。 零广告零打扰:在这里,你的眼睛和耳朵只属于音乐…...
AGI能真正“原创”吗?:基于172项实验的创造性能力量化评估白皮书
第一章:AGI能真正“原创”吗?:基于172项实验的创造性能力量化评估白皮书 2026奇点智能技术大会(https://ml-summit.org) 本白皮书首次系统性地将“原创性”解构为可测量的认知维度——语义突变率、跨域映射熵、约束下解空间覆盖率与零样本范…...
HeyGem数字人视频生成系统性能优化建议:如何加快视频生成速度
HeyGem数字人视频生成系统性能优化建议:如何加快视频生成速度 1. 系统性能瓶颈分析 1.1 计算资源限制 HeyGem数字人视频生成系统的处理速度主要受以下硬件资源限制: GPU显存容量:唇形同步模型推理需要大量显存,显存不足会导致…...
低成本搭建厘米级定位:用树莓派+ZED-F9P+开源电台DIY你的RTK移动站
低成本搭建厘米级RTK定位系统:树莓派与开源硬件的完美组合 在无人机航测、农业自动导航和机器人开发领域,厘米级定位不再是遥不可及的梦想。如今,借助开源硬件和软件生态,个人开发者完全可以用不到专业设备十分之一的成本搭建属于…...
vLLM部署GLM-4-9B-Chat-1M:新手也能轻松搭建的AI对话助手
vLLM部署GLM-4-9B-Chat-1M:新手也能轻松搭建的AI对话助手 想体验一个能记住超长对话、支持26种语言、还能帮你写代码的AI助手吗?今天要介绍的GLM-4-9B-Chat-1M,就是这样一个能力强大的开源模型。它最大的亮点是支持1M的上下文长度࿰…...
