自动驾驶传感器:惯性导航IMU原理

自动驾驶传感器:惯性导航IMU原理

image

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

组合导航里包含了GNSS卫星导航模块与IMU惯性导航模块,前一篇文章写了GNSS模块,本章写IMU惯导,也是本系列最后一篇文章。

1. 惯性测量单元(IMU)概述

惯性测量单元(Inertial measurement unit,IMU),是测量物体三轴姿态角以及加速度的装置。IMU通常包含陀螺仪 (Gyroscope)、加速度计 (Accelermeters),有的还包含磁力计(Magnetometers)。陀螺仪用来测量三轴的角度/角速度,加速度计用来测量三轴的加速度,磁力计提供磁场朝向信息。

IMU在手机、VR,航空航天领域都有着广泛应用。比如手机的记步功能就是利用IMU的算法达成;VR中IMU可实现随头部姿态变化而切换场景;Apollo登月中依赖IMU实现位置追踪和朝向确认。在自动驾驶领域,IMU同样是重要的导航和定位组件。

image

IMU的应用

image

2. 陀螺仪(Gyroscope)原理

2.1 角动量守恒与机械陀螺仪

先从最古老的陀螺仪看起,顾名思义,陀螺仪的核心是一个陀螺。当其开始旋转,陀螺仪会绕着当前旋转轴旋转、抗拒改变方向的趋势,这就是角动量守恒。骑自行车、摩托车不会摔倒也是这个原理,巨型轮船采用的陀螺仪船身稳定系统还是利用这个原理。

唯一可以克服地球重力的神器——陀螺仪_哔哩哔哩_bilibili​www.bilibili.com/video/BV1Md4y1N7r3/?spm_id_from=333.337.search-card.all.click&vd_source=f6a6eca87c96a71ae167de404df806bbimage

机械陀螺仪的基本部件有:

  1. **陀螺转子:**常采电机驱动使陀螺转子绕自转轴高速旋转,其转速近似为常值。

  2. **内、外框架:**使陀螺自转轴获得所需角转动自由度;

  3. **附件:**力矩马达、信号传感器等。

image

机械陀螺仪

当陀螺高速旋时,理想情况下其姿态可以视为不变。此时,当搭载陀螺仪物体的姿态发生变化,则机械陀螺仪的内外框架相对于陀螺的角度就发生了变化。只要测量角度,或者角速度,即可完成对位姿的测量。 角度、角速度的测量方式有很多种,可以是光电码盘,可以是各种电阻、电容、霍尔器件,大学学过《传感器原理的》可以回忆一下。

image

机械陀螺仪的工作原理

image

机械陀螺仪基于的原理是经典力学,因此其历史并不算短,早在1904年第一个机械陀螺仪系统就被设计出来。机械陀螺仪早期应用在武器制导、航空航天领域较多,比如二战时候的V2火箭就采用了陀螺仪导航,尽管其导航并不准确,总是离目的地很远。

image

V2火箭中的陀螺仪应用

我们可以很轻易的发现此种陀螺仪存在的问题:高速旋转的陀螺需要精度极高的机加工工艺,且高速旋转的陀螺需要配合极好的抗摩擦、减阻措施。在70年代以前,陀螺仪的研发重心就在于此。在40年代,工程师采用轴承来减小旋转阻力,50年代则发明了液浮和气浮陀螺仪。60年则出现了挠性支撑陀螺仪和**静电支承陀螺仪。**当然这些传统的机械陀螺仪仍然没有跳出牛顿经典力学原理,基本是围绕给陀螺“减阻”做文章。

传统陀螺仪的巅峰是静电陀螺仪,其利用超高真空中的强电场对陀螺进行支承,达成一个近乎理想的环境,没有机械接触,甚至没有气体阻力(这与托克马克装置的电磁约束有点相似),这使得它得漂移率变得相当低。但显然,如此精密、复杂且昂贵的设备,是别想在民用领域有什么发展了。

image

静电陀螺仪

