曹志波
中国人民警察大学(广州) 基础部,广东 广州 510663
近年来,随着无人机在反恐侦查[1-2]、搜寻救援[3]、巡逻监控[4]、防爆搜捕等工作中的深度应用,其已经成为公安机关警务工作中保障人民安全、维护社会安定的重要工具,熟练操控无人机也成为警务人员提升警务效能的一项重要技能。当前,公安机关警务工作中对无人机的应用大多限于单兵作战,即一个具有飞行资格的警员同一时间只能操控一架无人机,因此,当需要多架无人机执行某个任务时,就需要相应数量的警员进行操控。而目前对于通过多架无人机协同作战完成公安机关警务工作的应用研究相对较少。
警用无人机集群技术是一项多无人机协同技术,可将多架无人机自身拥有的硬件和软件资源,以及采集和处理的信息进行有效融合。相比单架警用无人机,警用无人机集群在突发警务事件(如反恐侦查、搜寻救援和防爆搜捕等)和日常警务事件(如巡逻监控等)处置中,都具有更高的警务效能:(1)可以作为通信中继为无电信网络覆盖的监控地区提供通信服务。单架警用无人机的通信范围一般受到电信网络的限制,在没有电信网络覆盖的地区便无法对目标进行监控和视频传输。而警用无人机集群则可以依据监控距离搭建无人机通信中继,从而完成远距离的目标监控和视频传输。(2)在大型安保活动中可以提供范围更广的监控视角。在大型活动和集会场合,需要大范围和全方位的监控视角来防止不法之徒的破坏,保障活动和集会的顺利进行。(3)可以对隐匿的犯罪分子和犯罪窝点进行快速侦查。因此,借助无人机集群技术,一线警务人员可以利用有限的警力操控多架无人机来完成诸如侦查搜捕、巡逻监控等警务工作,从而提升警务效能。
组网的目的在于通过电磁波更高效地传输数据信息[5]。根据传输介质的不同可将组网技术分为有线组网技术和无线组网技术,无人机集群采用的组网技术属于无线组网技术。日常生活中使用的WiFi和4G/5G 均属于无线组网技术范畴[6],在WiFi 和4G/5G 网络中明确划分了通信服务的生产者(路由器和基站)和消费者(手机和电脑)。从通信服务提供的角度来看,WiFi和4G/5G 的组网属于星状拓扑结构,其不适用于无人机集群的组网[7],因为在无人机集群中无人机都是对等的,不存在绝对的通信服务生产者和消费者。同时,由于无人机集群随时可能因为某种原因添加或移除无人机,这就使得集群不可能将所有的通信服务安装在某一架无人机之上,否则会造成单点失效。为解决这一类特殊(不同于一般无线组网技术)问题,IEEE 802 标准委员会下的IEEE 802.11无线局域网工作组提出了Ad-Hoc无线自组网技术。
本文构建的警用无人机集群指挥网络采用Ad-Hoc 自组网技术,这是一种分布式网络拓扑结构。在Ad-Hoc 网络中无人机既可以作为数据通信的发送端和接收端,也可充当发送端和接收端的通信枢纽。因此,集群中的无人机既是一台用于数据存储与处理的“微型计算机”,也是一台能进行网络寻址的“无线路由器”。在Ad-Hoc网络中,无人机对于利用它自身无线信号探测到的其他无人机,可以通过直连的方式进行通信;对于那些无线信号无法探测到的无人机,则可以通过多跳的方式进行通信,如图1所示。因此,利用Ad-Hoc网络技术,无人机集群可以实现动态多变环境下的多跳数据通信。
图1 Ad-Hoc自组网多跳通信
无人机集群组网技术只涉及TCP/IP网络协议的下两层,即网络接口层和网络层。通过下两层发送和接收的数据是一些很难被识别的二进制数据流,无法回答诸如这些数据是从哪个字节开始、需要读取的字节长度是多少、数据类型是什么(整型或浮点型)等问题。为回答这些问题,收发双方需要提前对通信数据的格式进行某种约定,约定数据的起始字节、读取长度、数据类型等,然后发送方按照约定发送数据,接收方按照约定解析数据,最后接收方按照解析的数据内容执行相应的操作,这种约定用专业术语讲就是通信协议。无人机集群通信协议涉及的是TCP/IP 网络协议的上两层,即传输层和应用层。本文无人机集群通信协议采用的是MAVLink[8]。MAVLink 是目前应用最广泛的中小型无人机(警用无人机通常使用的无人机类型)通信协议,版本号为2.3,属于应用层协议,其传输层采用的是UDP(User Datagram Protocol)协议。
图2 为无人机集群中通信双方约定的数据格式。各个字段的详细说明可以参考MAVLink通信协议消息格式[9],下面对各个字段进行简要说明:(1)STX用于标识数据包的起始位置,固定值为0xFD,占用一个字节;(2)LEN 用于标识数据包实际装载(第七个字段PAYLOAD)的长度,单位为字节,占用一个字节;(3)SEQ 用于标识当前数据包的序列号、检测数据包的可达性,占用一个字节;(4)SYS 用于标识数据包所属无人机系统ID 号,区分无人机集群中不同的无人机,占用一个字节;(5)COMP 用于标识数据包所属无人机组件的ID 号,用于区分无人机内部组件,占用一个字节;(6)MSG 用于标识数据包区分装载(PAYLOAD)的消息类型,占用三个字节;(7)PAYLOAD 用于标识数据包装载的具体消息内容,占用0~255 个字节不等;(8)CKA 和CKB 字段装载CRC-16 循环冗余校验算法[10]的16 位校验码,用于保证数据的完整性;(9)INC、CMP和Signature字段用于防止数据包被篡改。
图2 MAVLink通信协议数据格式
无人机集群操作系统是构建在无人机集群通信协议之上的一种分布式操作系统[11],简称无人机集群系统。为实现对集群中无人机的控制,无人机集群系统需要借助MAVLink对集群中的无人机发布指令。无人机集群系统主要安装在地面控制中心(例如地面站)和无人机集群两个部分,安装在控制中心的集群系统称为主系统,而安装在无人机集群中的集群系统称为守护系统。
无人机集群系统的构建属于多智能体系统[12]研究范畴。因此,可以将集群中无人机看作一个个智能体,这些智能体既要服从集群的整体决策,又要拥有一些自主的行为模式,比如集群系统会命令无人机从某个地理坐标(经度、纬度、视高)C飞到坐标D,但并不一定会为该无人机规划从C 到D 的具体路线。这就意味着无人机集群系统要明确自身的能力界限,什么事情该做,什么事情不该做。
无人机集群系统在整个指挥网络中具有承上启下的作用,对上承接各种任务的执行,对下负责集群内各种命令和数据的传输。基于任务的执行流程,将无人机集群系统分为系统层和自组织层(不同于胡利平等[13]的分法),如图3 所示(原子任务是原子类任务的简称,指不可再分的任务)。另外,根据系统层所处位置,又将其分为主系统层和守护系统层,分别对应无人机集群主系统和守护系统。
图3 无人机集群系统体系结构
自组织层通过Ad-Hoc 网络构建无人机之间的组织关系,根据系统层的要求完成对无人机集群的重构。重构是指在任务改变、遭受攻击、环境变化等情况下,集群以最小的代价通过重建无人机间组织关系来避免这些冲突的过程。根据重构的激发形式可分为主动重构和受激重构,根据重构的规模和范围可分为局部重构和整体重构。自组织层的集群重构机制如图4所示。
图4 无人机集群系统自组织层重构机制
当无人机集群系统接收到一个需要执行的全局任务(用于区分原子类任务)时,具体的执行流程如下:(1)首先主系统层获取原子类任务。原子类任务的不可再分是相对的不是绝对的,依据不同的集群规模和集群中无人机的性能,原子类任务被划分的数量和大小也不同,因此,原子类任务具有很强的集群依赖性。需要特别注意的是,一个原子类任务只能在一架无人机上执行,而一架无人机可以执行多个原子类任务。(2)主系统层将原子类任务分配给自组织层内的无人机,分配的前提要考虑无人机具有的个体能力,个体能力是指该无人机是否具有运行某个原子类任务的能力,比如计算资源、存储资源、网络资源以及电池电量等是否满足该原子类任务执行要求。(3)无人机之上的守护系统层会监控原子类任务的执行情况,将无人机上原子类任务执行的状态信息返回给主系统层。主系统层根据掌握的原子类任务状态信息和当前集群状态信息来判断当前是否存在无法继续执行的原子类任务,然后将这些信息转化为自组织层重构机制的触发因素来完成对集群的重构。当所有原子类任务执行完毕后,返回步骤(1)执行下一个全局任务。
无人机集群任务分配是无人机集群系统的核心应用程序,负责接收和划分警务应用平台下达的全局任务,同时根据无人机集群系统提供的集群信息将全局任务划分为原子类任务。根据集群所处环境的变化情况可分为静态任务分配和动态任务分配。
1.4.1 静态任务分配
静态任务分配应用程序安装在无人机集群主系统上,主要负责原子类任务的初始化分配。原子类任务初始化分配本质上是一种多目标优化的问题[14],即如何将原子类任务分配到多个无人机上。将多目标优化算法应用到无人机集群静态任务分配中就是:假设待分配的原子类任务有n个,集群中的无人机有m架,根据集合论[15]中幂集的求解公式,可知原子类任务到无人机的映射关系共有mn种可能,之后利用多目标优化算法在这mn种可能中求出集群静态任务分配的最优方案。
1.4.2 动态任务分配
动态任务分配应用程序安装在无人机集群守护系统上。一般情况下,当集群主系统通过静态任务分配算法完成原子类任务的初始化分配后,原子类任务会在被分配的无人机上执行,直到执行完毕并将结果返回给主系统为止。但是,如果无人机集群受到攻击或者因为环境变化导致执行能力下降,守护系统就会进行集群重构。重构可能导致一些或者全部的原子类任务在当前无人机上执行效率下降的问题,因此,就需要动态任务分配算法将这些原子类任务进行再分配以提高执行效率。
目前,针对这种问题的解决方法主要是合同网算法[16],合同网算法是多智能体系统的核心算法之一。合同网算法有两个主要角色,即管理者和工作者,同时还有一个重要的数据结构任务通知书,任务通知书负责管理者和工作者之间原子类任务信息的传输。集群中的无人机既可以是管理者,也可以是工作者。无人机集群发生重构后,拥有原子类任务的无人机守护系统会判断该原子类任务是否适合在当前无人机上运行。如果不适合,该无人机(管理者)就会利用任务通知书封装该任务的基本信息,通过MAVLink 将任务通知书广播给周围的无人机(工作者)。各个工作者根据自身资源信息和任务通知书中原子类任务的信息,计算出执行该任务需要消耗的资源和时间,然后将计算结果通过MAVLink 返回给管理者。管理者从所有计算结果中选出最优结果,即资源消耗和时间消耗综合最少的工作者,并将原子类任务下发给该工作者。如果合适,则不进行任何操作。
警用无人机集群指挥网络(以下简称“指挥网络”)的硬件资源主要包括控制中心和无人机集群。指挥网络主要分为三层:网络层、系统层和应用层,如图5 所示。网络层负责控制中心和无人机集群间的网络组建和通信,主要包括Ad-Hoc自组网技术和MAVLink 通信协议;系统层主要负责警务应用下发的全局任务的划分与分配,同时负责原子类任务的数据处理,在控制中心端包括无人机集群主系统和静态任务分配模块,在无人机集群端包括无人机集群守护系统和动态任务分配模块;应用层主要负责将相关警务应用生成全局任务,只有控制中心包含应用层,且包含一个警务应用模块。
图5 警用无人机集群指挥网络
指挥网络的网络层对应的是TCP/IP协议的五层网络协议。网络层的底层采用了去中心化的Ad-Hoc 自组网技术,对应TCP/IP 的下两层,即网络接口层和网络层。相较于采用星状拓扑组网结构的WiFi和4G/5G,Ad-Hoc采用了分布式拓扑组网结构,这使Ad-Hoc 可以很好地适应无人机集群的动态变化,不会因为集群中无人机的失效或者加入而导致集群通信瘫痪。网络层的上层采用MAVLink 通信协议,对应TCP/IP 的上两层即传输层和应用层,MAVLink 是广泛应用于警用无人机的通信协议,具有良好的兼容性和扩展性。
控制中心的静态任务分配模块通过无人机集群主系统获取各无人机集群守护系统上的无人机状态信息,依据这些状态信息将应用层传递的全局任务划分为合适的原子类任务。然后依据多目标优化算法获取原子类任务到无人机集群的最优匹配方案,主系统依据该匹配方案将原子类任务通过MAVLink传输给相应的无人机。无人机获取原子类任务后便开始执行,执行过程中如果遇到无人机集群重构,则借助守护系统上的动态任务分配模块对原子类任务进行动态重分配,以达到最优执行效率。
控制中心的警务应用模块可以在一线公安的警务综合平台(简称“警综平台”)上实现,警综平台通过VPN(Virtual Private Network)与控制中心进行通信,以保证数据传输的安全性。一线警务工作者借助警务应用模块设置或者描述将要执行的任务,然后警务应用模块通过这些设置或者描述信息生成全局任务,最后将全局任务提交给集群主系统即可。
在反恐侦查、搜寻救援、巡逻监控、防爆搜捕等工作中,警务人员首先需要确定警务工作的目标(简称“警务目标”),如侦查目标、救援目标以及监控搜捕目标等,然后通过对警务目标的搜索和监控快速警力部署。相较于单架警用无人机的搜索与监控能力,指挥网络可以在更大的地理范围内进行目标搜索和监控,可以根据搜索范围动态调整无人机集群的规模。因此,在将指挥网络应用到具体的公安机关警务工作时,首要问题是如何利用无人机集群来完成警务目标的搜索与监控,即警务目标搜索与追踪及警务目标的视频回传。
3.1.1 警务目标搜索
通过指挥网络进行警务目标搜索的具体流程如图6 所示。(1)警务人员根据指挥中心的命令,在警综平台上选取要进行目标搜索的区域以及相应的警务目标(包含目标的一些特征信息,如人像信息、车辆和物品特征信息等),然后点击目标搜索。(2)控制中心将警务人员选定的区域和目标信息传入警务应用模块,警务应用模块依据这些信息生成一个全局任务。集群主系统对该全局任务进行任务分割,同时通过MAVLink获取集群当前可用于目标搜索的无人机数目n,最后分割出n个区域原子类任务,每个区域原子类任务都会描述要搜索的子区域范围和起始坐标信息。(3)无人机集群主系统的静态任务分配模块利用n个区域原子类任务、n架无人机的状态信息以及多目标优化算法,完成原子类任务到无人机的最优匹配。集群主系统对区域原子类任务进行打包,即封装成多个MAVLink数据包,然后按照匹配结果将这些区域原子类任务分配给相应的目标无人机。(4)无人机集群守护系统利用MAVLink对获取的区域原子类任务进行解包,并获取其中的待搜索区域信息和起始坐标信息。然后依据这些信息开始区域搜索,如果某架无人机搜索到目标,相应的集群守护系统会返回目标的坐标信息,如果没有搜索到,集群守护系统会返回一个空的警务目标坐标。(5)控制中心获取警务目标的搜索结果,然后将结果展示给警务人员,警务人员将结果反馈给指挥中心,并完成搜索。
图6 警务目标搜索流程图
3.1.2 警务目标追踪
一般情况下,警务目标是不断移动的,因此在完成警务目标搜索后,还需要对其进行追踪。通过指挥网络进行警务目标追踪的具体流程如图7 所示。(1)警务人员首先通过警务目标搜索获取目标的坐标信息,坐标信息在警综平台上显示,然后警务人员选中警务目标点击追踪。(2)控制中心的警务应用模块根据警务目标坐标信息生成目标“坐标获取任务”,并通过MAVLink传输“坐标获取任务”数据包到无人机集群上,无人机集群获取该数据包后,会再次探测目标的坐标信息(其中探测到警务目标坐标的无人机称为目标无人机,目标无人机的身份并非固定不变,而是随着集群重构在集群内部不断变化),并将探测到的警务目标坐标信息传输给控制中心。(3)控制中心根据传回的目标数据信息判断警务目标的坐标是否需要更新。如果否,则将坐标信息传输给步骤(2)执行,如果是,则更新警务目标坐标信息,并判断是否需要优化通信网络(警务目标的移动可能导致当前Ad-Hoc 自组网对该目标的通信信号变弱)。如果无需优化,则将坐标信息传输给步骤(2)执行,如果需要优化,则执行下一步骤。(4)无人机集群主系统在接收通信优化指令后,自身的应激重构机制被触发,并生成无人机集群系统重构任务。然后,通过MAVLink 协议将重构任务信息传输给无人机集群守护系统,无人机集群根据重构任务信息进行重构并达到优化通信网络的目的,完成后通知集群主系统,之后重复步骤(2)。
图7 警务目标追踪流程图
对于大多数需借助无人机执行的警务工作,仅通过警务目标搜索和追踪获取的信息可能不足以作出决策和部署,如果能实时获取现场的视频信息,那将对指挥中心作出快速决策和准确部署提供有力支撑。视频信息的获取需要借助MAVLink对集群中目标无人机的云台控制来完成,即MAVLink 云台协议[9]。
云台协议允许控制中心调整无人机的摄像机或者其他挂载传感器的姿态或方向。基于该协议,飞手可以通过手柄调整摄像机或传感器的方向,也可以通过控制中心下达任务的方式进行调整。云台包括云台管理器和云台设备两个部分。云台设备的姿态调整:首先控制中心发送MSG=282 的MAVLink 数据包到云台管理器,同时将需要调整的云台姿态数据(滚转角、偏航角、俯仰角以及目标云台设备信息等)写进该数据包的PAYLOAD中;接收该数据包后,云台管理器依照该数据包内的云台设备信息向相应的云台设备发送MSG=284 的数据包,并将姿态数据写进该数据包;最后云台设备依照数据包内的姿态数据进行姿态调整,并将调整后的结果返回云台管理器和控制中心。结合MAVLink 的摄像机协议[9],将摄像机挂载在无人机的云台上,即可通过云台协议调整摄像机的角度完成视频信息的回传。通过摄像机协议进行视频回传的过程为:首先控制中心发送MSG=73 的命令类数据包到目标摄像机,且请求命令为MAV_CMD_REQUEST_MESSAGE(Param1=269,Param2=0),Param1=269 表示请求的是视频流信息,Param2=0 表示任何类型的视频流都可以。摄像机收到该数据包后,返回MSG=269 的视频流数据包给控制中心。
通过指挥网络进行警务目标视频回传的具体流程如图8 所示。(1)控制中心的警务人员选中警综平台上的警务目标,然后点击视频回传。(2)警务目标的坐标数据会分别传给警务应用模块和警务目标追踪子流程。(3)警务应用模块生成一个视频回传任务,并通过MAVLink 摄像机协议向目标无人机发出视频请求,然后目标无人机通过MAVLink 协议实时返回摄像机拍摄的视频信息。(4)无人机集群主系统对警务目标追踪子流程产生的实时坐标信息和步骤(3)返回的视频信息进行判断,判断视频信息是否完整描述了当前的目标信息,即是否需要调整摄像机的角度。如果是,则执行步骤(5);如果否,则执行步骤(6)。(5)控制中心生成目标无人机云台调整任务,然后通过MAVLink云台协议向目标无人机发出调整摄像机角度的命令,目标无人机收到命令后,按照要求调整云台角度,通过MAVLink 云台协议返回调整结果,无人机集群主系统收到调整结果后提取目标无人机的坐标位置,然后传入警务目标追踪子流程,继续步骤(4)。(6)无人机集群主系统提取目标无人机的坐标位置,传入警务目标追踪子流程,继续步骤(4)。
图8 警务目标视频回传流程图
本文首先分析了警用无人机集群在侦查搜捕、巡逻监控等基层公安机关警务工作应用中的优势,然后详细介绍了构建警用无人机集群指挥网络所需要的关键支撑技术,即无人机集群自组网技术Ad-Hoc、无人机集群通信协议MAVLink、无人机集群操作系统和任务分配算法。在此基础上,提出了警用无人机集群指挥网络的三层架构:网络层、系统层和应用层。最后,针对实际工作中警务应用的特点,通过指挥网络构建了警务目标搜索、追踪、视频回传的应用流程。