首页> 中国专利> 一种支持MavLink协议的多智能体ZigBee通信方法

一种支持MavLink协议的多智能体ZigBee通信方法

摘要

本发明实施例公开了一种支持MavLink协议的多智能体ZigBee通信方法,涉及无人机移动通信技术领域,能够解决Zigbee的透明模式应用在多智能体集群通信时的数据信道堵塞问题。本发明包括:一个多智能体对应一个通信控制器,通信控制器收/发MavLink协议格式数据包,实现多智能体之间信息交互;设计时间同步方法实现多个通信控制器的通信同步,每个通信节点只能在指定时间发送数据,从而避免数据通信冲突,提高透明模式下ZigBee通信网络的性能。本发明适用于使用ZigBee无线通信模块进行支持MavLink协议的无人机之间的编队通信组网。

著录项

  • 公开/公告号CN112566087A

    专利类型发明专利

  • 公开/公告日2021-03-26

    原文格式PDF

  • 申请/专利权人 南京航空航天大学;

    申请/专利号CN202011439534.6

  • 发明设计人 吕迅竑;钮佳琳;冒泽慧;姜斌;

    申请日2020-12-07

  • 分类号H04W4/80(20180101);H04W28/02(20090101);H04W56/00(20090101);H04W84/08(20090101);H04J3/06(20060101);

  • 代理机构32237 江苏圣典律师事务所;

  • 代理人苏一帜

  • 地址 211106 江苏省南京市江宁区将军大道29号

  • 入库时间 2023-06-19 10:22:47

说明书

技术领域

本发明涉及无人机移动通信技术领域,尤其涉及一种支持MavLink协议的多智能体ZigBee通信方法。

背景技术

近些年来,由于生物学、计算机科学、人工智能、控制科学、社会学等多个学科交叉和渗透发展,诞生了多智能体系统这一细化门类,且已成为当前控制学科以及人工智能领域的研究热点。多智能体系统是由一系列相互作用的智能体构成,内部的各个智能体之间通过信息交互,组成网络控制系统,如编队控制系统等,完成单个智能体不能完成的大量而又复杂的工作。通信网络尤其是无线移动通信网络,是多智能体系统的关键组成部分。而ZigBee则又是当前常用的一种无线通信网络。

ZigBee无线通信的优点是更容易实现多架无人机或者多架无人机与地面站的组网。ZigBee无线模块的工作模式有透明模式和命令模式。透明模式将接收到的数据直接发送出去,不做其他任何数据解析。相对于命令模式,透明模式的优点在于可以在网络内直接广播数据,每个节点都可直接收/发数据,无需修改飞控软件即可实现数据的无线传输,并可实现多架无人机的组网。但由于Zigbee网络是一种异步通信网络,当多个智能体在同一时刻试图发送数据时,可能会导致数据信道堵塞,造成数据无法实时发送,严重时可能会导致网络控制系统崩溃,从而导致了Zigbee技术的透明模式,在基于无人机集群的多智能体通信方面一直受限很多,影响了集群的通信稳定性。

发明内容

本发明的实施例提供一种支持MavLink协议的多智能体ZigBee通信方法,能够解决Zigbee的透明模式应用在多智能体集群通信时的数据信道堵塞问题,从而降低网络控制系统崩溃的可能。

为达到上述目的,本发明的实施例采用如下技术方案:

通信网络组网方法由通信控制器实现,通信控制器由嵌入式微控制器、2路TTL电平UART通信接口模块及其他外围电路组成,1路UART接口连接无人机飞控系统;另一UART接口连接ZigBee无线通信模块;ZigBee无线通信模块处于透明传输模式,可在网络内广播数据;具体采用改进精确时间协议(PTP协议)在应用层实现多个多智能体之间时间同步。指定某一个智能体作为主节点实现时间同步,主节点生成实现时间同步所需要的时间戳。在实现时间同步后,所有的智能体有一个统一的时间戳,依据时间戳分配各智能体发送数据帧的带宽,每个智能体只能在指定时间内发送数据;时间同步方法采用一种自定义时间同步协议格式进行收/发时间同步数据帧;通信网络组网方法自动识别时间同步数据帧和MavLink数据帧,并执行相应操作;通信网络组网方法中通信控制器可识别输出通道接受到的MavLink数据帧中的不同字段,对MavLink数据帧进行二次定制,直接在通信控制器内进行数据处理,修改数据帧内数据信息,并优先送入通信控制器发送队列,等待发送至通信网络中;

