自动驾驶(七十九)---------Apollo之定位模块

       在现阶段的自动驾驶中,定位一直是很重要的话题;最近特斯拉的开放道路自动驾驶一定程度上降低了定位的重要性,采用实时图像分析生成概率地图,这项技术还有待市场去打磨的更加成熟。在我看来作为一个自动驾驶工程师,成长的线路很清晰:Apollo系统作为基础,特斯拉的技术才是你追求的方向。每篇博客之前,喜欢加一些感悟,一者话题引入;二者抒自己所想,让技术不再冰冷。诚然时光荏苒,纸长情短,以后再看时难免觉得幼稚;哇!你又成长了。

      说Apollo的定位之前,对场景我们先进行大概的梳理:首先默认车身自带民用级的GPS和高精地图;其次定位的作用是要确定车身精确的坐标和航向角。

       Apollo系统中的定位分为三种:1. RTK定位;2. 基于Lidar的多传感器融合定位;3. 百度的核心贡献:基于视觉和百度高精地图的自定位。

1. RTK定位

       RKT定位原理之前有文章有介绍:传送门;这里主要从实现流程来介绍Apollo的RTK定位。主要函数:

void RTKLocalization::ComposeLocalizationMsg()
  1. 定时器来不断执行OnTimer()回调函数,来检查gps和imu数椐是否刷新。
  2. 连接基站采用RTCM32格式返回数据;
  3. ComposeLocalizationMsg()融合两者的信息并把最终位置信息发布出去。

2. 基于Lidar的多传感器融合定位

      基于激光点云的滤波相对受很多因素的限制,首先需要预先制作一个“全聚德”地图,比如点云图,概率地图等。然后拿实时点云与地图做匹配,匹配用实时点云里面的颜色值或者高度值的分布和这个地图去匹配,得到概率图,采用加权平均的方式得到车辆的位置。

      多传感器融合指的是:在激光雷达定位的基础上,我们可以加入车身运动学信息,采用卡尔曼滤波进行上层处理,从而最终输出车辆的位置信息。

      这里采用apollo公开课的ppt介绍基于Lidar的定位算法框架:

         在这里插入图片描述

3. 基于视觉和百度高精地图的自定位

      百度自己有高精地图,毫无疑问Apollo中一定要发挥自有地图的优势,高精地图如何在定位中发挥作用呢? 首先百度高精地图在制作时,已经加入了各种交通语义的位置信息,假如车辆的视觉计算平台,能够识别图像中具有语义信息,并在高精地图中匹配出对应的语义信息,那么就可以计算出车辆的位置和朝向。这套方案有以下特点:

  1.    摄像头技术成熟,结构化地图尺寸小,有利于降低系统生产成本。
  2.    车道线,路灯等道路元素稳定性高,不易变动,地图生命周期较长。
  3.    配置灵活,根据识别算法性能,可以使用不同的特征组合,易于拓展。

     常用的交通语义有:车道线、路肩、护栏、交通标志、路灯、车道线分叉合并点 等......同样的视觉定位也可以结合多传感器的融合,它需要gps的初始位置,也需要imu做卡尔曼滤波融合。同样借用apollo的ppt介绍视觉定位的算法框架:

           

     目前实战中,利用车道线可以很快的收敛横向误差,纵向误差则需要有精确点的交通语义信号,如:红绿灯、交通标志、分叉点等等。当每次出现这种有精确点的语义信号时,需要做一次位置误差的矫正。

              

    高精地图和高精定位一直都是自动驾驶努力的方向,但是做了这么多,目的还是想知道交通语义和车辆的相对位置,当然能很大程度上扩展范围,但是人也是通过视觉来开车的,所以范围的扩展有没有必要也有待论证,说到底还是tesla的完全基于视觉的方案才是未来自动驾驶的方向。

            

  • 6
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值