随着5G时代的到来,边缘计算成为自动驾驶系统中新的业务增长点,未来将有超过60%的数据和应用将在边缘产生和处理。
边缘计算是一种在网络边缘进行计算的新型计算模式,其对数据的处理主要包括两个部分,其一是下行的云服务,其二是上行的万物互联服务。“边缘”实际上是一种相对概念,指从数据到云计算中心内路径之间的任意计算、存储以及网络相关资源。从数据的一端到云服务中心的另一端,在此路径上根据应用的具体需求和实际应用场景,边缘可以表示为此条路径上的一个或多个资源节点。边缘计算的业务本质是云计算在数据中心之外汇聚节点的延伸和演进,主要由边缘云、边缘网络、边缘网关三类落地形态构成。
如上图所示,表示一种目前在自动驾驶中使用的工控机。实际上,它是一种加固的增强型个人计算机。它可以作为一个工业控制器在工业环境中可靠运行,采用符合EIA 标准的全钢化工业机箱,增强抗电磁干扰能力,并采用总线结构和模块化设计技术,防止出现单点故障。如上自动驾驶工控机网络设计方案充分考虑了 ISO26262 的要求。其中,CPU、GPU、FPGA 以及总线都做冗余设计。当整体 IPC 系统失效时,冗余MCU控制可以保证运算安全,直接发送指令到车辆 CAN 总线中控制车辆停车。目前这种集中式的架构适用于下一代集中式自动驾驶系统方案,其中工控机相当于下一代集中式域控制器,将所有的计算工作统一放到一个其中,算法迭代不需要过度考虑硬件的整体升级和车规要求。
边缘计算与边缘云
当前自动驾驶中,大规模的人工智能算法模型和大规模数据集中化分析均放在云端进行。因为,云端拥有大量的计算资源,可以在极短的时间内完成数据的处理,但是仅依靠云端为自动驾驶汽车提供服务在很多情况下是不可行的。因为自动驾驶汽车在行驶过程中会产生大 量需要实时处理的数据,如果将这些数据都通过核心网传输到远程云端处理,那么仅数据的传输便会导致很大的时延,无法满足数据处理的实时性要求。核心网络的带宽也难以支持大量自动驾驶汽车同时向云端发送大量的数据,而且一旦核心网络出现拥塞导致数据传输不稳定,自动驾驶汽车的行驶安全便得不到保障。
边缘计算关注局部业务,实时性要求高,网络压力较大,计算方式面向本地化。边缘计算更适用于基于集成的算法模型,进行本地小规模智能分析与预处理工作。将边缘计算应用到自动驾驶领域将有助于解决自动驾驶汽车在环境数据获取和处理上所面临的问题。
作为行业数字化转型的两大重要计算方式,边缘计算与云计算基本是同时共存、相互补充、相互促进,共同解决大数据时代的计算问题。
边缘计算是指在网络边缘执行计算的一种计算模型,其操作对象来自云服务的下行数据和万物互联服务的上行数据,而边缘计算中的“边缘”是指从数据源到云计算中心路径之间的任意计算和网络资源。简而言之,边缘计算将服务器部署到用户附近的边缘节点,在网络边缘(如无线接入点) 给用户提供服务,避免了长距离数据传输,给用户提供更加快速的响应。任务卸载技术将自动驾驶汽车的计算任务卸载到其他边缘节点执行,解决了自动驾驶汽车计算资源不足的问题。
边缘计算具有邻近性、低时延、本地性和位置感知性的特点。其中,邻近性是指边缘计算靠近信息源,适用于通过数据优化捕获和分析大数据中的关键信息,并且可以直接访问设备,更加高效地服务与边缘智能,易于衍生出特定的应用场景。低时延是指边缘计算服务靠近产生数据的终端设备,相对于云计算,极大的降低了时延,尤其是在智能驾驶应用场景中,使得反馈过程更加快速。本地性是指边缘计算可以与网络的其余部分隔离运行,实现本地化,相对独立的计算,一方面保证了本地数据安全性,另一方面降低了计算对网络质量的依赖性。位置感知性是指当边缘网络是无线网络的一部分时,边缘计算式的本地服务可以利用相对较少的信息来确定所有连接设备的位置,这些服务可以应用于基于位置的服务应用场景。
同时,边缘计算的发展趋势将逐渐向异构计算、边缘智能、边云协同以及5G+边缘计算的发面进行演进。异构计算需要使用不同类型的指令集和体系架构的计算单元组成系统的计算方式,满足边缘业务对多样性计算的需求,通过异构计算不仅可以满足新一代“连接+计算”的基础设施构建,还可以满足碎片化产业和差异化应用的需求,提升计算资源利用率,支持算力的灵活部署和调度。
边缘计算参考架构
边缘计算参考架构的每层都提供了模型化的开放接口,实现了架构的全层次开放,通过纵向管理服务,数据全生命周期服务以及安全服务,实现业务全流程、全生命周期的智能服务。
如上图所示,边缘计算参考架构主要包括如下内容:
整个系统分为智能服务、业务编排、边缘云和边缘计算节点四层,边缘计算位于云和现场设备之间,边缘层向下支持各种现场设备的接入,向上可以与云端对接。边缘层包括边缘节点和边缘管理器两个主要部分。边缘节点是硬件实体,是承载边缘计算业务的核心,边缘管理器的核心是软件,主要功能是对边缘节点进行统一管理。边缘计算节点一般具有计算资源、网络资源和存储资源,边缘计算系统对资源的使用有两种方式:其一,直接将计算资源、网络资源和存储资源进行封装,提供调用接口,边缘管理器以代码下载、网络策略配置和数据库操作等方式使用边缘节点资源;第二,进一步将边缘节点的资源按功能领域封装成功能模块,边缘管理器通过模型驱动的业务编排方式组合和调用功能模块,实现边缘计算业务的一体化开发和敏捷部署。
边缘计算的硬件基础设施
1、边缘服务器
边缘服务器是边缘计算和边缘数据中心的主要计算载体,可以部署在运营商某机房内。由于边缘计算环境差异较大,且边缘业务在时延、带宽、GPU和AI等方面存在个性化诉求,同时应该尽量减少工程师在现场的操作,并具有强大的管理运维能力保障,其中包括状态采集、运行控制和管理接口,以实现远程、自动化的管理。
自动驾驶系统中,通常采用智能边缘一体机将计算、存储、网络、虚拟化和环境动力等产品有机集成到一个工控机中,方便自动驾驶系统的正常工作。
2、边缘接入网
边缘计算接入网络是指从用户系统到边缘计算系统所经过的一系列网络基础设施,包括但不限于园区网、接入网络和边缘网关等。且带有融合性、低时延、大带宽、大连接、高安全等特性。
3、边缘内部网络
边缘计算内部网络是指边缘计算系统内部网络基础设施,如连接服务器的网络设备,与外网互联的网络设备以及由其构建的网络等。边缘计算内部网络具有架构简化、功能完备、性能损耗大幅减少的特征;同时,能做到边云协同,集中管控。
由于边缘计算系统天然呈现分布式属性,单个规模不大但数量众多,若采用单点管理模式,难以满足运行需求,还会占用工控机资源,降低效益;另一方面,边缘计算业务更强调端到端的时延、带宽以及安全性,因此边云、边边之间的协同也是非常重要的。一般是需要在云计算系统中引入智能化的跨域管理编排系统,统一管控一定范围内的所有边缘计算系统网络基础设施,通过支持基于边云协同集中式管理模式,保证网络与计算资源的自动化高效配置。
4、边缘计算互联网络
边缘计算互联网络包括从边缘计算系统到云计算系统(如公有云、私有云、通信云、用户自建云等),其他边缘计算系统、各类数据中心所经过的网络基础设施。边缘计算互联网络具备连接多样化、跨域低时延的特征。
边缘计算与自动驾驶系统如何结合
下一阶段,为了实现更高阶自动驾驶系统任务,仅仅依靠单车智能是完全不够的。
协同感知和任务卸载是边缘计算在自动驾驶领域的主要应用,这2种技术使实现高级别自动驾驶成为可能。协同感知技术使汽车可以获取其他边缘节点的传感器信息,扩大了自动驾驶汽车的感知范围,增加了环境数据的完整性。以自动驾驶为例,汽车将集成激光雷达、摄像头等传感器,同时需要通过车辆网V2X等实现车辆与道路以及交通数据的全面感知,获取比单车内外部传感器更多的信息,增强对超视距范围内环境的感知,并通过高清的3D动态地图实时共享自动驾驶位置。并将采集到的数据与道路边缘节点和周边车辆进行交互,从而扩展感知能力,实现车与车、车与路协同。云计算中心则负责收集来自分布广泛的边缘节点数据,感知交通系统的运行状况,并通过大数据和人工智能算法,为边缘节点、交通信号系统和车辆下发合理的调度指令,从而提高系统运行效率。比如,雨雪、大雾等恶劣天气下,或在交叉路口、拐弯你等场景下,雷达和摄像头无法清晰的辨别前方障碍,通过V2x来获取道路,行车等实时数据,可以实现智能预测路况,避免意外事故的发生。
随着自动驾驶等级的提升,配备智能传感器数量的增加,自动驾驶汽车每天产生大量的原始数据。这些原始数据需要在本地进行实时处理、融合以及特征提取,包括基于深度学习的目标检测和跟踪等。同时需要利用V2X提升对环境、道路和其他车辆的感知能力,通过3D高清地图进行实时建模和定位、路径规划和选择、驾驶策略调整,进而安全的控制车辆。由于这些任务都需要在车内始终来保持处理和响应实时性,因此需要性能强大可靠地边缘计算平台来执行。考虑到计算任务的差异性,为了提高执行效率并降低功耗和成本,一般需要支持异构的计算平台。
自动驾驶的边缘计算架构依赖于边云协同和LTE/5G提供的通信基础设施和服务。边缘侧主要指车载单元、路侧单元(RSU)或移动边缘计算(MEC)服务器等。其中车载单元是环境感知、决策规划和车辆控制的主体,但依赖于RSU或MEC服务器的协作,如RSU给车载单元提供了更多关于道路和行人的信息,但是有些功能运行在云端更加适合甚至无法替代。比如车辆远程控制、车辆模拟仿真和验证、节点管理、数据的持久化保存和管理等。
对于自动驾驶系统的边缘计算来说,可以很好的实现负载整合、异构计算、实时处理、连接互通、安全优化等优势。
1、“负载整合”
将诸如ADAS、IVI、数字仪表、抬头显示和后娱乐系统等不同属性的负载,通过虚拟化计算运行在同一个硬件平台上。同时,基于虚拟化和硬件抽象层的负载整合,更易于实现云端对整车驾驶系统的业务编排、深度学习模型更新、软件和固件升级等。
2、“异构计算”
是将自动驾驶系统边缘平台所继承的多种不同属性的计算任务,根据其在不同硬件平台上运行的性能和能耗比差异性采取不同的计算方式。例如地理定位和路径规划、基于深度学习的目标识别和检测、图像预处理和特征提取、传感器融合和目标跟踪等。GPU擅长处理目标识别和跟踪的卷积计算。而CPU则对于逻辑运算能力将会产生更好的性能、且能耗也更低。而数字信号处理DSP则在定位等特征提取算法产生更多优势。这种异构计算的方式很好的提升了计算平台的性能和能耗比,降低计算时延。异构计算针对不同计算任务选择合适的硬件实现,充分发挥不同硬件平台的优势,并通过统一上层软件接口来屏蔽硬件多样性。
3、“实时处理”
众做周知,由于自动驾驶系统对于实时性要求极高,因为危险情况下可能就那么几秒钟的时间可用于自动驾驶系统进行刹车避撞。并且,该制动反应时间包括整个驾驶系统的响应时间,涉及云端计算处理、车间协商处理时间、车辆本身系统计算和制动处理时间。如果将自动驾驶响应实时划分到对其边缘计算平台的各个功能模块要求。则需要细化到感知检测时间、融合分析时间以及行为路径规划时间上。同时也要考虑整个网络时延,因为5G带来的低时延、高可靠性应用场景也是非常关键的。他可以使自动驾驶汽车实现端到端低于1ms的时延,并且可靠性接近100%。同时,5G可以根据优先级灵活分配网络处理能力,从而确保车辆控制信号传输具备较快的响应速度。
4、“连接互通”
面向自动驾驶汽车的边缘计算离不开车用无线通信技术(V2X, vehicle-to-everything)的支持,它提供了自动驾驶汽车与智能交通系统中其他元素的通信手段,是自动驾驶汽车和边缘节点合作的基础。
目前,V2X 主要基于专用短程通信(DSRC, dedicated short range communication)和蜂窝网络[5]。其中 DSRC 是一种专门用于车辆与车辆(V2V, vehicle-to-vehicle)和车辆与道路基础设施(V2I, vehicle-to-infrastructure)之间的通信标准,具有数 据传输速率高、时延低、支持点对点或点对多点通信等优点。以 5G 为代表的蜂窝网络具有网络容量大、覆盖范围广等优点,适用于 V2I 通信和边缘服务器之间的通信。
5、“安全优化”
边缘计算安全性是边缘计算的重要保障,其设计结合了云计算和边缘计算纵深的安全防护体系,增强边缘基础设施、网络、应用、数据识别和抵抗各种安全威胁的能力,为边缘计算的发展构建安全可信环境。下一代自动驾驶系统5G核心网控制面与数据面呈现分离状态,NFV令网络部署更加灵活,从而确保边缘分布式计算部署得以成功。边缘计算将更多的数据计算和存储从中央单元散步到边缘,其计算能力部署于靠近数据源的地方,一些数据不必再经过网络到达云端处理,从而降低时延和网络负荷,也提升了数据安全性和隐私性。对于未来对于靠近车辆的移动通信设备,如基站、路边单元等或均将部署车联网的边缘计算,可以很好的完成本地端的数据处理、加密和决策,并提供实时、高可靠的通信能力。
边缘计算在自动驾驶的环境感知和数据处理方面有着极其重要的应用。自动驾驶汽车可以通过从边缘节点获得环境信息来扩大自身的感知范围,也可以向边缘节点卸载计算任务以解决计算资源不足的问题。相比于云计算,边缘计算避免了长距离数据传输所导致的高时延,能给自动驾驶车辆提供更快速的响应,并且降低了主干网络的负载。因此,阶段性自动驾驶研发过程采用边缘计算将是其不断优化和发展的重要选项。