通信方法、装置、节点、存储介质及系统与流程

文档序号:18822078发布日期:2019-10-09 00:56阅读:168来源:国知局
通信方法、装置、节点、存储介质及系统与流程

本申请涉及无人驾驶技术领域,尤其涉及一种通信方法、装置、节点、存储介质及系统。



背景技术:

无人驾驶车辆在进行无人驾驶的时候对环境进行感知,从而根据环境信息实现对车辆的控制和路径的规划。为了实时准确的获取其行驶环境的监测数据,无人驾驶车辆上安装了多种车载设备,包括摄像头、激光雷达、毫米波雷达、gps和惯导系统等,任何一个车载设备的待传输消息的丢失或延迟都可能导致无人驾驶车辆无法获取完整的环境信息,进而导致无人驾驶车辆的失控;因此,实现无人驾驶车辆各种车载设备之间,以及车载设备和无人驾驶车辆感知/规划模块之间高效、高可靠性的数据通信是至关重要的。

基于其良好的可扩展性,机器人操作系统(robotoperatingsystem,ros),被广泛的应用于无人驾驶通信系统的搭建。ros系统由多个各自独立的节点(组件)组成,各个节点之间可以通过发布/订阅(publish/subscribe)消息进行通信。例如,我们将一个特定传感器的驱动模块作为一个ros发布节点,其将传感器数据发布(publish)到消息流。这些消息可能会被某些节点获取到,例如滤波器、记录器、更高级系统中的应用如导航、路径查找等节点。

ros实现通信的关键是ros节点管理器,ros节点管理器用于确保发布节点和订阅节点能够找到对方实现通信,所有的消息均需向节点管理器进行注册,具有高延时性,且一旦节点管理器被终止或出现故障,当前运行的节点将无法建立新的连接,易导致消息丢失,故基于ros系统的无人驾驶车辆通信系统的可靠性较差,消息传输延时性高,极大地影响了无人驾驶车辆的行驶安全。



技术实现要素:

本申请提供一种通信方法、装置、节点、存储介质及系统,用以解决现有技术中无人驾驶车辆的通信系统可靠性差、高延时的技术问题。

第一方面,本发明实施例提供了一种通信方法,适用于一种无人驾驶车辆的通信系统,所述通信系统包括多个通信节点;

所述方法包括:

所述通信系统中的第一通信节点获取配置文件和待传输消息;其中,所述配置文件中包括所述通信系统中的各通信节点与消息类型之间的对应关系,该对应关系用于指示各通信节点可处理的消息类型;

所述第一通信节点从所述配置文件中解析获得所述对应关系,并根据所述待传输消息的消息类型,将所述待传输消息发送给所述通信系统中与所述消息类型相对应的第二通信节点。

在一种可能的设计中,所述方法还包括:

所述第一通信节点按照第一预设时间间隔记录本节点已发送消息的数量和发送成功的消息的数量,并基于所述已发送消息的数量和所述发送成功的消息的数量生成诊断信息。

在一种可能的设计中,所述通信系统还包括第一诊断节点,所述方法还包括:

所述第一通信节点按照第二预设时间间隔向所述第一诊断节点发送第一连接请求;

若所述第一通信节点接收到所述第一诊断节点返回的同意所述第一连接请求的指令,则在生成所述诊断信息时向所述第一诊断节点发送本节点的状态信息和当前生成的诊断信息;其中,所述状态信息包括所述第一通信节点与所述第二通信节点之间的连接状态信息。

在一种可能的设计中,所述通信系统还包括第二诊断节点,所述方法还包括:

所述第一通信节点在向所述第一诊断节点发送连接请求时,向所述第二诊断节点发送第二连接请求;

若所述第一通信节点接收到所述第二诊断节点返回的同意所述第二连接请求的指令,则将本节点正在发送的消息发送至所述第二诊断节点。

在一种可能的设计中,所述通信系统还包括记录节点;

所述方法还包括:

所述第一通信节点在向所述第一诊断节点发送连接请求时,向所述记录节点发送第三连接请求;

若所述第一通信节点接收到所述记录节点返回的同意所述第三连接请求的指令,则在生成所述诊断信息时向所述记录节点发送当前生成的诊断信息、本节点的状态信息以及本节点正在发送的消息。

在一种可能的设计中,所述方法还包括:

所述第一通信节点判断所述待传输消息是否成功发送到所述第二通信节点;

若所述待传输消息未成功发送到所述第二通信节点,则基于所述待传输消息的消息类型和未成功接收所述待传输消息的第二通信节点的标识生成日志文件,并重新与未成功接收所述待传输消息的第二通信节点建立通信连接。

