关于ZAKER 一起剪 合作 加入
盖世汽车 10-21

吉林大学教授王献昌:软件定义互操作——跨系统集群协同

10 月 18 日 -19 日,2021 第九届汽车与环境论坛 & 第 13 届全球汽车产业峰会隆重召开。本次论坛主要围绕中国汽车产业发展、动力总成电气化、ADAS 与自动驾驶、芯片与汽车基础软件、智能座舱等行业热点话题展开,旨在共同探讨新形势下中国汽车产业有序发展的新思路。下面是吉林大学教授王献昌 在此次论坛上的演讲实录。

大家好,很高兴今天跟各位汽车界朋友分享我过去工作的一些经历,包括现在正在做的工作。可以这样讲,我是第一次参与汽车峰会,不过我是传统搞人工智能的,做了快 40 年了,从国家 863 就开始了。

最近我们的工作是从另一个角度去看什么叫无人自主系统,包括在集群层面应该有什么样的基本的能力?

今天跟大家汇报的主题就是 " 软件定义互操作:无人自主系统集群协同 ",这可能是从另一个角度来看待未来无人自主系统发展的趋势和这种发展所需要的核心技术支撑能力。

第一部分是跨无人自主系统集群协同背景。

美国军方应该是无人自主系统技术的驱动者,推动者和引领者,最近发布的 2018-2042,25 年规划路线图里面列举了自主系统三个核心技术,其中首位就是自主系统的互操作能力。从自主系统本身的技术层面来讲,我们基本上是在平台层,就是平台本身的自主性,比如说无人自主系统平台层的层次化,模块化软硬件描述方法,数值化,可描述,可插可用等。第二个是系统集群协同层,包括动态集群架构,通用互操作描述方法,协同可描述,这些在国内外已经有几十年历史了,等下我会讲。历史过程中,为什么要形成一系列规范和标准,这些规范和标准解决什么问题?就是要解决面向开放环境下,大家知道开放环境很复杂,千语万言说不完,这就是开放的特点。再有是不同的系统,对于车来讲也是不同的厂家,它的异构性很大,这种情况下通用互操作接口规范与标准体系成为制约未来和当下集群协同,如车车联网互动的关键。那么什么叫软件定义?基于刚才谈到的规范和标准,我们需要通过标准化接口形成不同平台的软件智能化生成,这就是依据标准和规范自动生成软件的能力,而这个就解决了重复造轮子,轮子大小不一样,轮子质量有差异,造成复杂系统建设的水平取决最坏轮子的质量这样一个状况。

从当前无人系统发展来讲,发展方向实际上也是到了能不能实现软件定义的阶段了,也就是说我们已经到了一个十字路口,过去传统开发模式有什么需求我们就开发这个需求,结果我们的系统越做越大,越来越复杂,投入成本越来越高,维护和改进成本越来越大,软件成本在自主驾驶中的投入越来越高,这个时候怎么办?软件定义是实现未来复杂系统建设的基本思路,也是人工智能经常讲开放体系架构,分布式人工智能核心的技术推动力。进一步才谈自主协同,当然我的背景是做空地无人系统集群协同,所以这块应用协同更胜于民用这块的协同。支撑技术就是软件定义互操作可以跨不同厂家和不同异构自主系统。

第二部分,PID:平台无关描述。SD:软件定义。

在历史上这个过程非常漫长,经历了至少 30 多年,实际上上世纪 90 年代就有软件定义无线电的技术思路,早期北约为了解决不同无人飞机之间的协同,早期提出了北约标准化通信协议,到现在仍然在用,但是基本上被后面 SOA 架构取代了。但是当我们谈软件定义互操作的时候,我们发现我们己经到了一个十字路口,十字路口之前,像美国军方提出来地面无人系统联合架构就是基于 XML 和 SOA 的互联互通为基础,此后美军末来航空电子环境项目 ( FACE ) ,则基于这个项目推出一系列验证项目。大家知道航空电子系统很复杂,投入很大,所以这种情况下明确确定以软件定义互操作来界定不同电子设备之间,包括功能层之间的标准化定义,这就是软件定义互操作,目前已经到落地阶段了,在我们国家也有相关标准。从集群协同来讲,作为美军军事化作战,未来无人机集群协同为重要方式之一。

那么 PID 定义,通过 IDL 接口描述规范文件集对跨异构无人设备进行任务层面的约束,并且可以以软件定义的方式对 IDL 接口进行解析和平台相关的软件自动生成。当前的状况是什么呢?我们国家军方比较领先,在 2004 年推出了软件定义无线电的标准,紧跟着 2010 年推出了军方通用的软件接口标准,基本上采用的是 CORBA 体系,最近华为推出的鸿蒙系统,为了推进 1+8+N 的生态发展,也是采用 IDL 通用接口规范,也是采用软件定义来实现智能设备间的互联互通,核心也是代码自动生成。同时在我们国家智能制造领域,电信,电力等行业也推出了一系列相关标准。

