掌桥专利:专业的专利平台
掌桥专利
首页

基于自适应平台和ROS2平台的协同控制方法及系统

文献发布时间:2024-04-18 19:59:31


基于自适应平台和ROS2平台的协同控制方法及系统

技术领域

本发明涉及车辆领域,特别是涉及基于自适应平台和ROS2平台的协同控制方法及系统。

背景技术

具有对传统车辆控制、执行优势的自适应平台(Adaptive AUTOSAR,AP)平台,其状态管理模块的封闭性导致其无法对AP平台之外的具有大数据计算处理、感知、融合、规控功能的ROS2系统中的应用程序进行控制,同时,两者通信形式的不同导致两平台交互存在困难,致使车辆在整体运行时无法对两者应用程序进行整体状态的同步控制来实现特定功能状态。现有技术主要集中在通过消息格式转换,实现AP平台和ROS2系统通信,采用串行的方式去实现某些特定的功能,无法通过同时对AP与ROS2中的应用程序进行并行管理,发挥各自平台的优势,实现特定的功能。

发明内容

本发明提供一种基于自适应平台和ROS2平台的协同控制方法及系统,用以解决现有技术中无法同时对AP与ROS2中的应用程序进行并行管理的问题,实现同时对AP与ROS2中的应用程序进行并行管理。

一种基于自适应平台和ROS2平台的协同控制方法,所述方法包括:代理状态管理器接收至少一个车辆功能的条件触发指令,并基于所述条件触发指令确定至少一个车辆功能;代理状态管理器基于至少一个车辆功能在自适应平台以及ROS2平台对应的功能子状态的预设安全等级,确定自适应平台的第一功能子状态以及ROS2平台的第二功能子状态;其中,所述第一功能子状态为自适应平台的至少一个第一应用程序的状态的集合,所述第二功能子状态为ROS2平台的至少一个第二应用程序的状态的集合;代理状态管理器向自适应平台发送所述第一功能子状态,并向ROS2平台发送所述第二功能子状态;自适应平台基于第一功能子状态,转换自适应平台的至少一个第一应用程序的状态,实现对应的功能;ROS2平台基于所述第二功能子状态,转换ROS2平台的至少一个第二应用程序的状态,实现对应的功能。

在其中一个实施例中,在所述基于所述条件触发指令确定至少一个车辆功能之前,所述方法还包括:响应于开发人员对车辆功能条件状态触发模块的第一操作,将所述至少一个车辆功能的条件触发指令增加至车辆功能条件状态触发模块中。

在其中一个实施例中,在所述基于至少一个车辆功能在自适应平台以及ROS2平台分别对应的功能子状态的预设安全等级,确定自适应平台的第一功能子状态以及ROS2平台的第二功能子状态之前,所述方法还包括:响应于开发人员对代理状态管理器中的中间状态管理器的第二操作,在所述中间状态管理器中,更新所述至少一个车辆功能中各车辆功能在自适应平台以及ROS2平台分别对应的功能子状态及其预设安全等级。

在其中一个实施例中,所述基于至少一个车辆功能在自适应平台以及ROS2平台分别对应的功能子状态的预设安全等级,确定自适应平台的第一功能子状态以及ROS2平台的第二功能子状态,包括:将第一预设安全等级集合中安全等级最高的功能子状态,确定为自适应平台的第一功能子状态;并将第二预设安全等级集合中安全等级最高的功能子状态,确定为ROS2平台的第二功能子状态;其中,第一预设安全等级的集合为:在自适应平台中,至少一个车辆功能中各车辆功能对应的功能子状态的预设安全等级的集合;第二预设安全等级的集合为:在ROS2平台中,至少一个车辆功能中各车辆功能对应的功能子状态的预设安全等级的集合。