第二方面,本发明实施例提供了一种通信装置,适用于一种无人驾驶车辆的通信系统,所述通信系统包括多个通信节点;

所述装置包括:

获取模块,用于获取配置文件和待传输消息;其中,所述配置文件中包括所述通信系统中的各通信节点与消息类型之间的对应关系,该对应关系用于指示各通信节点可处理的消息类型;

处理模块,用于从所述配置文件中解析获得所述对应关系,并根据所述待传输消息的消息类型,将所述待传输消息发送给所述通信系统中与所述消息类型相对应的第二通信节点。

第三方面,本发明实施例提供了一种通信节点,包括存储器、处理器;

存储器:用于存储所述处理器可执行指令;

其中,所述处理器被配置为:执行所述可执行指令以实现上述第一方面任一项所述的方法。

第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现上述第一方面任一项所述的方法。

第五方面,本发明实施例提供了一种通信系统,包括多个上述第三方面所述的通信节点。

本发明实施例提供的通信方法、装置、节点、存储介质及系统,适用于一种无人驾驶车辆的通信系统,该通信系统包括多个通信节点,该通信系统中的第一通信节点获取配置文件和待传输消息;其中,所述配置文件中包括所述通信系统中的各通信节点与消息类型之间的对应关系,该对应关系用于指示各通信节点可处理的消息类型;第一通信节点根据配置文件,可以准确获取各通信节点可接收和可发送的消息的消息类型,然后根据待传输消息的消息类型,将待传输消息发送给与消息类型相对应的第二通信节点,实现待传输消息在第一通信节点和与待传输消息的消息类型对应的第二通信节点之间的传输,由于第一通信节点为通信系统中的任意一个通信节点,即各个通信节点均可以根据配置文件以及待传输消息的消息类型,自行判断目标通信节点并向该目标通信节点发送消息,一个通信节点的故障不会影响其他通信节点之间的通信,且多个通信节点可以同时进行消息的传输,通信系统的实时性和可靠性得到了极大的提高,保障无人驾驶车辆的行驶安全。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。

图1为本发明一实施例提供的通信方法的流程示意图;

图2为本发明另一实施例提供的通信方法的流程示意图;

图3为本发明又一实施例提供的通信方法的流程示意图;

图4为本发明再一实施例提供的通信方法的流程示意图;

图5为本发明下一实施例提供的通信方法的流程示意图;

图6为本发明一实施例提供的通信装置的结构示意图;

图7为本发明另一实施例提供的通信装置的结构示意图;

图8为本发明一实施例提供的通信节点的硬件结构示意图;

图9为本发明一实施例提供的通信系统的组成示意图。

通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

此外,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。

无人驾驶车辆是指可配置成处于无人驾驶模式的车辆,无人驾驶车辆的核心主要可以概括为三个部分:感知、路径规划和控制,无人驾驶车辆的感知模块从周围的环境中收集信息,然后根据环境信息实现对车辆的控制和路径的规划。故为保障无人驾驶车辆的安全可靠运行,实现无人驾驶车辆感知、路径规划模块以及控制模块之间高效、高可靠性的数据通信是至关重要的。

进一步地,为了实时准确的获取无人驾驶车辆行驶的环境数据,无人驾驶车辆上安装了多种车载设备,包括摄像头、激光雷达、毫米波雷达、gps和惯导系统等,任何一个车载设备的待传输消息的丢失或延迟都可能导致无人驾驶车辆的感知模块无法获得足够的环境信息,进而导致无人驾驶车辆的失控,因此,实现无人驾驶车辆各种车载设备之间,以及各车载设备和感知模块之间高效、高可靠性的数据通信也是至关重要的。

每一个车载设备以及无人驾驶车辆需要收发信息的功能模块都为无人驾驶车辆的一个通信节点,现有技术中,无人驾驶车辆各通信节点之间的通信主要基于ros(robotoperatingsystem)系统,ros系统实现通信的关键是ros节点管理器,ros节点管理器用于确保发布节点和订阅节点能够找到对方实现通信,各通信节点在发送和接收消息时均需向节点管理器进行注册,一旦节点管理器被终止或出现故障,当前运行的节点将无法建立新的连接,易导致消息的丢失。故基于ros系统的无人驾驶车辆通信系统的可靠性较差,极大地影响了无人驾驶车辆的行驶安全。

下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。本申请中各实施例的执行主体为图1中的通信各通信节点。

