用户故事

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

挑战

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

解决方案

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

结果

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

“一个工程师小组利用现成的硬件和控制算法,通过基于模型的设计(Model-Based Design)开发并实现了一辆自动驾驶汽车。虽然该系统还没有准备好生产,但它确实以实用的设计方法展示了重要的设计理念。”

马克·塔克医生,TMETC
塔塔自动驾驶汽车在英国考文垂进行测试。

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


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

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

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

挑战

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

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

所有部件之间的通信都必须记录,以符合英国的法规,尤其是交通部(Department of Transport)发布的《无人驾驶汽车之路:测试操作守则》(The path to Driverless Cars: A Code of Practice for Testing)。该团队决定使用机器人操作系统(ROS)中间件来解决集成和日志记录需求。因此,他们编写的算法需要ROS接口,团队需要一种可视化和分析记录的ROS数据的方法。

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

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

解决方案

TMETC的工程师使用Simulink对部署在金宝app自主Hexa上的运动规划和车辆控制算法进行建模、模拟和生成代码。

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

纯追踪方法缺乏足够的稳定性,车道保持方法在需要窄弯道和低速行驶的城市中心表现相对较差。该模型预测控制器在一系列操作场景的仿真中表现良好。

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

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

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

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

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

结果

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