通信网络组网方法对MavLink数据帧按实时性要求分配优先级,高实时性要求最高的MavLink数据帧优先级最高。发送MavLink数据帧等待队列按优先级进行排序,发送时间片到达时,最高优先级的MavLink数据帧最先发送。

本发明实施例提供的支持MavLink协议的多智能体ZigBee通信方法,利用通信控制器解决透明模式下的ZigBee无线通信模块在多节点通信中出现同一时刻数据流过多,导致数据信道堵塞,影响通信质量的问题。尤其是解决了基于无人机集群的多智能体通信,受限于ZigBee异步通信造成的数据堵塞问题,提高了集群的通信稳定性。并且通信控制器支持收发MavLink协议格式数据包,方便各类支持MavLink协议的多智能体之间交互信息,且无须对多智能体进行二次开发。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1为本发明实施例提供的方法实现通信组网连接示意图;

图2为本发明实施例提供的基于ZigBee的无线通信网络时间同步的原理图;

图3为本发明实施例提供的自定义时间同步协议格式的示意图;

图4为本发明实施例提供的自主切换并收发两类数据协议的流程示意图。

具体实施方式

为使本领域技术人员更好地理解本发明的技术方案,下面结合附图和具体实施方式对本发明作进一步详细描述。下文中将详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。

ZigBee网络可以用于无人机系统中。无人机系统利用某种通信协议和地面站进行信息交互,比如MavLink协议。MavLink协议广泛应用于小型飞行器系统中,是本专利的应用对象。飞控系统将Mavlink数据帧通过UART接口发送给机载无线通信模块,机载无线通信模块将数据帧发送到地面无线通信模块,之后再将数据帧通过UART转USB接口发送给地面站软件;地面站数据帧发送给四旋翼的过程则相反。无线通信可以用数传电台、WIFI、蓝牙、ZigBee等通信模块实现。ZigBee无线通信的优点是更容易实现多架无人机或者多架无人机与地面站的组网。ZigBee无线模块的工作模式有透明模式和命令模式。透明模式将接收到的数据直接发送出去,不做其他任何数据解析;命令模式则提供了一种应用程序编程接口,飞控系统将数据按照规定的协议组成数据帧后发送给ZigBee无线通信模块,ZigBee无线通信模块对数据进行解析,执行相应指令。相对于命令模式,透明模式的优点在于可以在网络内直接广播数据,每个节点都可直接收/发数据,无需修改飞控软件即可实现数据的无线传输,并可实现多架无人机的组网。本专利的ZigBee无线通信模块工作于透明模式。由于Zigbee网络是一种异步通信网络,当多个智能体在同一时刻试图发送数据时,可能会导致数据信道堵塞,造成数据无法实时发送,严重时可能会导致网络控制系统崩溃。

由此可见,目前的Zigbee异步通信网络应用在多个智能体中,存在同一时刻试图发送数据时,可能会导致数据信道堵塞,造成数据无法实时发送,严重时可能会导致网络控制系统崩溃的问题。

本实施例的设计目的在于解决上述问题,大致的设计思路在于:提供支持MavLink协议的多智能体ZigBee通信网络组网方案,尤其涉及多架无人机系统的移动无线通信组网领域。实现多智能体(本专利的智能体指无人机或地面站)的时间同步,在此基础上,分配各通信节点对外发送数据包的带宽,每个通信节点只能在指定时间发送数据,从而避免数据信道堵塞,提高透明模式下ZigBee通信网络的性能,降低通信网络的非确定性。

具体的,本发明实施例提供一种支持MavLink协议的多智能体ZigBee通信方法,包括:

步骤一、主节点的通信控制器根据从节点的通信控制器发送的请求同步报文,识别得到从节点的帧类型、从节点的从时钟设备代号和从节点的在时间同步过程中的队列号。

步骤二、根据所述请求同步报文生成相应的时间同步数据帧,并返回给从节点的从时钟。