而随着70年代先进加工工艺、光学原理的发展也应用,环形激光陀螺仪、光纤陀螺仪、MEMS陀螺仪等逐渐出现**。** 这些新的陀螺仪的原理已不再是原始的“角动量守恒”,也不再需要高速旋转的机械陀螺转子。最为关键的是其小型化高可靠性的特点,使其广泛应用于高精度惯导系统中。我们接下来讨论这些新型的陀螺仪:

2.2 Sagnac效应与光纤陀螺仪、环形激光陀螺仪

2.2.1 Sagnac效应

1913年,法国科学家George Sagnac发现:当光束在一个环形介质通道中行进时,若环形通道本身具有一个转动的角速度,那么光线沿着通道转动方向行进所需要的时间,要比沿着这个通道转动相反的方向行进所需要的时间要多。注意:介质通道的条件十分重要。

这在宏观的运动学层面是不难理解的:假设地球高空没有任何气流阻力,那么逆地球自转方向的飞机将比顺着地球自转方向的飞机更快到达目的地。**注意:无气流的假设非常重要,**因为现实中由于西风带的影响,往往是顺着地球自转方向飞的更快(感叹一下,写一些科普文章真的需要的庞杂的知识)。

而光在介质中的运动也出现了这一现象,运动环路的光程相对于静止环路的光程发生了变化。利用光程的这种变化,将同一光源发出的一束光分解为两束,让它们在同一个环路内沿相反方向循行一周后会合,然后在屏幕上产生干涉,显然环形光路不同的角速度会 -> 引发不同的光程 -> 造成不同的干涉条纹。通过观察干涉条纹,我们即可判断光路旋转的角速度

image

Sagnac效应,from Wikipedia

笔者曾查过引起Sagnac效应的物理学原理,但是网上的说法不一,也超出了我的理解范围。**我粗鄙的理解是:**光速在真空中是恒定的,而在介质中的光速会降低,然后似乎又可以符合经典运动学的原理。下面这篇文章供参考:

Sagnac效应的真正物理根源 - 知乎 (zhihu.com)17 赞同 · 12 评论文章

利用Sagnac效应的两种陀螺仪分别是环形激光陀螺仪光纤陀螺仪:

2.2.2 环形激光陀螺仪 Ring laser Gyroscope:

image

Ring laser Gyroscope

出现最早的是环形激光陀螺仪,其核心是利用一个激光发射器和反射镜来制造一个“环形介质通道”。最早1963年,美国海军的Macek和Davis演示了环形激光陀螺仪的实验,而后基于Sagnac效应的陀螺仪蓬勃发展。显然,环形激光陀螺仪是**“纯固态”**方案,完全没有运动部件,其尺寸也就更小,可靠性更高。其精度可以达到0.01°/小时。

  • 环形激光陀螺仪的锁定

环形激光陀螺仪的一个缺点是:在超低速下会受到锁定现象的影响,从而无法正确检测旋转。在超低速旋转过程中,正向和反向旋转的激光束的频率非常接近。当两束光通过串扰进入另一个光路并到达激光振荡部分时,就会发生激光振荡注入锁定,并且固定在光纤上形成的驻波而不会对角位移产生反应。

因此,设计者会对其进行“强制抖动”,从而拉开正向、反向激光束的频率差距。但强制抖动也并不能完全防止锁定,因为每次振动方向改变时,都会存在一个转速几乎为零的时间段。

2.2.3 光纤陀螺仪 Fiber optic Gyroscope

而光纤陀螺仪的设计更加巧妙,其直接**通过光纤来制造环形介质通道。**相比前者,不需要光学镜的精密加工、光腔的严格密封,而且从根本上避免了激光锁定问题。

image

Fiber optic Gyroscope光纤陀螺仪

2.3 科氏力与MEMS陀螺仪

2.3.1 科里奥利力:

微机电陀螺仪基于的原理是科里奥利力(学习过《理论力学》课程的应该不陌生)。科氏力的定义稍微有点难懂,简而言之: 以旋转体参考系观察,一个沿径向直线运动的物体,会由于转动的线速度不同而有偏离原有方向的倾向,这个倾向可以归结为一个外加力的作用。

image

科氏力的直观描述

如图所示,在顺时针旋转的圆盘上,当人从圆心走向边缘,假定这个过程中人沿圆盘切向的线速度不变,走到的脚下的圆盘时,因为半径的增大而线速度增大,所以**小人相对圆盘就有相对向左的运动趋势。**人站在圆盘上视角看,像是受到了一个向左的力一样。

把人换成弹簧振子,当振子向圆盘边缘运动的时候,会受到向左的一个力;当振子往圆心运动的时候,则会受到向右的一个力。 再把弹簧振子连接上垂直于振动方向的电容和弹簧,就可以把科氏力的作用转化为电容值的变化。

image

科里奥利力_哔哩哔哩_bilibili​www.bilibili.com/video/BV19F411Y7Hj/?vd_source=f6a6eca87c96a71ae167de404df806bbimage

2.3.2 MEMS微机电系统

关于MEMS——微机电系统的相关知识,可以参考:微机电系统_百度百科 (baidu.com),这里不详细展开。其大意是将微机械结构与控制电路集成在同一张硅片上。而除了作为半导体产业的原料,硅的强度、硬度和杨氏模量与铁大致相当,密度类似铝,其机械性能其实相当出色。采用蚀刻、Liga电火花加工都可以在硅片上构造出机械结构。

下图加工出来的结构在机械学领域叫**“柔性铰链”或“柔性振子”。**(此技术在MEMS激光雷达中也有应用)。柔性结构可以在特定的方向存在一定的弹性性变空间,就像上面的弹簧一样。(注意,是特定方向,不是每个方向都能有形变空间)

image

MEMS陀螺仪的柔性振子,红色箭头为允许运动的方向,蓝色为想要检测的旋转方向

我们还知道,所有物体都有一定的自身频率,当外界施加频率与自身频率相同时即会发生共振。

对于MEMS陀螺仪,即采用14 kHZ的交变电压使柔性振子,沿图中红色箭头方向,发生周期性的共振。当检测单元沿蓝色轴线存在转动时候,正在直线运动的柔性振子就会受到科氏力而产生偏移,从而产生14kHZ的上下的震荡,使用电容传感器检测这一振幅,即可得到所受到的科氏力,进而得到旋转的角速度。

在三个正交的轴上布置该种传感器,即可够成一个完整的MEMS陀螺仪。显然, MEMS技术使得这种陀螺仪体积更小,集成度更高,更加方便规模化的制造。例如,给手机、VR用的MPU6050就是MEMS技术的陀螺仪,其面积比小拇指盖都要小不少。

当然,MEMS的也存在一些缺点,最显著的就是结构比较脆弱。

image

MPU6050

下面的视频较好地阐述了MEMS陀螺仪的原理,推荐观看:

手机里的陀螺仪,是个微型陀螺吗,解密手机陀螺仪原理_哔哩哔哩_bilibili​www.bilibili.com/video/BV1YK411A7HU/?spm_id_from=333.337.search-card.all.click&vd_source=f6a6eca87c96a71ae167de404df806bbimage

3. 加速度计(Accelermeters) 原理

3.1 加速度计原理

image

3.2 加速度计的小型化:MEMS技术

同理,加速度计也可以通过MEMS的手段来实现微型化和集成化。MEMS加速度计的原理如图所示,在硅芯片上用Laser加工出**微型柔性铰链,**使柔性铰链在待检测方向上具有一定形变空间。

当检测方向上存在一定的加速度,即柔性铰链发生位移,即可利用电容传感器检测、换算出加速度大小。同样地,在正交的三个轴上布置该模块即可构成一个完整的加速度传感器。

image

MEMS加速度计

4. 组合导航

