谨防软件定义汽车中的软件浅坑:BUG

描述

软件定义汽车,是目前几乎所有汽车厂商都挂在嘴边的一个概念,其核心是智能汽车的价值从硬件向软件转移。未来汽车的硬件很可能是不赚钱的,利润主要来自软件;消费者评价一款智能汽车高不高端不仅要看它的硬件参数,更要看它的软件水平。软件定义汽车这个概念是与汽车的智能化水平息息相关的,只有当自动驾驶和智能座舱足够好用,软件才有可能定义汽车。      

从大的趋势上看,软件定义汽车是没有什么疑问的。但是正如我们距离真正的完全自动驾驶还非常遥远,软件定义汽车虽然人人在说、人人在做,却仍是一个长久的议题,实现起来困难重重。最直接的困难不是什么高不可攀的技术高峰,而是无处不在、防不胜防的软件浅坑:BUG。

电脑蓝屏相信大家都遇到过,如果智能汽车的自动驾驶系统也“蓝屏”,将会带来非常严重的后果。

是软件就会有BUG,有的BUG无关痒痛,但有的BUG则会带来非常严重的后果。对普通人来说,一次office崩溃或者电脑蓝屏就足以令人抓狂;而在工业、科技领域,BUG可能会造成数以亿计的损失,甚至给生命带来威胁。最出名的BUG应该是千年虫(系统里的年份用两位数表示,导致2000年被错误识别为1900年),在上世纪90年代末全球耗费数十亿元来解决处理这个问题。

软件系统越复杂就越容易出BUG,而未来智能电动汽车的软件代码可能会超过十亿行,是最复杂的软件系统。作为对比,美国最先进的F35战斗机有2400万行代码,office软件有4000万行代码,Windows 10操作系统大约有一亿行代码。在十亿行代码中不出现BUG基本上是不可能的。智能座舱和自动驾驶是智能汽车软件系统当中最复杂的两个部分。在智能座舱部分,BUG可能会导致用户体验的下降、用户信息的泄露;在自动驾驶部分,BUG可能会造成可靠性的下降,甚至会导致事故的发生。

目前的汽车软件系统大约有一亿行代码,而未来智能汽车的软件系统代码行数可能会突破十亿行。

目前闹得沸沸扬扬的特斯拉“刹车失灵”事件就展现了智能汽车可能会遇到的一系列软件问题。特斯拉采用了博世的iBooster电动助力刹车系统,刹车助力的策略和各项参数可以通过软件来调整。于是特斯拉通过OTA升级就能提升车辆的刹车性能,可以说是“软件定义汽车”的典型案例。但是另一方面,特斯拉对iBooster的控制软件做了大量的修改,而这些修改很可能带来了一些缺陷,这被广泛认为是“刹车失灵”的主要原因。

自动驾驶往往采用了复杂的神经网络算法,研发人员用海量的真实路况和人类驾车数据来训练算法,让神经网络理解这些数据,并复现人类驾车时的反应。这种算法被广泛应用在AI领域,解决了不少难题。但这种先进的算法也有可能存在BUG和缺陷。在2019年,美国最大点评网站 Yelp的工程师训练了一个用来消除 BUG 的神经网络。让人意想不到的是,这个神经网络把所有代码都删除了,从而彻底地“消除”了BUG。这样的问题同样可能出现在自动驾驶领域。

神经网络算法是一种黑箱算法,在输入的数据和输出的决策之间存在一个黑箱。也就是说,研发人员其实并不清楚机器到底是如何通过输入的数据形成最终决策的。对于自动驾驶这种需要极端安全性和可靠性的应用场景来说,黑箱的存在无疑是个巨大的隐患。直到发生了事故,我们才会知道算法有问题,但是问题在哪儿却又是不可知的。这又给事故的调查和监管带来难题。

即使车企的工程师们开发出了一种相对完善的软件系统,并不意味着它们完全避免了严重的BUG,日益频繁的OTA很可能会带来新的问题。在“软件定义汽车”概念中,OTA空中升级是极为重要的一环,通过OTA可以不断赋予车辆新的功能。车企的软件OTA频率正在逐渐向手机厂商靠拢,未来将可能实现每个月都有升级。然而手机软件的测试流程相对简单,智能汽车软件系统则需要更加严格、更加复杂的测试。在升级频率越来越快的压力之下,智能汽车软件系统OTA带来BUG的可能性是非常高的。好在更新频繁的主要是智能座舱部分,带来的损失相对较小。

责任编辑:lq6

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分