1.一种自动驾驶软件平台的跨平台通信方法,其特征在于,所述自动驾驶软件平台包括第一自动驾驶软件平台和第二自动驾驶软件平台,在第一自动驾驶软件平台的第一通信中间件和第二自动驾驶软件平台的第二通信中间件中,消息的格式不同,且同一种类型的消息归为两种不同的消息话题;所述方法包括:接收第一通信中间件的发送端发送的第一数据格式的第一消息,所述第一消息中包括第一消息话题;所述第一通信中间件与第一自动驾驶软件平台对应,所述第一数据格式与所述第一通信中间件对应;
解析所述第一消息,得到所述第一消息中的所述第一消息话题,并确定所述第一消息的消息来源为所述第一通信中间件的发送端;
将解析后的第一消息封装为第二数据格式的第二消息;所述第二数据格式与第二通信中间件对应,所述第二通信中间件与第二自动驾驶软件平台对应;重新编译所述第一通信中间件,编译后的所述第一通信中间件支持所述第二数据格式的消息传输;
根据所述第一通信中间件的发送端、所述第一消息话题和预存的话题映射关系,确定所述第一通信中间件的接收端和所述第二通信中间件的发送端,所述话题映射关系包括消息话题与通信中间件的映射关系,以及所述第一通信中间件与所述第二通信中间件中不同的消息话题之间的映射关系;
通过所述第一通信中间件的接收端调用所述第二通信中间件的发送端向所述第二通信中间件的接收端发送所述第二消息;
所述方法还包括:
接收所述第二通信中间件的发送端发送的所述第二数据格式的第三消息,所述第三消息中包括第二消息话题;
解析所述第三消息,得到所述第三消息中的所述第二消息话题,并确定所述第三消息的消息来源为所述第二通信中间件的发送端;
根据所述第二通信中间件的发送端、所述第二消息话题和预存的所述话题映射关系,确定所述第二通信中间件的接收端和所述编译后的第一通信中间件的发送端;
通过所述第二通信中间件的接收端调用所述编译后的第一通信中间件的发送端向所述编译后的第一通信中间件的接收端发送所述第三消息。
2.根据权利要求1所述的自动驾驶软件平台的跨平台通信方法,其特征在于,所述通过所述第一通信中间件的接收端调用所述第二通信中间件的发送端向所述第二通信中间件的接收端发送所述第二消息,包括:确定所述第一通信中间件的接收端对应的第一回调函数;
根据所述第一回调函数,调用所述第二通信中间件的发送端向所述第二通信中间件的接收端发送所述第二消息。
3.根据权利要求1或2所述的自动驾驶软件平台的跨平台通信方法,其特征在于,所述根据所述第一通信中间件的发送端、所述第一消息话题和预存的话题映射关系,确定所述第一通信中间件的接收端和所述第二通信中间件的发送端,包括:根据所述第一通信中间件的发送端和所述话题映射关系,确定所述第一通信中间件的接收端;
根据所述第一消息话题和所述话题映射关系,确定所述第一消息话题对应的第二消息话题对应的所述第二通信中间件的发送端;
添加所述第一通信中间件的接收端,并添加所述第二通信中间件的发送端。
4.根据权利要求1或2所述的自动驾驶软件平台的跨平台通信方法,其特征在于,所述第一通信中间件为机器人操作系统,所述第一数据格式为msg格式,所述第一自动驾驶软件平台为Autoware;所述第二通信中间件为CyberRT,所述第二数据格式为协议缓冲区格式,所述第二自动驾驶软件平台为Apollo。
5.根据权利要求4所述的自动驾驶软件平台的跨平台通信方法,其特征在于,所述将解析后的第一消息封装为第二数据格式的第二消息,包括:对解析后的第一消息的每个字段进行分解,直至分解后的每个字段的类型均为msg格式的基础类型;
根据预设的映射表,确定分解后的每个字段的msg格式的基础类型对应的Protobuf格式的基础类型;
将分解后的每个字段分别转化为Protobuf格式的基础类型下的字段。
6.一种自动驾驶软件平台的跨平台通信装置,其特征在于,所述自动驾驶软件平台包括第一自动驾驶软件平台和第二自动驾驶软件平台,在第一自动驾驶软件平台的第一通信中间件和第二自动驾驶软件平台的第二通信中间件中,消息的格式不同,且同一种类型的消息归为两种不同的消息话题;包括:接收模块,用于接收第一通信中间件的发送端发送的第一数据格式的第一消息,所述第一消息中包括第一消息话题;所述第一通信中间件与第一自动驾驶软件平台对应,所述第一数据格式与所述第一通信中间件对应;
解析模块,用于解析所述第一消息,得到所述第一消息中的所述第一消息话题,并确定所述第一消息的消息来源为所述第一通信中间件的发送端;
封装模块,用于将解析后的第一消息封装为第二数据格式的第二消息;所述第二数据格式与第二通信中间件对应,所述第二通信中间件与第二自动驾驶软件平台对应;
确定模块,用于根据所述第一通信中间件的发送端、所述第一消息话题和预存的话题映射关系,确定所述第一通信中间件的接收端和所述第二通信中间件的发送端,所述话题映射关系包括消息话题与通信中间件的映射关系,以及所述第一通信中间件与所述第二通信中间件中不同的消息话题之间的映射关系;
发送模块,用于通过所述第一通信中间件的接收端调用所述第二通信中间件的发送端向所述第二通信中间件的接收端发送所述第二消息;
编译模块,用于重新编译第一通信中间件,编译后的第一通信中间件支持第二数据格式的消息传输;
所述接收模块,还用于接收第二通信中间件的发送端发送的第二数据格式的第三消息,第三消息中包括第二消息话题;
所述解析模块,还用于解析第三消息,得到第三消息中的第二消息话题,并确定第三消息的消息来源为第二通信中间件的发送端;
所述确定模块,还用于根据第二通信中间件的发送端、第二消息话题和预存的话题映射关系,确定第二通信中间件的接收端和第一通信中间件的发送端;
所述发送模块,还用于通过第二通信中间件的接收端调用第一通信中间件的发送端向第一通信中间件的接收端发送第三消息。
7.一种计算机设备,其特征在于,所述计算机设备包括:处理器和存储器;所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令;当所述处理器执行所述计算机指令时,所述计算机设备执行如权利要求1‑5中任意一项所述的自动驾驶软件平台的跨平台通信方法。
8.一种计算机可读存储介质,其特征在于,包括计算机指令,当所述计算机指令在计算机设备上运行时,使得所述计算机设备执行如权利要求1‑5中任意一项所述的自动驾驶软件平台的跨平台通信方法。