拆解软件定义汽车:OS突围
软件作为智能汽车的核心组成部分,由于自身较为独立和复杂的IT学科体系,其技术链路、产业分工、价值分配、商业模式相对硬件产品(如域控、激光雷达、摄像头等硬件)而言,在汽车产业内探讨和传播相对较少。
11月3日,高工智能汽车参加中汽协主办的中国汽车软件大会,期间关于操作系统有较多有意思的点,在此做拆解分享。
由于市场上关于操作系统相关概念说法不一,本文以《车载智能计算基础平台参考架构2.0》的划分,广义的操作系统包括:系统软件(含驱动层、内核层、中间件层)+功能软件(含功能框架层、功能服务层、应用软件接口及服务)。不同的部分,业内的玩家也往往不同。
此次文章主要集中的问题包括:
● 软件定义汽车浪潮下,操作系统产业面临的痛点是什么?
● 市场上有哪些阵营的主流玩家,正在探索的产业分工和价值分配是怎么样的?
● 国内OS厂商有哪些典型的产品和解决方案?
会议期间介绍了2023年10月中国软件评测中心发布的《车载智能计算基础平台参考架构2.0》,其中尝试进一步明确车控OS(包括安全车控OS及智能驾驶OS,前者面向动力、车身、底盘,后者面向智驾)的概念边界,细化其功能软件及系统软件各层内各模块分工及技术栈,这也为产业内理解车控OS的技术链路和产业分工提供信息支撑。
具体来看,其一,软件定义汽车浪潮下,操作系统产业面临的痛点是什么?
根据论坛期间嘉宾发言信息,集中于以下几点:
①智驾、智舱等带来了巨大的软件代码开发量,软件开发复杂度急剧拉升,软硬解藕、模块化需求涌现,以探索明确仍在快速膨胀的软件部分的分工,提高产业开发效率;
②如何实现自主可控,尽量避免出现PC、手机OS产业出现的卡脖子问题;
③如何建立生态。
关于软件复杂度问题,东软睿驰总经理曹斌表示,当前汽车电子的工程落地成本和创新成本比例,约为惊人的50:1,“可能花费了1份的创新成本,但是我们需要花费50份的工程成本把它量产”。
其中的根本原因在于,“汽车发展了上百年,无论从通信、嵌入式开发方法、工程安全等等一系列体系,当我们一个新的软件嵌入到这个里面的时候,我们确实需要知道非常多的基础逻辑和组件,而这些逻辑和组件的规模又极其庞大”。
国汽智控联席CEO丛炜表示,对于当前的大算力域控,供应商需要提供的整体软件架构解决方案非常复杂,软件开发人员协作成本变高,单纯增加人员规模无法提升开发效率问题。
电子科技大学嵌入式软件工程中心主任罗蕾表示,由于汽车上智能交互、智能互联、智能驾驶的各种需求,目前汽车上的软件代码量远远大于飞机上的软件代码量,大概为几亿行代码,传统的软件开发方法无法满足,需要新型的架构,分层解耦、软硬协同,同时共建产业和技术生态。
其二,市场上有哪些阵营的主流玩家,正在探索的产业分工和价值分配是怎么样的?
● 国际Tier1阵营:如易特驰(博世旗下)、Elektrobit(大陆旗下)等;
● 国内传统汽车电子供应商阵营:如东软睿驰(东软集团旗下)、普华基础软件等;
● 国内初创玩家:如映驰科技、华玉通软、国汽智控等;
● 跨界科技公司:如华为、中兴、斑马智行等;
● 车企阵营:如蔚来、小鹏、蔚来等头部造车新势力,以及大众、丰田等头部车企采取部分自研策略;
● 智驾Tier1:目前国内智驾Tier1普遍对外宣传自研中间件;
● 芯片厂商:如地平线、黑芝麻智能等;
整体来看,软件定义汽车的浪潮下,操作系统产业入局者众。细分模块看,入局者多在系统软件的中间件层、功能软件领域或深耕或发力,尤其是车厂、智驾Tier1、芯片厂商的涉入,产业各方均在探索自身的能力边界。
系统软件的底层OS格局稳固,玩家包括QNX(Blackberry)、Linux(开源基金会)、VxWorks(风河)、Android,原因包括开发新的OS成本高、投入长,且细分赛道体量较为有限等,华为、中兴、斑马智行等在这一领域发力。
值得一提的是,高工智能汽车注意到,如果类比智能手机、PC产业的发展,来看汽车产业操作系统的分工,智能手机的小米、OPPO、VIVO目前采取的为基于安卓的深度定制OS方案,但手机厂商头部效应显著,经历初期的山寨机横行之后迅速形成数个巨头,从而带来研发成本可摊销性强、迭代动力强,智能手机厂商本身有IT基因,汽车厂商则更趋于制造业。
PC产业发展中,微软先以操作系统占据市场,面向客户垄断应用软件入口,随即强势进入应用软件领域攻城略地斩获利润,诸多PC硬件集成商早早陷入硬件同质化的价格战,利润远不如作为软件厂商的微软和作为芯片厂商的英特尔。
不过从另一个维度来看,相对PC市场和智能手机为强智能终端属性,汽车截至目前仍是强出行属性,软件定义汽车仍处于落地验证期,仍未出现真正落地的杀手级应用(含智驾、智舱在内),主机厂在汽车产业链上具有极为强势的地位,富士康等进入汽车领域尝试的汽车硬件标准化,目前进展并不乐观,主机厂的强势地位仍未受到真正挑战。
其三,国内OS厂商有哪些典型的产品和解决方案?
● 东软睿驰方面,根据曹斌介绍,其构建了openVOC(Vehicle on Chip)的开发规范和体系框架,该体系将绝大部分智能化应用尽可能放在一颗芯片上去实现,其软件架构应更加开放,任何一个应用,可以通过软件的服务化接口,访问车上的全部硬件功能。
openVOC解决的问题包括,其一,继承过去标准的组件,如实时的功能安全组件、消息安全组件,保证车的安全可靠;其二,有跨域的中间件组合,从而将各个域组合起来,同时为面向创新的开发者和面向核心关键算法的开发者,提供不同于以往的更容易的开发组件和平台。
在该过程中,NeuSAR为东软睿驰的软件开发平台,公司2018年便正式发布NeuSAR基础软件版本,率先实现国内“AUTOSAR AP+CP+中间件”全栈软件平台产品量产落地,经过持续迭代,目前已升级至AUTOSAR R21-11版本,支持传统的ECU开发,同时又对基于域控制器和新E/E架构的软件开发提供丰富的基础软件、跨域中间件和开发工具。
● 国汽智控方面,其产品为智能汽车基础脑(iVBB,intelligent Vehicle Base Brain),其实际是面向量产的智能驾驶计算基础平台产品家族,包括智能汽车操作系统(ICVOS)、智能汽车域控制器 (ICVHW) 、车云协同基础软件(ICVEC)及信息安全数据安全 (ICVSEC),提供智能网联数字底座,赋能车企定制OS并实现智能驾驶应用高效、低成本、定制化开发。
据介绍,iVBB提供智能驾驶应用开发SDK、100+AP1、200+消息,支持领航辅助、自动泊车等应用开发;兼容国内外主流芯片和硬件平台,如华为、地平线、黑艺麻智能、TI、英伟达等相关产品,集成/定制化多种内核,兼容主流AutoSAR AP和ROS2中间件。已通过ISO26262 ASIL D流程认证和ASPICE CL2认证
● 中汽创智方面,其产品为擎臻OS,该操作系统在国际标准基础上进行深度定制,同步开发MOS、CP、CAP三大产品,还有相关的工具链,覆盖的应用场景包括三域:车控、自驾、座舱。擎臻OS的CP符合AUTOSAR的标准,主要运用于现阶段的车控;CAP包括两部分:AUTOSAR AP、AD(主要用在自动驾驶组件中),MOS虚拟化用在舱驾一体中。
据介绍,其正开发下一代的产品,即整车操作系统,其主要有四部分组成:整车软件库、数据中心、开发软件的标准规范、工具链。
其中,整车软件库面向SOA,助力OEM实现软件先行开发,实现整车软件的快速迭代;数据中心包含数据的收集,处理和存储;标准规范库由功能安全、信息安全、应用软件标准、基础软件标准构成;工具链面向开发,仿真和验证。
相关文章:

拆解软件定义汽车:OS突围
软件作为智能汽车的核心组成部分,由于自身较为独立和复杂的IT学科体系,其技术链路、产业分工、价值分配、商业模式相对硬件产品(如域控、激光雷达、摄像头等硬件)而言,在汽车产业内探讨和传播相对较少。 11月3日&…...
并发线程使用介绍(二)
2.2.6 线程的强占 Thread的非静态方法join方法 需要在某一个线程下去调用这个方法 如果在main线程中调用了t1.join(),那么main线程会进入到等待状态,需要等待t1线程全部执行完毕,在恢复到就绪状态等待 CPU调度。 如果在main线程中调用了t1.j…...

【Proteus仿真】【51单片机】多路温度控制系统
文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真51单片机控制器,使用按键、LED、蜂鸣器、LCD1602、DS18B20温度传感器、HC05蓝牙模块等。 主要功能: 系统运行后,默认LCD1602显示前4路采集的温…...

一些可以参考的文档集合15
之前的文章集合: 一些可以参考文章集合1_xuejianxinokok的博客-CSDN博客 一些可以参考文章集合2_xuejianxinokok的博客-CSDN博客 一些可以参考的文档集合3_xuejianxinokok的博客-CSDN博客 一些可以参考的文档集合4_xuejianxinokok的博客-CSDN博客 一些可以参考的文档集合5…...