图1为本发明一实施例提供的通信方法的流程示意图。所述方法适用于一种无人驾驶车辆的通信系统,所述通信系统包括多个通信节点;

如图1所示,该方法包括:

s101、所述通信系统中的第一通信节点获取配置文件和待传输消息;其中,所述配置文件中包括所述通信系统中的各通信节点与消息类型之间的对应关系,该对应关系用于指示各通信节点可处理的消息类型。

通信节点用于进行消息的传输,可选地,通信节点可以为软件功能模块也可以为硬件设备;当通信节点为硬件设备时,通信节点可以为无人驾驶车辆的任意一个需要发送或接受消息的车载设备,包括但不限于摄像头、激光雷达、毫米波雷达、gps模块等;当通信节点为软件功能模块时,通信节点可以为无人驾驶车辆的感知模块、控制模块、路径规划模块,以及各车载设备对应的软件功能模块,本实施例中对通信节点不做限制。

第一通信节点为通信系统中的任意一个通信节点。

实际应用中,一般根据无人驾驶车辆上各通信节点之间传输的消息类型预先设置配置文件,可选地,配置文件包括通信系统中的各通信节点与消息类型之间的对应关系,该对应关系用于指示各通信节点可处理的消息类型。针对每个通信节点,可处理的消息类型包括可接收的消息类型和可发送的消息类型。具体地,配置文件包括通信系统中各通信节点的标识,以及各通信节点可接收的消息的消息类型和可发送的消息的消息类型。

待传输消息可以为通信节点直接采集获得的环境信息,也可以为各通信节点生成的消息。进一步地,通信节点生成的消息包括用于表征通信节点状态的诊断信息以及通信节点对接收到的消息进行处理后生成的待传输消息。具体地,若第一通信节点为车载设备,例如激光雷达节点,则第一通信节点的待传输消息包括激光雷达采集获得的点云消息和激光雷达节点与其他节点的连接状态信息;若第一通信节点软件功能模块,例如感知模块时,则第一通信节点的待传输消息包括感知模块接收到的各车载设备采集的环境信息、根据该环境信息生成的需要发送给路径规划模块/控制模块的信息以及感知模块与其他节点之间的连接状态信息等。应理解的是,通信节点直接采集获得的环境信息在发送前需要进行相关处理,生成包括消息类型,消息大小等信息的待传输消息。

可选地,根据待传输消息的功能以及来源进行消息类型的划分。具体地,各车载设备的采集获得消息的消息类型不同,进一步地,安装在无人驾驶车辆上不同位置的相同车载设备的采集获得的消息的消息类型也不同,例如无人驾驶车辆的车头和车尾均安装有激光雷达,则两个激光雷达采集的点云信息标记为不同的消息类型,以使不同的通信节点接收不同位置的激光雷达的点云信息。

s102、所述第一通信节点从所述配置文件中解析获得所述对应关系,并根据所述待传输消息的消息类型,将所述待传输消息发送给所述通信系统中与所述消息类型相对应的第二通信节点。

为了保障通信的低延时性,可选地,第一通信节点与目标通信节点之间的通信连接关系在第一通信节点启动时建立完成,其中,目标通信节点为通信系统中与第一通信节点存在通信连接关系的通信节点。

具体地,第一通信节点在启动时,获取预存的配置文件,在配置文件中查找确定第一通信节点可发送的消息的消息类型,并向配置文件中标记的可接收该消息类型的目标通信节点发起连接请求(用于发送);同时,目标通信节点也会接收连接请求(用于接收),进而建立第一通信节点与目标通信节点之间的通信连接。应理解的是,第一通信节点可发送的消息的消息类型可以为多个,每一种消息类型可对应多个其他通信节点。

实际应用中,各通信节点之间的通信连接正常情况下仅需建立一次,可选地,各通信节点仅在启动时获取配置文件,并根据配置文件建立相关通信连接。

第一通信节点获取待传输消息,并识别待传输消息的消息类型,解析获得配置文件中的对应关系,根据所述对应关系,确定通信系统中与该消息类型相对应的第二通信节点,并将该待传输消息发送至第二通信节点,实现本待传输消息的传输。应理解的是,同一待传输消息可以发送至多个通信节点。

由于每个通信节点单位时间内可能需要发送大量的消息,当通信节点的消息发送速度小于消息产生速度时,消息就会丢失,为了降低消息的丢失概率,可选地,每个通信节点均设有一个消息暂存区,当有消息需要发送的时候,则将该待发送的消息放入本通信节点的消息暂存区。以第一通信节点为例,第一通信节点监视本节点的消息暂存区,消息暂存区没消息时,则等待消息到来,当消息暂存区有消息时,则取出该消息,确认该消息的消息类型,将该消息发送至相应的第二通信节点,当有多个消息时,则采用先入先出的原则进行消息的读取。通过消息暂存区的设置,可以有效的降低消息的丢失概率。