那么到底什么是软件定义?也就是说在某个领域我们有些通用需求,包括系统跟内部比如说智能传感器(智能融合),根据这个约定我们会制定一些规范,然后采用核心技术生成不同平台下的软件,那么软件定义的目的就是要实现不同平台下可执行代码的协同,这种协同就可以贯穿到不同平台之间通过软件总线进行作业。

这个图从上到下,我们谈任务系统一般是面向特定场景的关键业务系统,你也可以认为是硬件系统比如说无人车或者无人机,通过软件定义来根据不同的协同规范,通过中间控制软件总线 GIOP,比如基于 TCP/IP 就是 IIOP,如果基于其他协议对应不同协议就可以了。再往下是不同异构的有人或者无人系统,包括虚拟传感设备,也就是传感设备虚拟化(可描述化),而后是不同平台,包括 ROS,DDS,R2R,虚拟传感设备,无人系统主控制器等等,再下面就是 CAN 总线及 RBI 总线等各种传感设备进行交接,这个就是软件定义要实现的目标。

我们过去几年是采用了这样一种技术实现了空地无人车不同描述规范,这些描述规范我们叫通用控制器的概念,也就是一套控制器可以控制不同的硬件系统,不管是空中的还是地面的。

这样一些工作 , 我们做了大量的不同系统之间的编队协同,我们定位很明确,就是专住在中间件和软件定义,下面无人车全部是第三方的,大家知道这个意义非常重大,因为未来就是跨系统之间的协同。

同时在空地协同方面,比如说无人机协同,装上中间件之后就可以全流程的,从感知认知到 Actions,整个 Actions 重新的确认 / 评估全流程自主化,当然后台人要观察哲个态势的流程。

第三个场景空地协同搜救,这是城市方面的空地无人系统之间的协同任务。

在过去实践中,我们发现整个过程也就分这么几类。第一类,实现两个不同系统之间的模仿模式,也就是说采用的动作是一样的,怎么实现?第二是编队可动态编队,也就是在过程中移动节点可以加进来或可以撤出去,编队队形仍然保持不变。第三是分布式控制,一般做法是都有一个后台主控制器,但实际上现在复杂的系统,后台和前台已经模糊了,有时候需要把后台的部分功能放到前台来。第四个是自主故障检测,避障,编队重组,这是在开放系统里面一个重要的能力评判,就是出现意外怎么办?能不能自动解决这些问题?比如说一个地面无人车出现问题走不动了,集群能不能自动摘出去问题节点,后面的编队继续执行相应的动作。

这个就需要一个规范定义,这个规范定义我们这两年不断拓展,根据不同的平台把生成的目标代码或者程序灌进去,一种是直接装到机器人里面,一种是通过控制接口外接计算单元,加上去之后就是不同系统之间的协同。

第四部分是跨异构系统协同展望,让所有无人自主系统无缝地协同起来。

互操作不再是通过数据传送让你理解数据所包含的语义,而是在操作层把语义固化好,让你实现无缝衔接,这样软件定义互操作的工作,也就是来支撑让所有无人自主系统无缝的协同起来。

当前我们的工作从两个角度考虑:首先,,广度上,扩大软件定义互操作的跨平台适用范围,测试以鸿蒙 OS,国产操作系统等为主的更多自主装备的互操作技术适用性。未来不管无人车还是汽车,操作系统核心必须满足 POSIX 标准,这就可以适用装备了。

深度,针对典型自主协同集群需求,深化软件定义互操作在研发和垂直领域装备自主化,智能化,集群化协同重大需求,推进面向城市应急,无人机协同作业,农业、军事,航空等重大需求对接,验证和应用规范。那么未来来讲是软件定义智能的时代,首先就是软件定义互操作,它是未来集群协同基础性工作,我们要把这个自主协同基石奠定好,它就是要破解不同系统之间的鸿沟,实现不同系统之间的协同,这个工作我们在国内已经做了有十多年了,在国外也做了很多年,应该说技术支撑成熟度已经比较成熟了,目前正在推广阶段。

谢谢大家,我就大致介绍这些工作。希望这些工作为软件定义汽车提供有益的思路。

以上内容由"盖世汽车"上传发布 查看原文
一起剪

一起剪

ZAKER旗下免费视频剪辑工具

一起剪

觉得文章不错,微信扫描分享好友

扫码分享

热门订阅 换一批

查看全部