设计校园自动班车 WATonoBus
自动驾驶班车是开发 ADAS 技术的理想平台
每天,加拿大滑铁卢大学内的自动驾驶班车 WATonoBus 都会启动,行驶在围绕校园的 2.7 公里环形路上。这款自动班车面向学生、教职员工和游客。它是世界上最大的学术汽车实验室之一 - 机电车辆系统实验室 (MVS) 的众多创新工程之一。
MVS 实验室已成立超过 15 年,并与众多组织和原始设备制造商 (OEM) 广泛开展协作,包括行业巨头通用汽车公司。
“我们通常有 40 到 50 名研究生、工程师、博士后和技术人员在工作,”滑铁卢大学机械工程教授、MVS 实验室负责人 Amir Khajepour 博士说道。
六年前,该实验室利用加拿大创新基金会的初始资金启动了自动驾驶项目。从那时起,这一名为 WATonoBus 的项目就吸引了数十名学生参与,并逐渐发展成为开发各种自主移动出行技术的平台。
分解问题
WATonoBus 项目旨在打造一个自主移动出行研究和训练平台。考虑到每年都有学生加入和离开 MVS 实验室的学术环境,我们希望该平台需要的学习时间越短越好。这样,这些研究生可以将大部分时间投入研发而不是学习平台本身。
Khajepour 解释道,“对我来说,最重要的事项之一是确保所构建平台的学习曲线不能太长,因为学生们不断加入和退出,变动频繁。我们的平台需要具有明确定义的模块。这有利于团队理解并持续以并行方式开发模块。”
为了解决此问题,团队将 WATonoBus 项目分解为几个关键模块,每个模块的设计都贯彻简易性和可访问性。第一步是为班车配备各种传感器,包括摄像头、激光雷达、雷达和 GPS。然后他们创建了一个感知模块,用于处理来自班车传感器的输入,将它们融合在一起,并提取关键信息,如汽车、物品和人员的位置、速度和方向,以及道路和可行驶区域。
团队还开发了其他模块,分别负责决策、运动规划、控制和健康监测等。这些模块是使用 MATLAB® 和 Simulink® 开发的。它们与其他模块交互并执行对班车自动驾驶至关重要的任务。这些模块的输出是控制命令,例如加速度和速度水平、转向角度和制动。这些命令会发送给 WATonoBus 以供执行。
冬日感知场景。(视频所有权:滑铁卢大学)
“我们构建了一个通用的高级软件架构,”Khajepour 说道。“感知部分需要大量 GPU 算力,因此我们使用了 NVIDIA® 处理器。但是,系统的其余部分都是在 Simulink 和 MATLAB 中开发的。”
这两个模块通过机器人操作系统 (ROS) 进行通信。此开源软件框架为开发与现实世界交互的应用(如机器人和自动驾驶)提供了工具、库和驱动程序。ROS 在发布者-订阅者系统上运行,使系统中的不同节点能够交换信息。
以 WATonoBus 为例,感知模块将其结果和预测发布给 ROS。然后,决策和控制模块订阅这些 ROS 主题,以便在创建感知信息时接收该信息。一旦这些模块处理了数据,它们就将其输出发布回 ROS,然后 ROS 向班车控制作动器发送底层命令。
使用仿真进行训练
开发自动驾驶汽车面临的一个巨大挑战是获取数据来训练模型。收集真实数据不仅缓慢、成本高昂,还不时面临安全和监管问题。为了规避这些问题,工程师通常依赖仿真环境进行自动驾驶汽车所使用的人工智能系统的大部分训练。
借助仿真,团队可以在各种场景中训练和测试模型,而无需在汽车上部署模型。仿真能够降低成本,并提高训练自动驾驶模型的速度。一旦模型准备就绪,就将它们部署到车辆上,以便在实际道路上进一步测试和微调。
Khajepour 说道,“我们并没有首先在平台本身(即班车)上运行所有一切,而是使用了 MATLAB 和 Simulink 环境来生成这些场景。”
该团队使用 Automated Driving Toolbox™ 中包含的驾驶场景设计器为其仿真环境创建了一个场景生成器。此工具支持工程师构造各种环境、道路和交通参与者模型,以及安装在汽车上的所有传感器。仿真环境提供感知模块在现实中可能遇到的汽车和物体的位置。
与主架构一样,这些信息发布给 ROS,并继续传递给负责决策和运动规划的模块。然后,控制模块的输出返回到 ROS,并作为控制班车的命令传回虚拟环境。
该团队使用 Automated Driving Toolbox 为其仿真环境创建场景生成器。(视频所有权:滑铁卢大学)
Khajepour 解释道,“根据设计,我们的场景生成器能够对任何布局的车辆、行人以及所有情形(例如丁字路口或任何其他交通状况)添加位置、速度和其他因素。”借助这种方法,团队能够快速生成大量场景,包括很少发生但对测试自动驾驶班车安全性至关重要的挑战性场景,通常称为“边缘情形”。
团队在仿真中必须解决的一个问题是班车在不同场景下必须执行的动作序列,例如靠边停车、打开车门、等待乘客上车等。为了解决这一问题,他们使用 Stateflow® 来设计状态机,以帮助他们针对这些复杂的多步操作进行决策逻辑建模和仿真。
Simulink 使他们能够使用模型预测控制和 PID 控制器仿真车辆动态信息。
真实测试
WATonoBus 的模型开发是迭代过程。每次迭代都在仿真环境中开始。研究团队在仿真环境中使用 Simulink 和驾驶场景设计器在各种情况和边缘情形下测试系统。一旦在仿真中证明该模型是稳健的,就可以将其部署到汽车上并在现实中进行测试。
在此转换过程中,工程师会使用 Embedded Coder® 将其 MATLAB 软件转换为可在车载计算机上运行的可执行软件包。在汽车上安装软件后,他们将在可以完全控制交通和物体的特殊环境中对软件进行测试。这使他们能够发现仿真训练中可能遗漏的任何问题。
该团队在车载计算机上安装了 MATLAB 软件,并在大学校园内进行真实测试。(视频所有权:滑铁卢大学)
Khajepour 说道,“通常,我们在前几轮真实测试中会遇到一些困难。我们返回仿真环境,调节系统,并将其重新部署到班车上。一旦我们对其表现抱有信心,我们就在大学的校园环形路上对其进行测试。”
环形路全长 2.7 公里,连接所有大学院系、泊车场和其他设施,是一个综合试验场。行人、骑车人、车辆和路况的混合出现反映了城市环境的复杂性。
“环形路很好地体现了城市环境,”Khajepour 说道。“在加拿大面临的困难之一是确保您能在变化多端的天气条件下正常运行。”
一旦该模型部署在环形路上的 WATonoBus 班车上,在安全驾驶员的监视下,该团队将识别 WATonoBus 难以处理的新情况和场景。然后这些场景在仿真中重现,循环迭代重新开始。目前,团队已使用这种迭代方法发布了两个主要软件版本,并用这种方法修改其模型和硬件。
向公众开放
Khajepour 博士和他的团队获得了在环形路上运营载客 WATonoBus 的监管批准,这是一个重要的里程碑。现在,自动班车每天都向公众开放。
Khajepour 说道,“我们每天运行大约小时来收集数据,看看各部分的配合情况。”
WATonoBus 在其运行轨迹中的五个站位停靠,在校园周围的关键站位接送乘客。自推出以来,该班车很受有校园内出行需求的学生的欢迎。
除了其主要功能之外,WATonoBus 已发展成为创新平台,促进了各项技术的发展,其应用远远超出在公共道路上自动驾驶的范围。
“我们将在 WATonoBus 上学到的知识应用于其他应用,包括自主地下采矿、医疗设施中的自主移动出行、自动化配送中心和农场作业,”Khajepour 分享道。
该团队还为 WATonoBus 开发了移动 App,可以显示班车在环形路上的位置并提供班车时刻表。此 App 将作为收集学生和其他乘客反馈的宝贵工具,帮助团队确定班车及其软件有哪些地方需要改进。
WATonoBus 项目也是许多学生论文工作的实践测试平台。一名参与该项目的博士生说道,“我正在决策模块中研究确定性处理。最终,我希望我的论文工作将部署到 WATonoBus 测试平台上,看看我的工作是否可以提高班车的性能。”