你的浏览器版本过低,可能导致网站不能正常访问!为了您能正常使用网站功能,请使用这些浏览器。
chrome
Firefox

工具栏

为什么自动驾驶软件工程化很难

自动技术的发展起源于计算机学术界,爆发于汽车研发行业,在这个发展的过程中,根据人类的擅长的分层思维,将自动驾驶功能进行了层次划分,试图通过阶段性的功能实现达到汽车的智能化,这就会很容易造成一个现象,功能的堆叠和体验感的下降,设计的是智能而用户用起来变智障。

这背后其实有两个关键问题没有解决,一个关于自动驾驶功能定义的关系。俗话说,艺术来源于生活,而高于生活,其实自动驾驶系统也是一样的,自动驾驶解决的问题一定也是生活中的问题,并且承载生活中业务知识,在结合计算机的平台能力,最终目的是带出行效率的革命。在解决生活中问题中,其实有一条主线一直贯穿始终,那就是逻辑和模型,无论是互联网应用还是自动驾驶,本质上都是将逻辑和模型从生活递进到软件的过程,也就是工程化。所以,软件工程化的前提是逻辑和模型,这也是科技产品功能定义的基础条件,自动驾驶也是同样的道理,所谓的逻辑就是抽象的生活规律,也就是确定性、不矛盾性和明确性,而模型是将生活的规律抽象后的简化,将一个复杂问题进行简化演示,在设计功能模型的时候需要从几个方面思考,一个是可以直接观察到的数据方面;另一方面是信息,这也是人类反应所理解的物理世界;第三是知识,每一个领域都是小概率的专业知识,这也是决定行业属性的关键点。

在自动驾驶系统开发过程中,首先是功能的定义要合乎生活逻辑,其次是要有模型的验证,这个验证是一个抽象化的逻辑验证,用简单的方式演示代替复杂的系统。在自动驾驶工程化的过程中,可以发现大多数时间都在讨论,需求、方案,问题,实际用代码实现的时间反而比较少。当然,这也得益于开源代码和软件平台化的功劳,更重要的点是功能定义不清,也就是逻辑和模型思维的缺失。功能定义不清这种现象在每个行业屡见不鲜,主要体现在,第一产品和用户之间。新产品发布会上产品工程参数遥遥领先,产品交付到用户就成了鸡肋。用户没有体会到新产品带来的新体验,工程师没有获得产品反馈,研发和用户出现断层;

第二是产品和产品之间。自动驾驶产品成为汽车行业的重头戏,从研发端来看,新技术的不断涌入为汽车提供了众多的科技属性,例如、移动的数据终端、移动的智能体、人工智能技术最大的应用体等等,终极目标是实现汽车的自动驾驶,从而使得人类在移动空间和出行时间的效率提升。在实现大目标的过程中,无论是渐进式路线的辅助驾驶还是跨越式路线的无人驾驶都会出现一个产品节奏的问题,也就是产品与产品之间的功能定义。通常的做法是通过场景的来定义产品的功能,随着场景的不断细化,产品的功能范围也在不断延伸,这样的产品很容易出现功能的堆叠既造成资源的浪费又降低了用户的体验感,所以产品和产品之间是需要一个产品画布,其中不仅仅是场景的细化,还有概念的内涵和外延。面对新产品的开发,内涵增大的时候,外延就会减小,概念会变得更具体,也会更容易形成产品定义,而当内涵减小的时候,外延就会增大,产品的概念会被放大。这对自动驾驶产品功能定义的影响很大,产品功能的特有属性属性减少,也就意味着产品复用的场景越多。

当定义自动驾驶产品功能模型的时候,为了标新立异随意的增加或删除概念,一定会潜移默化引起产品概念的内涵和外延的变化,并且会传导到软件模型的开发。

在自动驾驶产品领域,仿佛一夜之间城市辅助驾驶成为新车发布的标配话题,此功能最早可以追溯到2019年特斯拉向FSD车型推送的可实现一定道路场景范围内的点对点智能驾驶,后续不同车企在功能定义上叫法不一,蔚来称为NOP+、小鹏称为NGP、华为称为NCA,毫末智行称为NOH、广汽成为 NDA等等,在五花八门的功能定义中无形的泛化了城市辅助驾驶产品的功能定义。从自动驾驶产品的功能到用户的体验,两者之间的连接器就是工程师。在数字化时代更侧重于软件工程师,也就是说软件工程师是将产品功能翻译为软件系统,将自然语言翻译为代码的工程。在将自动驾驶的功能转化为软件的过程中会涉及到几个问题;第一个是面向用户的问题。在不同的场景下,用户的范围是不同的,在软件工程领域中,用户可以是数据库中的一条记录,还可以是提供服务的用户对象,而在功能定义领域,用户是指使用软件的人。在自动驾驶软件开发的过程中,从功能和工程层面定义概念的过程也是整个软件系统设计的过程。

