肖慧慧,贺旖琳,胡晓东,邓 阳
(1.复杂环境特种机器人控制技术与装备湖南省工程研究中心,湖南 湘潭 411104;2.中车株洲电力机车研究所有限公司,
湖南 株洲 412001;3.国网湖南省电力公司湘潭供电分公司,湖南 湘潭 411100)
无人机集群作业可在枯燥任务领域、恶劣环境任务领域和危险任务领域发挥巨大作用,其持续执行任务、执行危险任务、适应恶劣环境等能力都是有人平台所无法比拟的[1]。无人机在集群执行任务时需要彼此间进行通信和数据交换,信息交互是实现无人机集群的必要条件。信息交互有两种方式,一种是个体利用环境作为媒介进行间接信息交互,另一种是个体通过无线广播、灯光等手段向其邻居个体传递信息的直接信息交互。在无人机集群研究中,一般都通过无线广播实现直接信息交互。随着对无人机集群作业自主性和多任务方面的要求不断提升,信息交互会遇到数据传输量增加、网络架构和拓扑结构发生变化等问题,若要保障无人机集群系统有效地执行任务,可靠的无人机集群通信组网模式和通信节点硬件显得十分必要。本文在分析无人机集群通信特点的基础上,设计了一种基于图论的无人机集群信息传递方案,可有效保障动态网络架构下的通信连接;研制了微型无人机集群自组织通信网络硬件节点并进行实验验证,实现了通信硬件节点的小型轻量化并满足可靠性要求,为微型无人机集群通信的实现提供了途径。
无人机集群是由众多可移动的个体构成的集群,如果将各个个体看作通信节点,则这些个体就构成了一个无线网络,其通信节点具有空间分布性[2]。网络中的节点都可能具有移动性,网络中新节点的加入或原节点的退出以及外界环境的干扰,会导致传感器网络拓扑结构动态变化,这些都使得网络具有很强的动态性。由于个体节点数量众多,无法预先定义通信网络结构;个体的可移动性又要求能够对动态变化的网络进行实时重构,以便于网络任务的执行,因此无线网络必须具有自组织能力[3-4]。综上,无人机集群通信具有网络节点分布性、网络结构动态性和网络形式自组织性3个基本特点。
本文考虑基于人工势函数的集群控制方法,利用无线自组织网络实现无人机集群个体间信息交互,则任意个体都需要获得其他个体的信息,即任意个体之间都需要实现信息通信[5-6]。据此,可采用图论相关知识对无人机集群信息传递方案进行分析设计[7]。
假设将智能探测集群中的每个探测个体作为一个网络节点,这些网络节点共同组成无线自组织网络,用图G(V,E)来表示。其中,V表示图G所有顶点vi的集合,即所有的网络节点;E表示图G所有的边eij构成的集合(eij是连接两个顶点vi和vj的直线,如果两个顶点存在一条边,则表示这两个顶点对应的网络节点可以直接进行通信)。假设一个顶点序列v0,v1, …,vk中任意两个连续顶点都存在边,即存在边e01,e12,…,e(k-1)k,则称顶点v0和vk间存在路,记为v0Pvk。如果图G中的任意两个顶点vi和vj间均存在路viPvj,则称图G是连通的。图G通常可以采用邻接矩阵A来表示;A的元素aij用于表示顶点vi和vj间是否存在边eij,若存在,则aij=1,否则aij=0。这里考虑网络节点间的通信通道是双向的,即图G为无向图,则邻接矩阵为对称矩阵。
如果图G是连通的,则其所表示的无线自组织网络中任意节点间可以以多跳的方式实现信息的传递,也就是无人机集群中对应的探测个体间可以实现信息交互。因此,无线自组织网络需要满足连通性的要求,这可以通过对邻接矩阵的检验来确定无线自组织网络的联通性。邻接矩阵连通性检验算法的流程如图1 所示。设立3 个集合,分别为连通顶点集合V1、非连通顶点集合V2和待检验顶点集合V3,其中V1和V3为空集,V2为图G的顶点集合V。选取任意顶点vk(不失一般性,可选取v1),将其添加到V3,然后进入循环检验过程。从V3中取出顶点进行检验,其被加入到V1,并将其从V2(此时为V)和V3中删除。假如取出的顶点为vi,检验邻接矩阵中顶点vi和V2中所有顶点对应元素的值,如果aij=1,则将顶点vj从V2中去除,并将vj加入V1和V3;一旦出现aij=0,则直接判定图G是非连通的。重复循环检验过程,直到V3为空集。如果此时V2为空集,则图G是连通的,否则图G是非连通的。
图1 邻接矩阵连通性检验算法流程Fig.1 Flow chart of checking algorithm for adjacency matrix connectivity
考虑到微型无人机集群的飞行区域一般都在方圆1 km 范围内,信息传输距离并不太远,但需要保障无线通信的传输速率和可靠性[8]。根据市场上已有通信模块情况,综合考虑发射功率、接收灵敏度、通信频率、通信速率、外形尺寸、重量、功耗等硬件参数,选用Jenic5148-001-M04 型通信模块作为核心硬件,并依此设计数据接口、电源接口和射频天线接口[9]。
通信模块中JN5148-001-M04 型芯片采用贴片式设计,通过转接扩展板将需要的管脚引出,并连接各种标准的接口,以便与上位机进行串口通信、协议注入、电源接头等[10]。转接扩展板(图2)由一系列开关、按键、2 个串行接口、外接电源接口等组成,可在编程模式和收发模式两种模式下工作。在编程模式下,经编译的二进制控制程序文件通过串口被注入到JN5148-001-M04中;在收发模式下,节点运行JN5148-001-M04 型芯片中的控制程序,依照控制程序进行数据的收发。
图2 通信节点转接扩展板实物Fig.2 Practical communication node expansion board
JN5148-001-M04 芯片和转接扩展板共同组成网络通信节点,通过串行接口与上位机连接。上位机将待发送的数据写入JN5148-001-M04 的RAM 存储器,JN5148-001-M04 定时读取并发送RAM 数据;同时,JN5148-001-M04 将接收到的数据存入RAM 中,上位机通过串行接口读取RAM 中的接收数据。
网络节点控制软件在Eclipse Platform 软件开发平台下开发,其底层协议采用了IEEE802.15.4 标准,可以实现节点地址设定、通信频率设置、数据收发、节点发现和识别、路由形成等功能[11]。
网络节点控制软件的基本设计是:节点启动后,首先进行节点初始化、地址设定、无线收发频率设置等,然后进入循环结构进行数据接收处理,而发送数据则由定时时钟产生中断来实现。软件的流程图见图3。数据的接收处理由数据处理函数来实现。当节点收到数据时,产生数据收到事件。数据处理函数检测是否存在数据收到事件并进行相应的处理。定时时钟每隔一定的时间产生一个中断信号,调用中断处理函数,检查是否有要发送的数据,并将数据发送出去。
图3 网络节点控制软件流程Fig.3 Flow chart of network node control software
在IEEE 802.15.4 标准中,要求网络中存在唯一的协调节点,通过协调节点为其他节点分配节点地址[12]。如果采用这种方案,意味着在网络中必须存在一个中心控制节点,每一个新加入的网络节点必须首先从这个中心控制节点获取节点地址后才能加入自组织网络,而且同一网络节点多次加入时获取的地址不同,这严重限制了无人机集群通信的灵活性,降低了系统的鲁棒性。地址固定方法直接给节点绑定确定的地址,达到了网络中无协调节点的目的;同时,绕过了IEEE 802.15.4 标准中规定的协调过程,大大降低了节点的启动时间,增加了系统的灵活性,提高了系统的鲁棒性。网络节点通过RS232 串口与上位机连接。点对点通信时,目的地址和通信数据都需要通过串口传递给网络节点控制软件,因此网络节点控制软件必须能够准确获取目的地址。采用点对点通信标识来实现目的地址的获取,节点控制软件收到上位机发来的数据后,读取第一个数据位并判断是否为点对点通信标识:如果不是,则设定目的地址为广播地址,进行广播;如果是,则读取下一个数据位,并将其设为目的地址进行点对点通信。这样,通过点对点通信标识检测,实现了广播通信和任意节点间的点对点通信。
为了验证自组织通信网络节点性能和无人机集群信息传递方案,分别进行了点对点通信测试、通信恢复测试、故障节点识别测试和数据收发与距离测试。
点对点通信是指网络中的任意一个节点可以与其他所有节点进行通信,是无线自组织网络的一项重要特征。点对点通信测试是验证自组织网络的点对点通信能力,测试平台结构如图4 所示。图中,每个网络节点通过串口与一台测试机连接,网络节点与测试机一起构成一个测试节点,4 个测试节点一起构成点对点通信测试平台。
图4 点对点通信测试结构图Fig.4 Structure chart of point-to-point communication test
测试的信息流程如下:
(1)在测试机串口调试程序的发送数据输入区域输入要发送的数据,其结构为“#接收节点号数据内容”。如测试节点1 要给测试节点2 发送数据“sf3sdfaadsf”,则在测试节点1 的串口调试程序的发送数据输入区域中输入“#2sf3sdfaadsf”,如图5(a)所示。
(2)测试节点1 中的网络节点读取串口数据,提取出发送目的节点和数据内容,然后向目的节点2 发送这些数据。
(3)测试节点2 中的网络节点收到“sf3sdfaadsf”数据,通过串口发给3 号测试机并在其串口调试程序的接收数据显示区域显示“sf3sdfaadsf”,如图5(b)所示。
(4)分别把测试节点1,2,3,4 作为发送节点,向其余3 个节点发送任意数据。
测试结果显示,接收节点正确,显示内容正确。这表明自组织中的网络节点都具有点对点通信能力。
图5 点对点通信测试结果Fig.5 Test results of point to point communication
通信恢复测试用来检验故障排除后的网络节点是否能够与其他节点继续通信。节点故障为节点断电;故障恢复则是恢复节点供电,检验节点重启后是否能够继续与先前形成的网络进行通信。具体测试流程如下:
(1)进行点对点通信测试,检验是否任意一个节点都可以向其他节点发送数据,同时也可以接收其他节点发来的数据。
(2)切断节点1 网络节点的供电,检验节点1 是否既无法向其他节点发送数据,也无法接收其他节点的数据;对其余3 个节点(节点2, 3, 4)进行点对点通信测试。
(3)恢复节点1 网络节点的供电,检验节点1 是否既可向其他节点发送数据,也可以接收其他节点的数据;对其余3 个节点进行点对点通信测试。
(4)分别对节点2, 3, 4 重复3.2 节的步骤(2)和步骤(3)的操作,以验证所有节点都具有故障排除后的通信恢复能力。
测试结果表明,节点可以自由进出自组织网络且不影响其他节点通信,证明了网络节点具有故障排除后通信自动恢复能力。
故障节点识别测试用来检验网络节点发生故障后,其他网络节点发现异常并进行处理的能力。节点故障通过节点断电来模拟,故障恢复通过节点加电来模拟。测试平台为自研发的自组织网络节点测试软件,其界面如图6 所示。
图6 无线自组织网络节点2 测试软件界面Fig.6 Test software interface of wireless ad hoc network node 2
故障节点识别测试流程如下:
(1)打开各个网络节点的电源,打开无线自组织网络节点测试软件;
(2)观察软件中各节点的指示变化,以节点2 为例,指示变灰,其他节点的指示变亮,如图6(a)所示;
(3)关闭节点3 电源,观察软件中对应节点的指示灯灭,如图6(b)所示,并记录系统时间;
(4)重新打开节点3 电源,观察软件中对应节点的指示灯亮,如图6(c)所示,并记录系统时间。
测试结果表明,关闭某一节点的电源,则测试软件中相应节点的指示变暗,能够识别故障,且识别时间优于1 s;重新打开节点电源,测试软件中相应节点的指示变亮,故障恢复时间优于2 s。
在无人机集群半实物仿真系统试验时,收集了某一网络样机收到的数据并对其进行了分析。分析结果如下:
(1)接收数据时刻从150 s 起至3 331 s 止,共3 181 s。系统共4 个节点,每个节点每秒钟共发送2~3帧数据,共200 个字节。在采集时间内,共计发送数据帧45 075 帧。
(2)接收到的数据共出错9 次,既没有出现过连续两帧数据出错的情况,也没有出现出错帧数据中有两位以上的误码,通信误码率为9/45 075=0.019 97%。
(3)对样机在实际环境中的通信距离进行了实测,2 个通信节点分别布设在湘江河岸两边某处,测得可正常收发数据的距离为1.1 km,如图7 所示。
图7 节点通信距离测试Fig.7 Node communication distance test
测试结果表明,通信误码率为0.019 97%,达到无线通信准误码率(2E-04)要求,且系统设计时以连续两次通信无误码情况表示通信有效,通信可靠性在系统设计允许范围内;通信距离为1.1 km,达到通信要求。
本文针对微型无人机集群通信的特点,设计了基于图论的无人机集群信息传递方案,研制了自组织通信网络硬件节点并设计了相应控制软件。通过点对点通信、通信恢复、故障节点识别、数据收发与距离等测试,验证了该信息传递方案的合理性和自组织通信网络节点的可用性,为微型无人机集群通信的实现提供了途径,也为其他自组织网络通信的设计提供了一种参考。