本发明实施例提供的通信方法,适用于一种无人驾驶车辆的通信系统,该通信系统包括多个通信节点,该通信系统中的第一通信节点获取配置文件和待传输消息;其中,所述配置文件中包括所述通信系统中的各通信节点与消息类型之间的对应关系,该对应关系用于指示各通信节点可处理的消息类型;第一通信节点根据配置文件,可以准确获取各通信节点可接收和可发送的消息的消息类型,然后根据待传输消息的消息类型,将待传输消息发送给与消息类型相对应的第二通信节点,实现待传输消息在第一通信节点和与待传输消息的消息类型对应的第二通信节点之间的传输,由于第一通信节点为通信系统中的任意一个通信节点,即各个通信节点均可以根据配置文件以及待传输消息的消息类型,自行判断目标通信节点并向该目标通信节点发送消息,一个通信节点的故障不会影响其他通信节点之间的通信,且多个通信节点可以同时进行消息的传输,通信系统的实时性和可靠性得到了极大的提高,保障无人驾驶车辆的行驶安全。

无人驾驶车辆运行过程中,需要进行大量的消息传输,尤其是在无人驾驶车辆调试阶段,不可避免的会存在一些消息的丢失,此时获取丢失消息的消息类型,以及消息丢失的数量、频率等参数以进行后续诊断,有助于快速识别通信系统中的故障,进而进行改善,下面通过图3所示的实施例对如何获取丢失消息的诊断信息进行详细说明。

图2为本发明另一实施例提供的通信方法的流程示意图。本实施例对图1所述实施例的基础上,对如何获取丢失消息的诊断信息进行了详细说明;如图2所述,所述方法还包括:

s201、所述第一通信节点按照第一预设时间间隔记录本节点已发送消息的数量和发送成功的消息的数量。

第一通信节点实时记录本节点已发送消息的数量,当第二通信节点接收到第一通信节点发送的消息时,会反馈标记已接收的指令给第一通信节点,第一通信节点记录该指令。故第一通信节点可以直接读取获得本节点已发送消息的数量和发送成功的消息的数量。

可选地,第一预设时间间隔可以根据消息传输的频率或者消息传输量的大小预先设置。

具体地,第一通信节点还可以判断本节点已发送消息的数量和发送成功的消息的数量是否一致,具体包括,将已发送消息的数量和发送成功的消息的数量进行求差处理,若差值小于预设范围,则表示已发送消息的数量和发送成功的消息的数量一致;若差值不小于预设范围,则表示在预设时间范围内存在丢失的消息。

s202、基于所述已发送消息的数量和所述发送成功的消息的数量生成诊断信息。

每个预设时间段内的诊断信息包括当前时间段内本通信节点已发送消息的数量、发送成功的消息的数量、丢失消息的数量以及丢失消息的概率;其中,丢失消息的概率可以由丢失消息的数量与已发送消息的数量求商处理获得。

可选地,第一通信节点将本节点诊断信息保存为待传输消息,发送至目标通信节点,以便用户进行后续的分析。

可选地,当某个时间段内的通信节点的消息的丢失数量超过预设范围时,可以调取该通信节点的日志文件进行调试分析。

本实施例提供的通信方法,在任一通信节点已发送消息的数量和发送成功的消息的数量不一致时,生成该节点的诊断信息,以便节点将该诊断信息发送至目标通信节点已进行后续的调试处理,便于快速识别发现通信系统中的故障。

为了快速识别并发现通信系统中的故障信息,通信系统中一般会设置诊断节点,用于检测各通信节点的通信连接状态和诊断信息并向用户显示,以使用户及时获取通信系统中各通信节点的运行状态,下面通过图4和图5的实施例,对各通信节点如何实现与诊断节点之间的数据通信进行详细说明。

图3为本发明又一实施例提供的通信方法的流程示意图。本实施例适用于一种无人驾驶车辆的通信系统,所述通信系统还包括第一诊断节点。如图3所示,所述方法还包括:

s301、所述第一通信节点按照第二预设时间间隔向所述第一诊断节点发送第一连接请求。

第二预设时间间隔可以与第一预设时间间隔相同。实际应用中第一通信节点按照第二预设时间间隔向所述第一诊断节点发送第一连接请求,当第一通信节点与第一诊断节点建立连接后,则向第一诊断节点发送相应的消息。

