电站系统工程

自动驾驶的敏捷项目管理 

来源:电站系统工程 【在线投稿】 栏目:期刊导读 时间:2021-05-24

卡车司机的短缺以及物流行业的持续增长已经成为世界性的话题。根据美国卡车运输协会的数据,运输业的司机人数缺口达到6.3 万人,并且这个数字还在持续上升。通过自动驾驶技术可能带来的商业价值不可估量,这也促成了大量新兴创业公司与老牌汽车行业的联合。这场大融合将面临一个巨大的挑战,那就是传统的车企和新兴人工智能的项目管理方法的碰撞和探索。

一、自动驾驶行业与传统软件开发和传统车企的区别

(一)自动驾驶与一般软件开发的区别

自动驾驶系统是当前各类新兴技术的大集合,一般由感知识别、定位、高精地图、控制、路径规划、车辆硬件等核心模块构成,这几乎注定了自动驾驶系统上项目管理的复杂性。在系统的前沿性上自动驾驶系统往往也是大幅领先,在其核心模块中,各式各样的算法如深度学习、机器学习、机器人控制技术等也是一直在探索现代科技的尽头,这直接导致了相当多的内嵌算法项目无法给出明确的预期。更多的新兴人工智能创业公司往往都是从实验室发展到产品化,前期的各类实验性质的项目跟相对明确的软件工程项目比起来,更加不可控[1]。

安全是所有自动驾驶系统的最高优先级。由于自动驾驶系统的应用场景多半复杂且涉及到一系列的跟人类的交互,这让自动驾驶的项目管理对于安全的把控至关重要。尤其是对于高等级的自动驾驶系统,这一特性更加明显[2]。

(二)自动驾驶与传统车企的区别

现在越来越多的传统车企也在尝试和探索自动驾驶系统的开发和应用,但是传统车企往往采取瀑布型的项目管理,这会极大地拉长一个开发周期,瀑布型的项目管理常应用于车辆生产和硬件开发,一个产品周期有时会需要以年计。自动驾驶系统由于其自带的人工智能属性,其对于迭代速度和效率的要求高的惊人。在一个快节奏的人工智能或者自动驾驶公司,一个迭代周期可能需要压缩到以星期计算以便及时调整产品和项目策略,并且快速拿到实验性质项目的结论[3]。

(三)自动驾驶项目管理的重要性

以上,自动驾驶系统的开发既不能照搬照抄传统保守的瀑布式开发,也无法直接应用被目前软件工程广泛认可的敏捷开发。这使得探索针对于这类复杂系统的工程管理方案变得非常重要,也不可避免。

二、自动驾驶项目管理的痛点

(一)软件迭代速度和系统复杂度的博弈

正如上文所说,自动驾驶系统对于迭代速度的要求是非常高的,在如此快节奏的迭代需求和如此复杂的系统框架下,工程管理人员无疑任务繁重的。在以星期为衡量单位的迭代周期中,自动驾驶系统一直会面对新的模块与旧的模块无法兼容,或者旧的模块需要一直跟着新的迭代调整自己以达到兼容,这会让模块与模块之间的依赖变得更加复杂。如果以两周为一个迭代周期来看,每次可能会更新至少10 个子模块的内容,然后这10 个子模块又是分别平行开发的,这会导致需要大量的时间来完成10 个更新的兼容性考察和改进。

(二)软硬件的集成

自动驾驶系统有一个至关重要的依托和平台,那就是车辆。本身车辆工程和人工智能就是两个南辕北辙的学科,在自动驾驶平台上需要完成大融合。一个不理解车辆功能和功能实现的项目经理往往不能很好地把握自动驾驶项目。在自动驾驶中,控制就是一个强依赖于车辆的模块,每一辆车的转向杆和转向器在给到固定信号都有可能在实际驾驶中出现细微的区别,这些误差都会在驾驶活动中持续累积。这使得软件和硬件之间的接口设计要求非常高,并且在软件的迭代中需要充分地考虑到硬件的特性,在保证系统和平台的稳定性下还要加上对于整体产品稳定性的了解和分析,在实践中是非常难的。

(三)功能安全的应用

功能安全一直是自动驾驶的热门话题,这其中不乏对于ISO 或者SOTIF 如何应用到自动驾驶开发中的探讨。功能安全肯定是自动驾驶系统商业化不可避免的路径,可是功能安全的整体流程繁多,各类测试如果都想要达标耗时耗力,其中功能安全基本的V-型开发原则,要求开发者能够在系统的每一个发布和迭代阶段都能层层递进并且测试,在现在自动驾驶系统的原型工程阶段,是一个天价的应用。

(四)长尾问题

众所周知的自动驾驶,尤其是高级自动驾驶系统一定会面对的问题,那就是驾驶活动的长尾问题。人类驾驶员能够在各种各样的开放环境下进行驾驶活动,是因为人类驾驶员从出生就一直是一个巨大的学习机器,所以能够在复杂并且稀少的场景下进行推断和交互。自动驾驶系统想要做到这个程度还非常远,举一个例子,把中国的司机带去美国公路上,也可以靠“猜”明白个大概,可是机器人不一样,机器人对于自己没有见过和处理过的场景是很难理解的。当人类驾驶员看到对面的车慢慢停下来并且对方驾驶员做出了挥手的动作还打了一个远光灯想要引起你的注意,就能够反应过来这是对方希望礼让,试想一下自动驾驶系统需要学习多少的知识才能领悟这几个动作组成的含义。

上一篇:生态文明视域下加强城区冬季除雪科学使用融雪
下一篇:没有了