学生休息室

分享学生如何在日常项目中使用MATLAB和Simulink的技术和现实例子#学生成功#金宝app

模拟,场景和自动驾驶- SAE自动驾驶方式

今天的特邀博主是Akshra Narasimhan Ramakrishnan他是MathWorks学生竞赛团队的教育技术传道者。她在这里谈论2020年SAE汽车驾驶挑战赛的冠军车型,并鼓励学生参加2021年的挑战!了解更多关于比赛的信息在这里,参赛队伍亦可申请免费软件。

简介

SAE自动驾驶挑战赛是一项为期四年的大学设计竞赛,有来自美国和加拿大的8支队伍参赛。本次比赛第三年的高水平技术目标是在SAE 4级所描述的自动驾驶模式下驾驶城市驾驶课程。

MathWorks要求团队使用模拟

仿真是自动驾驶汽车开发中非常有用的工具。基于模型的测试可以帮助算法开发、单元和系统级测试,以及边缘案例场景测试。真实世界的传感器数据可以被记录并回放到系统中,以调整融合算法。可以创建模拟环境来模拟真实环境,并可用于测试各种算法和传感器位置。可以根据性能结果选择满足团队要求的最佳算法和传感器位置。

每年MathWorks通过模拟挑战赛挑战团队使用模拟。本博客将简要介绍1和2nd2020年挑战赛的获胜者(多伦多大学和凯特林大学),他们的系统设计,以及他们如何使用MathWorks工具来帮助实现总体比赛目标。这些团队的评判标准是他们如何使用这些工具来表现:

  • 开环感知测试-为开环测试综合数据,评估算法的正确性
  • 闭环控制测试-综合闭环场景,评估控制算法的性能
  • 控制算法的代码生成-为算法生成代码,将生成的代码集成到车辆中
  • 使用MathWorks工具进行创新——这是一种与上述三种类型截然不同的技术/技术

多伦多大学

学生团队来自多伦多大学,aUToronto,赢得1名名次在挑战中。

开环感知测试

该团队的第一步是为开环感知测试综合数据。他们选择测试他们的传感器融合算法。为了合成用于测试的合成数据,他们使用了DSD。这个应用程序可以让你设计合成驾驶场景来测试你的自动驾驶。更多关于为自动驾驶汽车开发创建驾驶场景和生成合成传感器数据的信息可以在这里找到在这里.该团队在传感器融合算法中使用了一台雷达和3台摄像机,其配置如图1所示。

图1:团队传感器位置(©aUToronto)

他们在DSD应用程序中对相机传感器以及它们的位置、方向和配置进行建模,以便将传感器数据综合到传感器融合算法中。DSD在团队的图像处理和计算机视觉算法之后模拟相机输出,并在数据中添加噪声和异常值。

Scenario Reader块用于读取使用DSD创建的场景信息。参与者的姿态被作为输入发送到多个检测生成器。对这些不同传感器的检测随后被打包为可变大小的ROS(机器人操作系统)消息数组,并作为自定义ROS消息发送到特定的ROS主题(图2)。

图2:Simulin金宝appk开环测试模型(©aUToronto)

研究小组将他们的目标跟踪器的输出与车辆的地面真值进行了比较。RMSE(均方根误差)指标用于绩效评估。

闭环控制测试

该团队的主要重点是测试他们修改后的规划器的新功能,如建筑区域的重新路由和绕过障碍物。规划器被重新设计为使用晶格结构,其中从地图上修剪边缘以根据需要找到物体周围的路径(图3)。DSD再次用于创建场景。路障和交通灯也被添加到场景中。

图3:寻径的晶格结构(©aUToronto)

该团队使用Stateflow建模了一个红绿灯发布者(图4)。当自我车辆超出红绿灯的范围(> 50m)时,将发布未知状态。当小我进入范围内时,就会发出红灯信息。自我停止5秒后,信息切换为绿灯。

图4:模型控制器的状态流(©aUToronto)

启动了控制器、规划器和车辆模型ROS节点。如果障碍物距离自我车辆50米以内,其位置将作为ROS消息发送给Simulink模型(图5)。金宝app

图5:发送位置信息的逻辑(©aUToronto)

代码生成控件算法

团队生成了停止标志处理算法的代码(图6)。使用Simulink Coder将statflow转换为c++代码。金宝app使用代码打包函数生成了一个独立模块。然后将生成的模块合并到团队代码库中。

图6:停止灯控制逻辑状态流(©aUToronto)

创新使用MathWorks工具-激光雷达相机校准

为了用激光雷达和相机传感器的输入准确地解释场景中的物体,有必要将传感器的输出融合在一起。因此,该团队在激光雷达和团队相机之间进行了转换,将激光雷达点投射到图像上,反之亦然,用于传感器融合。该团队使用了激光雷达处理工具箱中新开发的激光雷达相机校准工具,而不是使用手动测量和旋转摄像机,直到投影看起来很好。该工具估计了一个刚性变换矩阵,建立了三维激光雷达平面上的点与图像平面上像素之间的对应关系。关于该工具的更多信息可以在这里找到在这里