4.1 IMU的优缺点

  • IMU的优点:
  1. 相对位置的推演不存在任何外部依赖,是一个完备的系统。相比之下,如GNSS依赖于卫星的覆盖,Lidar,Camera则依赖于对外部的感知,存在一定的不稳定性。

  2. 正因如此,IMU几乎不受外来信号干扰。除了强烈的机械冲击之外,电磁干扰,强光,特殊天气,地形条件等会对其他传感器造成扰动的因素对于IMU通通不起作用。

  3. IMU对角速度和加速度的测量值之间本就具有一定的冗余性,再加上汽车的轮速计和方向盘转角等冗余信息,使IMU的输出的**“短时间内的相对位置变化”**拥有极高的置信度。

  • IMU的不足:
  1. IMU只能提供相对位置和姿态的推演,但却无法从全局角度提供绝对位置信息;

  2. IMU在使用过程中,一般需要对陀螺仪、加速度计的输出对时间积分才能得到位姿信息,而在积分的过程中,随着时间积累,误差也会持续累积,最终使得朝向发生较大的偏移(Drift)。 如不能由外部引入绝对位置信息加以校正,漂移会越来越大,输出结果与真实值的差距越来越大,从而失去使用价值。

image

陀螺仪的漂移Drift

4.2 车用IMU的发展方向

毫无疑问,车用的IMU必定是基于MEMS技术的,而机械式和光纤式。MEMS的体积更小,芯片化的IMU更容易集成。至于成本-性能,MEMS产品的跨度也更大。当前顶级的MEMS产品并不比光纤陀螺仪差,我曾经做过一些实际调查,Applanix的AP系列高精度的MEMS IMU的性能指标和同价位Novatel的光纤IMU的性能是基本一样,甚至可能更佳。这说明MEMS方案能达成的极限还是很高的,而一些性能较差的IMU则有着价格优势。光纤陀螺仪起手的性能就很好,但价格区间也高。类似下图:

image

MEMS、光纤IMU的成本-性能对比

4.3 组合导航原理

IMU的优点是短时间内输出的位姿置信度极高,缺点是无法提供全局作标,长时间工作存在较大漂移,需要引入外部位置信息进行矫正。GNSS的优点是可以得到全局的绝对作标,而缺点是在一些特殊场景下,如山区、城市峡谷,定位精度锐减甚至于无法工作。

而将IMU与GNSS相结合,则可以最大程度地扬长避短。这也就是**“组合导航”**的来源。组合导航的工作逻辑并不复杂,简而言之就是采用KF对IMU和GNSS信号进行融合修正。

image

组合惯导的工作逻辑

组合导航与其他定位方式的对比如下表:

image

不同定位方法之间的对比,From 《A Survey of Autonomous Driving: Common Practices and Emerging Technologies》

在组合导航中,IMU也是自动驾驶定位的一道防线,其理由是:

  1. 当车辆驶入大城市、山区,失去卫星信号后。此时,IMU也可以延续若干秒的精确定位,为自动驾驶车辆切换到其他定位方式争取宝贵的反应时间,保证车辆的安全。

  2. 在基于视觉、雷达的定位方法受到外界干扰(如强光照射)而短暂失效的情况下。IMU依然可以稳定发挥作用,确保车辆一段时间内行驶在车道内。

image

IMU的作用

事实上,当前的一系列主机厂在许多车型上都采用了组合GNSS-RTK+IMU的组合导航模块:比如**ZED F9R。**其量产成本不到千元,能够为ADAS系统提供极高的安全冗余。

image

车用组合惯导模块:RTK+IMU ZED F9R

参考资料Ref:

  1. lecture9.pdf (stanford.edu)(推荐阅读)

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

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

相关文章

python学习13:python中的字符串格式化

python中的字符串格式化另外一种方式 我们前面是使用的%d,%f,%s占位符来实现字符串的格式化的;这次我们通过f"{}"来快速实现格式化,代码示例如下:

vue 预览excel文件的又一伟大实践 —— vue-office