k8s的service自动发现服务:实战版
Service服务发现的必要性: 对于kubernetes整个集群来说,Pod的地址也可变的,也就是说如果一个Pod因为某些原因退出了,而由于其设置了副本数replicas大于1,那么该Pod就会在集群的任意节点重新启动,这个重新启动的Pod的I…...

项目笔记记录
一、node下载版本报错:npm install --legacy-peer-deps 二、Scheduled: 任务自动化调度 Scheduled 标记要调度的方法的注解,必须指定 cron,fixedDelay或fixedRate属性之一 fixedDelay:固定延迟 延迟执行任务,任务在…...
【leetcode】1137. 第 N 个泰波那契数
题目 泰波那契序列 Tn 定义如下: T0 0, T1 1, T2 1, 且在 n > 0 的条件下 Tn3 Tn Tn1 Tn2 给你整数 n,请返回第 n 个泰波那契数 Tn 的值。 示例 1: 输入:n 4 输出:4 解释: T_3 0 1 1 2 …...

【解决】conda-script.py: error: argument COMMAND: invalid choice: ‘activate‘
运行conda activate base报错: 试了网上找到的解决方法都不行: 最后切换了一下terminal: 从powershell改回cmd(不知道为什么一开始手贱换成powershell) 就可以了...

Linux 性能调优之硬件资源监控
写在前面 考试整理相关笔记博文内容涉及 Linux 硬件资源监控常见的命名介绍,涉及硬件基本信息查看查看硬件错误信息查看虚拟环境和云环境资源理解不足小伙伴帮忙指正 对每个人而言,真正的职责只有一个:找到自我。然后在心中坚守其一生&#x…...

