温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
2023
自动
驾驶
敏捷
项目
管理
自动驾驶的敏捷工程管理
储谦
[摘 要] 随着自动驾驶技术的不断开展,传统的工程管理和系统工程方法逐渐不能很好地应用于人工智能和软硬件结合的超快迭代节奏,那么探索基于敏捷开发的工程管理和系统工程,尤其是针对于自动驾驶领域的研究,便越发地重要和不可无视。
[关键词] 敏捷开发;
工程管理;
人工智能;
系统工程;
自动驾驶
中图分类号:U463.6 文献标识码:A
卡车司机的短缺以及物流行业的持续增长已经成为世界性的话题。根据美国卡车运输协会的数据,运输业的司机人数缺口到达6.3万人,并且这个数字还在持续上升。通过自动驾驶技术可能带来的商业价值不可估量,这也促成了大量新兴创业公司与老牌汽车行业的联合。这场大融合将面临一个巨大的挑战,那就是传统的车企和新兴人工智能的工程管理方法的碰撞和探索。
一、自动驾驶行业与传统软件开发和传统车企的区别
(一)自动驾驶与一般软件开发的区别
自动驾驶系统是当前各类新兴技术的大集合,一般由感知识别、定位、高精地图、控制、路径规划、车辆硬件等核心模块构成,这几乎注定了自动驾驶系统上工程管理的复杂性。在系统的前沿性上自动驾驶系统往往也是大幅领先,在其核心模块中,各式各样的算法如深度学习、机器学习、机器人控制技术等也是一直在探索现代科技的尽头,这直接导致了相当多的内嵌算法工程无法给出明确的预期。更多的新兴人工智能创业公司往往都是从实验室开展到产品化,前期的各类实验性质的工程跟相对明确的软件工程工程比起来,更加不可控[1]。
平安是所有自动驾驶系统的最高优先级。由于自动驾驶系统的应用场景多半复杂且涉及到一系列的跟人类的交互,这让自动驾驶的工程管理对于平安的把控至关重要。尤其是对于高等级的自动驾驶系统,这一特性更加明显[2]。
(二)自动驾驶与传统车企的区别
现在越来越多的传统车企也在尝试和探索自动驾驶系统的开发和应用,但是传统车企往往采取瀑布型的工程管理,这会极大地拉长一个开发周期,瀑布型的工程管理常应用于车辆生产和硬件开发,一个产品周期有时会需要以年计。自动驾驶系统由于其自带的人工智能属性,其对于迭代速度和效率的要求高的惊人。在一个快节奏的人工智能或者自动驾驶公司,一个迭代周期可能需要压缩到以星期计算以便及时调整产品和工程策略,并且快速拿到实验性质工程的结论[3]。
(三)自动驾驶工程管理的重要性
以上,自动驾驶系统的开发既不能照搬照抄传统保守的瀑布式开发,也无法直接应用被目前软件工程广泛认可的敏捷开发。这使得探索针对于这类复杂系统的工程管理方案变得非常重要,也不可防止。
二、自动驾驶工程管理的痛点
(一)软件迭代速度和系统复杂度的博弈
正如上文所说,自动驾驶系统对于迭代速度的要求是非常高的,在如此快节奏的迭代需求和如此复杂的系统框架下,工程管理人员无疑任务繁重的。在以星期为衡量单位的迭代周期中,自动驾驶系统一直会面对新的模块与旧的模块无法兼容,或者舊的模块需要一直跟着新的迭代调整自己以到达兼容,这会让模块与模块之间的依赖变得更加复杂。如果以两周为一个迭代周期来看,每次可能会更新至少10个子模块的内容,然后这10个子模块又是分别平行开发的,这会导致需要大量的时间来完成10个更新的兼容性考察和改良。
(二)软硬件的集成
自动驾驶系统有一个至关重要的依托和平台,那就是车辆。本身车辆工程和人工智能就是两个南辕北辙的学科,在自动驾驶平台上需要完成大融合。一个不理解车辆功能和功能实现的工程经理往往不能很好地把握自动驾驶工程。在自动驾驶中,控制就是一个强依赖于车辆的模块,每一辆车的转向杆和转向器在给到固定信号都有可能在实际驾驶中出现细微的区别,这些误差都会在驾驶活动中持续累积。这使得软件和硬件之间的接口设计要求非常高,并且在软件的迭代中需要充分地考虑到硬件的特性,在保证系统和平台的稳定性下还要加上对于整体产品稳定性的了解和分析,在实践中是非常难的。
(三)功能平安的应用
功能平安一直是自动驾驶的热门话题,这其中不乏对于ISO26262或者SOTIF如何应用到自动驾驶开发中的探讨。功能平安肯定是自动驾驶系统商业化不可防止的路径,可是功能平安的整体流程繁多,各类测试如果都想要达标耗时耗力,其中功能平安根本的V-型开发原那么,要求开发者能够在系统的每一个发布和迭代阶段都能层层递进并且测试,在现在自动驾驶系统的原型工程阶段,是一个天价的应用。
(四)长尾问题
众所周知的自动驾驶,尤其是高级自动驾驶系统一定会面对的问题,那就是驾驶活动的长尾问题。人类驾驶员能够在各种各样的开放环境下进行驾驶活动,是因为人类驾驶员从出生就一直是一个巨大的学习机器,所以能够在复杂并且稀少的场景下进行推断和交互。自动驾驶系统想要做到这个程度还非常远,举一个例子,把中国的司机带去美国公路上,也可以靠“猜〞明白个大概,可是机器人不一样,机器人对于自己没有见过和处理过的场景是很难理解的。当人类驾驶员看到对面的车慢慢停下来并且对方驾驶员做出了挥手的动作还打了一个远光灯想要引起你的注意,就能够反响过来这是对方希望礼让,试想一下自动驾驶系统需要学习多少的知识才能领悟这几个动作组成的含义。
(五)大数据的分析和决策
基于长尾问题,想要在开放环境中应用的自动驾驶系统不得不面对一个问题,那就是大数据的分析和基于大数据的决策。面对人类驾驶行为的海量数据,怎么能够有效地获得数据,怎么能够消化这些数据以及如何根据这些数据来决策,是每一个自动驾驶工程经理头疼的问题。
三、在自动驾驶下工程管理的路径
(一)认清冗余流程的不必要性
那么作为自动驾驶系统的工程经理,一味地照搬照抄现有的开发和测试流程是远远不够的,关键是需要能够为你的流程找到价值和性价比。在工程管理中,对于工程管理的思路本身也需要有迭代的概念,很多冗余或者当前资源不能支撑的流程,应该给予适当地修正甚至删除,有时候有一个简单易懂,并且可以很容易让别人也能够接受的流程比一个复杂流程在稳定性和效率上都会好得多。在如此需要优化资源的环境下,但凡流程必须要精简,要能带来价值,要能容易推行。
(二)Data-driven的工程管理应用
既然自动驾驶自带了海量数据,那么以数据来指导开发就变得非常重要。数据的处理需要格外小心,并且需要非常注重数据的结构化,打一个比方,当你对于你的驾驶数据有一个至少30个维度的描述的时候,很可能大局部的驾驶活动都可以通过这30个维度来进行检索和分析从而形成非常有价值的结论。这里面需要关注长尾问题,但是在自动驾驶工程的原型阶段,长尾问题的发现比解决更为关键。
(三)固定运行域
固定一个相对窄的运行域是一个能够加快自动驾驶落地的思路。如果能够开掘到相对封闭的运行域,并且有一定的商业价值,能够在很大程度上减小系统的复杂性。这只是一方面,最重要的是,长尾问题的减少和测试本钱的减少,这才是在原型阶段的自动驾驶系统最大的本钱所在。这个思路已经被很多的公司所应用,目前能看到大量的自动驾驶公司选择固定运行域,比方港口,矿区,医院或者园区等。
(四)完善风险机制
功能平安和风险评估是自动驾驶系统不可防止的路径,建立和完善测试和运营的风险控制机制是非常重要的,这其中包括了操作员接管的严重性和可控性评估,离线测试用例以及测试标准的搭建,内部卡法测试流程的完善甚至操作员的教育和训练。建立起一套好的风险机制能够极大程度上让一些前期的问题及时被发现,也能让发现紧急事项的同时能够有效地转换成低风险的事件。
四、结语
自动驾驶作为复杂系统和人工智能的代表,其商业化一直是所有人关注的热点。工程管理在自动驾驶系统开发上的应用非常重要,传统车厂和新兴的自动驾驶公司必然会碰撞出前所未有的火花。
参考文献:
[1]石彩云.一人驾驶两辆卡车[J].经营者(汽车商业评论),2023(09):1.
[2]科技司.汽车驾驶自动化分级推荐性国家标准报批公示[EB/OL]. :// miit.gov /n1146295/n7281310/c7797393/ content.html,2023-03-09.
[3]北京百度网讯科技.自动驾驶平安第一白皮书[Z].北京:北京百度网讯科技,2023.