特斯拉的自动驾驶安全,再度被推上“风口浪尖”。近日,美国法院公布了一则刑事案例:驾驶员因滥用特斯拉L2级辅助驾驶系统致人死亡,被控过失杀人罪。这又引起一波关于自动驾驶安全的讨论。对于特斯拉自动驾驶事故频发的原因,有观点指出根源在于操作系统以任务为先而不是时间优先,致使车辆面对即将发生的风险没能及时作出反应。
就此观点,《中国汽车报》记者专访了南京航空航天大学计算机科学与技术学院教授韩皓和南京大学计算机软件新技术国家重点实验室特任助理研究员吴昊。韩皓告诉记者,自动驾驶车辆上不同区块使用不同的操作系统,时间优先还是任务优先取决于这个区块的功能需求。不过,记者也了解到,目前存在的五花八门的操作系统在反映灵敏性上的确存在差异。
01 自动驾驶操作系统五花八门 实时反映差距明显
如今,我们使用的电脑基本上绕不开微软的Windows操作系统,或者苹果的IOS操作系统,这两家企业几乎垄断了电脑操作系统市场。但是,自动驾驶汽车甫一起步,便伴随着各种操作系统的诞生,多家具有实力的大公司均开发出各具特色的操作系统。
韩皓告诉记者,目前比较知名的自动驾驶操作系统有华为的鸿蒙操作系统、加拿大黑莓公司开发的QNX操作系统、特斯拉采用的Linux内核操作系统。“有些汽车企业也在开发自己的操作系统,比如,大众汽车的操作系统与特斯拉的就不同。它们开发的操作系统都是不开源系统,因此,很难知道它们操作系统的全貌。”韩皓说。
事实上,与自动驾驶汽车一样,在计算机刚兴起时,全球也有着数不清的操作系统。
比如上世纪八十年代初期风靡一时的DOS操作系统,此外还有UNIX、FreeBSD操作系统等。因操作系统功能的实现与芯片等密切相关,在后来纷繁复杂的操作系统竞争中,微软抢抓先机与英特尔达成战略合作,Windows操作系统与英特尔的芯片研发同步进行。因Windows操作系统紧贴英特尔的芯片功能,把芯片功能发挥得淋漓尽致,于是在众多操作系统中脱颖而出。如今,Windows代替了当年DOS处于“霸主”地位,也结束了计算机领域操作系统“混战”的局面。
其实,在汽车领域,自动驾驶汽车兴起之前,汽车上便使用了芯片,比如,发动机、变速器的ECU中都有芯片,但这些芯片的运行还用不着操作系统,仅需功能软件起到控制作用即可。“传统汽车上使用的芯片各自独立运行,互相之间几乎不发生关系,因此,传统汽车不需要操作系统把它们统一起来。” 韩皓说。自动驾驶汽车兴起后,车用操作系统便紧跟着发展起来。“目前,自动驾驶汽车和计算机行业刚起步时一样,操作系统五花八门,还没有哪种操作系统占据主导地位。” 韩皓说。
记者注意到,目前自动驾驶汽车的操作系统都支持多核,但在实时、启动速度等方面有较大差别。特斯拉自动驾驶采用的Linux操作系统,在实时性方面,不打开CONFIG_PREEMPT_RT(适时抢占补丁)的情况下,启动速度可以达到毫秒级,打开CONFIG_PREEMPT_RT的情况下,则是微秒级。两者之间相差1000倍。
与之相比,QNX操作系统的实时性稍好于特斯拉的操作系统,不过也有微秒级的任务调度延迟。综合来看,目前的几种主流操作系统的实时性仍有较大差异,Linux操作系统的启动速度从1秒到10秒不等,QNX为几百毫秒,传统的简单RTOS系统也是几百毫秒,甚至更短。在实时性上,Linux并不占优,在内核功能安全上,Linux操作系统也没有功能安全等级之分,这或许也是有观点认为特斯拉自动驾驶事故频出的原因所在。
不过,尽管Linux操作系统在多个方面并不占优,但其软件生态极为丰富,大量的免费软件可以从开源社区获得,因此,Linux操作系统大量运用于中控娱乐、导航、行车记录仪等设备。那么,Linux操作系统是否适合驾驶控制系统?是否适合功能优先?业内人士认为,在实时性和启动速度上,Linux操作系统表现不佳,在功能使用上,行业、企业应该认真思考如何应用。
韩皓也表示,计算机各种命令都在Windows操作系统的指挥之下,但自动驾驶汽车的不同操作对应的功能相差很大,不同的功能对反应时间的要求也相差很大,这也对操作系统提出了更高要求。他认为:“关系到驾乘人员安全的区块,要求反应灵敏,制动时间短,此时操作系统应要求时间优先。在座舱操作系统中又有很多子系统,比如打开音响、启动空调等功能操作的时间不那么紧迫,这类操作系统就可以选择任务优先。”
业内人士认为,出于各方面的考虑,车企自动驾驶操作系统会采取时间优先或者任务优先,但最根本的还是要把消费者的利益和安全放在最前面。
02 加强测试以降低风险
在五花八门的操作系统面前如何保障安全?这就需要加强自动驾驶汽车的测试。吴昊告诉记者:“自动驾驶汽车的测试包括两部分,传统汽车功能测试和自动驾驶功能测试。通俗地说,传统汽车上路,车辆要取得合格证,驾驶人要有驾照。自动驾驶汽车就是把驾驶人的驾照转换成自动驾驶系统,只有这套系统取得了‘驾照’,车辆才能上路。”
自动驾驶汽车与传统汽车有很大区别,因此在自动驾驶汽车测试中,一般会先采用仿真技术进行测试,大型仿真软件虚拟出多个驾驶场景,观测车辆在这些虚拟环境下的表现。通过仿真测试之后,车辆才会被投放到指定的测试道路上试运行。吴昊说:“目前全国多个城市开辟了自动驾驶测试道路,为智能网联汽车的驾驶功能完善起到了促进作用。”
不过,目前自动驾驶技术进步很快,测试手段却一直滞后于技术迭代,这会不会导致测试难以起到监督作用?对此,吴昊认为:“自动驾驶测试只针对结果,要求功能、性能达到要求即可,对于实现的过程不会去考虑,因此,技术迭代速度与测试不存在脱节现象。”
不容忽视的是,自动驾驶测试也面临不少麻烦,韩皓告诉记者,目前各大车企的操作系统都是封闭的,没有开放源码,原因之一是所有的操作系统不可避免地都存在漏洞,一旦开放源码被发现漏洞后,对自身不利,但这给测试带来很多阻碍。另外,目前,自动驾驶分为视觉派和激光雷达派两派,这种差别导致很难制定统一的检测标准,给自动驾驶测试提出了挑战。
03 信息安全也不能忽视
除了业内外更关注的诸如碰撞事故等传统功能安全外,韩皓认为行业更应关注信息安全。韩皓说:“传统汽车主要强调功能安全,比如,制动安全、碰撞安全等。但自动驾驶汽车大量使用IT技术,在传统汽车功能安全的基础之上,信息安全变得更加突出。”
据介绍,大型软件及操作系统很难避免漏洞,这就导致自动驾驶软件存在一定的安全隐患。“目前,车联网安全面临的问题包括网络安全事件频发、存在安全技术缺口、技术平台建立处于起步阶段还没有发挥高效功能、政策法规体系也有待完善等。”韩皓说。
据介绍,2016年以来,全球发生的安全事件增加了605%,仅2019年就增加了1倍以上,这其中31%属于汽车盗窃,27%属于汽车系统控制,23%属于数据隐私泄露,19%归属于其他。韩皓认为:“目前对自动驾驶汽车还缺乏完善的安全测试方法和专业工具,也缺乏通信协议分析和威胁预警工具。自动驾驶汽车还处于摸索阶段,对车联网运行过程中产生的数据缺乏有效利用的方法。”
韩皓告诉记者,目前在自动驾驶汽车领域,在技术平台层面还存在检测结果与监测数据不能有效互认和共享的问题,造成了供需对接存在信息不对等,以及技术和数据资源浪费的现象。因此,在政策法规方面需要加强车主个人信息安全保护法律法规的制定,以及车联网数据安全管理。“车联网相关重要数据出境等方面尤其需要高度重视。”韩皓说。