在其中一个实施例中,所述基于至少一个车辆功能在自适应平台以及ROS2平台分别对应的功能子状态的预设安全等级,确定自适应平台的第一功能子状态以及ROS2平台的第二功能子状态,包括:在确定第三预设安全等级集合中安全等级最高的功能子状态中包含自适应平台对应的功能子状态情况下,将第三预设安全等级集合中自适应平台对应的安全等级最高的功能子状态,确定为自适应平台的第一功能子状态;或,在确定第三预设安全等级集合中安全等级最高的功能子状态中包含ROS2平台对应的功能子状态情况下,将第三预设安全等级集合中ROS2平台对应的安全等级最高的功能子状态,确定为ROS2平台的第二功能子状态;其中,第三预设安全等级集合为:在自适应平台和ROS2平台中,至少一个车辆功能中各车辆功能对应的功能子状态的预设安全等级的集合。

在其中一个实施例中,在代理状态管理器向自适应平台发送所述第一功能子状态,并向ROS2平台发送所述第二功能子状态之前,所述方法还包括:响应于开发人员对应用程序管理列表的第三操作,将所述自适应平台对应的应用程序,增加至应用程序管理列表中,并在应用程序管理列表中,初始化所述自适应平台对应的应用程序的初始状态;响应于开发人员对应用程序管理列表的第四操作,将所述ROS2平台对应的应用程序,增加至应用程序管理列表中,并在应用程序管理列表中,初始化所述ROS2平台对应的应用程序的初始状态。

在其中一个实施例中,所述自适应平台基于第一功能子状态,转换自适应平台的至少一个第一应用程序的状态,实现对应的功能,包括:所述自适应平台中的状态管理应用程序,基于所述第一功能子状态,对照应用程序管理列表,将至少一个第一应用程序中各第一应用程序的状态转换为所述第一功能子状态中规定的状态;所述ROS2平台基于所述第二功能子状态,转换ROS2平台的至少一个第二应用程序的状态,实现对应的功能,包括:所述ROS2平台中的状态管理应用程序,基于所述第二功能子状态,对照应用程序管理列表,将至少一个第二应用程序中各第二应用程序的状态转换为所述第二功能子状态中规定的状态。

本发明还提供了一种基于自适应平台和ROS2平台的协同控制系统,所述系统包括:自适应平台、ROS2平台和代理状态管理器;所述代理状态管理器,用于接收至少一个车辆功能的条件触发指令,并基于所述条件触发指令确定至少一个车辆功能;所述代理状态管理器,还用于基于至少一个车辆功能在自适应平台以及ROS2平台分别对应的功能子状态的预设安全等级,确定自适应平台的第一功能子状态以及ROS2平台的第二功能子状态;所述代理状态管理器,还用于代理状态管理器向自适应平台发送所述第一功能子状态,并向ROS2平台发送所述第二功能子状态;自适应平台基于第一功能子状态,转换自适应平台的至少一个第一应用程序的状态,实现对应的功能;ROS2平台基于所述第二功能子状态,转换ROS2平台的至少一个第二应用程序的状态,实现对应的功能。

一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行上述所述基于自适应平台和ROS2平台的协同控制方法的步骤。

一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述基于自适应平台和ROS2平台的协同控制方法的步骤。

上述基于自适应平台和ROS2平台的协同控制方法及系统,通过采用代理状态管理器,负责接收不同平台发来的条件触发,能更好、更全面的应对各种状况,并且起到了状态更改条件的整体管理。并且通过采用代理状态管理器,对自适应平台以及ROS2平台进行分别管理,从而实现对自适应平台以及ROS2平台的并行控制,从而实现各个平台相互并无干扰,各平台功能子状态的统一下发,确保了状态切换的实时性与准确性。同时,根据功能安全等级确定状态切换优先级,保证安全可靠。

附图说明

图1为一个实施例中提供的基于自适应平台和ROS2平台的协同控制系统的框架示意图;

图2为一个实施例中提供的基于自适应平台和ROS2平台的协同控制方法的流程示意图;

