写点什么

在自动驾驶汽车的开发软件中使用模型

  • 2017-02-15
  • 本文字数:2416 字

    阅读完需:约 8 分钟

在类似无人驾驶汽车这样自治动力系统的软件开发中,模型发挥着重要的作用——模仿及验证人们的驾驶行为,记录系统日志并生成代码。在 2016 年度的 GOTO Amsterdam 大会上,美国亚利桑那大学电气与计算机工程专业的副教授 Jonathan Sprinkle 就无人驾驶汽车的软件开发主题发表了演讲,他认为:无人驾驶汽车的软件起初都是单一整体式的,但如今逐渐向着可组合的拼装式方向发展,新的软件可根据需求进行功能拼装。此外,之前大量的数据都来自诸如雷达、GPS 和摄像机等传感器,但如今通过传感器融合,并朝着可感知的方向发展,这些数据都合并到了同一张地图上。这意味着如今的汽车不再将周边整个世界视为静态数据,而是主动去感知,并根据新增类型的传感器推断这些事物会如何移动。

可组合的软件能够通过包含输入、输出及相互补全的过程来完成建模,根据 Sprinkle 教授的看法,这样的过程模型集中在功能方面,对非功能性的行为不太有用。“功能性行为可能很容易测试,但这种过程模型却很少涉及非功能性行为——而后者却是与人类交互的复杂信息物理系统必须要有的行为。”

我们可以这样理解:一辆自动驾驶汽车就是结合了计算、通信和控制的信息物理系统,是一张交互元素网络,因此系统在构建和测试时花费不斐。每添加一个新的组件,就可能影响其他系统的通讯方式以及计算耗费的时间。

至于在运行时如何使用预测模型的控制装置来控制汽车的轨迹,避免与障碍物碰撞,Sprinkle 教授列举了相关案例:如果计算速度太慢,就会因为来不及校正而造成碰撞;如果使用精度较低的简单模型,虽然计算速度快了,但由于精度不够还是可能撞到障碍物。所以在计算轨迹和决定干预时,必须将计算所耗费的时间列入考量,而且我们必须知道模型会有多大的误差,以便计算校正。以上这些任务都必须实时完成。

目前用于自动驾驶汽车的传感器都非常昂贵,在 Sprinkle 教授看来,我们需要相对便宜些的传感器,也许不够完成所有任务,但可以解决大多我们不想做的工作。我们可以把自动驾驶系统看成一个连续统一体,它刚开始可以完成一些简单的自动停车工作,或者在高速路上驾驶时使用自适应巡航系统,直到能够在任何情况下完全自动驾驶汽车。

InfoQ 就以下这些问题采访了 Sprinkle:如何决定将汽车的控制权交给自主系统;如何对自主系统中使用的软件进行建模,以及建模的好处;怎样通过测试数据来测试自动驾驶汽车的软件能否正常工作,以及编写可靠代码的技术。

问: Sprinkle 教授之前曾提及要将汽车的控制权交给自主系统,那么怎样决定给予多大的权限,给予哪些功能的控制权?

答: 实际上,许多人尚未意识到自己已经给了身边系统多大的控制权,不单指交通方面。例如,现代供暖技术会保证我们的生活空间温度接近设定预期,我们做设定,但管理权交给了系统。汽车开始移动时,我们需要在不亲自控制时确保舒适,大多人现在已经适应了自动巡航,因为驾轻就熟。然而,从自动巡航到在人行横道上也完全袖手听凭系统自动驾驶,中间有一个巨大的鸿沟。大多汽车的自主驾驶功能都是从任务引导开始的,不能一蹴而就。

问: 如何对用于自主系统的软件进行建模?

答: 与规划和控制相关的任务是最容易理解的,在规划时需要将类似目的地这样的高层级对象转化为其它高层级的概念——比如期望的行车路线,然后这个行车路线就会转化为期望车速和路径,再根据沿途情况(比如变道或者交通阻塞)来进行相应的调整,最终形成按照期望速度行驶的轨迹路线。在某些情况下,这些概念的软件模型可被解析为 UML 状态模型。例如,系统会根据即时发现的障碍物和行车状态来进行驾驶模式间的切换。序列模型的作用也是相关的,从不同的传感器接收到的信息会触发状态的变化。这些软件组件通常是根据事件调用的,也就是说用户提供需要的输入内容,系统给出响应,又或者系统根据传感器的检测作出回应。因此,我们才说反应模型的效果最佳。

在控制装置的案例中,大多数软件可以当作组件来建模(即功能模块),系统通过这些组件将输入内容转化为输出信号。任务通常根据时间触发,无论系统的新数据是否可用,相应组件都应当作出响应。确保所有模块都能排序十分必要,而且要确保海量数据不会导致系统相应的延迟。反应模型还起到安全开关的作用,一旦传感器掉线,控制装置会发现这一情况并采取相应操作。类似 Simulink 中的框图样式模型可以很好地模拟所需系统的行为。

问: 软件建模有哪些好处呢?

