用户故事

塔塔汽车欧洲技术中心加速开发基于模型的自动驾驶汽车控制算法

挑战

为英国自动驾驶项目建造并演示一辆自动驾驶汽车

解决方案

使用基于模型的设计来建模、模拟和生成运动规划和车辆控制算法的嵌入式代码

结果

  • 实时控制器实现加速
  • 调试简单
  • 开发时间集中在设计上

“一个由工程师组成的小团队用现成的硬件和基于模型的设计开发和实现的控制算法组合了一辆自动驾驶汽车。虽然该系统还没有投入生产,但它确实以务实的设计方法展示了重要的设计概念。”

Mark Tucker博士,TMETC
塔塔自动驾驶汽车在英国考文垂的试验。

TMETC的自动驾驶汽车在英国考文垂的试验。


在2013年秋季预算报告中,英国政府推出了鼓励在英国发展自动驾驶汽车的措施。2014年7月,英国创新机构Innovate UK发起了“将无人驾驶汽车引入英国道路”竞赛。英国自动驾驶是三个获得资助的项目之一。该项目将领先的汽车公司、学术机构、立法者、保险公司和其他利益相关者聚集在一起,对自动驾驶汽车和联网汽车技术进行为期三年的试验,使英国成为自动驾驶汽车和相关技术研究、开发和集成的全球中心。

作为英国Autodrive的一部分,塔塔汽车欧洲技术中心(TMETC)开发了自动驾驶软件,并将其部署在配备现成线控硬件的塔塔Hexa SUV上。来自TMETC的一个小型工程师团队开发了传感器感知、运动规划和车辆控制算法。基于模型的MATLAB设计®和仿真软件®使该团队能够快速地从纸上设计到模拟,然后在车内的嵌入式ECU上运行。

TMETC首席工程师Mark Tucker博士说:“有了Simulink,我们可以专注于高级别的设计实现,而不是低级别的编码。”“这对我们来说很重要,因为我们的目标是交付一辆功能齐全的汽车,而不是展示我们的编码技能。”

挑战

TMETC团队的目标是用一个小团队的工程师交付一辆可演示的自动驾驶汽车,同时保持项目的进度和预算。为了实现这些目标,他们尽可能地依赖于现成的组件,并寻找缩短核心控制算法开发时间的方法。

一个主要的设计挑战是集成系统中许多不同的元素。这些元素包括雷达、激光雷达、GPS、惯性测量和单视,以及用于传感器融合、运动规划、同步定位和测绘以及车辆控制的算法。

所有元素之间的通信都必须被记录下来,以遵守英国的法规,尤其是运输部发布的“无人驾驶汽车之路:测试行为守则”。团队决定使用机器人操作系统(ROS)中间件来解决集成和日志记录需求。因此,他们编写的算法需要ROS接口,团队需要一种方法来可视化和分析记录的ROS数据。

自动驾驶汽车上安装的传感器。

自动驾驶汽车上安装的传感器。

解决方案

TMETC的工程师使用Simulink对Hexa自动驾驶汽车的运动规划和车辆控制算法进行建模、模拟和生成代码。

开发了三种车辆控制算法:纯跟踪、车道保持和模型预测控制。为了评估每种算法,他们将其与车辆的简单横向和纵向模型集成,并进行闭环仿真。

单纯追逐的方法缺乏足够的稳定性,而保持车道的方法在城市中心表现相对较差,因为城市中心需要在弯道狭窄和速度较慢的情况下导航。模型预测控制器在一系列操作场景的模拟中表现良好。

该团队改进了横向和纵向模型预测控制器,使用参考设定点、车辆动态测量和车辆动力学模型来生成最佳的车辆控制序列,包括转向、加速和制动,以遵循计划的轨迹。

硬件在环测试用于检查硬件接口。

TMETC团队使用嵌入式编码器从他们的运动规划算法中生成代码®并将其部署到安装在车上的一台基于linux的PC上。使用Simulink Real-Time™,他们将车辆控制算法部署到Speedgoat目标硬件安装在车辆上。

进行了道路测试,在测试期间,数据从ROS数据以及直接从车辆控制器记录。使用RViz、MATLAB和Robotics System Toolbox™对数据进行分析和可视化。为了调试和进一步完善控制算法,在仿真中通过控制器回放记录的驾驶场景数据。

TMETC在考文垂和米尔顿凯恩斯的英国自动驾驶项目的车辆试验中,成功地在城市道路和基于网格的街道上演示了他们的自动驾驶汽车。

结果

  • 实时控制器实现加速。塔克说:“一旦我们准备好在车辆上进行测试,我们就使用Simulink real将车辆控制器部署到Speedgoat硬件上。”
  • 调试简化。“Simulink使我们能够在模拟中回放道路测试的数据,”塔克说。“我们可以在任何时候停止模拟,从而有可能深入到控制模型中,看看发生了什么,并解决我们在算法中发现的任何怪癖。”
  • 开发时间集中在设计上。塔克说:“所有的运动规划和车辆控制代码都是由我们的Simulink模型生成的。”“这为我们节省了大量时间,因为我们可以专注于高级设计,而不是在代码中实现方程和处理异常。手工编写控制算法将是一项更大的任务。”
Baidu
map