s302、若所述第一通信节点接收到所述第一诊断节点返回的同意所述第一连接请求的指令,则在生成所述诊断信息时向所述第一诊断节点发送本节点的状态信息和当前生成的诊断信息;其中,所述状态信息包括所述第一通信节点与所述第二通信节点之间的连接状态信息。

第一诊断节点用于获取检测第一通信节点的诊断信息,以及第一通信节点与目标通信节点之间的连接状态并显示给用户。应理解的是,第一通信节点为通信系统中任意一个通信节点,目标通信节点为通信系统中与第一通信节点存在连接的通信节点。

具体地,当用户需要了解某个通信节点的诊断信息,以及与其他通信节点的状态时,当用户需要了解某一通信节点与其他通信节点的连接状态或者某一通信节点的诊断信息时,系统响应用户需求启动第一诊断节点,并在启动第一诊断节点时接收用户输入指定通信节点,此时第一诊断节点接收该指定通信节点发送的连接请求,并向该指定通信节点返回连接成功指令,指定通信节点接收到连接成功指令后,在每次生成诊断信息时将本节点的,该状态信息和当前生成的诊断信息发送至第一诊断节点,以使第一诊断节点将状态信息和诊断信息显示给用户。

可选地,状态信息还包括第一通信节点放入消息暂存区的消息数量,诊断节点获取该数量并显示给用户,以使用户根据各通信节点消息暂存区的消息数量调整各通信节点消息暂存区可以存放的消息的数量的上限,避免消息堆积在消息暂存区中,超过消息暂存区存放的消息的上限带来的消息的丢失。

图4为本发明再一实施例提供的通信方法的流程示意图。通信系统还包括第二诊断节点,如图4所示,所述方法还包括:

s401、所述第一通信节点在向所述第一诊断节点发送连接请求时,向所述第二诊断节点发送第二连接请求。

第一通信节点按照第二预设时间间隔向第二诊断节点发送第二连接请求,具体地,第一通信节点在向所述第一诊断节点发送连接请求的同时,向所述第二诊断节点发送第二连接请求。

s402、若所述第一通信节点接收到所述第二诊断节点返回的同意所述第二连接请求的指令,则将本节点正在发送的消息发送至所述第二诊断节点。

第二诊断节点还可以用于获取当前时刻通信系统中正在传输的消息内容。具体地,当用户需要了解通信系统中正在传输的目标类型的消息的内容时,系统响应用户需求启动第二诊断节点,并在启动第二诊断节点时接收用户输入的第一指定消息类型;第二诊断节点启动后,接收所有通信节点发送的连接请求并返回连接成功指令,各通信节点将本节点正在发送的消息发送至第二诊断节点,第二诊断节点仅接收各通信节点发送的与用户输入的第一指定消息类型一致的消息,进一步地,第二诊断节点对接收到的消息进行汇总处理,获取第一指定消息类型的消息的传输频率以及带宽。

图3和图4实施例提供的通信方法,适用于一种无人驾驶车辆的通信系统,该通信系统包括多个通信节点、第一诊断节点和第二诊断节点。实际应用中,第一通信节点按照第二预设时间间隔分别向第一诊断节点发送第一连接请求,向第二诊断节点发送第二连接请求,当第一通信节点与第一诊断节点建立连接后,则在生成诊断信息时向第一诊断节点发送本节点的状态信息和当前生成的诊断信息;此时第一诊断节点可以获取第一通信节点的实时的诊断信息并显示给用户,便于快速识别并发现通信系统中的故障信息,以及对第一通信节点进行重点关注。此外,当第一通信节点接收到第二诊断节点返回的同意所述第二连接请求的指令,第一通信节点与第二诊断节点建立连接,则将本节点正在发送的消息发送至第二诊断节点,以使第二诊断节点对接收到的消息和信息进行处理和汇总,并显示给用户,便于快速识别并发现通信系统中的故障信息。

可选地,通信系统还包括记录节点,记录节点用于记录通信系统中的运行状态,实际应用中,当用户需要记录通信系统中运行状态时,启动记录节点,可选地,用户可以在启动记录节点时确定第二指定消息类型,此时记录节点仅接收与第二指定消息类型一致的消息。

