
#百人创作先锋团#开源自动驾驶技术(1) 原创
开源自动驾驶技术
开源自动驾驶方案综述
自动驾驶技术栈
常规的自动驾驶系统主要依赖于上述几个模组
- Perception (感知)
- Localization(定位)
- HDmap(高精度地图)
- Routing(路由or全局规划)
- Planning(规划)
- Control(控制)
- By Wire(总线控制器)
在稍后的章节中会仔细介绍到这些模组分别需要依赖的技术和硬件系统支持等细节
主流开源自动驾驶框架
目前主流的框架作为汽车和机器人驱动的全栈框架主要有以下几种
-
- Autoware:这是一个由日本领先的自动驾驶公司 Tier IV 开发的开源自动驾驶框架。它提供了基本的自动驾驶技术,包括感知、决策、规划、控制和软件基础架构。其运行基础也基于ROS的中间件实现,Autoware.io版本基于ROS1的TCP/UDP实现,Autoware.universe 基于ROS2的DDS中间件实现。。
-
- Apollo:这是由百度主导开发的一个开源自动驾驶框架。它提供了一系列的模块和工具,用于构建自动驾驶汽车,其底层中间件完全使用百度自研的Cyber_RT中间件实现,该中间件能够较好的保持通信实时性,
-
- ROS(机器人操作系统):这是一个用于开发机器人应用的开源框架。它主要用于支持机器人感知、规划和控制功能,但也可以用于自动驾驶汽车的开发。
-
- AutoSAR:该系统不能完全称为自动驾驶框架,但是包含了控制和感知以及汽车电气控制部分的所有基础系统和模块,在近些年被各大公司进行魔改升级优化迭代出了一些优秀的自动驾驶框架,如EB-Robins,MDC-Core等自动驾驶框架,对于汽车底盘以及基础电气控制层更加友好。
同时也有一些
- AutoSAR:该系统不能完全称为自动驾驶框架,但是包含了控制和感知以及汽车电气控制部分的所有基础系统和模块,在近些年被各大公司进行魔改升级优化迭代出了一些优秀的自动驾驶框架,如EB-Robins,MDC-Core等自动驾驶框架,对于汽车底盘以及基础电气控制层更加友好。
主流开源自动驾驶框架的优劣对比
AutoWare框架:Autoware-ROS 基于社区用户面广的ROS机器人平台,开发时适配效率高,可用资源丰富,但是稳定性和商用性较差
Apollo:Apollo基于百度迭代数年的CyberRT中间件开发,并且使用百度的大量算法模型框架,为车规级进行了一系列定制和设计,参考资料较丰富,但是代码冗余,研究时间较长。
ROS:ROS拥有目前最大的机器人开发者社区和机器人开发生态。
汽车当中对于不同控制系统的划分
汽车机器人当中需要进行不同的模块划分时通常将不同的模块封装为域控制器,在目前我见过的汽车机器人当中有些会将安全域,服务域,泊车系统,避障系统等单独划分为域控制器,但常规的系统划分还是安全域控制器和工控机搭配的组合,大部分的传感器直接接入到工控机进行系统性的处理。
不同的域控制器之间的通信软件协议基于中间件实现,如在Apollo框架中就基于Cyber_RT框架实现,硬件系统即数据总线协议通常采用串行通信协议,其中常用的协议包括 CAN(控制域网络)、LIN(局部接口网络)和 FlexRay 等。
-
- CAN 协议是一种广泛使用的串行通信协议,用于在汽车中进行各种电子系统之间的数据交换。它采用了主从结构,允许多个域控制器之间进行高效的数据通信。
-
- LIN 协议也是一种常用的串行通信协议,用于在汽车中实现低速、低成本的数据交换。它采用了简单的主从结构,适用于在汽车中实现简单的控制和监控功能。
-
- FlexRay 协议是一种高速、可靠的串行通信协议,用于在汽车中实现高带宽的数据传输。它采用了主从多路径的结构,能够提供更高的数据传输带宽和可靠性。
Summary
目前大部分高端车厂采用AutoSar框架作为基础控制系统协议,上层除控制外的模块包括中间件全部自研,突出的厂商有华为问界,特斯拉甚至全车系统全部自研,虽然带来了一定风险,但是也统一了全车供应链以及全车集成度,有破而后立之道,特斯拉的自动驾驶技术是基于自己开发的框架,而不是使用现有的开源自动驾驶框架。该公司已经投入了大量的资源来研发自动驾驶技术,包括建立了自己的自动驾驶汽车测试平台。
特斯拉在自动驾驶技术方面取得了显著的进步,已经推出了多款拥有自动驾驶技术的汽车,其中包括 Model S、Model X、Model 3 和 Model Y 等。这些车型的自动驾驶技术采用了特斯拉自主研发的技术,并在不断更新升级。
自动驾驶商业化技术在接下来的十年二十年当中都将伴随人类社会的演进而不断推进,其中最核心的几块难以攻克的技术,包括实时操作系统,传感器冗余处理,人机交互,复杂的感知和规划以及预测算法以及人工智能模型如何部署在算力不足的车载平台,以及车载平台的算力如何划分等等,以及该行业是人工智能最好的落地实战场景,它融合了诸多的数据,每台自动驾驶机器人在道路上运行每分钟的数据量都是GB级别,每天产生的大量数据,在合适的人工智能模型训练下能够带来驾驶技术老练,感知能力超出人类的自动驾驶机器人系统,这在可预见的时间内必将实现。
