完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
|
|
相关推荐
1个回答
|
|
前言
上一次的分享里,我介绍了GPS的原理(三角定位)及特性(精度、频率),同时也从无人车控制的角度,讨论了为什么仅有GPS无法满足无人车的定位要求。 为了能让无人驾驶系统更高频率地获取定位信息,就必须引入频率更高的传感器。这就是这一次内容的主角——IMU(Inertial Measurement Unit)惯性测量单元。 下图就是百度Apollo计划推荐使用的IMU——NovAtel SPAN-IGM-A1。 图片出处:https://github.com/ApolloAuto/apollo/blob/master/docs/quickstart/apollo_2_0_hardware_system_installation_guide%20v1.md 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的定位输出。下图是两传感器数据融合的原理图。 GPS+IMU融合原理图 运行在控制器上的软件对信息的处理流程在时间维度上类似下图。在0~100ms的周期中,使用IMU进行9次位置的估计,待新的GPS定位数据进来时,则进行修正,以此实现高频率的定位结果输出。 GPS+IMU信号处理时序图 就这样,GPS与IMU便相辅相成地实现了无人车的稳定定位。 有了100Hz的稳定定位,无人车在处理路径跟随问题时,就能像下图一样,保持极高频率的定位和控制。每走一小步,便重新进行方向盘转角的计算,进而控制无人车沿着既定的轨道行驶。 小结 上面的分享用生活中简单的例子介绍了IMU的基本原理,并对IMU的特性(精度、成本、频率)进行了讨论,最后探讨了GPS如何与IMU配合完成无人车的定位功能。 解决了无人车的第一大问题“我在哪”,之后就要开始讨论“我要去哪”和“我怎么去”的问题。 因此,在接下来的分享中,我会着重介绍感知相关的传感器(相机、激光雷达等)。 好了(^o^)/~,这篇分享基本上让大家了解了无人车定位相关的技术。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1786 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1622 浏览 1 评论
1089 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
730 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1680 浏览 2 评论
1942浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
739浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
576浏览 3评论
599浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
561浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-25 19:59 , Processed in 0.812263 second(s), Total 76, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号