可选地,第一通信节点在向所述第一诊断节点发送连接请求时,向所述记录节点发送第三连接请求;若所述第一通信节点接收到所述记录节点返回的同意所述第三连接请求的指令,则在生成所述诊断信息时向所述记录节点发送当前生成的诊断信息、本节点的状态信息以及本节点正在发送的消息。通过本方式,第一通信节点将本节点的连接状态、诊断信息以及正在发送的消息全部分送至记录节点,以使记录节点生成记录文件,便于后续进行调试和复原。

图5为本发明下一实施例提供的通信方法的流程示意图。本实施例在图1所述实施例的基础上,对各节点通信连接中的异常如何处理进行了详细说明;如图5所述,所述方法还包括:

s501、所述第一通信节点判断所述待传输消息是否成功发送到所述第二通信节点。

s502、若所述待传输消息未成功发送到所述第二通信节点,则基于所述待传输消息的消息类型和未成功接收所述待传输消息的第二通信节点的标识生成日志文件,并重新与未成功接收所述待传输消息的第二通信节点建立通信连接。

第一通信节点向第二通信节点发送消息,当第二通信节点接收到第一通信节点发送的消息时,会反馈标记已接收的指令给第一通信节点,第一通信节点可根据是否接受到该指令判断待传输消息是否发送成功。

第二通信节点为与待传输消息的消息类型对应的通信节点,故第一通信节点的某一个待传输消息可能会同时发送给多个通信节点,即第二通信节点可以包括多个通信节点。

第一通信节点判断所述待传输消息是否成功发送到所述第二通信节点包括:第一通信节点判断所述待传输消息是否成功发送至所有的第二通信节点,具体体现为,第一通信节点根据接收到的第二通信节点反馈的指令,判断是否存在未发送成功的待传输消息。

实际应用中,当通信系统发生故障时,通信节点之间的消息可能会发送失败,具体体现为,第一通信节点的待传输消息仅成功发送至部分第二通信节点,此时存在未发送成功的待传输消息,即待传输消息未成功发送到第二通信节点,第一通信节点根据接收的第二通信节点反馈的指令确定未成功接收该待传输消息的第二通信节点,然后基于待传输消息的消息类型和未成功接收所述待传输消息的第二通信节点的标识生成日志文件。可选地,日志文件中包括该待传输消息发送失败的时间。

为了避免消息持续的发送失败,第一通信节点重新向未成功接收所述待传输消息的第二通信节点发起连接请求,直至与第二通信节点重新建立连接。

本实施例提供的通信方法,在待传输消息发送失败时,生成包含待传输消息类型以及未成功接收所述待传输消息的第二通信节点的标识的日志文件,以便后续进行调用和分析,并重新与未成功接收所述待传输消息第二通信节点建立连接,避免后续相同类型的消息传输中发送失败,进一步地提高了数据传输的可靠性。

基于上述实施例所提供的通信方法,本发明实施例进一步给出实现上述方法实施例的装置实施例。

图6为本发明一实施例提供的通信装置的结构示意图,适用于一种无人驾驶车辆的通信系统,所述通信系统包括多个通信节点;如图6所示,该通信装置600包括获取模块610以及处理模块620;

获取模块610,用于获取配置文件和待传输消息;其中,所述配置文件中包括所述通信系统中的各通信节点与消息类型之间的对应关系,该对应关系用于指示各通信节点可处理的消息类型。

处理模块620,用于从所述配置文件中解析获得所述对应关系,并根据所述待传输消息的消息类型,将所述待传输消息发送给所述通信系统中与所述消息类型相对应的第二通信节点。

本发明实施例提供的通信装置,适用于一种无人驾驶车辆的通信系统,该通信系统包括多个通信节点,该通信系统中的第一通信节点获取配置文件和待传输消息;其中,所述配置文件中包括所述通信系统中的各通信节点与消息类型之间的对应关系,该对应关系用于指示各通信节点可处理的消息类型;第一通信节点根据配置文件,可以准确获取各通信节点可接收和可发送的消息的消息类型,然后根据待传输消息的消息类型,将待传输消息发送给与消息类型相对应的第二通信节点,实现待传输消息在第一通信节点和与待传输消息的消息类型对应的第二通信节点之间的传输,由于第一通信节点为通信系统中的任意一个通信节点,即各个通信节点均可以根据配置文件以及待传输消息的消息类型,自行判断目标通信节点并向该目标通信节点发送消息,一个通信节点的故障不会影响其他通信节点之间的通信,且多个通信节点可以同时进行消息的传输,通信系统的实时性和可靠性得到了极大的提高,保障无人驾驶车辆的行驶安全。

图7为本发明另一实施例提供的通信装置的结构示意图。本实施例是对图6实施例中的通信装置的进一步说明,如图7所示,通信装置600还包括诊断信息生成模块630、第一诊断模块640、第二诊断模块650、记录模块660以及连接模块670。