图3为一个实施例中提供的中间状态管理器的应用示意图;

图4为一个实施例中提供的基于自适应平台和ROS2平台的协同控制系统的框架示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

需要说明的是,除非另外定义,本发明使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。本发明中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。

为了便于理解,首先对本申请涉及的技术术语进行解释。

自适应平台(Adaptive AUTOSAR,AP)平台:AP平台相比于Classic AUTOSAR平台用于传统的实时应用,AP平台专注于处理更为复杂的任务和功能,像自动驾驶,人机界面互通,它采用基于Linux操作系统的虚拟化技术,可实现多个应用程序的并发执行。其具有平台健康监管模块、通信模块、状态管理模块、执行管理模块等,内部通信采用SOME/IP协议。

ROS2平台:ROS2平台不存在主节点Master,各个节点(应用程序)之间可以通过DDS的节点相互发现,各个节点都是平等的,可以实现一对一、一对多、多对多进行互相通信,采用(Data distribution service,DDS)协议进行通信。支持linux、windows,mac,甚至实时操作系统(Real Time Operating System,RTOS)平台。

状态管理模块:属于AP平台中的一个模块,国际规范中为StateManagement。向应用层提供接口,负责对实现某个功能的应用集群进行状态的切换,状态包括但不限于开启与关闭。后文统一称:SM。

平台健康管理模块:属于AP平台中的一个模块,国际规范中为PlatformHealthManagement。向应用层提供接口,负责对AP平台中的软件进行健康监控,异常时向SM等其他模块进行反馈。后文统一称:PHM。

ROS2状态机:ROS2系统中通过添加第三方库二次开发的所具备对ROS2系统中各节点进行状态管理功能的节点,具有对launch文件等进行配置功能,同时允许用户友好的自定义状态与功能。

节点(Node):ROS2系统中应用程序的别称。

自适应应用程序:AP平台中的应用程序(Adaptive Application,AA)。

SM_AA:AP平台中的应用程序,此应用程序调用SM模块的接口,具有对其他AA程序的状态管理权限以及控制策略。同时具备与平台之外的通信功能,包括进程间通信以及以太网通信。

SM_Node:ROS2平台中的应用程序,此应用程序具有状态机管理功能,可以外接进行交互,读取用户配置文件,同时可以对各个节点进行状态管理,比如关闭,开启等。

为了便于理解,对本申请涉及的发明构思进行解释。

针对现有车辆中存在需要AP平台和ROS2系统交互的情况下,当前技术中侧重点在于两者通信消息的对应转换上,并不具备两者应用程序状态切换的功能,当然可以基于交互通信的方式进行状态指令的发送接收,来对双方应用程序进行管理,但是无法达到同步状态,同时,策略开发难度较大,后期维护更新存在困难,耦合度太高。也就是说,当前技术中需要AP平台和ROS2系统交互的情况下,侧重点在消息格式转换,从而实现AP平台和ROS2系统通信,采用串行的方式去实现某些特定的功能,无法通过同时对AP与ROS2中的应用程序进行统一管理,发挥各自平台的优势,实现特定的功能。

本发明通过创建一个代理状态管理器,内部分为条件状态触发模块、应用程序管理列表和中间状态管理器。应用程序管理列表中包括应用程序的名称以及其状态,用于对自适应平台以及ROS2平台的应用程序的进行状态注册。条件状态触发模块用于记录车辆功能及其对应的标识,以便于基于条件触发指令确定对应的车俩功能。中间状态管理器用于将车辆功能与自适应平台以及ROS2平台的应用程序进行对应,并用于确定车辆功能在自适应平台以及ROS2平台对应的应用程序及其安全等级,用于基于安全等级从至少一个车辆功能中选择出一个车辆功能,并将对应的功能子状态发送给自适应平台的状态管理应用程序SM_AA,找到车辆功能在自适应平台对应的应用程序,也将对应的功能子状态发送给ROS2平台对应的状态管理应用程序SM_Node,并找到车辆功能在ROS2平台对应的应用程序。综上,代理状态管理器接收来自各方应用发来的条件触发指令,中间状态管理器基于条件触发指令,根据内部逻辑分别对AP平台与ROS2平台进行协同状态控制,实现特定功能,对应的交互框图可参考图1。

