自动驾驶汽车的环境感知还包括汽车的精准定位,不仅需要获取车辆与外界环境的相对位置关系,还需要通过车身状态感知确定车辆的绝对位置与方位,即 “我在哪?”的问题。
目前自动驾驶领域常见的几种精准定位方式包括惯性导航系统、轮速编码器与航迹推算、卫星导航系统以及SLAM自主导航系统等。
以陀螺和加速度计为敏感器件的导航参数解算系统,通过测量运动载体的线加速度和角速率数据,并将这些数据对时间进行积分运算,从而得到速度、位置和姿态。
具体来说惯性导航系统属于一种推算导航方式。即从一已知点的位置根据连续测得的运载体航向角和速度推算出其下一点的位置,因而可连续测出运动体的当前位置。
以百度Apollo自动驾驶技术使用的惯性导航系统为例,其采用了松耦合的方式,并采用了一个误差Kalman滤波器。
惯性导航解算的结果用于Kalman滤波器的时间更新,即预测; 而GNSS、点云定位结果用于Kalman滤波器的量测更新。Kalman滤波会输出位置、速度、姿态的误差用来修正惯导模块,IMU期间误差用来补偿IMU原始数据。
通过轮速编码器推算出自动驾驶汽车的位置。轮速编码器主要安装在汽车前轮,用于记录车轮行驶的总转数。通过分析每个时间段里左右轮的转数,可以推算出车辆向前行驶的距离和左右的偏转度。不过,由于在不同地面材质上转数对距离转换存在偏差,所以时间越久,测量偏差也会越大,这种定位方式更多以辅助的形式存在。
主要包括中国的北斗卫星导航系统、美国的GPS卫星导航系统以及俄罗斯的GLONASS卫星导航系统。这些导航系统可以提供高精度的定位服务。
目前主流有两种SLAM方式。第一种是基于激光雷达的SLAM,以谷歌汽车为例。车辆携带有GPS,通过GPS 对位置进行判断,并以激光雷达SLAM点云图像与高精度地图进行坐标配准,匹配后确认自身位姿。
第二种是基于视觉的SLAM,以Mobileye为例。Mobileye提出一种无需SLAM的定位方法——REM。车辆通过采集包括信号灯、指示牌等标识,得到了一个简单的三维坐标数据,再通过视觉识别车道线等信息,获取一个一维数据。摄像机中的图像与 REM 地图中进行配准,即可完成定位。
目前,SLAM常用于自主导航,特别是在GPS无信号或不熟悉的地区的导航。