其中,所述主节点将从节点的从时钟设备代号、从节点的在时间同步过程中的队列号和时间戳,写入所述时间同步数据帧。具体的,在收发时间同步数据帧同时,所述通信控制器可识别接受到的MavLink数据帧中的不同字段,对MavLink数据帧进行二次定制,直接在通信控制器内进行数据处理,修改数据帧内数据信息,并优先送入通信控制器发送队列,等待发送至通信网络中。其中,所述时间同步数据帧根据内容不同分为回应报文和延迟回应报文。

步骤三、对各个通信控制器分配数据带宽,在每个智能体上,通信控制器控制ZigBee无线通信模块在指定时间发送数据。

其中,所述数据带宽包括:发送MavLink协议数据包的带宽,不同智能体的ZigBee无线通信模块发送MavLink数据包的时间相互错开。具体的,对多个通信控制器分配发送MavLink协议数据包的带宽,每个智能体只能在指定时间发送数据,错开不同ZigBee无线通信模块发送MavLink数据包的时间。

步骤四、按照实时性需求,调整各个智能体的优先级。

其中,发送MavLink数据帧的等待队列按照优先级进行排序,当发送时间片到达时,最高优先级的智能体的MavLink数据帧最先发送。具体的,例如:所述通信网络组网方法对MavLink数据帧按实时性要求分配优先级,高实时性要求最高的MavLink数据帧优先级最高。发送MavLink数据帧等待队列按优先级进行排序,发送时间片到达时,最高优先级的MavLink数据帧最先发送。

具体在所述步骤二中,根据所述请求同步报文生成相应的时间同步数据帧的过程中,包括:所述主节点的通信控制器,将所述嵌入式微控制器的系统时钟的分频信号作为计数时钟,对所述嵌入式微控制器的片内定时器进行计数并得到时间戳。

其中,所述将所述嵌入式微控制器的系统时钟的分频信号作为计数时钟,对所述嵌入式微控制器的片内定时器进行计数并得到时间戳,包括:产生时间戳的片内定时器工作于重载工作模式,并在装载初值后开始计数,且所述产生时间戳的片内定时器在发生溢出后自动装载所述初值继续计数,循环往复,其中,通信控制器采用22.1184MHZ的外部晶振,并将4分频信号作为所述片内定时器的时钟信号,且将实时时钟中断作为最高优先级中断。

