自动驾驶传感器:惯性导航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)(推荐阅读)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

python django实战开发序列化器的一个应用心得分享

需求: 查询的时候返回不包括SharePasswd 字段, 但是新增操作需要用到该字段 再不写多个model模型和序列化器的前提下实现 如果您在查询(GET 请求)时不希望返回 SharePasswd 字段,但在新增(POST 请求)时需要用到该字段…

数据结构 - 用队列实现栈/用栈实现队列

用栈实现队列 思路: 队列是遵循队头出数据,队列进数据。 创建两个栈,一个左栈,一个右栈。左栈用来插入新数据,右栈用来出数据 我们要借用栈的性质也实现一个出数据,和入数据的功能,该怎么样实…

[flask]异常抛出和捕获异常

Python学习之Flask全局异常处理流程_flask 异常处理-CSDN博客 读取文件错误 OSError: [Errno 22] Invalid argument:_[errno 22] invalid argument: ..\\data\\snli_1.0\\-CSDN博客 异常触发 assert触发异常: 在Python中,使用assert语句可以检查某个条…

“智慧食堂”设计与实现|Springboot+ Mysql+Vue+Java+ B/S结构(可运行源码+数据库+设计文档)

本项目包含可运行源码数据库LW,文末可获取本项目的所有资料。 推荐阅读100套最新项目持续更新中..... 2024年计算机毕业论文(设计)学生选题参考合集推荐收藏(包含Springboot、jsp、ssmvue等技术项目合集) 目录 1. 功…

Unity urp渲染管线下,动态修改材质球surfaceType

在项目中遇到了需要代码动态修改材质球的surfaceType,使其动态切换是否透明的需求。 urp渲染管线下,动态修改材质球的surfaceType,查了大部分帖子,都有一些瑕疵,可能会造成透明后阴影投射有问题。 其次在webgl平台上…

CSS(五)

一、定位 1.1 为什么需要定位 提问: 以下情况使用标准流或者浮动能实现吗? 1. 某个元素可以自由的在一个盒子内移动位置,并且压住其他盒子. 2. 当我们滚动窗口的时候,盒子是固定屏幕某个位置的。 以上效果,标准流或浮…

VBA高级应用30例应用2:MouseMove鼠标左键按下并移动鼠标事件

《VBA高级应用30例》(版权10178985),是我推出的第十套教程,教程是专门针对高级学员在学习VBA过程中提高路途上的案例展开,这套教程案例与理论结合,紧贴“实战”,并做“战术总结”,以…

数据安全之路:Databend 用户策略指南

在 Databend 中,我们致力于保护用户的数据安全。除了身份认证之外,我们还提供了多种访问策略,包括网络策略(Network Policy)、密码策略(Password Policy)和数据脱敏策略(Masking Pol…

【面试经典150 | 动态规划】三角形最小路径和

文章目录 写在前面Tag题目来源解题思路方法一:动态规划 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法,两到三天更新一篇文章,欢迎催更…… 专栏内容以分析题目为主,并附带一些对于本题涉及到的数据结构等内容进行…

如何使用Docker轻松构建和管理应用程序(二)

上一篇文章介绍了 Docker 基本概念,其中镜像、容器和 Dockerfile 。我们使用 Dockerfile 定义镜像,依赖镜像来运行容器,因此 Dockerfile 是镜像和容器的关键,Dockerfile 可以非常容易的定义镜像内容,同时在我们后期的微…

SpringBoot集成WebSocket实现简单的多人聊天室

上代码—gitee下载地址: https://gitee.com/bestwater/Spring-websocket.git下载代码,连上数据库执行SQL,就可以运行,最终效果

二轴机器人大米装箱机:高精度特性如何助力食品工业提升效率与品质?

在当今快节奏的工业生产中,食品行业的自动化、智能化水平已成为衡量其竞争力的关键指标。特别是在大米生产线上,如何确保装箱环节的高效与精准,直接关系到企业的生产效率和产品品质。二轴机器人大米装箱机凭借其高精度特性,正逐渐…

STM32的简介

内存 一般MCU包含的存储空间有FLASH和RAM,(RAM和flash又有片上和片外的区别,片上表示mcu自带的,已经封装在MCU内部的,片外表示外挂的,当项目中需要做一些复杂的应用,会存在资源不足的情况,这时…

动态菜单设计

需求: 登录不同用户 显示不同的菜单 思路:根据用户id 左关联表 查询出对应的菜单选项 查询SQL select distinct-- 菜单表 去除重复记录sys_menu.id,sys_menu.parentId, sys_menu.name from -- 权限表sys_menu-- 角色与权限表 菜单表id 角色菜…

Jenkins常用插件安装及全局配置

Jenkins常用插件安装及全局配置 前言 ​ Jenkins是一个流行的持续集成工具,通过安装适用的插件,可以扩展Jenkins的功能,并与其他工具和系统集成。本文将介绍一些常用的Jenkins插件以及安装和配置的步骤。通过安装和配置这些常用插件&#xf…

从根本上优雅地解决 VSCode 中的 Python 模块导入问题

整体概述: 在我尝试运行 test_deal_file.py 时,我遇到了一个 ModuleNotFoundError 错误,Python告诉我找不到名为 controllers 的模块。这意味着我无法从 deal_file.py 中导入 read_excel 函数。 为了解决这个问题,我尝试了几种方法…

【电能管理】电力物联网仪表/多功能电表/无线计量/多回路计量/分项计量/终端感知设备/全电量参数测量/正反向有功无功测量

什么是物联网电表!!! 安科瑞薛瑶瑶18701709087 物联网电表是智能电表的一种,可以用无线通信方式来操控,除了拥有电度表的有点以外,还可以把硬件和软件联合起来发挥更大的作用。 物联网电表主要用于计量低…

MySQL数据库(MySQL主从搭建|Django中实现MySQL读写分离|Django中使用MySQL连接池)

文章目录 一、MySQL主从搭建1.MySQL主从的目的?2.MySQL主从原理3.搭建步骤 二、Django中实现MySQL读写分离1.使用sqlite实现读写分离2.MySQL实现读写分离 三、Django中使用连接池1.使用池的目的2.Django中使用MySQL连接池 一、MySQL主从搭建 1.MySQL主从的目的&…

【数据分析面试】1. 计算年度收入百分比(SQL)

题目 你需要为公司的营收来源生成一份年度报告。计算截止目前为止,在表格中记录的第一年和最后一年所创造的总收入百分比。将百分比四舍五入到两位小数。 示例: 输入: annual_payments 表 列名类型amountINTEGERcreated_atDATETIMEstatusV…

通过PandasAI使用自然语言进行数据分析

通过PandasAI使用自然语言进行数据分析 介绍 ​ PandasAI是一个Python库,可以很容易地用自然语言向数据提问。它可以帮助您使用生成人工智能来探索、清理和分析数据。 使用PandasAI 这里使用Anaconda和Jupyter使用PandasAI 进入一个文件目录 创建一个 Notebook …