0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

MathWorks为自动驾驶校园班车开发ADAS技术

MATLAB 来源: MATLAB 2024-10-14 10:52 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

每天,加拿大滑铁卢大学内的自动驾驶班车 WATonoBus都会启动,行驶在围绕校园的 2.7 公里环形路上。这款自动班车面向学生、教职员工和游客。它是世界上最大的学术汽车实验室之一 —— 机电车辆系统实验室 (MVS) 的众多创新工程之一。

MVS 实验室已成立超过 15 年,并与众多组织和原始设备制造商 (OEM) 广泛开展协作,包括行业巨头通用汽车公司。

“我们通常有 40 到 50 名研究生、工程师、博士后和技术人员在工作,”滑铁卢大学机械工程教授、MVS 实验室负责人 Amir Khajepour 博士说道。

六年前,该实验室利用加拿大创新基金会的初始资金启动了自动驾驶项目。从那时起,这一名为 WATonoBus 的项目就吸引了数十名学生参与,并逐渐发展成为开发各种自主移动出行技术的平台。

自动驾驶班车 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,并作为控制班车的命令传回虚拟环境。

Khajepour 解释道,“根据设计,我们的场景生成器能够对任何布局的车辆、行人以及所有情形(例如丁字路口或任何其他交通状况)添加位置、速度和其他因素。”借助这种方法,团队能够快速生成大量场景,包括很少发生但对测试自动驾驶班车安全性至关重要的挑战性场景,通常称为“边缘情形”。

团队在仿真中必须解决的一个问题是班车在不同场景下必须执行的动作序列,例如靠边停车、打开车门、等待乘客上车等。为了解决这一问题,他们使用 Stateflow® 来设计状态机,以帮助他们针对这些复杂的多步操作进行决策逻辑建模和仿真。

Simulink 使他们能够使用模型预测控制和 PID 控制器仿真车辆动态信息。

真实测试

WATonoBus 的模型开发是迭代过程。每次迭代都在仿真环境中开始。研究团队在仿真环境中使用 Simulink 和驾驶场景设计器在各种情况和边缘情形下测试系统。一旦在仿真中证明该模型是稳健的,就可以将其部署到汽车上并在现实中进行测试。

在此转换过程中,工程师会使用 Embedded Coder® 将其 MATLAB 软件转换为可在车载计算机上运行的可执行软件包。在汽车上安装软件后,他们将在可以完全控制交通和物体的特殊环境中对软件进行测试。这使他们能够发现仿真训练中可能遗漏的任何问题。

Khajepour 说道,“通常,我们在前几轮真实测试中会遇到一些困难。我们返回仿真环境,调节系统,并将其重新部署到班车上。一旦我们对其表现抱有信心,我们就在大学的校园环形路上对其进行测试。”

环形路全长 2.7 公里,连接所有大学院系、泊车场和其他设施,是一个综合试验场。行人、骑车人、车辆和路况的混合出现反映了城市环境的复杂性。

“环形路很好地体现了城市环境,”Khajepour 说道。“在加拿大面临的困难之一是确保您能在变化多端的天气条件下正常运行。”

一旦该模型部署在环形路上的 WATonoBus 班车上,在安全驾驶员的监视下,该团队将识别 WATonoBus 难以处理的新情况和场景。然后这些场景在仿真中重现,循环迭代重新开始。目前,团队已使用这种迭代方法发布了两个主要软件版本,并用这种方法修改其模型和硬件。

向公众开放

Khajepour 博士和他的团队获得了在环形路上运营载客 WATonoBus 的监管批准,这是一个重要的里程碑。现在,自动班车每天都向公众开放。

Khajepour 说道,“我们每天运行大约小时来收集数据,看看各部分的配合情况。”

WATonoBus 在其运行轨迹中的五个站位停靠,在校园周围的关键站位接送乘客。自推出以来,该班车很受有校园内出行需求的学生的欢迎。

除了其主要功能之外,WATonoBus 已发展成为创新平台,促进了各项技术的发展,其应用远远超出在公共道路上自动驾驶的范围。

“我们将在 WATonoBus 上学到的知识应用于其他应用,包括自主地下采矿、医疗设施中的自主移动出行、自动化配送中心和农场作业,”Khajepour 分享道。

该团队还为 WATonoBus 开发了移动 App,可以显示班车在环形路上的位置并提供班车时刻表。此 App 将作为收集学生和其他乘客反馈的宝贵工具,帮助团队确定班车及其软件有哪些地方需要改进。

WATonoBus 项目也是许多学生论文工作的实践测试平台。一名参与该项目的博士生说道,“我正在决策模块中研究确定性处理。最终,我希望我的论文工作将部署到 WATonoBus 测试平台上,看看我的工作是否可以提高班车的性能。”

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 机器人
    +关注

    关注

    213

    文章

    31439

    浏览量

    223626
  • gpu
    gpu
    +关注

    关注

    28

    文章

    5271

    浏览量

    136065
  • 自动驾驶
    +关注

    关注

    794

    文章

    14987

    浏览量

    181482

原文标题:产学合作 | 为自动驾驶校园班车开发 ADAS 技术