另外一个问题是小概率的行业知识积累。消费互联网领域的软件不同的是自动驾驶软件具有一定的特殊性,消费互联网领域的软件是以人为核心解决日常生活问题,功能定义的逻辑和模型验证在物理世界是已经诚信,软件工程师只需要通过代码的形式复现物理世界的逻辑。而自动驾驶领域涉及到的不仅仅是日常生活,还有垂直的专业知识,例如,轮胎的运动模型、横纵向的控制特性、车身材料的变化、消费群体的差异等等问题具备很强的专业性,这也是打造一套通用的自动驾驶产品面临的最大问题。互联网领域成熟的功能逻辑和软件模型无法复用到汽车行业,也就是自动驾驶产品功能比互联网产品的功能概念内涵更多外延更少。所以,自动驾驶功能成熟的过程也是汽车专业领域知识代码化的过程。对于自动驾驶软件工程师来说,最大的问题不是编写代码,而是如何将非标准化的功能定义进行抽象、设计,并转换为标准化的过程。

最后一个问题是自动驾驶软件背后的生意问题,也就是商业模型的建立,在商业模型的里面还有一个业务模型,用来描述自动驾驶的软件交互和操作。现阶段自动驾驶软件的开发主要分为车企、创业公司和传统供应商,无论开发的规模大小商业模型没有建立起来,每一家企业都在下注赌一个期望,那就是通过产品的规模化建立商业壁垒,这一点是从前期自动驾驶行业试图通过新技术建立壁垒的转变,在技术深度进展缓慢的情况下,推广技术落地宽度,通过产品规模化获得领先。主机厂成为自动驾驶创业公司竞相拉拢的对象,新技术在自动驾驶领域的探索脚步放缓,而将非标准的功能定义转化为软件成为自动驾驶行业的关键,自动驾驶从研究性质转变为研发性质,产品背后的商业模型也随之变化,处于自动驾驶产业链上的软硬件供应商、主机厂、消费者也会发生变化。良好的商业环境是参与的各方都可以有所获,实现良性的循环,所以,随着车型的内卷,自动驾驶供应商也会面临巨大的的商业挑战。例如,上汽智己汽车发布的LS6,车型,21万价格标配激光雷达和英伟达Orin芯片。在技术尚未成熟时期,自动驾驶行业不断下探的产品价格说明行业没有出现新的竞争点,产业链中的相关公司并没有形成商业闭环。

软件算法创业公司承担高昂的人力成本输出自动驾驶软件搭载车型量产,而车企面对整车销售环境,进行价格战,消费者获得的产品缺少足够的验证,在这个过程中就会缺失消费者的需求和价值。所以,在汽车行业照搬互联网行业软件付费模式不一定行得通,因为软件付费的前提是软件产品的保有量,软件的开发速度领先于用户需求的产生。而汽车是属于大宗消费产品,在技术变革的时期要达到产品规模壁垒将会非常困难。

无论是互联网软件工程师还是自动驾驶软件工程师,最难以忍受的莫非是需求的变更,软件工程师为了预测需求,造就了各种“专家”和各种架构,包括软件架构、整车电子电子架构,其实架构的本质目的是为了预测需求的变化。在架构内实现需求,软件是比硬件容易,所以产品的架构还是以硬件架构为底层基础,这也是软件的第一层价值,为硬件提供底层价值,也就是产品的目标和愿景;在架构之中,业务的流程、功能的逻辑和模型成为软件的主干;在主干之上才是软件其中的算法逻辑性、鲁棒性等等;最上层才是软件工程的可视化和操作性。

自动驾驶的软件也必定经历这个过程,首先是功能概念的精准定义,内涵和外延的平衡;其次是汽车知识和软件工程的深度结合,自动驾驶不是计算机、也不是互联网和汽车,而是一个知识的综合应用;最后是商业模型的建立。

内容由作者提供,不代表易车立场

收藏

收藏成功 ! 去易车app查看收藏文章

活动推荐

广告
  • 奖 
  • 抢 
  • 奖 

相关车型

CopyRight © 2000-2023 BitAuto,All Rights Reserved. 版权所有 北京易车信息科技有限公司    购车咨询:4000-168-168 (周一至周日 9:00 – 21:00) 法定假日除外