诊断信息生成模块630,用于按照第一预设时间间隔记录本节点已发送消息的数量和发送成功的消息的数量,并基于所述已发送消息的数量和所述发送成功的消息的数量生成诊断信息。

第一诊断模块640,用于按照第二预设时间间隔向所述第一诊断节点发送第一连接请求;若接收到所述第一诊断节点返回的同意所述第一连接请求的指令,则在生成所述诊断信息时向所述第一诊断节点发送本节点的状态信息和当前生成的诊断信息;其中,所述状态信息包括所述第一通信节点与所述第二通信节点之间的连接状态信息。

第二诊断模块650,用于在所述第一诊断模块向所述第一诊断节点发送连接请求时,向所述第二诊断节点发送第二连接请求;若接收到所述第二诊断节点返回的同意所述第二连接请求的指令,则将本节点正在发送的消息发送至所述第二诊断节点。

记录模块660,用于在所述第一诊断模块向所述第一诊断节点发送连接请求时,向所述记录节点发送第三连接请求;若接收到所述记录节点返回的同意所述第三连接请求的指令,则在生成所述诊断信息时向所述记录节点发送当前生成的诊断信息、本节点的状态信息以及本节点正在发送的消息。

连接模块670,用于判断所述待传输消息是否成功发送到所述第二通信节点;若所述待传输消息未成功发送到所述第二通信节点,则基于所述待传输消息的消息类型和未成功接收所述待传输消息的第二通信节点的标识生成日志文件,并重新与未成功接收所述待传输消息的第二通信节点建立通信连接。

本发明实施例提供的通信装置,适用于一种无人驾驶车辆的通信系统,该通信系统包括多个通信节点、第一诊断节点、第二诊断节点和记录节点。第一通信节点按照第二预设时间间隔同时向第一诊断节点发送第一连接请求,向第二诊断节点发送第二连接请求,向记录节点发送第三连接请求,当第一通信节点与第一诊断节点建立连接后,在生成诊断信息时将本节点的状态信息和正在生成的诊断信息发送至第一诊断节点;以使第一诊断节点对接收到的各类消息和信息进行处理和汇总,并显示给用户;当第一通信节点与第二诊断节点建立连接后,向本节点正在发送的消息发送至同时第二诊断节点,以使第二诊断对接收到的消息进行汇总处理和显示;当第一通信节点与记录节点建立连接后,在生成诊断信息时将本节点的状态信息和正在生成的诊断信息,以及本节点正在发送的消息发送至记录节点,以使记录节点以文件形式进行保存,以便后续进行调用;本实施例提供的通信装置,实现了通信节点运行过程中运行信息、诊断信息以及发送消息的诊断和记录,便于进行故障的追溯和识别,有助于提高通信装置的可靠性。

图6和图7所示实施例的通信装置600可用于执行上述方法实施例中的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。

应理解以上图6和图7所示通信装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块以软件通过处理元件调用的形式实现,部分模块通过硬件的形式实现。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。

图8为本发明一实施例提供的通信节点的硬件结构示意图。如图8所示,该通信节点800包括:至少一个存储器710、处理器720以及计算机程序;其中,计算机程序存储在存储器710中,并被配置为由处理器720执行以实现如上述任一实施例中的通信方法。

本领域技术人员可以理解,图8仅仅是通信节点的示例,并不构成对通信设备的限定,通信节点可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件。

通信节点800用于进行消息的传输,可选地,通信节点可以为软件功能模块也可以为硬件设备;当通信节点为硬件设备时,通信节点可以为无人驾驶车辆的任意一个需要发送或接受消息的车载设备,包括但不限于摄像头、激光雷达、毫米波雷达、gps模块等;当通信节点为软件功能模块时,通信节点可以为无人驾驶车辆的感知模块、控制模块、路径规划模块,以及各车载设备对应的软件功能模块,本实施例中对通信节点不做限制。

此外,本发明实施例提供了一种可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行以实现上述的任一实现方式所述的方法。

上述可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。可读存储介质可以是通用或专用计算机能够存取的任何可用介质。

图9为本发明一实施例提供的通信系统的组成示意图,具体地,通信系统为适用于无人驾驶车辆的通信系统。如图9所示,通信系统900包括多个上述图8实施例所述的通信节点800。

可选地,通信系统900还包括第一诊断节点810、第二诊断节点820、记录节点830。其中,第一诊断节点810,用于接收指定通信节点发送的第一连接请求,并向所述指定通信节点发送同意所述第一连接请求的指令,接收所述指定通信节点发送的状态信息和诊断信息。

