很久没有写博客了,CSDN无故非法删了我第82篇,让我很恼火,一直提不起兴趣重新写一遍第82篇。但回初心,知识需要用自己的语言输出,所以今天对比分析自动驾驶中间件:
1. 中间件介绍
在自动驾驶架构中,中间件是重要部分,他是处在OS内核的上一层、功能软件的下一层的软件就是中间件,通用架构如下:
从功能角度看,中间件的的作用有很多,我简单总结:
从以上角度看,自动驾驶系统中,中间件是很重要的软件内容,绝对不是DEMO阶段理解的进程IPC。不妨再从另外一个角度来看中间件的重要性,在一个量产项目中到底中间件能决定什么内容呢,我总结出以下几点:
综上正反来看,中间件的重要性不言而喻,基本决定了整个系统的半壁江山,值得好好分析一下:
2. ROS2
要说中间件,估计ROS更加有名,ROS是一个开源的、灵活的、用于编写机器人软件的框架,设计理念是模块化和分布式的。灵活的支持多种语言,采用分布式通讯,拥有强大的工具支持。
ROS2相比ROS进行了改进,例如支持对设备,支持实时系统,没有Master节点限制,进行了规范的编程模型等,总之ROS2为自己向自动驾驶量产迈进了一步,但是量产需要包含但不限于上面节介绍的所有条件,所以ROS2依然无法摆脱浓厚的DEMO气质,离真正的自动驾驶量产还有很远。
3. CyberRT
都说百度起了个大早,赶了个晚集,但Apollo的开源,相关人员的大量毕业,还是为中国的自动驾驶打下了基础。为什么百度自动驾驶走不出来,我看是李彦宏还是没有极致的精神,内部官僚气息严重,可以理解的是:Google的Transformer作者全部离职,语言大模型也是赶了个晚集,自动驾驶不上不下,百度作为Google的学生,这样的结果也算一脉相承了。
Cyber RT是Apollo平台下一种基于ROS的开发框架,当时ROS2还没有推出,鉴于ROS1有很多缺点,例如:roscore的主节点限制;所以百度自研搞出来了CyberRT,确实比ROS离量产迈进一大步。
CyberRT基于开源的DDS协议,又使用开源Protobuf进行消息的序列化和反序列化,针对量产做了大量工作:
1.高性能:Cyber RT框架采用了多线程和多进程的并行计算模型,以实现高性能的并行数据处理和通信。
2.实时性:Cyber RT框架提供了精确的时间同步和事件触发机制,支持实时数据处理和任务调度。
3.可扩展性:Cyber RT框架采用模块化设计,允许用户通过组合和配置不同的模块来构建自定义应用程序;
4.工具支持:Cyber RT框架提供了一系列工具和库,包括可视化(Dreamview)调试工具、性能分析工具、日志记录和回放工具等,方便开发者进行开发和调优工作;
5.有向无环图:算法模块通过有向无环图,配置任务间的逻辑关系。对于每个算法可以进行优先级、运行时间、使用资源等方面的配置。
CyberRT是自动驾驶科技公司的温床,大部分科技公司的都是把CyberRT改个名,再接一个UBER开源的AVS可视化,就说自己自研中间件了,总之说自研中间件的科技公司基本都是缝合怪。
4. AutosarAP
AUTOSAR(汽车开放系统架构),是由全球各大汽车整车厂、汽车零部件供应商、汽车电子软件系统公司联盟建立的一套标准协议。
前期Autosar的标准主要针对MCU、SWC设计、ECU软件、RTOS操作系统,随着智能化、电动化、高性能,Linux操作系统等需求,就把早期的Autosar改名AutosarCP,提出新标准---- Adaptive Platform AUTOSAR,通过一个表格进行对比,基本体现了AutosarAP的新特点:
对比 |
AuotsarCP |
AuotsarAP |
操作系统 |
OSEK、RTOS |
Linux、QNX |
开发语言 |
C |
C++ |
芯片 |
MCU |
SOC |
通讯 |
基于信号 CAN/FD LIN FlexRay |
SOME/IP SPI IPC 面向服务 |
实时性 |
微妙 |
毫秒 |
功能安全 |
ASILD |
ASILB |
应用 |
电源、制动等 |
智驾、座舱 |
不难看出,AuotsarAP只是一套标准协议,任何人都可以自己按照标准来实现,下面介绍几家公司的产品和特点:
1. Vector绝对是这个领域的大哥,以功能稳定和产品丰富著称,很多标准都是Vector牵头制定的,就是价格太高,是其他家的3-4倍,AutosarAP的产品一般1500W左右,而且是按项目收费,支持又不好,销售态度恶劣,我不推荐。
2. Etas: 相比Vector 主打就是听劝,价格便宜 一般3/400W, 而且不限平台,支持又好,可惜质量一般,相信以后会慢慢提高,推荐指数****
3. EB:价格适中,支持也一般,硬件供应商德赛一直使用,搞得占有率慢慢要起来。
4. Mentor:产品也是质量一般,好在价格便宜,工具链也比较健全,比较看好
5. TTTec:这家公司很少听到,但是他们的产品却起了好听的名字:motionwise,支持也不好,价格也没有优势,不推荐
再说国内:
1. 东软睿驰:NeuSAR,这种国产软件很尴尬,东软以为自己可以卖软件,但是中间件却不同,车企愿意花钱买国外的AutoSar,所以搞出来的中间件根本卖不掉,只能自己用,自己的算法又基本玩玩,前景堪忧
2. 普华基础:国家队,为了避免卡脖子自己搞的软件,一汽、上汽肯定用,其他就没停过了,好不好我也不说了
3. 经纬恒润:早年代理过Vector,看到Vector数钱,估计眼红,自己做的就不是那么回事了,一句话四不像
国内还有很多小公司自称自研了AutosarAP,没有接触,只是直觉感觉不靠谱吧,目前主机厂量产项目基本都是AutosarAP,偶尔也有用缝合怪的,那也是被科技公司绑架了,至少汽车厂商没有标榜用了自研中间件。
5. FastDDS
DDS分布式通信规范,采用订阅/发布模型,提供多种QoS服务质量策略,以保障数据进⾏实时、⾼效、灵活地分发。ROS2和CyberRT都是基于DDS的规范来实现通讯功能,所以ePromise 公司基于DDS的规范,用C++实现了一套开源软件---FastDDS
目前FastDDS是ROS2的LTS版本和大多数非 LTS 版本中支持的默认中间件,FastDDS已经有自己的完善的文档和社区,也能移植到各种平台,通讯性能也很不错,资源消耗低,目前主要是作为ROS2的插件来用。还是需要依托ROS2强大的工具链来配合。
6. IceOryx
冰羚是一种通信中间件,由Eclipse 基金会发布和维护. 特点就是内存共享,数据传输0拷贝,可以分为不同的访问权限,可以灵活配置,目前不说量产了,想广泛的DEMO还有很长的路要走。
当下市场,科技公司眼里只有DEMO,不知量产深浅,敢于突破德国公司画的圈圈:什么功能安全、信息安全,又是诊断、又是任务管理的;统统不管,就想搞个大新闻,ROS2、CyberRT就敢量产,要是能换个壳,那就自称高级自研的中间件了,为了拿项目什么都敢说。
Tier1也只有大型公司敢于布局,靠自己拿的其他项目,半卖半送中间件,看能不能量产起来,但是目前主机厂还是不给面子。
当下主要的汽车厂还是只认AutoSARAP,对车企来说几百万对于一个项目而言也不是多的大事,没必要当你的小白鼠。文章来源:https://www.toymoban.com/news/detail-856908.html
最近看到科技公司老总总是大放厥词,就算你们的算法吊打老牌车企自研,但还是希望对量产要有敬畏之心,你所谓的端到端大模型也只是从老美摇尾乞怜来的,人家不开源你就翻白眼,纵观历史号称颠覆汽车百年工业历史的人物大有人在,又有几个做到了什么呢?文章来源地址https://www.toymoban.com/news/detail-856908.html
到了这里,关于自动驾驶(八十四)---------中间件对比分析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!