下面结合附图描述本发明的基于自适应平台和ROS2平台的协同控制方法及系统。

如图2所示,在一个实施例中,提出了一种基于自适应平台和ROS2平台的协同控制方法,该基于自适应平台和ROS2平台的协同控制方法可以由基于自适应平台和ROS2平台的协同控制系统执行。其中,所述系统包括:自适应平台、ROS2平台和代理状态管理器。具体地,如图2所示,本发明提供的基于自适应平台和ROS2平台的协同控制方法可以包括以下步骤:

步骤210,代理状态管理器接收至少一个车辆功能的条件触发指令,并基于所述条件触发指令确定至少一个车辆功能。

其中,代理状态管理器为用于用于接收来自各方应用发来的条件触发指令,并基条件触发指令对AP平台与ROS2平台进行协同状态控制的管理器。代理状态管理器中可以包括条件状态触发模块、应用程序管理列表和中间状态管理器,中间状态管理器根据内部逻辑分别对AP平台与ROS2平台进行协同状态控制,实现特定功能。

其中,所述至少一个车辆功能的条件触发指令可以包括以下4种:环境感知类、用户指令类、远程控制类以及车身状态类。其中,环境感知类可以为车辆中连接车辆外部传感器的应用程序发出的触发指令。用户指令类可以为座舱内乘客的输入的手动指令。远程控制类可以为远程控制端对车辆进行控制时对应的触发指令,例如汽车生产商为车辆进行OTA升级,或者车辆故障远程诊断时提供的指令。车身状态类可以为车辆内部传感器对于车辆自身状态监测后作出的状态切换指令,例如检测到发动机温度异常时触发故障操作状态。

具体地,所述至少一个车辆功能的条件触发指令可以如下表1所示。

表1

需要说明的是,实际情况中,可能会同时收到至少一个车辆功能的条件触发指令中可能涉及至少一个车辆功能。示例性地,当前方车辆减速或者停车时,智能驾驶车辆如不具备换道避障的条件,当距离前车过近时,必然会触发减速行驶(State_RS)与紧急制动(State_BK)车辆功能。

可以理解,在该步骤210之前,所述方法还包括:响应于开发人员对车辆功能条件状态触发模块的第一操作,将所述至少一个车辆功能的条件触发指令增加至车辆功能条件状态触发模块中。

其中,第一操作具体可以为将上述车辆功能的条件触发指令及其对应的标识,增加至车辆功能条件状态触发模块中的操作。可以理解,通过设定车辆功能条件状态触发模块,便于后续需新增或修改车辆功能对应的条件触发指令,从而使车辆功能状态的变动更加独立,不受车辆自身应用、客户端系统、远程控制平台、自适应平台以及ROS2平台的应用程序变动的影响,便于车辆功能的管理,提升开发效率。

步骤220,代理状态管理器基于至少一个车辆功能在自适应平台以及ROS2平台对应的功能子状态的预设安全等级,确定自适应平台的第一功能子状态以及ROS2平台的第二功能子状态。

其中,所述第一功能子状态为自适应平台的至少一个第一应用程序的状态的集合,所述第二功能子状态为ROS2平台的至少一个第二应用程序的状态的集合。

可以理解,由于实际应用过程中,可能同时接收到至少一个车辆功能,并且至少一个车辆功能在自适应平台以及ROS2平台对应功能子状态的预设安全等级并不相同,因此,代理状态管理器可以在中间状态管理器中设置至少一个车辆功能在自适应平台以及ROS2平台对应的功能子状态的预设安全等级,从而便于后续在收到多个车辆功能的条件触发指令的情况下,能够根据自适应平台以及ROS2平台分别为至少一个车辆功能对应的功能子状态预设的安全等级中,安全等级最高的功能子状态,确定自适应平台以及ROS2平台当前的功能子状态。

