李家伟,张洪欣,徐瑞林
北京邮电大学,北京 100088
近年来,随着科技的进步,人们对于大脑认知的渴望伴随计算机硬件计算速度的飞速提升催生出一种新兴的人机交互技术——脑机接口(brain-computer interface,BCI)。脑机接口将人脑或动物脑与外部设备之间直接建立起一座通信桥梁,实现了大脑将意念信息直接传递给外部设备,打破了人们对于“意念控物”只存在于科幻电影中的认知。
脑机接口系统通常分为侵入式[1]和非侵入式两类。侵入式脑机接口需要将电极植入颅骨来采集神经信号,通常具有较高的信噪比,但是存在手术风险;非侵入式脑机接口无需手术,可以通过电信号采集设备直接采集头皮脑电(EEG)。
稳态视觉诱发电位(SSVEP)是指人在注视一个以固定频率闪烁的目标时,大脑视觉皮层可以产生一个相同频率的混合基频及倍频响应信号[2]。目前,SSVEP 的相关技术已经十分成熟,很多相关算法都可以在无训练或较少训练的条件下实现较高的准确率和信息传输速率。也是因为这些特性,通过SSVEP 诱发脑电并用于具体的应用是可行的。在近几年的世界机器人大会上,基于SSVEP打字[3]、控制轮椅[4]、控制机械臂[5]等应用相继亮相。
无人机编队飞行是各国军队[6]及科研工作者[7]一直以来追求的技术。其关键技术问题主要包括队形设计、气动耦合、队形动态调整、航机规划、无人机间的信息交互,以及编队飞行控制等问题。
Leader-Follower[8]方法是目前无人机编队控制[9]中最常用的方法之一。先给Leader 一个预定轨迹,Follower 和Leader保持一定的构型,同时二者速度保持一致,这种相对运动的模式,可将无人机编队系统队形控制问题转换成单个个体的运动情况研究。
目前,市面上的无人机编队控制主要通过操纵杆或其他控制工具来完成,并且一人只能操纵一架无人机,无人机编队就得由多人来操控。
本文主要设计了一种基于SSVEP 的脑机接口无人机编队的控制系统,该系统可提高无人机编队的工作效率及解放操纵者的双手,操作人员可以通过此系统同时控制多架无人机执行任务。因此,脑机接口控制无人机编队的研究在军事与民用领域都具有重大意义。
本文系统设计了一种基于SSVEP 的脑控无人机编队系统。系统逻辑如图1 所示,该系统架构是以中央控制器为核心的一种星形架构,包括刺激系统、采集系统、算法系统、无人机编队控制系统在内的所有子系统的运行逻辑全部受到中央控制器的控制。准备阶段,中央控制器会控制刺激系统与算法系统完成“握手”并控制刺激系统产生刺激界面。试验时使用8 导联Neuracle脑电采集设备进行脑电信号采集,受试者注视刺激目标产生相应脑电数据会被脑电放大器采集并发送给采集系统,采集系统完成脑电数据拼接及降采样等工作后,将数据传递给算法系统,算法系统采用基于CCA[10]的SSVEP算法用作信号识别,经过该计算后将反馈结果反馈给中央控制器,中央控制器会依据反馈结果向刺激系统和无人机编队控制系统发送指令,无人机编队控制系统会依据飞行控制的指令向无人机编队传递飞行信号,以此来实现脑电数据对无人机编队的飞行控制。
图1 基于脑机接口数据的无人机编队飞行控制Fig.1 Flight control of UAV formations based on brain-computer interface data
系统消息通信如图2所示,该系统以Kafka消息中间件作为通信平台,采用发布—订阅模式进行消息通信,所有的数据均以二进制的形式由生产者上传至Kafka。首先订阅者先进行消息的订阅,当有发布者发送消息到服务器中时,服务器便会自动给订阅的用户分发消息。
图2 脑控无人机编队消息通信连接图Fig.2 Brain-controlled drone formation message communication connection diagram
无人机编队系统仿真是基于Ubuntu 系统下ROS 和Gazebo 的物理仿真环境。该仿真系统通过Gazebo_ros 功能包进行ROS 和Gazebo 的连通,通过ROS 提供的Mavros功能包根据PX4提供的Mavlink数据通信协议对PX4提供的Firmware功能包进行数据的采集和处理,以达到ROS对Firmware 飞控仿真的连接。通过Firmware 和Mavros 组成的无人机,根据Gazebo提供的真实物理环境可以搭建一套完整的无人机仿真环境。无人机编队仿真环境解决方案如图3所示。
图3 无人机编队仿真框架图Fig.3 UAV formation simulation framework diagram
从该无人机编队仿真框架图中可以看出,除了集群功能包以外都由ROS 以及PX4 提供,因此该系统还需设计一个无人机编队软件框架图。对于无人机编队,该系统设计了一个包含无人机编队的解锁、上锁、起飞、降落模块,无人机编队队形切换模块,无人机控制指令模块,以及无人机编队状态实时反馈信息。编队的软件框架图如图4所示。
图4 无人机编队软件框架图Fig.4 Drone formation software framework diagram
在对无人机编队控制模块进行设计前需要实现对单个无人机的控制。为了清楚描述无人机的位置与姿态,需建立一个适当的坐标系。惯性坐标系与机体坐标系如图5所示。
图5 惯性坐标系与机体坐标系Fig.5 Inertial coordinate system and body coordinate system
(1) 惯性坐标系:惯性坐标系是以地球为参考目标的坐标系,以On为原点,以OnXn、OnYn、OnZn三条互相垂直的直线为坐标轴建立的坐标系即为惯性坐标系。
(2) 机体坐标系:机体坐标系是以无人机质点Ob为坐标原点,根据右手定则建立的笛卡儿机体坐标系。机头所在方向为坐标的正半轴Xb,机身横截面的方向为Yb,二者互相垂直,Yb正方向为机体的右侧。根据右手定则可知,Zb轴垂直于XbYb所在的平面且方向向上。
为了让无人机与地面坐标系保持一致,对应姿态角做如下定义滚转角,记为φ,其取值范围在;俯仰角记为θ,其取值范围在;偏航角记为ψ,其取值范围在[-π,π]。
其中,滚转角的定义为机体轴OZ与通过机体轴OX的铅垂直间的夹角,从集体后方观测,右侧向下倾斜角度为正。
俯仰角的定义为机体绕OY轴旋转后,OX轴与水平面之间形成的夹角,无人机头部向上仰起时角度为正。
偏航角的定义为机体轴OX在水平面上的投影与机体轴OX之间的夹角,机体向北偏东方向偏航时角度为正。
使用方向余弦法后将三次基本旋转矩阵相乘可得到坐标系的旋转矩阵
根据机体坐标系的旋转矩阵、无人机的运动方程[11]、惯性矩阵以及无人机沿坐标轴的力矩可得到完整的无人机动力学非线性模型
式中,g为重力加速度,m为机体质量,Ω为电机转速,b为电机的拉力系数,l为无人机几何中心到电机中心的距离。Fi(i=1,2,3,4)代表每个螺旋桨的升力,可视为控制的输入。
此外,φ,θ,ψ分别表示无人机的滚转角、俯仰角、偏航角。
根据无人机数学模型(2),由于欠驱动特性,存在4 个输入就不能跟踪6 个自由度。这里采用的控制方案如图6所示。给无人机发送参考指令,即三维坐标系下的期望值和滚转角xd,yd,zd,φd,通过位置控制器进行无人机空间位置的跟踪,计算出为了跟踪该位置的另两个角θd,ψd,将二者传给姿态子系统控制器,然后通过姿态子系统得到的u1以及位置子系统得到的u2、u3、u4,就可得到位置输出以及姿态输出,之后就可实现对无人机的控制。
图6 无人机控制结构Fig.6 UAV control structure
可将无人机的非线性模型划分成两个子系统,分别是位置子系统和姿态子系统
根据无人机的位置子系统(4)以及给定的滑模面给出如下控制律
可使滑模面S在有限时间内达到0。其中,C,M,L为可调节的正定矩阵,U1=[u1x,u1y,u1z]T,位置跟踪误差为E。
因三个角度产生的过程和控制率的设计具有相似性,所以以滚转角φ为例,进行姿态控制器设计。
根据无人机的姿态子系统(5)以及给定滑模面[12]可得设计控制输入u4
式中,c1,k1,l1为控制器参数,都为正整数;di(i=1,2,3,4)为观测器的误差。
对于无人机编队控制模块,系统采取分布式控制方法进行无人机间的相互通信,使用Leader-Follower 方法完成编队控制。考虑一组由i个无人机组成的编队,其中i= {L,1,2,3,…,N},其中L为领机Leader,N为跟随者的数量。该无人机编队的控制目标是实现如图7 所示的控制方案,可以使无人机编队在同一高度上飞行。
根据图7,可以得到无人机编队的运动方程为
图7 无人机编队在二维平面内的控制示意图Fig.7 Schematic of the control of a drone formation in a two-dimensional plane
式中,ωi是偏航角的角速度,vixviy表示无人机速度在X、Y方向上的分量。
λx,λy表示从Leader的质心到一个Follower之间在X、Y方向上的距离对其进行求导并结合式(9),可以得到
在编队控制算法中应用SMC 可以使编队在不确定环境中也可保持编队队形。在X、Y方向上定义编队的误差所以无人机在三位坐标X、Y方向上的控制误差应满足[13]
其中
根据滑模控制理论,为了使滑模收敛为0,控制输入τi设计如下
其中,αi βi为可以调节的正定矩阵。
因脑电信号自身十分微弱且容易受到外界因素的干扰,所以该试验在一个相对幽暗、低辐射、隔声良好、相对安静的封闭试验环境下进行。
试验中的无人机编队使用的是ROS 开发环境下的Gazebo无人机编队仿真,该仿真模块基于上节的无人机编队控制,可实现无人机编队的解锁、起飞、降落、左转、右转、三角队形、菱形队形、上锁等控制方法,刺激界面如图8所示。
图8 刺激界面Fig.8 Stimulate the interface
界面固定频率8Hz、8.5Hz、9Hz、9.5Hz、10.5Hz、11Hz、11.5Hz、12Hz 不断闪烁来刺激被试者产生脑电信号。8 种刺激频率分别对应控制无人机编队指令:解锁、起飞、降落、左转、右转、三角队形、菱形队形、上锁。
试验被试人员为6 人,刺激目标为8 个,试验预估时间30min,测试模式识别结果的准确性,被试者根据提示,锁定目标方块,产生SSVEP 响应,识别完成后给予被试者反馈结果。
试验过程:进行试验时被试者放松,戴好脑电极帽,视线与电脑屏幕保持水平,SSVEP模式识别离线试验,试验有8个周期,每个试验周期里有16次刺激,试验周期内随机遍历两遍8 个目标,并给出反馈。一个试验周期的时长为3min,试验周期之间的休息时间由被试者决定。被试者根据自己需求与刺激闪烁结果的目标方块完成无人机编队模拟环境下的控制,即可完成编队控制,如图9~图12所示。
图9 初始状态Fig.9 Initial state
图12 菱形队形Fig.12 Diamond formation
受试者在不同刺激时长下判别准确率见表1,纵坐标为识别时间,横坐标为试验被试人员的判别准确率。
图10 起飞Fig.10 Take off
图11 三角队形Fig.11 Triangle formation
根据表1离线数据结果可以得出,当判断时间为3.5s时判别的准确率最高,该准确率可以达到较好的控制效果,满足系统要求。
表1 离线数据结果Table 1 Offline data result
脑机接口技术的提出为人类提供了一种全新的与外界的信息交互形式。在军事、医疗、智能家居和电子游戏等众多领域都受到广泛的关注。
本文设计了一种基于脑机接口的无人机编队控制系统,该系统通过脑电采集设备,采集被试者注视刺激界面时产生的刺激信号,经过算法服务器解析信号翻译成对应指令,并将指令发送到控制器,还会将结果反馈给刺激界面以验证准确性。
采用非侵入式脑机接口方式对脑电信号进行采集,使用SSVEP算法对采集到的脑电信号进行处理,此方案具有可行性。