Windows系统隐藏窗口启动控制台程序
背景 上线项目有时候需要一些控制台应用作为辅助服务来协助UI应用满足实际需求,这时候如果一运行UI就冒出一系列的黑框,这将会导致客户被下的不起,生怕中了什么不知名病毒 方案 可以使用vbs来启动,这个是window系统自带的&#…...
FreeSWITCH fail2ban.lua
--[[ 部署:在vars.xml里面增加配置项目:<X-PRE-PROCESS cmd"set" data"api_on_startupluarun fail2ban.lua"/>或者在 lua.conf.xml 里面增加下面这个配置项目:<param name"startup-script" value"fail2ban.…...
Qt HTTP下载数据
添加头文件: #include <QNetworkAccessManager> #include <QNetworkReply> #include <QUrl> #include <QDesktopServices> 创建对象: QNetworkAccessManager networkManager;//网络管理QNetworkReply *reply; …...
8. 深度学习——NLP
机器学习面试题汇总与解析——NLP 本章讲解知识点 什么是 NLP循环神经网络(RNN)RNN 变体Attention 机制RNN 反向传播推导LSTM 与 GRUTransformerBertGPT分词算法分类CBOW 模型与 Skip-Gram 模型本专栏适合于Python已经入门的学生或人士,有一定的编程基础。本专栏适合于算法…...

部署 KVM 虚拟化平台
虚拟化技术的演变过程分为软件模拟、虚拟化层翻译、容器虚拟化三个阶段 1 软件模拟的技术方式 软件模拟是通过软件完全模拟CPU、网卡、芯片组、磁盘等计算机硬件,因为是软件模拟,所以理论上可以模拟任何硬件,甚至不存在的硬件。但是由于是软…...

Juniper PPPOE双线路冗余RPM配置
------------------ 浮动静态路由 set routing-options static route 0.0.0.0/0 next-hop pp0.0 qualified-next-hop pp0.1 preference 10 ----------------- RPM测试的内容,包括从哪个接口发起测试,测试ping等等 #指定探针类型用ICMP请求 #探测的目标地址 #探测间隔 #探测阈…...

原生JS实现视频截图
视频截图效果预览 利用Canvas进行截图 要用原生js实现视频截图,可以利用canvas的绘图功能 ctx.drawImage,只需要获取到视频标签,就可以通过drawImage把视频当前帧图像绘制在canvas画布上。 const video document.querySelector(video) con…...
前端Rust二进制/wasm全平台构建流程简述
前言 开门见山,现代前端 Rust 构建基本分三大类,即 构建 .wasm 、构建 .node 二进制 、构建 swc 插件。 入门详见 《 前端Rust开发WebAssembly与Swc插件快速入门 》 。 对于单独开发某一类的流程,在上述参考文章中已有介绍,但对于…...

加解密算法相关技术详解
文章目录 简介工作机制加解密对称密钥算法非对称密钥算法 数字信封数字签名数字证书技术对比 推荐阅读 简介 随着网络技术的飞速发展,网络安全问题日益重要,加解密技术是网络安全技术中的核心技术,是最常用的安全保密手段。 加密࿱…...

Clickhouse学习笔记(13)—— Materialize MySQL引擎
该引擎用于监听 binlog 事件,类似于canal、Maxwell等组件 ClickHouse 20.8.2.3 版本新增加了 MaterializeMySQL 的 database 引擎,该 database 能映射到 MySQL中的某个database ,并自动在ClickHouse中创建对应ReplacingMergeTree。 ClickHous…...

《QT从基础到进阶·二十四》按钮组QButtonGroup,单选框QRadioButton和多选框QCheckBox
1、按钮组QButtonGroup 如果有多个单选按钮,可以统一放进一个按钮组。 图中有三个单选按钮放进了一个QGroupBox,并且设置了水平布局,现在要将这三个单选按钮放进一个按钮组,之前的想法是先把三个按钮加入按钮组,再把按钮组放进QG…...
SkyWalking 10.2.0 SWCK 配置过程
SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外,K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案,全安装在K8S群集中。 具体可参…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)
HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...

Spark 之 入门讲解详细版(1)
1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室(Algorithms, Machines, and People Lab)开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目,8个月后成为Apache顶级项目,速度之快足见过人之处&…...

基于当前项目通过npm包形式暴露公共组件
1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹,并新增内容 3.创建package文件夹...

uniapp微信小程序视频实时流+pc端预览方案
方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度WebSocket图片帧定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐RTMP推流TRTC/即构SDK推流❌ 付费方案 (部分有免费额度&#x…...

【Zephyr 系列 10】实战项目:打造一个蓝牙传感器终端 + 网关系统(完整架构与全栈实现)
🧠关键词:Zephyr、BLE、终端、网关、广播、连接、传感器、数据采集、低功耗、系统集成 📌目标读者:希望基于 Zephyr 构建 BLE 系统架构、实现终端与网关协作、具备产品交付能力的开发者 📊篇幅字数:约 5200 字 ✨ 项目总览 在物联网实际项目中,**“终端 + 网关”**是…...
Python如何给视频添加音频和字幕
在Python中,给视频添加音频和字幕可以使用电影文件处理库MoviePy和字幕处理库Subtitles。下面将详细介绍如何使用这些库来实现视频的音频和字幕添加,包括必要的代码示例和详细解释。 环境准备 在开始之前,需要安装以下Python库:…...
拉力测试cuda pytorch 把 4070显卡拉满
import torch import timedef stress_test_gpu(matrix_size16384, duration300):"""对GPU进行压力测试,通过持续的矩阵乘法来最大化GPU利用率参数:matrix_size: 矩阵维度大小,增大可提高计算复杂度duration: 测试持续时间(秒&…...

涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战
“🤖手搓TuyaAI语音指令 😍秒变表情包大师,让萌系Otto机器人🔥玩出智能新花样!开整!” 🤖 Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制(TuyaAI…...
Typeerror: cannot read properties of undefined (reading ‘XXX‘)
最近需要在离线机器上运行软件,所以得把软件用docker打包起来,大部分功能都没问题,出了一个奇怪的事情。同样的代码,在本机上用vscode可以运行起来,但是打包之后在docker里出现了问题。使用的是dialog组件,…...