因此,在其中一个实施例中,在该步骤220之前,所述方法还包括:

响应于开发人员对代理状态管理器中的中间状态管理器的第二操作,在所述中间状态管理器中,更新所述至少一个车辆功能中各车辆功能在自适应平台以及ROS2平台分别对应的功能子状态及其预设安全等级。

其中,第二操作为开发人员在中间状态管理器中新增至少一个车辆功能在自适应平台以及ROS2平台对应的功能子状态及其预设安全等级的操作。

为了便于理解,下面结合表2和表3示例性地说明中间状态管理器中定义功能子状态及其预设安全等级。如表2所示,示例性地说明了减速行驶(State_RS)在自适应平台对应的功能子状态为AA_SM_RS,对应的安全等级为ASIL-A,减速行驶(State_RS)在ROS2平台对应的功能子状态为AA_ROS2_RS,对应的安全等级为ASIL-A。

表2

如表3所示,示例性地说明了紧急制动(State_BK)在自适应平台对应的功能子状态为AA_SM_BK,对应的安全等级为ASIL-B,紧急制动(State_BK)在ROS2平台对应的功能子状态为AA_ROS2_BK,对应的安全等级为ASIL-B。

表3

如前表2和表3所示,可以在代理状态管理器的中间状态管理器中定义各车辆功能在自适应平台对应的预设安全等级,定义各车辆功能在ROS2平台对应的功能子状态及其预设安全等级,因此,在同时接收到多个车辆功能的条件触发指令的情况下,代理状态管理器的中间状态管理器可以基于至少一个车辆功能在自适应平台以及ROS2平台分别对应的功能子状态的预设安全等级,确定自适应平台的第一功能子状态以及ROS2平台的第二功能子状态。

示例地,当前方车辆减速或者停车时,智能驾驶车辆如不具备换道避障的条件,当距离前车过近时,必然会触发减速行驶(State_RS)与紧急制动(State_BK)车辆功能。而紧急制动(State_BK)中自适应平台和ROS2平台的功能子状态的安全等级均最高,因此,代理状态管理器即判断最终触发紧急制动(State_BK)中自适应平台的功能子状态以及紧急制动(State_BK)中ROS2平台的功能子状态。

可以理解,根据功能安全等级确定状态切换优先级,保证安全可靠,同时,并行下发各平台子状态指令,保证状态切换的实时性与准确性。

步骤230,代理状态管理器向自适应平台发送所述第一功能子状态,并向ROS2平台发送所述第二功能子状态。

如前表2和表3所示,可以在代理状态管理器的中间状态管理器中定义各车辆功能在自适应平台对应的功能子状态,因此,在确定第一功能子状态以及第二功能子状态后,即确定了第一功能子状态在自适应平台对应的应用程序,同理,在确定第二功能子状态后,即确定了第二功能子状态在ROS2平台对应的应用程序。并且一个功能子状态可以由一个或者多个应用程序实现。

步骤240,自适应平台基于第一功能子状态,转换自适应平台的至少一个第一应用程序的状态,实现对应的功能;ROS2平台基于所述第二功能子状态,转换ROS2平台的至少一个第二应用程序的状态,实现对应的功能。

本发明提供的基于自适应平台和ROS2平台的协同控制方法,通过采用代理状态管理器,负责接收不同平台发来的条件触发,能更好、更全面的应对各种状况,并且起到了状态更改条件的整体管理。并且通过采用代理状态管理器,对自适应平台以及ROS2平台进行分别管理,从而实现对自适应平台以及ROS2平台的并行控制,从而实现各个平台相互并无干扰,各平台功能子状态的统一下发,确保了状态切换的实时性与准确性。同时,根据功能安全等级确定状态切换优先级,保证安全可靠。