所述产生时间戳的片内定时器每次发生溢出时,触发定时器中断服务程序。在本实施例的优选方案中,通信控制器采用C8051F120,选用22.1184MHZ外部晶振,其4分频信号为定时器的时钟信号。设置实时时钟中断为最高优先级中断。使用定时器2产生时间戳,定时器2工作于重载工作模式,定时器2装载初值后计数,溢出后自动装载初值继续计数,循环往复。每次溢出时会进入定时器中断服务程序,因此计数器的初值决定了进入定时器中断服务程序的周期。假设需要定时器2产生一次中断的时间为T。本实施例中设计的获取所述初值的过程包括:获取指令周期t,其中,t=1÷(4×晶振频率)。16进制的片内定时器由初值开始计数直至溢出,产生一次中断的时间T所需的计数个数n为n=T÷t,其中,计数上限为65536,T表示产生一次中断的时间。根据所需的计数个数n,装填初值数据寄存器,其中,所述初值数据寄存器由两个8字节寄存器组成,装填的初值为:TH=(2

例如可以划分为步骤1-3执行,其中步骤1:首先计算指令周期,一个指令周期是系统的最小单元。采用4分频的一个指令周期t为:

t=1÷(4×晶振频率)

步骤2:定时器2是16进制计时器,计时是由初值计数直至溢出(上限为65536)。产生一次中断的时间T所需的计数个数n为:

n=T÷t

步骤3:根据所需计数个数n,装填初值数据寄存器。初值数据寄存器由两个8字节寄存器组成。相应装填的初值为:

TH=(2

TL=(2

通过软件方式对定时器2产生一次中断的时间T不断累加,可以得到通信控制器自通电开始后的上电时间,以此作为通信控制器的时间戳。该时间戳根据需要可以换算成分+秒+毫秒形式。

本实施例中,各个通信控制器之间执行时间同步过程,具体利用所述时间戳基于精确时间协议(PTP协议)设计并改进时间同步方法,只在应用层可实现多个通信控制器之间时间同步。所述时间同步过程包括:

记录从时钟发送请求同步报文并记录所述请求同步报文时间戳Ts1,所述请求同步报文中包括请求同步报文。

主时钟接收到所述从时钟发送的请求同步报文后,记录接收的时间戳Tm1,并将Tm1打包成回应报文发送给所述从时钟,同时记录发送所述回应报文的时间戳Tm2,并且也将Tm2打包成延迟回应报文发送给所述从时钟。。

所述从时钟接收到所述回应报文后,记录接收的时间戳Ts2。

所述从时钟根据所获得的4个时间戳,确定偏移时间和延迟时间,并修改本地的时间戳。

其中,延迟时间为delay,

本实施例中还设计了一种用于各个通信控制器之间执行时间同步过程中使用的时间同步数据帧,该帧结构包括19位字节,其中:起始的2个字节的为数据帧的标识,之后依次为1字节的发送设备标识和1字节的接受设备标识,第5个字节为识别所述数据帧的报文类型的控制位。6-11字节为发送设备的通信控制器前一次发送的时间戳,12-17字节为发送设备的通信控制器当前发送的时间戳,之后依次为1字节的队列匹配号和1字节的CRC校验位。例如:图3所示的,使用时间同步协议格式收发的数据帧由19个字节组成。不同字节都有自己特定的含义参与时间同步过程。所述数据帧的帧标识具体为2个8进制的数据EB和90,不同于MavLink数据帧的起始位数据。具体的,所述从时钟发送的请求报文数据帧中指定接受设备为主时钟代号,该数据帧只由主时钟识别,其他从时钟视该数据帧为无效帧。主时钟接受请求同步报文并对所获数据进行识别,通过数据帧中不同字段识别该数据帧的帧类型、从时钟设备代号以及时间同步过程的队列号,便于后续步骤生成相应的时间同步数据帧发送给从时钟。所述主时钟将读取到的从时钟设备代号以及时间同步过程的队列号写入数据帧,并在数据帧所述数据帧类型的控制位区分发送帧的类型,将时间戳写入当前时间戳字段,发送给指定的从时钟读取时间戳。所述从时钟只接受主时钟发送的数据帧,识别代号为自身设备代号,时间同步过程的队列号与相应队列号一致,避免接受到前一次同步过程的时间戳,导致数据混乱。数据帧的结尾设置CRC校验位。

本实施例中,所述方法运行于一种所述通信网络组网,所述通信网络组网中至少包括两个通信控制器,

其中:每一个通信控制器至少包括:嵌入式微控制器、2路UART通信接口模块和外围电路,其中,每个UART接口接TTL电平。一路UART接口连接无人机飞控系统,另一路UART接口连接ZigBee无线通信模块。其中,ZigBee无线通信模块处于透明传输模式,从而可在网络内广播数据。本实施例中所述的接口,可以理解为针对两种不同格式的数据帧的传输接口,例如MAVLINKZ数据帧和时间同步数据帧。

具体的,通信控制器最简配置只需要一个嵌入式微控制器最小系统电路,另加2个TTL电平UART接口。一个UART接口和ZigBee无线通信模块连接称为上行接口通道,另一个和智能体控制系统连接作为下行接口通道。

每个智能体上都安装有通信控制器,各个通信控制器之间执行时间同步过程,其中,在时间同步过程中,指定一个智能体为主节点,并生成用于时间同步的时间戳,主节点与从节点的通信交互都通过各自的通信控制器控制ZigBee无线通信模块进行。

每个通信控制器中都包括从ZigBee无线通信模块到多智能体的上行接口通道和从多智能体到ZigBee无线通信模块所需的下行接口通道,下行接口通道用于识别并传输MavLink数据帧;在上行接口通道中,用于识别包括采用时间同步协议格式的数据帧和采用MavLink数据协议的数据帧。具体的,上行接口通道按所述时间同步协议格式和MavLink数据协议自主切换,收发数据帧;下行接口通道只可识别MavLink数据帧。时间同步数据帧参与时间同步,通过上行接口通道进行收发;MavLink数据帧通过上行接口通道和下行接口通道参与通信网络内信息交互。

进一步的,通信控制器可根据所述下行接口通道接受到的MavLink数据帧中的不同字段选出相关负载信息,直接在通信控制器内进行数据处理,并重新打包成MavLink数据帧,优先送入数据发送队列,等待发送至通信网络中。其中,通信控制器以主时钟实现通信同步,依据所述时间戳控制ZigBee无线通信模块接口对外发送时间,错开网络内不同通信控制器发送MavLink数据帧时间。通信控制器可根据所述下行接口通道接受到的MavLink数据帧中的不同字段划分该数据帧收发的优先级,对于实时性要求高的数据帧,直接送入ZigBee无线通信模块接口对外发送;其他数据帧送入ZigBee无线通信模块数据等待发送队列,等待发送时间片到达时,传送至通信网络内。

具体举例来说,本实施例的方案在实际应用中,可以实现为以下具体过程:

如图1所示,通信控制器,处于透明传输模式的ZigBee无线模块,以及无人机或地面站构成通信网络中的一个通信节点(或者称之为一个智能体)。

具体的,通信控制器最简配置只需要一个嵌入式微控制器最小系统电路,另加2个TTL电平UART接口。一个UART接口和ZigBee无线通信模块连接称为上行接口通道,另一个和智能体控制系统连接作为下行接口通道。

指定一个智能体为主节点,生成时间同步的时间戳。通信控制器微控制器的系统时钟的分频信号作为计数时钟,对微控制器的片内定时器计数得到实现时间同步所需的时间戳,最终得到的时间戳可转换成分+秒+毫秒形式。

具体的,以通信控制器使用C8051F120为例,选用22.1184MHZ外部晶振,其4分频信号为定时器的时钟信号。设置实时时钟中断为最高优先级中断。使用定时器2产生时间戳,定时器2工作于重载工作模式,定时器2装载初值后计数,溢出后自动装载初值继续计数,循环往复。每次溢出时会进入定时器中断服务程序,因此计数器的初值决定了进入定时器中断服务程序的周期。假设需要定时器2产生一次中断的时间为T,计算初值的步骤为:

步骤1:首先计算指令周期,一个指令周期是系统的最小单元。采用4分频的一个指令周期t为:

t=1÷(4×晶振频率)

步骤2:定时器2是16进制计时器,计时是由初值计数直至溢出(上限为65536)。产生一次中断的时间T所需的计数个数n为:

n=T÷t

步骤3:根据所需计数个数n,装填初值数据寄存器。初值数据寄存器由两个8字节寄存器组成。相应装填的初值为:

TH=(2

TL=(2

TH表示初值高位,TL表示初值低位。

通过软件方式对定时器2产生一次中断的时间T不断累加,可以得到通信控制器自通电开始后的上电时间,以此作为通信控制器的时间戳。该时间戳根据需要可以换算成分+秒+毫秒形式。

如图2所示,利用所述时间戳基于精确时间协议(PTP协议)设计并改进时间同步方法,在应用层实现多个通信控制器之间时间同步。

精确时间协议(PTP协议)主要适用于计算机以太有线网络中定时同步能力不足的问题,通过软硬件结合方式利用硬件时间戳获得高精度同步时间。所述无线通信网络系统是基于ZigBee组成的无线通信网络,不能完全照搬针对以太网设计的PTP协议原理,应根据网络特点加以修改。典型的PTP协议是由主时钟首先向从时钟发送请求同步报文,并对整个时间同步过程分成两个阶段:第一个阶段为偏移测量,从时钟按照偏移量先调整自身时间戳;第二阶段为延迟测量,将无线通信网络视为对称性网络,从时钟求取平均延迟误差以调整自身时间戳实现时间同步。为了提高时间同步精度,每次发送同步报文后,还会将同步报文发送的具体时间以随后报文的形式再次发送。

因为所述ZigBee无线通信模块具有自组网特性,允许网络内通信节点随时增减,故从时钟节点向主时钟节点首先发送请求同步报文,避免发送无用信息占据数据信道。进一步,考虑到本实施例实现时间同步的作用是用于寻求一个相同时间节点以区分不同时间片段,对同步精度要求不是非常高,故去掉第一阶段的随后报文的发送,渐少报文发送次数,并且将两个阶段合并为一个阶段,从时钟只需经过一次修正就可实现时间同步,这样也可减少时间同步的通信次数,减小网络数据通信负载。时间同步的步骤如下:

S1:指定一个通信控制器作为主时钟,其他通信控制器作为从时钟发送请求同步报文,并记录下发送请求同步报文的时间戳Ts1;

S2:主时钟接受从时钟发送的请求同步报文,并记录下接受报文的时间戳Tm1;

S3:主时钟将接受报文的时间戳Tm1以回应报文形式发送给从时钟,并记录下发送报文的时间戳Tm2。从时钟记录下接受回应报文的时间戳Ts2;

S4:主时钟将发送报文的时间戳Tm2以延迟回应报文形式发送给从时钟;

S5:从时钟根据所述4种时间戳计算偏移时间和延迟时间以调节自身时间戳。偏移时间和延迟时间的计算如下:

offset=Ts2-Tm2。

延迟时间为delay,偏移时间为offset。从时钟调整后的时间为:

T′=T-offset+delay。

所述时间同步方法采用一种自定义时间同步协议格式进行收发时间同步数据帧,如图3所示。起始为2个字节的所述数据帧标识,随后1字节为发送所述数据帧的设备标识,接下来1字节为接受所述数据帧的设备标识。第5个字节为识别所述数据帧类型的控制位。随后按序依次为6字节的所述通信控制器前一次发送的时间戳、6字节的所述通信控制器当前发送的时间戳、1字节的时间同步次数标志位,最后为1字节的CRC校验位。

具体的,使用时间同步协议格式收发的数据帧由19个字节组成。不同字节都有自己特定的含义参与时间同步过程。

所述数据帧的帧标识具体为2个8进制的数据EB和90,不同于MavLink数据帧的起始位数据。

S1中所述从时钟发送的请求报文数据帧中指定接受设备为主时钟代号,该数据帧只由主时钟识别,其他从时钟视该数据帧为无效帧。

S2中主时钟接受请求同步报文并对所获数据进行识别,通过数据帧中不同字段识别该数据帧的帧类型、从时钟设备代号以及时间同步过程的队列号,便于后续步骤生成相应的时间同步数据帧发送给从时钟。

所述主时钟将读取到的从时钟设备代号以及时间同步过程的队列号写入数据帧,并在数据帧所述数据帧类型的控制位区分S3和S4发送帧的类型,将时间戳写入当前时间戳字段,发送给指定的从时钟读取时间戳。

S3和S4中所述从时钟只接受主时钟发送的数据帧,识别代号为自身设备代号,时间同步过程的队列号与S1中相应队列号一致,避免接受到前一次同步过程的时间戳,导致数据混乱。

数据帧的结尾设置CRC校验位。

所述的通信网络组网方法自动识别时间同步数据帧和MavLink数据帧,并执行相应操作。MavLink数据协议格式兼容MavLink协议1.0版本和MavLink协议2.0版本。整个过程如图4所示。

具体的,当ZigBee无线通信模块接收到其他通信节点发送的时间同步数据帧后转发给通信控制器,通信控制器会进行相应的时间同步处理,并将需要的时间同步数据帧转发给其他通信节点。当ZigBee无线通信模块接收到其他通信节点发送的MavLink数据帧后转发给通信控制器,通信控制器立刻转发给智能体控制系统;当智能体控制系统将需要发送的数据帧发送给通信控制器,通信控制器只在指定的时间段发送MavLink数据帧。

Mavlink协议是在串口通信基础上的一种数据帧式通信协议,主要应用在微型飞行器的通信上,现已经发展了两个版本,版本1.0和版本2.0。所述通信控制器可识别接收到的Mavlink数据帧的版本类型,确定该通信节点使用的版本型号,方便使用不同Mavlink协议的智能体之间交互信息。

所述通信网络组网方法中通信控制器可识别输出通道接受到的MavLink数据帧中的不同字段,对MavLink数据帧进行二次定制,直接在通信控制器内进行数据处理,修改数据帧内数据信息,并优先送入通信控制器发送队列,等待发送至通信网络中;

具体的,所述通信网络组网方法可依据Mavlink数据帧中的特殊字段,识别该Mavlink数据包帧中负载内容的具体含义。例如识别智能体的心跳包、当前位置信息、期望位置信息等。在整个多智能体通信网络中,一个智能体需要发送自身位置等状态信息给其他智能体,其他智能体接受到该状态信息是无法直接读取使用的。通过Mavlink数据协议格式可知,不同的消息编号表示一种负载数据类型,则可将一个智能体发送的自身位置状态信息类型的Mavlink数据帧中的负载内容提取出来,可以直接在通信控制器内进行数据处理,得到其他无人机的期望信息,再包装成其他智能体直接识别的期望位置信息类型的Mavlink数据帧。两种表示不同类型的Mavlink数据帧协议格式相同、不同字段有所区别并能代表不同的含义,可以直接进行二次定制,智能体通过识别在通信控制器内部二次定制的期望位置信息类型的Mavlink数据帧即可实现和邻居智能体的信息交互。

所述通信网络组网方法以主时钟作为基准时间实现网络内各个通信节点时间同步,依据所述时间戳控制每个智能体的MavLink数据帧发送时间,避免不同智能体在同一时刻发送MavLink数据帧。对输出通道的MavLink数据帧按实时性要求分配优先级,高实时性要求的MavLink数据帧优先级最高。通讯控制器的发送等待队列按优先级进行排序,发送时间片到达时,最高优先级的MavLink数据帧最先发送。具体的,在通信控制器内部设计一个发送计时程序,MavLink数据帧的发送按照约定的时序发送消息,例如:

地面站首先发送消息,接着1号智能体发送,2号智能体再发送依次循环。因为大部分MavLink数据帧的发送频率为1HZ,可以1秒作为一次循环将时间分片,设置每个通信控制器通过输出通道发送MavLink数据帧的计时起始点不同,当通信控制器在输出通道接收到MavLink数据帧需要对外发送时首先需要判断当前时间戳,发现是自身约定的时序时则开始发送,否则存储在发送缓冲区内等待下一个自身约定的时序到来时再通过上行接口通道发送出去。这样网络内各通信节点进行了分带宽处理保证了每次发送的时候只有一个通信节点占用数据信道,从而避免通信冲突,降低无线通信网络的不确定性。对于实时性要求高的MavLink数据帧,例如作为检测连接与否的心跳包等,可直接送入ZigBee无线通信模块接口对外发送,无需等待时间片到达。其他MavLink数据帧按实时性要求分配优先级,高实时性要求的MavLink数据帧优先级最高,发送时序到达时优先发送。

本发明的实施例提供了一种支持MavLink协议的多智能体ZigBee通信网络组网方法,解决通信网络中由于多智能体在同一时刻发送数据而可能导致性能下降,严重时可能导致网络控制系统崩溃的问题。该方法先实现多智能体的时间同步,然后分配各个智能体发送数据包的带宽,发送数据以广播的方式发送。每个智能体在任何时候都可以接收数据,但只能在指定时间发送数据,从而避免了数据发送冲突。此外,该通信网络组网方法支持按照MavLink协议收发数据,方便各类支持MavLink协议的多智能体交互信息,无需修改多智能体即可实现数据的无线传输,从而实现通信组网。

该方法由通信控制器实现,一个多智能体需要一个通信控制器。通信控制器最简配置只需要一个嵌入式微控制器最小系统电路,另加2个TTL电平UART接口。一个UART接口和ZigBee无线通信模块连接,另一个和多智能体控制系统连接。为了方便起见,智能体控制系统(本专利主要指无人机飞控系统)的接收到的数据称之为输入数据,相应的数据传输通道称之为输入通道;智能体控制系统发送的数据称之为输出数据,相应的数据传输通道称之为输出通道。

对输入通道而言,无线通信模块接收到其他通信节点发送的数据帧后转发给通信控制器,通信控制器立刻转发给智能体控制系统;对输出通道而言,智能体控制系统将需要发送的数据帧发送给通信控制器,通信控制器只在指定的时间段发送MavLink数据帧。此外,通信控制器还可以对接收到的MavLink数据帧进行二次定制,修改数据帧内负载信息再转发出去。如果一个智能体有若干数据帧同时需要发送,通信控制器根据数据帧的类型优先发送实时性要求最高的数据帧。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号