1.3 主流的自动驾驶平台
在自动驾驶中,为了更好地感知外界复杂多变的环境,需要使用多个传感器来收集数据,并实时处理数据,最终完成对车辆的精准定位,以及对当前环境的准确感知。上述的感知、计算、决策等工作可以集成到自动驾驶软件中完成,本书均在开源框架Autoware自动驾驶平台上完成工程的开发与实践。除了Autoware自动驾驶平台,目前比较知名的自动驾驶软件还有百度的Apollo自动驾驶平台、谷歌的Waymo自动驾驶软件、英伟达的Drive自动驾驶软件等。
国内的自动驾驶软件中,百度起步较早。早在2013年,百度内部启动了无人车项目,并于2017年推出了Apollo计划。百度的Apollo自动驾驶平台基于CyberRT中间层,更加注重隐私保护,图1-5所示为百度的Apollo自动驾驶平台。
图1-5 百度的Apollo自动驾驶平台
谷歌的无人驾驶项目于2009年正式启动。2016年,谷歌公司专门成立子公司Waymo,负责无人驾驶项目的研发与应用。2018年,Waymo首次推出了自动驾驶出租车服务,并在2020年秋将安全员从车中撤走。这是全球首次向公众开放的完全无人驾驶出租车,如图1-6所示为Waymo自动驾驶出租车。
英伟达公司也推出了Drive自动驾驶软件,Drive自动驾驶软件可以处理来自摄像头、普通雷达和激光雷达传感器的数据,以感知周围环境,在地图上确定汽车的位置,以及规划和执行安全的行车路线。这款AI平台外形紧凑、节能高效,支持自动驾驶、座舱功能和驾驶员监控,以及其他安全功能,图1-7所示为Drive自动驾驶软件。
图1-6 Waymo自动驾驶出租车
图1-7 Drive自动驾驶软件
Autoware自动驾驶平台基于ROS操作系统,代码可重复性高,学习起来更容易上手,更加适合初学者,代码在Github上面为全开源状态,可以直接安装使用。此外,Autoware自动驾驶平台考虑了更多的嵌入式系统。
本书选择在Autoware自动驾驶平台上对自动驾驶等一系列问题进行了研究和讨论,图1-8所示为Autoware自动驾驶平台。
图1-8 Autoware自动驾驶平台