实际上,预览excel这个功能,我之前已经写过一个文章了。如下,使用的是 luckysheet/luckyExcel 实现的。 vue 实现在线预览Excel-LuckyExcel/LuckySheet实现方案_excel在线预览的方案-CSDN博客 但是最近客户使用发现一个bug,就是某…

WPF —— DockPanel、ProgressBar 控件详解

ProgressBar 控件详解 1Progress bar简介 ProgressBar:进度条控件。 WPF带有一个方便的控件用于显示进度,称ProgressBar。它的工作原理就是设置最小值和最大值然后通过递增一个值,这样就可以直观的显示当前进度情况。 2 Progress bar常用的…

web——xml,xxe

xml的格式 ,我们可以通过这个读取文件 改成这个 这样就可以知道,文件里的信息,但这是有回显的,因为,有prinetf 带外测试 将数据包改成这个 就发现漏洞存在 这是有回显的情况 数据包这么写 然后在自己的服务器…

如何用Flask中的Blueprints构建大型Web应用

本文分享自华为云社区《构建大型Web应用Flask中的Blueprints指南》,作者: 柠檬味拥抱。 什么是Blueprints? 什么是Blueprints? Blueprints是Flask中的一种模式,用于将应用程序分解为可重用的模块。每个蓝图实际上是…

elementui日期时间选择框自定义组件

1.需求场景 业务中需要&#xff0c;日期选择框方便客户对日期的选择&#xff08;比如近5天&#xff0c;本周&#xff0c;本月&#xff0c;本年等等&#xff09;&#xff0c;并按小时展示。 2.组件代码MyDateTimeChange.vue <template><el-date-pickerv-model"…

【LVGL-键盘部件,实体按键控制】

LVGL-二维码库 ■ LVGL-键盘部件■ 示例一&#xff1a;键盘弹窗提示■ 示例二&#xff1a;设置键盘模式■ 综合示例&#xff1a; ■ LVGL-实体按键控制■ 简介 ■ LVGL-键盘部件 ■ 示例一&#xff1a;键盘弹窗提示 lv_keyboard_set_popovers(kb,true);■ 示例二&#xff1a;设…

Vue脚手架

Vue脚手架 学习目标&#xff1a; 理解Node.js基本使用方法理解包资源管理器NPM的使用理解webpack的作用理解 vue-cli 脚手架 (重点)Element-UI 组件库 1.vue的格式&#xff1a;new Vue({//作用的视图el:"id选择器",//vue中的数据/*data:{key:value,key:value,...}…

GPT提示词分享 —— 口播脚本

可用于撰写视频、直播、播客、分镜头和其他口语内容的脚本。 提示词&#x1f447; 请以人的口吻&#xff0c;采用缩略语、成语、过渡短语、感叹词、悬垂修饰语和口语化语言&#xff0c;避免重复短语和不自然的句子结构&#xff0c;撰写一篇关于 [主题] 的文章。 GPT3.5&#…

【网安小白成长之路】2.PHP与MySQL交互

&#x1f42e;博主syst1m 带你 acquire knowledge&#xff01; ✨博客首页——syst1m的博客&#x1f498; &#x1f51e; 《网安小白成长之路(我要变成大佬&#x1f60e;&#xff01;&#xff01;)》真实小白学习历程&#xff0c;手把手带你一起从入门到入狱&#x1f6ad; &…

JVM(五)——类加载阶段

一、类加载阶段 一个类型从被加载到虚拟机内存中开始&#xff0c;到卸载出内存为止&#xff0c;它的整个生命周期将会经历加载 &#xff08;Loading&#xff09;、验证&#xff08;Verification&#xff09;、准备&#xff08;Preparation&#xff09;、解析&#xff08;Resol…

循环神经网络之序列模型

自回归模型 自回归模型&#xff1a; 只与x 有关 &#xff0c;对自己执行回归隐变量自回归&#xff1a;与X 和过去观测总结h 都有关 案例 %matplotlib inline import torch from torch import nn from d2l import torch as d2lT 1000 # 总共产生1000个点 time torch.aran…