他们制作了一个更大的校准板,因为他们目前的校准板对该工具来说太小了。的摄像机标定用工具得到他们相机的内禀矩阵。在每张图像中都找到了棋盘的角落,并得到了激光雷达数据。建立了激光雷达与摄像机之间的刚性变换矩阵。这个过程输出一个转换,可以用来将点云数据投影到图像上,反之亦然。这些步骤如图7所示。

图7:(a)相机固有矩阵(b)棋盘角(c)激光雷达到相机的变换矩阵(©aUToronto)

凯特林大学

学生团队来自凯特林大学,获得2名nd名次在挑战中。

开环感知测试

该团队使用虚幻引擎创建各种场景。在虚幻中使用模拟3D相机块将相机添加到自我车辆中。使用金宝appSimulink模型对虚幻图像进行车道检测(图8)。蓝色方块表示车道检测功能,黄色表示每一步的输出。这些输出图如图9所示。

图8:开环测试的Si金宝appmulink模型(©凯特林大学)

图9:车道检测输出(©Kettering University)

闭环控制测试

该团队的系统设计包括2个状态机——纵向和横向。如图所示,这些状态机用于基于传感器和决策数据对控制器选择逻辑进行建模。它们相互连接,用于启用和初始化控制器子系统。

图10:状态机(©Kettering University)

使用图11中的Simulink模型进行了组合控制器仿真,以验证所有团队控制器的工作。金宝app这些控制器的输入是使用滑块和仪表提供的。

图11:闭环测试的Si金宝appmulink模型(©凯特林大学)

纵向状态机的控制子系统包括纵向速度控制器和自动紧急制动(AEB)。状态由纵向车辆动力学决定,如加速、巡航、减速、静止和停车。

横向状态机的控制器子系统包括车道保持辅助(LKA)、车道变化和转向控制器。状态是根据横向车辆动力学确定的(图12)。纵向速度、车道变化和LKA控制器将在下面讨论。

图12:横向控制器状态(©Kettering University)

纵向控制器

图13显示了用于模拟纵向控制器的Simu金宝applink模型。它由一个基于速度的PID组成。参考和输出扭矩率是有限的,以保持在竞争加速和冲击限制。系统输入是初始化和编辑滑块,并使用范围来查看数据。图14显示了目标和实际纵向速度输出。

图13:纵向控制器Simulink模型(©Kettering Univ金宝appersity)

图14:纵向速度比较(©凯特林大学)

变道控制器

该团队的变道控制器采用了自适应MPC(模型预测控制)。利用参数函数生成参考路径,其中包括车速和车道宽度等变道输入。控制器的输出为参考横向位置和偏航。采用三维自由度模型对车身进行仿真。图15显示了用于仿真的Simulink模金宝app型。图16显示了参考变道路径和模拟变道路径的仿真输出,以及在车内测试后获得的路径。

图15:变道控制器Simulink模型(©凯特林大学)金宝app

图16:变道路径比较(©凯特林大学)

汽车模型

该团队开发并验证了3DOF单轨和双轨车辆模型。使用线性自行车模型进行初始验证。最后用物理测试数据进行验证。图中显示了初始验证和最终验证时的横向加速度比较输出,没有测试数据和有测试数据。

图17:(a)横向加速度比较(b)与测试数据比较(©Kettering University)

创新使用MathWorks工具-虚幻城市

该团队使用Unreal对所有控制器进行闭环测试。他们创造了一个虚幻的城市,有可控的行人运动和交通信号灯。创建了可定制的演员,并存储了他们的信息,如演员名称、演员类型、演员详细信息、动画详细信息和标签,以便快速访问。交通灯地图也被创建,并标注为图18。

图18:虚幻交通灯地图(©凯特林大学)

图19显示了Simulink-Unrea金宝appl系统通信结构。虚幻场景的决策,包括车辆位置、行人运动、交通灯状态等,是使用statflow完成的,并将其作为输入发送给控制器(图20)。

图19:Simulin金宝appk虚幻系统通信结构(©凯特林大学)

图20:用于虚幻场景决策的状态流(©Kettering University)

总之,来自多伦多大学和凯特林大学的学生团队能够利用MATLAB和Simulink来设计、构建、测试和评估融合、跟踪和导航算法,从而更接近于在模拟中构建SAE 4级自动驾驶汽车。金宝app他们在不同的仿真环境中编写了复杂的交通灯场景和多个参与者,将环境与Simulink集成,并在这些场景中部署和测试他们选择的算法。金宝app使用Simulink对开环和闭环感知算法进行建模和测试,并为这些系统生成代码。金宝app团队还使用Simulink和Stateflow设计和测试了各种控制器算法。金宝appMathWorks工具被这两个冠军团队创新性地广泛使用。

MathWorks为大量的学生竞赛提供免费软件和支持。金宝app的学生比赛MathWorks页面有关于各种主题的视频教程,如物理建模、计算机视觉、代码生成、开始使用自动驾驶工具箱(ADT)等,让您和您的团队开始应对竞争中的挑战。的赛车休息室博客由所有MathWorks支持的比赛、学生团队和项目的博客文章以及学生团队感兴趣的主题的金宝app技术文章组成。

祝你在设计自动驾驶汽车时玩得开心!

|

评论

如欲留言,请点击在这里登录您的MathWorks帐户或创建一个新帐户。