第二诊断节点820,用于接收各通信节点发送的第二连接请求,并向各通信节点发送同意所述第二连接请求的指令,接收各通信节点发送的与第一指定消息类型一致的消息并显示。

记录节点830,用于接收各通信节点发送的第三连接请求,并向各通信节点发送同意所述第三连接请求的指令;接收各通信节点发送的本节点的诊断信息、状态信息以及与第二指定消息类型一致的消息并生成记录文件。

可选地,诊断信息为各通信节点生成的用于表征通信节点消息传输特性的信息,具体地,各通信节点按照预设的时间间隔判断本节点已发送消息的数量和发送成功的消息的数量是否一致;若否,则基于所述已发送消息的数量和所述发送成功的消息的数量生成诊断信息。

可选地,诊断信息包括本时间段内本通信节点已发送消息的数量、发送成功的消息的数量、丢失消息的数量以及丢失消息的概率。

可选地,状态信息包括本通信节点与其他通信节点之间的连接状态信息。

可选地,第一诊断节点用于诊断某个具体通信节点的诊断信息和连接状态,第二诊断节点用于诊断某个类型的消息的相关数据。第一诊断节点或第二诊断节点对接收到的诊断信息、状态信息和消息进行汇总处理显示给用户,以便用于进行分析处理。

在一种实施方式中,当用户需要了解某一通信节点与其他通信节点的连接状态或者某一通信节点的诊断信息时,系统响应用户需求启动第一诊断节点810,并在启动第一诊断节点810时接收用户输入指定通信节点,此时第一诊断节点810接收该指定通信节点发送的第一连接请求,并向该指定通信节点返回同意该第一连接请求的指令,指定通信节点接收到该指令后,指定通信节点与第一诊断节点810建立连接,在每次生成诊断信息时将本节点的,该状态信息和当前生成的诊断信息发送至第一诊断节点,第一诊断节点810接收状态信息和诊断信息并进行显示。具体地,第一诊断节点810在同一时间内仅可以获取某一个通信节点的诊断信息,当用户需要了解另外一通信节点的诊断信息时,需要重新启动正在运行的第一诊断节点,并在启动时重新输入目标通信节点的标识,即重新输入指定通信节点。

在另一种实施方式中,当用户需要了解正在传输的某一消息类型的消息的内容或传输频率时,系统响应用户需求启动第二诊断节点820,并在启动第二诊断节点820时接收用户输入的第一指定消息类型;第二诊断节点启动后,接收所有通信节点发送的第二连接请求并返回同意所有第二连接请求的指令,各通信节点均与第二诊断节点820建立连接,此时各通信节点将本节点正在发送的消息发送至第二诊断节点820,第二诊断节点820仅接收各通信节点发送的与用户输入的第一指定消息类型一致的消息,进一步地,第二诊断节点对接收到的消息进行汇总处理,获取第一指定消息类型的消息的传输频率以及带宽。

当用户需要记录无人驾驶车辆的运行状态时,系统响应用户的输入启动记录节点830,并在启动记录节点830时接收用户输入的第二指定消息类型,记录节点830启动后,接收所有通信节点发送的第三连接请求并返回同意第三连接请求的指令,各通信节点均与记录节点830建立连接,各通信节点将本节点的当前生成的诊断信息、状态信息以及正在发送的消息发送至记录节点830,记录节点接收所有通信节点的诊断信息和状态信息,同时仅接收各通信节点发送的与用户输入的第二指定消息类型一致的消息。

记录节点830接收到各通信节点反馈的消息,以文件的形式将该消息进行保存,生成记录文件。可选地,如果用户未确定第二指定消息类型,则记录节点830接收各通信节点发送的所有类型的消息。可选地,记录节点830运行期间,各通信节点持续向记录节点消息,故记录节点830可以获取其运行期间各通信节点的状态信息和发送的消息。

可选地,通信系统还包括复播节点840,所述复播节点840用于读取记录文件中的各通信节点的状态信息、诊断信息以及记录节点运行时间段内保存的所有消息。

当用户需求复现记录节点运行期间无人驾驶车辆运行时的状态时,启动复播节点,该复播节点读取记录文件中的各通信节点的状态信息、诊断信息以及记录节点运行时间段内保存的所有消息,并将该消息发送至对应的通信节点,以离线形式模拟通信节点之间的通信,便于发现通信系统中存在的缺陷,提高通信系统的可靠性。

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

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1