编者序:DARPA举办的无人车挑战赛是无人车发展史上的里程碑,排名靠前的团队至今创办了好多家自动驾驶公司,技术途径至今被大部分无人车公司追随。本文是google无人车之父特龙团队的杰作,详细介绍了在城市挑战赛获得亚军的斯坦福大学无人车的软件系统,非常值得从业者及爱好者研读、膜拜。全文30余页,将分模块转述。
推荐指数☆☆☆☆☆☆☆
一、引言
自动驾驶能够给我们的日常生活带来非常大的改变,据美国交通运输部2005年材料所述,仅在美国每年因交通事故而丧生的人数超过人,世界上很大部分的能源被用于私家车。一辆安全的自动驾驶车能够提高驾驶员的安全和舒适度,降低环境污染。
2003年,DARPA启动了一系列旨在推动自动驾驶技术的竞赛。第一个赛事是DARPA无人车挑战赛,目标是能够以平均速度20mph穿越沙漠,2005年10月,斯坦福大学的Stanley无人车获得了第一名,成为了第一个完成131英里的无人车。2007年11月3号,DAPAR城市挑战赛举行,目标是能够在布置的城市交通环境中自动驾驶。该比赛规则比较复杂,以Road Network Description File(RNDF)格式提供了环境电子街区地图,包括了车道线几何信息、路面标志、停车标志、停车位和特殊检查站。同时向参赛团队提供了该区域的高精度航拍图像,可以在比赛前标记以增强RNDF;比赛中车辆需要执行检查站序列指定的多个任务。很多车辆同时在同样的环境中执行任务,可能速度限制不同;当遇到别的车辆时,必须遵守交通规则。该比赛策略包括:超过静止或缓慢移动的车辆、遵守包括多个交通灯的十字路口路权、融入快车道、停车入位、完全堵塞情况下掉头。车辆一般限速30mph,很多地方都限定了最低速度。最终有11辆车进入决赛,包括本文这辆。
Junior是一辆改装的2006款大众帕萨特,装备有5种型号共8个激光雷达、一个带有GPS的Applanix惯导、5个BOSCH的雷达、两个Intel四核电脑和一个大众电子研发实验室开发的自定义线控接口,如下图所示。障碍物检测距离为120m,最高速度为30mph,Junior通过分布式感知、规划、控制软件模块自主决策,本文主要关注于软件层面的内容。
Junior由斯坦福大学和大众研发,其它合作者有Applanix、谷歌、Intel、Mohr Davidow Ventures、NXP、Red Bull。团队主要由以前的赢得2005年DARPA无人车挑战赛的斯坦福赛车队组成,在城市挑战赛中,Junior获得第二名,第一名由来自CMU的团队或得,第三名为弗吉尼亚理工大学的团队。
二、汽车硬件
Junior是在2006款帕萨特基础上改装的,配备了4缸涡轮增压柴油发动机,140hp车配备了一个有限扭矩方向盘、电子刹车、电子油门阀、齿轮变速器、停车制动和转向灯,自定义接口板提供了这些的计算机控制。发动机通过大电流原型交流发电机对Junior的计算系统供电,舱内配备了开关使得驾驶员可以随意连接各种电子接口组件,例如人们可能会选择使用电脑控制方向盘和转向灯,而手工控制油门和刹车。这些控制是为了满足测试需要,竞赛中车内不允许有人。
至于惯性导航,Applanix POS LV 420系统提供了多个双频GPS接收机的实时积分,包括一个GPS方位角测量子系统,一个高精度IMU、码盘和基于Omnistar卫星的虚拟基站服务。实时定位误差在1m以内,角度精度在0.1度以内。
侧向的SICK LMS291-S14激光雷达和前向的RIEGL LMS-Q120激光雷达提供了3D道路结构和路面反射特性测量,用于车道线检测和提高定位精度。车顶的Velodyne HDL-64E激光雷达用于障碍物和移动车辆检测,频率为15Hz,水平视场为360度,垂直视场为30度,并由车尾的2个SICK LDLRS激光雷达和前保险杠2个 IBEO ALASCA XT激光雷达进行视野补充,5个BOSCH LRR2雷达装在前格栅上,提供了移动车辆的检测信息。
Junior的计算系统包括了2个Intel四核处理器,操作系统为Linux,通过千兆以太网通信。
三、软件架构
Junior的软件架构是数据驱动,各模块异步处理信息,该架构同样用于了2005年挑战赛的Stanley无人车上。各模块间通过基于IPC的匿名消息传递协议通信,接收来自其它模块的消息,计算结果发布至其它模块。从传感器数据输入到汽车执行器响应大约300ms,软件大致可分为5种模块:
(1)传感器接口:管理各个传感器与汽车的通信,将传感器数据传输至其它软件模块;(2)感知模块:将环境数据分割为移动车辆和固定障碍物,并提供了车辆相对地图的精确定位;(3)导航模块:决定车辆行为,包括了运动规划和一个分层的有限状态机,管理不同行为,防止发生死锁;(4)线控接口:通过线控接口传输控制信号,使得软件可以控制加速、减速、转向、换挡、转向灯控制和急刹;(5)全局服务:一些提供了日志、时间戳、信息传递支持和电子狗功能的模块,使得软件可以可靠运行。
比赛中真实的计算分布情况如下表所示,模块间的数据流如下图所示。
未完待续。。。。。
英文名称:Junior: The Stanford Entry in the Urban Challenge
本公众号专注于提供计算机视觉、机器学习、深度学习、智能传感器技术等人工智能、机器人、无人车、无人机相关领域省时的知识转述,敬请各位看官关注、评论、转发、分享。
关注该公众号,一起创造奇迹。
标签: 雷达
②文章观点仅代表原作者本人不代表本站立场,并不完全代表本站赞同其观点和对其真实性负责。
③文章版权归原作者所有,部分转载文章仅为传播更多信息、受益服务用户之目的,如信息标记有误,请联系站长修正。
④本站一律禁止以任何方式发布或转载任何违法违规的相关信息,如发现本站上有涉嫌侵权/违规及任何不妥的内容,请第一时间反馈。发送邮件到 88667178@qq.com,经核实立即修正或删除。