答: 模型对系统行为的推断能力非常惊人,而且无需考虑输入信息的准确与否。我们针对活性或死锁进行检查,还可以调度系统组件,但需利用模型中的数据。对于开发人员来说,在开发中使用模型提供了一种独特的系统日志记录方式,尤其是在将代码生成用于提供最终输出的成品时。

问: 能否就通过测试数据进行软件验证的方式举例说明?

答: 最佳验证案例就是:在人类驾驶员的控制下,检查自主控制器是否根据预期速度做出合理的决策。说到验证方面,在确保系统不会违反约束的情况下,我们通常会使用理论技术验证模型是否正确,再通过代码生成技术来确保输出系统反映了相应的模型。

问: 能否推荐一些其他可用来编写可靠代码的技术?

答: 在手写代码时,想要确保代码可靠,就需要通过严格的步骤和回归测试以保证获得预期的输出信息。因此,我们一直强调,希望大家考虑从模型中合成代码,因为考虑到掉线或者速度变化的问题,最可靠和最稳健的实践就是在开发中代码生成阶段直接合成代码,而不需要修改整个系统的逻辑。当然,如果逻辑错了,代码多完美也是没用的。

关于在亚利桑那大学所进行的自动驾驶方面的研究,研究人员使用了配有传感器和硬件的全尺寸福特 Escape 进行研究。在实际运用前,研究人员先通过建模来进行模拟,通过实验及实际驾驶收集数据。通过这种方法,在实际车辆测试之前我们就能发现设计和集成的问题,并根据之前采集的数据,吸取之前决策的经验,以确保不会有危险的操作发生,研究成果请参见 CAT Vehicle 网站

英文原文: Using Models in Developing Software for Self-Driving Cars

2017-02-15 18:001851

评论

发布
暂无评论
发现更多内容

网站结构规范对于独立站的重要性

九凌网络

App自动化测试中,如何更好地处理弹窗?

霍格沃兹测试开发学社

天池酒瓶瑕疵检测数据集分析及完整baseline

阿里云天池

阿里云

PWA应用的核心技术都有哪些?

Geek_2305a8

企业IT部门在集成类项目中扮演的角色

RestCloud

数字化转型 IT ipaas

缺陷管理与软件测试的作用

测吧(北京)科技有限公司

测试

软件开发流程简介及优化方法论:SCRUM、XP、DevOps

测吧(北京)科技有限公司

测试

Typora for Mac(Markdown文本编辑器)v1.8.10中文激活版

iMac小白

卓越的声音控制软件SoundSource for mac激活版下载

iMac小白

视频无损放大修复工具:Topaz Video AI v5.0.1激活版

iMac小白

你的数据库用对索引了吗?一文揭秘PolarDB XPlan索引选择

阿里云瑶池数据库

数据库 阿里云 polarDB 分布式,

软件测试基础概念与原则

测吧(北京)科技有限公司

测试

MySQL 开源到商业(一):Sun 公司收购了 MySQL AB

小猿姐

MySQL 开源

Python中两种网络编程方式:Socket和HTTP协议

快乐非自愿限量之名

Python 网络编程

聊聊大模型的屏蔽词工程

快乐非自愿限量之名

前端 大模型 屏蔽词

云手机养号与传统的养号模式有何不同

Ogcloud

云手机 海外云手机 云手机海外版 国外云手机 社媒运营

朝着抵抗力最大的路径走-Rank16-强化学习、黑盒攻击、Baseline-SecurityAI

阿里云天池

阿里云

Doris Manager 24.0 版本正式发布!

SelectDB

数据库 大数据 数据仓库 运维管理 集群管理

百度赵世奇:人人都是「超级个体」时代来临

Geek_2d6073

活动报名 | 如何进行全增量一体的异构数据库实时同步

tapdata

oracle cdc 数据总线

软件测试学习笔记丨业务架构分析思路

测试人

软件测试

软件测试学习笔记丨Web自动化测试价值与体系

测试人

软件测试 测试开发 Web自动化测试

面试官:为什么忘记密码要重置而不是告诉你原密码?

不在线第一只蜗牛

Java 程序员 面试 密码管理

从零到一:如何使用亮数据代理快速收集训练数据打造自己的AIGC大模型

热爱编程的小白白

持续集成与持续交付:概念与实践

测吧(北京)科技有限公司

测试

多IP美国服务器:提升在线业务灵活性与安全性的最佳选择

一只扑棱蛾子

多IP服务器

借助jd.item_get API优化商品名称以提升用户购买意愿

技术冰糖葫芦

api 货币化 API 测试 API 策略

王海峰:百度500万AI人才培养目标已提前达成

飞桨PaddlePaddle

人工智能 百度 AI BAIDU 文心一言

MacDroid pro for mac(安卓设备文件传输助手)1.8中文激活版

iMac小白

云手机助力舆情监测,智慧引领信息时代

Ogcloud

云手机 海外云手机 舆情监测 群控 云手机群控

在自动驾驶汽车的开发软件中使用模型_软件工程_Ben Linders_InfoQ精选文章