文章出处:【微信号:MATLAB,微信公众号:MATLAB】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    自动驾驶汽车如何实现自动驾驶

    人类驾驶员而言是非常直观且有效的指令,但对于自动驾驶汽车来说,则意味着需要一套极其复杂的感知、理解与决策链路。 自动驾驶如何看清文字? 自动驾驶汽车感知汉字的第一步是场景文本识别
    的头像 发表于 02-10 08:50 791次阅读
    <b class='flag-5'>自动驾驶</b>汽车如何实现<b class='flag-5'>自动驾驶</b>

    如何设计好自动驾驶ODD?

    确定自动驾驶的可使用范围,会给自动驾驶设置一个运行设计域(Operational Design Domain,ODD)。ODD的作用就是用来明确自动驾驶在什么情况下能工作,在什么情况
    的头像 发表于 01-24 09:27 1750次阅读

    不同等级的自动驾驶技术要求上有何不同?

    化分级》(GB/T 40429-2021),明确了自动驾驶不同等级所设计的技术要点。为什么自动驾驶一定要分级?自动驾驶分级考虑了哪些因素?
    的头像 发表于 10-18 10:17 2857次阅读

    边聊安全 | 以L3级自动驾驶例,详解DDT、DDT Fallback、MRC、MRM概念

    以L3级自动驾驶例,详解DDT、DDTFallback、MRC、MRM概念写在前面:在自动驾驶技术迅猛发展的今天,动态驾驶任务(DDT)及
    的头像 发表于 09-05 16:20 5176次阅读
    边聊安全 | 以L3级<b class='flag-5'>自动驾驶</b><b class='flag-5'>为</b>例,详解DDT、DDT Fallback、MRC、MRM概念

    太阳光模拟器 | 在汽车自动驾驶开发中的应用

    在汽车产业向电动化、智能化转型的浪潮中,自动驾驶技术的研发面临着复杂环境感知的挑战。光照条件作为影响传感器性能的关键因素,直接关系到自动驾驶系统的安全性和可靠性。紫创测控Luminbox太阳光模拟器
    的头像 发表于 07-24 11:26 819次阅读
    太阳光模拟器 | 在汽车<b class='flag-5'>自动驾驶</b><b class='flag-5'>开发</b>中的应用

    低速自动驾驶与乘用车自动驾驶技术要求上有何不同?

    [首发于智驾最前沿微信公众号]自动驾驶技术的发展正朝着多元化方向迈进,其中低速自动驾驶小车(以下简称“低速小车”)因其在物流配送、园区运维、社区服务等场景中的独特价值而受到广泛关注,且现阶段已经深入
    的头像 发表于 07-14 09:10 1254次阅读
    低速<b class='flag-5'>自动驾驶</b>与乘用车<b class='flag-5'>自动驾驶</b>在<b class='flag-5'>技术</b>要求上有何不同?

    卡车、矿车的自动驾驶和乘用车的自动驾驶技术要求上有何不同?

    [首发于智驾最前沿微信公众号]自动驾驶技术的发展,让组合辅助驾驶得到大量应用,但现在对于自动驾驶技术的宣传,普遍是在乘用车领域,而对于卡车、
    的头像 发表于 06-28 11:38 1783次阅读
    卡车、矿车的<b class='flag-5'>自动驾驶</b>和乘用车的<b class='flag-5'>自动驾驶</b>在<b class='flag-5'>技术</b>要求上有何不同?

    浅析4D-bev标注技术自动驾驶领域的重要性

    感知领域的一项突破性创新,通过引入时间维度与全局视角,自动驾驶系统提供了高精度、多模态的时空真值数据,重塑了自动驾驶系统的开发范式。 4D-BEV标注是什么? 4D-BEV 标注
    的头像 发表于 06-12 16:10 2805次阅读

    自动驾驶技术测试有哪些?

    [首发于智驾最前沿微信公众号]之前和大家从安全性、可靠性、用户体验以及商业利益保护等多个角度聊了为什么自动驾驶技术在落地前一定要进行测试,今天智驾最前沿就继续带大家聊一聊自动驾驶测试到底有哪些方法
    的头像 发表于 06-10 09:00 1172次阅读
    <b class='flag-5'>自动驾驶</b><b class='flag-5'>技术</b>测试有哪些?

    自动驾驶技术落地前为什么要先测试?

    [首发于智驾最前沿微信公众号]自动驾驶技术之所以被大家关注,不仅在于它看似能够彻底改变人们的出行方式,更在于其背后所承载的“智能”与“安全”理念。与人类驾驶员开车相比,自动驾驶系统需要
    的头像 发表于 06-09 09:42 881次阅读

    搭建完整的ADAS测试链路,推动自动驾驶技术的安全发展

    随着全球L3级自动驾驶法规落地,产业进入规模化发展阶段。针对高阶自动驾驶系统复杂度与测试效率的挑战,北汇信息构建覆盖MIL、SIL、HIL、VIL及实车的全生命周期测试链路。面对端到端架构与舱驾融合
    的头像 发表于 05-30 11:59 2223次阅读
    搭建完整的<b class='flag-5'>ADAS</b>测试链路,推动<b class='flag-5'>自动驾驶</b><b class='flag-5'>技术</b>的安全发展

    自动驾驶安全基石:ODD

    电子发烧友网综合报道 自动驾驶ODD(Operational Design Domain)即设计运行域,是指自动驾驶系统被设计安全、有效运行的具体条件范围。它定义了自动驾驶汽车在哪些
    的头像 发表于 05-19 03:52 6981次阅读

    自动驾驶经历了哪些技术拐点?

    ,到如今以AI核心驱动的自动驾驶系统,各大车企都在不断加码研发投入,试图在未来市场中占据制高点。那自动驾驶发展至今,经历了哪些技术拐点呢? 自动驾
    的头像 发表于 04-27 15:54 990次阅读
    <b class='flag-5'>自动驾驶</b>经历了哪些<b class='flag-5'>技术</b>拐点?