在其中一个实施例中,所述基于至少一个车辆功能在自适应平台以及ROS2平台分别对应的功能子状态的预设安全等级,确定自适应平台的第一功能子状态以及ROS2平台的第二功能子状态,包括:将第一预设安全等级集合中安全等级最高的功能子状态,确定为自适应平台的第一功能子状态;并将第二预设安全等级集合中安全等级最高的功能子状态,确定为ROS2平台的第二功能子状态。

其中,第一预设安全等级的集合为:在自适应平台中,至少一个车辆功能中各车辆功能对应的功能子状态的预设安全等级的集合;第二预设安全等级的集合为:在ROS2平台中,至少一个车辆功能中各车辆功能对应的功能子状态的预设安全等级的集合。

为了便于理解,结合图3说明上述实施例中第一功能子状态以及第二功能子状态的确定过程。如图3所示,中间状态管理器中可以设置在实际应用场景中同时出现多个车辆功能的条件触发指令(State_RS和State_BK)的情况下,可以分别基于State_RS在自适应平台对应的功能子状态为AA_SM_RS对应的安全等级为ASIL-A,以及State_BK在自适应平台对应的功能子状态为AA_SM_BK对应的安全等级为ASIL-B,组成第一预设安全等级集合{ASIL-A、ASIL-B},从第一预设安全等级集合中确定一个最高的安全等级ASIL-B,并将最高的安全等级ASIL-B对应的功能子状态确定为自适应平台的第一功能子状态。同理,可以分别基于State_RS在ROS2平台对应的功能子状态为AA_SM_RS对应的安全等级为ASIL-A,以及State_BK在ROS2平台对应的功能子状态为AA_SM_BK对应的安全等级为ASIL-B,组成第二预设安全等级集合{ASIL-A、ASIL-B},从第二预设安全等级集合中确定一个最高的安全等级ASIL-B,并将最高的安全等级ASIL-B对应的功能子状态确定为ROS2平台的第二功能子状态。

在其中一个实施例中,所述基于至少一个车辆功能在自适应平台以及ROS2平台分别对应的功能子状态的预设安全等级,确定自适应平台的第一功能子状态以及ROS2平台的第二功能子状态,包括:

在确定第三预设安全等级集合中安全等级最高的功能子状态中包含自适应平台对应的功能子状态情况下,将第三预设安全等级集合中自适应平台对应的安全等级最高的功能子状态,确定为自适应平台的第一功能子状态;或,在确定第三预设安全等级集合中安全等级最高的功能子状态中包含ROS2平台对应的功能子状态情况下,将第三预设安全等级集合中ROS2平台对应的安全等级最高的功能子状态,确定为ROS2平台的第二功能子状态。其中,第三预设安全等级集合为:在自适应平台和ROS2平台中,至少一个车辆功能中各车辆功能对应的功能子状态的预设安全等级的集合。

为了便于理解,结合图3说明上述实施例中第一功能子状态以及第二功能子状态的确定过程。如图3所示,中间状态管理器中可以设置在实际应用场景中同时出现多个车辆功能的条件触发指令(State_RS和State_BK)的情况下,可以分别基于State_RS在自适应平台对应的功能子状态为AA_SM_RS对应的安全等级为ASIL-A、State_RS在ROS2平台对应的功能子状态为AA_ROS2_RS对应的安全等级为ASIL-A、State_BK在ROS2平台对应的功能子状态为AA_ROS2_BK对应的安全等级为ASIL-B,以及State_BK在自适应平台对应的功能子状态为AA_SM_BK对应的安全等级为ASIL-B,组成第三预设安全等级集合{ASIL-A、ASIL-A、ASIL-B、ASIL-B},从第三预设安全等级集合中确定一个最高的安全等级ASIL-B,将最高的安全等级ASIL-B在自适应平台对应的功能子状态AA_SM_BK确定为自适应平台的第一功能子状态,并将最高的安全等级ASIL-B在ROS2平台对应的功能子状态AA_ROS2_BK确定为ROS2平台的第二功能子状态。

