python无人驾驶_无人驾驶技术入门(四):无人车传感器 IMU 深入剖析
上一次的分享里,我介绍了GPS的原理(三角定位)及特性(精度、频率),同时也从无人车控制的角度,讨论了为什么仅有GPS无法满足无人车的定位要求。
为了能让无人驾驶系统更高频率地获取定位信息,就必须引入频率更高的传感器。这就是这一次内容的主角——IMU(Inertial Measurement Unit)惯性测量单元。
下图就是百度Apollo计划推荐使用的IMU——NovAtel SPAN-IGM-A1。
图片出处:github.com
GPS得到的经纬度信息作为输入信号传入IMU,IMU再通过串口线与控制器相连接,以此获取更高频率的定位结果。
IMU的原理
当我们晚上回到家,发现家里停电时,眼睛在黑暗中什么都看不见的情况下,只能根据自己的经验,极为谨慎地走小碎步,并不断用手摸周围的东西(比如冰箱),用以确定自己所在的位置。
IMU的原理和黑暗中走小碎步很相似。
在黑暗中,由于自己对步长的估计和实际走的距离存在误差,走的步数越来越多时,自己估计的位置与实际的位置相差会越来越远。
就像下图所示。
走第一步时,估计位置(黑人所在位置)与实际位置(白人所在位置)还比较接近;但随着步数增多,估计位置与实际位置的差别越来越大。
图中的小人只朝一个方向移动,是一维的。根据此方法推广到三维,就是惯性测量单元的原理。
学术上的语言是:以牛顿力学定律为基础,通过测量载体在惯性参考系的加速度,将它对时间进行积分,且把它变换到导航坐标系中,就能够得到在导航坐标系中的速度、偏航角和位置等信息。
IMU的特性
小到每天使用的手机,大到导弹、宇宙飞船都会使用到IMU,区别在于成本和精度。
根据不同的使用场景,对IMU的精度有不同的要求。精度高,也意味着成本高。
IMU的精度、价格和使用场景,如下图所示。
从图中可以看出,普通的消费级电子产品所使用到的IMU都是低精度且十分廉价的IMU,这种IMU普遍应用于手机、运动手表中。常用于记录行走的步数。
而无人驾驶所使用到的IMU,价格从几百块到几万块不等,取决于此无人驾驶汽车对定位精度的要求。
精度更高的IMU会用于导弹或航天飞机。就以导弹为例,从导弹发射到击中目标,宇航级的IMU可以达到极高精度的推算,误差甚至可以小于一米。
除了精度和成本的特性外,IMU还有两个十分关键的特性。其一是更新频率高,工作频率可以达到100Hz以上。其二是短时间内的推算精度高,不会有太大的误差。
在上次有关GPS的分享中,我们提到GPS的定位频率只有10Hz,而IMU的两个特性刚好可以弥补GPS的劣势,和GPS组成定位的黄金搭档。
黄金搭档:GPS + IMU
回到最开始的故事。晚上回到家,发现家里停电时,眼睛在黑暗中什么都看不见的情况下,只能根据自己的经验,极为谨慎地走小碎步,并不断用手摸周围的东西(比如冰箱),用以确定自己所在的位置。
在这个过程中,GPS的作用就类似于摸到的东西之后对自己的位置进行的修正,IMU的作用就类似于小碎步,不对地对自己的位置进行推算。
不断的修正和不断的推算,就能保证自己的定位相对稳定。如下图所示。
在无人驾驶系统中,GPS的更新频率一般为10Hz,IMU的更新频率一般为100Hz。
两个传感器共同工作时,可以给出频率100Hz的定位输出。下图是两传感器数据融合的原理图。
跑在控制器上的软件对信息的处理流程在时间维度上类似下图。在0~100ms的周期中,使用IMU进行9次位置的估计,待新的GPS定位数据进来时,则进行修正,以此实现高频率的定位结果输出。
就这样,GPS与IMU便相辅相成地实现了无人车的稳定定位。
有了100Hz的稳定定位,无人车在处理路径跟随问题时,就能像下图一样,保持极高频率的定位和控制。每走一小步,便重新进行方向盘转角的计算,进而控制无人车沿着既定的轨道行驶。
小结
上面的分享用生活中简单的例子介绍了IMU的基本原理,并对IMU的特性(精度、成本、频率)进行了讨论,最后探讨了GPS如何与IMU配合完成无人车的定位功能。
解决了无人车的第一大问题“我在哪”,之后就要开始讨论“我要去哪”和“我怎么去”的问题。
因此,在接下来的分享中,我会着重介绍感知相关的传感器(相机、激光雷达等)。
python无人驾驶_无人驾驶技术入门(四):无人车传感器 IMU 深入剖析相关推荐
- 激光雷达+imu_无人驾驶技术入门(四):无人车传感器 IMU 深入剖析
上一次的分享里,我介绍了GPS的原理(三角定位)及特性(精度.频率),同时也从无人车控制的角度,讨论了为什么仅有GPS无法满足无人车的定位要求. 为了能让无人驾驶系统更高频率地获取定位信息,就必须引入 ...
- 无人驾驶技术入门(四)| 百度无人车传感器 IMU 深入剖析
上一次的分享里,我介绍了GPS的原理(三角定位)及特性(精度.频率),同时也从无人车控制的角度,讨论了为什么仅有GPS无法满足无人车的定位要求. 为了能让无人驾驶系统更高频率地获取定位信息,就必须引入 ...
- 自动驾驶 无人驾驶技术入门(四):无人车传感器 IMU 深入剖析
转自:https://www.d1ev.com/kol/65579 上一次的分享里,我介绍了GPS的原理(三角定位)及特性(精度.频率),同时也从无人车控制的角度,讨论了为什么仅有GPS无法满足无人车 ...
- 疲劳驾驶样本集_无人驾驶技术入门(十六)| 初识深度学习之交通标志分类
前言 在上两期的<无人驾驶技术入门>中,我以车道线检测为例,介绍了计算机视觉领域一些基本的算法.应用图像处理算法和调试算法阈值,就能实现车道线的检测和跟踪. 车道线检测.跟踪的项目,主要是 ...
- 无人驾驶技术入门(三)| 百度无人车传感器 GPS 深入剖析
上一次的分享里,我对百度 Apollo 计划的技术框架做了介绍,如图. Apollo1.0 封闭场地循迹自动驾驶 如果要完成 Apollo 1.0 的"封闭场地寻迹自动驾驶"功能, ...
- 无人车传感器 IMU与GPS数据融合进行定位机制
前言 上一次的分享里,我介绍了GPS的原理(三角定位)及特性(精度.频率),同时也从无人车控制的角度,讨论了为什么仅有GPS无法满足无人车的定位要求. 为了能让无人驾驶系统更高频率地获取定位信息,就必 ...
- 无人驾驶技术入门(一):百度无人驾驶的引路人
各位老铁好!无人驾驶技术入门的第一讲开课啦!今天的课程我会介绍一位来自旧金山的创业公司,他们曾是百度无人驾驶的引路人. 百度在2017年9月发布了Apollo 1.5,可以实现固定车道的自动驾驶功能. ...
- 无人驾驶技术入门(一)| 百度无人驾驶的引路人
前言 各位老铁好!无人驾驶技术入门(硬件篇)的第一讲开课啦! 今天的课程我会介绍一个来自旧金山的创业公司,它曾是百度无人驾驶的引路人. 正文 百度在今年7月和9月分别发布了Apollo 1.0和Apo ...
- SLAM 无人车融合 IMU 前与 融合 IMU 后的实测效果演示
SLAM 无人车融合 IMU 前与 融合 IMU 后的实测效果演示 SLAM 无人车融合IMU 前后的效果对比
最新文章
- 一步一步教你如何向ALEXA提交网站介绍信息
- 用MySQL创建“江湖”数据库
- qt调用mysql加密接口_Qt实现客户端/服务器端登录验证|数据传输使用md5加密 | 学步园...
- 程序员应该如何更有效率
- 最大权闭合子图(最小割)
- 产品经验谈:产品经理需要熟知几种常用思维模型
- 两张图告诉你tnsnames.ora 的配置详解
- 怎样改变计算机桌面的特效主题,电脑桌面主题、图片怎么设置的技巧大全
- Nexus6P 设置Debug模式
- C语言——格式化打印printf(常用整理)
- 4399ATAPI讲解操作事件篇
- python django文档_翻译:Django官方文档-前言
- COVID-19 抗原自检试剂盒行业研究及十四五规划分析报告
- 苹果电脑基于Android File Transfer for mac连接Android设备
- 道一云与畅捷通T+对接集成获取报销信息列表=>凭证创建
- 云计算:SaaS、PaaS、IaaS、CaaS并不神秘
- 一篇文章带你弄懂乐观锁与悲观锁,CAS原子性,synchronized底层原理
- 深度链接 Deep Link 开发遇到的坑
- 经典计算机基础学科教程推荐[转自:海枫的专栏]
- 【proc】使用proc_create_data函数在proc下创建节点
热门文章
- 苹果/Mac电脑怎么卸载软件?软件卸载不了怎么办?
- 客户虐我千百遍,我待客户如初恋
- wi-fi_Google语音正在测试Wi-Fi呼叫,无需呼叫转移
- 用java编写连连看_用java语言编写连连看游戏
- MyCat (一) Mycat的安装
- 浅析MOS管开关速度影响因素-KIA MOS管
- NPL基础入门之新闻本分类赛题理解Test1
- server接收dtu透传代码_深入ASP.NET Core源代码之 - Web Server Kestrel
- oracle数据库extract,Oracle中extract()函数
- 讲一点有技术含量的东西(三)