一文读懂自动驾驶软件系统
出处:维库电子市场网 发布于:2022-07-30 14:07:43
对无人驾驶来说,操作系统的实时性非常重要,操作系统要保证任务能够在规定的时间内得到响应。无人驾驶系统实现了无人驾驶所需要的各种算法,包括定位、环境感知、路径规划和控制等,无人驾驶系统是无人驾驶软件的部分。云平台提供了无人驾驶所需要的各种基础服务,共同构成了整个无人驾驶软件。
图源 CSDN况祥彬博客
自动驾驶操作系统
构建自动驾驶汽车是一项挑战,构建自动驾驶汽车操作系统则更具挑战性。
让汽车更智能、更安全比建造今天在我们的街道上行驶的任何汽车都要困难得多。自动驾驶汽车操作系统也是如此。选择汽车操作系统是一件大事,因为它需要控制汽车的功能,同时保证乘客和驾驶环境的安全。操作系统是指控制和管理整个计算系统的硬件和软件资源,并合理地组织调度计算机的工作和资源,以提供给用户和其它软件方便的接口和环境的程序集合。
而自动驾驶的操作系统较之手机电脑的操作系统,显得更加地复杂,对安全性要求也更高。由于无人车的软件算法都运行在操作系统之上,对操作系统主要的要求是稳定性和实时性。稳定性体现在操作系统占用的资源少,出现故障之后系统不会奔溃,能够长时间运行。而实时性要求系统能够及时响应控制指令,工业设备、汽车电子、航空航天等领域都要求采用实时操作系统,因为在这些领域操作系统如果不能及时响应控制指令,会产生很严重的后果。试想一下在驾驶过程中发出了紧急刹车指令,而操作系统没有及时响应,会导致严重的交通事故。
自动驾驶系统
前面介绍了实时操作系统,在实时操作系统之上运行的就是无人驾驶中重要的算法实现。算法实现有2种不同的架构,一种是模块化的软件架构,这是目前无人驾驶系统的主流方案,世界上的2个无人驾驶开源社区Apollo和Autoware都是采用这种架构。
另一种是端到端的软件架构,和模块化的思路不同,端到端的自动驾驶直接采用传感器(摄像头等)的数据作为输入,通过深度学习模型,直接输出控制信号(油门、刹车、方向转角)控制汽车的行驶。端到端的自动驾驶结构非常简单,但性能高效。由于深度学习模型不能安全硬编码,并且具有不可解释性,目前端到端的自动驾驶更多的只是作为研究手段。
现如今自动驾驶系统一般将的算法模块化划分为感知层、定位层、预测层、决策规划层以及控制层,这一套系统的划分经历过大量的实验及时间检验,可以说是目前无人车中运用广泛的系统之一。模块化划分的好处就是各个模块各司其职,只用专心处理这一层所需要处理的数据,将输出尽可能稳定地传给下一层,使其完美完成自动驾驶操作的闭环,但同时,模块间的信息交互、接口制定、互相配合的难度也是极大的,也造成了目前自动驾驶领域中部分难题难以划定为某一模块的劣势。
而端到端的自动驾驶方法和人类的驾驶方式很相似,结构简单高效,并不依赖高精度地图,但用于生产实践具有可解释性差的问题,由于自动驾驶过程中的感知、决策和规划都是通过深度学习模型完成的,出现故障后,没法分析具体的原因。并且也不能硬编码安全规则。在算法失控的时候,不能保证安全,而这一条足以使其无法应用于实际的工程应用之中。
再根据无人车是否联网,可以将无人驾驶车分为单车智能和网联智能,单车智能强调车本身的智能,即使在没有网络的情况下,也具备完全自动驾驶能力。而网联车则强调车和车、车和环境的交互,通过整个车联网来实现更的智能,车本身可以具备自动驾驶能力,也可以只具备部分自动驾驶能力,通过网络获取更的智能。从目前的发展趋势来看,无人驾驶车要更快的落地,单车智能和网联智能二者需要互相融合,共同发展。
自动驾驶云服务
云服务是自动驾驶不可或缺的一环,自动驾驶相关的高精度地图、数据存储、模型训练、自动驾驶仿真等都依赖于云服务。目前已经宣布能提供自动驾驶服务的云平台有百度Apollo、亚马逊AWS和华为Octopus,提供的主要功能包括:数据采集和存储、数据Pipeline、模型训练部署以及自动驾驶仿真。
讲到云服务,首先提到的是数据存储。数据存储首先需要的是一个分布式的文件系统,大数据时代已经被广泛证明了分布式文件系统的好处,主要的好处是容量可以水平扩展,而且可靠性高。自动驾驶每天产生的大量数据都可以通过分布式文件系统保存下来。
其次是数据处理,深度学习模型训练、高精度地图生成以及自动驾驶仿真等都需要进行数据处理。自动驾驶的数据处理流程包括:收集、清洗、标注、训练和部署。用于自动驾驶模型训练的数据首先需要人工标注,然后再进行模型训练,才能得到能够识别车辆和行人的深度学习模型。数据的自动化标注是很大的挑战,通过工程的方法尽量减少人工标注,可以大幅度提高标注效率。数据处理的另一个挑战是大规模并行处理数据,由于数据量巨大,如何快速的处理数据是瓶颈。
有很多的分布式计算框架,其中Apache Spark可以构建大规模集群并发执行多个任务,在大规模数据处理中有非常好的实践。能够快速高效的处理数据,是自动驾驶数据处理的竞争力。
便是地图服务,云端应该实时提供自动驾驶所需要的地图服务。地图包括道路信息和动态信息,道路信息不用再过多介绍,就是传统的道路信息,动态信息是地图上出现堵车或交通管制等需要实时动态更新的信息。在这之中,高精度地图的维护是目前面临的问题,因为涉及到整个地图的采集、加工和标注,实时维护大体量的高精度地图目前来说成本高昂,一些高精度地图服务提供商提出采用众包的方式更新高精度地图。
总结
以上便是自动驾驶中软件系统整体框架的全部内容,可以看到,作为目前前沿、火热的技术,自动驾驶中囊括了太多目前的科技,也不难理解为何如此多的人才涌入进该行业中。而要实现真正的无人驾驶,显然也有很长的路需要走,也需要以上的各个方向,都能取得革命性的突破,才能使得自动驾驶不再有短板,也变得越来越安全。
版权与免责声明
凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。
本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。
如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。
- NOVOSENSE - 纳芯微推出车规级温湿度传感器NSHT30-Q1,助力汽车智能化发展2024/4/25 17:50:16
- Keysight - EV 电池设计创新:扩大续航里程、延长电池寿命2024/4/25 17:42:32
- TI - 微型隔离式直流/直流模块如何实现更高的功率密度2024/4/24 15:38:49
- 汽车以太网物理层调试的实用技巧2024/4/23 17:31:42
- 高频电力传输为电动汽车无线充电铺平道路2024/4/12 17:25:08
- 英特尔数据存储如何操作和实现
- 什么是微动开关_微动开关有什么用_微动开关使用方法
- VCC,VDD,VEE,VSS在电源原理图中有什么区别?
- 低压配电系统设计规范_低压配电系统设计注意事项
- xEV 主逆变器电源模块中第四代 SiC MOSFET 的短路测试
- 光耦详细应用教程
- 定义绝缘耐久性评估的电压脉冲测试要求
- 采用沟槽MOS结构,使存在权衡关系的VF和IR相比以往产品得到显著改善 ROHM推出实现业界超快trr的100V耐压SBD“YQ系列”
- NOVOSENSE - 纳芯微推出车规级温湿度传感器NSHT30-Q1,助力汽车智能化发展
- Keysight - EV 电池设计创新:扩大续航里程、延长电池寿命