在其中一个实施例中,在代理状态管理器向自适应平台发送所述第一功能子状态,并向ROS2平台发送所述第二功能子状态之前,所述方法还包括:

响应于开发人员对应用程序管理列表的第三操作,将所述自适应平台对应的应用程序,增加至应用程序管理列表中,并在应用程序管理列表中,初始化所述自适应平台对应的应用程序的初始状态;响应于开发人员对应用程序管理列表的第四操作,将所述ROS2平台对应的应用程序,增加至应用程序管理列表中,并在应用程序管理列表中,初始化所述ROS2平台对应的应用程序的初始状态。

其中,应用程序管理列表为用于管理自适应平台的应用程序和ROS2平台的应用程序的列表。应用程序管理列表中包括自适应平台中各应用程序的名称(如表4中的AA_I、AA_II以及AA_M),ROS2平台中各应用程序的名称(如表4中的Node_1、Node_2以及Node_N)以及各应用程序的状态On/Off/Shutdown。

表4

其中,开发人员对应用程序管理列表的第三操作可以为开发人员在应用程序管理列表中增加或修改自适应平台中应用程序的名称以及其状态的操作。同理,开发人员对应用程序管理列表的第四操作可以为开发人员在应用程序管理列表中增加或修改ROS2平台中应用程序的名称以及其状态的操作。

可以理解,应用程序的初始状态为关闭(off),应用程序启动后,自动注册状态为On,应用程序关闭时,重置为Off。在后续需要进行应用程序转换时,可根据具体的状态管理指令转换应用程序的状态。

在其中一个实施例中,所述自适应平台基于第一功能子状态,转换自适应平台的至少一个第一应用程序的状态,实现对应的功能,包括:

所述自适应平台中的状态管理应用程序,基于所述第一功能子状态,对照应用程序管理列表,将至少一个第一应用程序中各第一应用程序的状态转换为所述第一功能子状态中规定的状态。

可以理解,代理状态管理器在基于安全等级确定自适应平台的第一功能子状态以及ROS2平台的第二功能子状态后,可以分别向AP平台与ROS2平台中的状态管理应用程序发送第一功能子状态以及第二功能子状态,由AP平台与ROS2平台中各自的状态管理应用程序对相应的应用程序的状态进行调整。具体地,AP平台中的SM_AA和ROS2平台中的SM_Node对照应用程序状态管理列表,判断对应应用程序的状态是否与第一功能子状态中的请求状态一致,若一致,则无需发生状态更变,反之,则SM_AA调用SM模块中的接口完成对AP平台中对应应用程序的关闭(off)、开启(on)或暂停(Shutdown),SM_Node负责对ROS2平台中对应应用程序的关闭、开启或暂停,达到对某种车辆功能的实现。

在其中一个实施例中,所述ROS2平台基于所述第二功能子状态,转换ROS2平台的至少一个第二应用程序的状态,实现对应的功能,包括:所述ROS2平台中的状态管理应用程序,基于所述第二功能子状态,对照应用程序管理列表,将至少一个第二应用程序中各第二应用程序的状态转换为所述第二功能子状态中规定的状态。

下面对本发明提供的基于自适应平台和ROS2平台的协同控制系统进行描述,下文描述的基于自适应平台和ROS2平台的协同控制系统与上文描述的基于自适应平台和ROS2平台的协同控制方法相互对应参照。

图4为本发明提供的基于自适应平台和ROS2平台的协同控制系统的示意性框图。如图4所示,本发明提供的基于自适应平台和ROS2平台的协同控制系统包括:自适应平台410、ROS2平台420和代理状态管理器430;

所述代理状态管理器430,用于接收至少一个车辆功能的条件触发指令,并基于所述条件触发指令确定至少一个车辆功能;

所述代理状态管理器430,还用于基于至少一个车辆功能在自适应平台以及ROS2平台对应的功能子状态的预设安全等级,确定自适应平台的第一功能子状态以及ROS2平台的第二功能子状态;其中,所述第一功能子状态为自适应平台的至少一个第一应用程序的状态的集合,所述第二功能子状态为ROS2平台的至少一个第二应用程序的状态的集合;

所述代理状态管理器430,还用于向自适应平台发送所述第一功能子状态,并向ROS2平台发送所述第二功能子状态;

自适应平台410基于第一功能子状态,转换自适应平台的至少一个第一应用程序的状态,实现对应的功能;ROS2平台420基于所述第二功能子状态,转换ROS2平台的至少一个第二应用程序的状态,实现对应的功能。

在一个实施例中,提出了一种计算机设备,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下基于自适应平台和ROS2平台的协同控制方法对应的步骤:代理状态管理器接收至少一个车辆功能的条件触发指令,并基于所述条件触发指令确定至少一个车辆功能;代理状态管理器基于至少一个车辆功能在自适应平台以及ROS2平台对应的功能子状态的预设安全等级,确定自适应平台的第一功能子状态以及ROS2平台的第二功能子状态;其中,所述第一功能子状态为自适应平台的至少一个第一应用程序的状态的集合,所述第二功能子状态为ROS2平台的至少一个第二应用程序的状态的集合;代理状态管理器向自适应平台发送所述第一功能子状态,并向ROS2平台发送所述第二功能子状态;自适应平台基于第一功能子状态,转换自适应平台的至少一个第一应用程序的状态,实现对应的功能;ROS2平台基于所述第二功能子状态,转换ROS2平台的至少一个第二应用程序的状态,实现对应的功能。

另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行本发明提供的基于自适应平台和ROS2平台的协同控制方法,其中,基于自适应平台和ROS2平台的协同控制方法包括:代理状态管理器接收至少一个车辆功能的条件触发指令,并基于所述条件触发指令确定至少一个车辆功能;代理状态管理器基于至少一个车辆功能在自适应平台以及ROS2平台对应的功能子状态的预设安全等级,确定自适应平台的第一功能子状态以及ROS2平台的第二功能子状态;其中,所述第一功能子状态为自适应平台的至少一个第一应用程序的状态的集合,所述第二功能子状态为ROS2平台的至少一个第二应用程序的状态的集合;代理状态管理器向自适应平台发送所述第一功能子状态,并向ROS2平台发送所述第二功能子状态;自适应平台基于第一功能子状态,转换自适应平台的至少一个第一应用程序的状态,实现对应的功能;ROS2平台基于所述第二功能子状态,转换ROS2平台的至少一个第二应用程序的状态,实现对应的功能。

又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行本发明提供的基于自适应平台和ROS2平台的协同控制方法,其中,基于自适应平台和ROS2平台的协同控制方法包括:代理状态管理器接收至少一个车辆功能的条件触发指令,并基于所述条件触发指令确定至少一个车辆功能;代理状态管理器基于至少一个车辆功能在自适应平台以及ROS2平台对应的功能子状态的预设安全等级,确定自适应平台的第一功能子状态以及ROS2平台的第二功能子状态;其中,所述第一功能子状态为自适应平台的至少一个第一应用程序的状态的集合,所述第二功能子状态为ROS2平台的至少一个第二应用程序的状态的集合;代理状态管理器向自适应平台发送所述第一功能子状态,并向ROS2平台发送所述第二功能子状态;自适应平台基于第一功能子状态,转换自适应平台的至少一个第一应用程序的状态,实现对应的功能;ROS2平台基于所述第二功能子状态,转换ROS2平台的至少一个第二应用程序的状态,实现对应的功能。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

技术分类

06120116522469