1 引 言
来源:无人系统技术 作者: 刘明威,高兵兵,王鹏飞,刘亚南,李怡萌,李沛琦 摘 要: 针对无人机编队避障飞行控制难题,研究了无人机编队避障航迹规划与智能控制技术。首先,提出一种基于改进人工势场法的无人机编队航迹规划算法,利用改进势场函数和引入“随机波动”法等手段,解决了传统人工势场法用于无人机编队航迹规划时遇到的无法到达目标点以及局部最小值问题,并提升了传统算法航迹规划的快速性和鲁棒性。其次,设计了一种新的BP 神经网络辅助的自适应PID 无人机编队智能控制算法,通过利用神经网络的在线学习能力,实现了PID 参数的优化整定,提高了现有PID 算法的计算精度。最后,通过无人机编队避障飞行控制仿真实验,验证了提出方法的有效性,基于NN-PID 控制律的编队控制器能够更好地对无人机编队进行有效的控制。 关键词: 人工势场;神经网络;函数优化;自适应PID;航迹规划;无人机编队控制 1 引 言 无人驾驶飞机,简称无人机(Unmanned Aerial Vehicle,UAV),通常是指无飞行员驾驶、具备自主控制能力且可多次使用的一类飞行器[1-2]。相较于有人驾驶飞机,无人机具有成本低、使用灵活、适用范围广等优点[3]。然而,单架无人机存在容错率低、侦察效率有限等问题。因此,编队飞行已成为无人机应用的一个重要趋势。 无人机编队飞行[4],即在多架无人机上搭载多种作战设备,并将无人机群按照特定的队形排列,在飞行过程中将各无人机上设备进行组合使用,从而提升无人机的作战能力。与单架无人机相比,无人机编队凭借其分布式、协同式和并行性等优势,在解决很多复杂任务问题上具有特有的优势。 航迹规划是无人机编队避障飞行控制系统设计中的一个重要环节。轨迹规划是指在一定的约束条件下,对从初始点到目标点的轨迹进行规划,以满足一定的性能指标。同时,无人机航迹规划也是无人机控制研究的一个难点,是无人机协调的基础。目前,针对无人机航迹规划问题,许多专家已提出了不少航迹规划算法,航迹规划算法研究初期,主要是求解从起始点到目标点的最优/次优航迹问题,但随着作战要求的提升,复杂障碍[5-6]和受限飞行空间[7]等多约束场景下的航迹规划算法逐渐成为研究的热点。 目前,无人机航迹规划算法可以归纳为三大类:①数学推导方法;②智能规划方法;③仿生行为方法。数学推导方法主要是建立适当的数学模型,利用数学方法进行最优路径求解,包括最优控制算法[8]、动态规划法[9]、梯度法[10]以及图论方法,如Dijkstra 法[11]等;智能规划方法通过在基础智能算法上加以改进,应用于路径规划过程中,包括遗传算法[12]、蚁群算法[13]、A*算法[14]和人工势场法[15]等;其中,人工势场法是一种成熟且高效的规划方法[16],其数学描述清晰,规划速度快。但是,传统人工势场法存在“目标不可达”和“局部最小值”问题。本文在传统人工势场法的基础上,引入“随机波动”的概念,对势场函数进行改进,以提高人工势场法的计算速度,解决人工势场法的最小目标和不可达目标问题。 无人机编队控制算法研究初期,主要采用线性控制算法。这些方法一般都将无人机看作质点模型或者利用自动驾驶仪模型来模拟无人机响应,但随着对控制算法要求的进一步提升,质点模型逐渐被替换为复杂的非线性无人机数学模型。PID 控制方法因其控制算法简单、效果好等优势被广泛应用于各领域。同时,PID 控制方法也被应用于无人机编队控制中。然而传统PID 算法在面对编队结构复杂、易受外界干扰影响的无人机编队控制系统时,难以满足控制要求,并且需要多次手动调试来实现参数整定。而神经网络控制算法具有从环境中学习并不断改变自己控制输出的能力。本文提出了一种将PID 控制与神经网络理论相结合的无人机编队控制算法,以解决现有PID 算法控制精度和鲁棒性差的问题。 由于神经控制具有非线性程度高、鲁棒性强等优点,因此所提出的神经网络自适应PID 编队控制算法可以取到更好的控制效果。 2 无人机集群航迹规划 2.1 人工势场法 将无人机和飞行空间分别抽象为一个质点和一个虚拟势场[17-18],无人机在虚拟势场中受到目标点的引力作用、障碍物的斥力作用[19],在二者共同作用下,无人机将沿着合力的方向运动,并逐步靠近目标点。 无人机的受力情况如图1所示。其中,Fatt 为无人机所受的引力, Frep 为无人机所受的斥力。 图1 无人机在人工势场中的受力 虚拟人工势场为一个矢量场,假定无人机为势场中的一个质点q,总势场为 其中, U (q) 为总势场, U att(q) 为引力场, U rep(q)为斥力场。 设q 为三维飞行空间中的一点,则该点的引力势函数和斥力势函数分别为 其中,k 和m 是引力系数和斥力系数; ρg (q)和ρ(q)分别是q 到目标点和障碍物的距离;ρ0是障碍物最大影响距离。 2.2 人工势场的改进 当无人机靠近目标点时,受到目标点的斥力作用增大,使无人机难以靠近目标点,故将距离量l (q) 引入斥力场函数,使无人机在目标点所受的斥力为0,使目标点成为势场最小点,因此无人机可以顺利到达[20-21]。为了解决无人机在远离目标点的位置所受斥力较大,影响规划的快速性问题,引入约束距离 l *(q) ,将无人机航迹规划过程进行分段处理,保证目标可达条件的同时,提升航迹规划的快速性。 改进后的斥力场函数为 其中,k 为大于0 的实数,其值可根据仿真实验测定。 无人机受到目标点的引力和障碍物的斥力分别由该点引力势函数和斥力势函数的负梯度得到: 式中 其中, Frep1(q) 和 Frep2(q) 为斥力 Fr ep(q) 的两个分力; Fr ep1(q) 指向无人机, Frep2(q) 指向目标点, 对于存在多个障碍物的情况,采用势场的叠加性得到总势场 U (q) 为 其中,n 为障碍物个数。 无人机受到的合力为 无人机在改进势场中受力情况如图2所示,l *(q) 为针对距离目标点的约束距离。 图2 无人机在改进势场中的受力示意图 Fig.2 Force of UAV in improved potential field 在人工势场法中,还存在局部极小值的问题[22-24],当质点所受的斥力与引力相平衡时,质点停留在平衡点无法前进,陷入局部极小状况。为解决这一问题,采用“随机波动法”在原有受力的基础上引入大小为 根据上述改进的人工势场法得到初始航迹,对该航迹圆滑处理后即可得到无人机的规划航迹。 3 神经网络自适应PID 传统的PID 控制算法由于无人机编队结构复杂,外界干扰因素多,难以满足编队控制系统的控制指标。并且通过手动调试来进行PID 参数整定,难以得到最优结果。而神经网络具有较强的多维非线性映射能力,同时能够逼近任意的非线性函数,有着最优泛函数逼近能力。 传统的神经网络PID 模型偏向于对PID 参数的在线整定,在其控制过程中易出现被控量震荡效果较大的现象,并且当存在不可控的系统误差时,原有的神经网络PID 控制算法难以做出快速的应对处理,导致编队控制系统的失稳。 针对上述问题,引入BP 神经网络构建了一种新的PID 模型,区别于其他神经网络在线搜索PID 参数的方法,本模型是在使用PID 控制器的基础上利用神经网络进行实时误差矫正,提升了编队控制系统的精度和鲁棒性。 3.1 BP 神经网络 BP 神经网络[25]是一个三层神经网络,由一个输入层、一个隐含层和一个输出层组成,它们之间由可修正的权值 wij 与 wjk 互连。输入层是将系统外界的信息和数据输入至神经网络之中,其整个输入层的信息节点数量等于网络中需要处理信息的总维度;隐含层处于输入层和输出层之间,通过数值运算实现信息向量的传导过程,是神经网络的主体部分;输出层的作用是将隐含层所传递来的信息进行解算并输出,同时进行误差的反向传播,实现误差校正的过程。BP 神经网络结构图如图3所示。 图3 BP 神经网络结构 传统的BP 算法,存在以下缺点: (1)神经网络因其规模复杂,BP 学习过程中计算量增多,导致学习的收敛速度降低,难以达到对控制对象的控制的快速收敛; (2)在某些初始条件下,BP 算法采用的梯度下降法会导致产生的解陷入局部最优,并非全局最优; (3)无法从理论上推导出精确的学习率模型,学习速率的经验式设置不利于网络的训练。 3.2 改进的神经网络自适应PID 编队控制算法 针对神经网络的一些缺点,本节对传统的BP算法进行了改进,通过引入动态量、梯度调节因子以及优化学习率更新策略来提高神经网络的收敛速率,同时避免算法陷入局部最优状态。 (1)引入动量项 标准的BP 网络中,权值调整公式如下[26]: 由式(9)可知,影响k 时刻权重调整值的因素只与k 时刻的目标误差项 J (k )和当前的权重w( k )有关,忽略了k 时刻之前历史权值信息对当前权值调整的影响。通过引入动量项,增加历史信息的影响,得到 其中,αβΔw( k- 1),α (1- β) Δw( k- 2)为引入的动量项;Δw( k- 1)为k- 1时刻生成的权值调整量,Δw(k- 2)为k- 2时刻生成的权值调整量;α 、β为动量调整因子,目的是合理规划梯度下降法和历史信息在k 时刻权值调节中的权重。 通过引入动态量调节因子,实现了历史信息对当前信息的影响,提升了算法的收敛速度,同时优化算法的动态性能。在加入动量项Δw (k)≠Δw (k - 1), Δw (k)≠Δw (k - 2)后,消除了 Δw (k)=Δw (k- 1)=Δw (k - 2)情况下导致的局部死循环问题。 (2)引入梯度调节因子 标准BP 算法在对权值进行调整时,仅根据k时刻的负梯度方向来得到,当网络学习训练过程中出现外界干扰导致较大变动时,常规的BP 算法难以在短时间内收敛。针对上述问题,在式(10)的基础上引入梯度调节因子γ ,得到 由式(11)可以看出,在引入梯度调节因子后,计算k 时刻的权重修正值 Δw (k )时,同时参考k时刻以及k- 1时刻的梯度值,提升了网络的快速收敛性和鲁棒性。 (3)改进学习速率 传统BP 神经网络算法中学习率η 的选取会直接影响权值调整量的大小,进而影响网络的收敛效率。若η 选取过大,会引起收敛过程中极小值问题;若η 选取过小,网络的收敛速度很慢。 对于优化传统BP 神经网络算法学习率,目前较为常用的方法是动态学习法[27],其核心思想是将算法的学习率由定常数改为一个分段时变函数,其表达式如下: 由式(12)可知,动态学习法中输出层和隐含层的学习率为同一个值η,这样会导致不同网络层中神经元的更新效率较为类似,进而造成网络资源的浪费。本节在动态学习的基础上,对学习率进行分层定义,有利于不同层级神经元学习效率的提高,定义如下: 其中,η1 和η2分别为隐含层与输出层的神经元学习率; λ1 和 λ2 为分层学习率对应的调节因子;J (k )和 J (k- 1)分别为k 时刻及k- 1时刻的目标误差项。 改进后的神经网络自适应PID 算法步骤如下所示: Step 1:确定BP 神经网络的结构。 确定输入层节点数为2 个,分别线性混合误差及其变化率e 和de;隐含层节点数为7 个;输出层节点数为3 个,分别对应PID 控制器的三个参数的调整量Δkp 、Δki 和Δkd 。 在编队控制器中,共包含三个通道神经网络,其对应的输入分别为 evi 和de vi 、 eiψ 和d eiψ 、 ezi 和d ezi ;输出分别对应三个不同通道的PID 参数调整量Δkvp 、Δ kvi 和Δkvd ,Δkpψ、Δkiψ 和Δkdψ ,Δ kzp 、Δ kzi和Δ kzd。其中, evi、eψi和 ezi分别为速度、航向角和高度通道的线性混合误差;de vi、de ψi和de zi分别为误差 evi、eψi和 ezi的变化率。 Step 2:设置神经网络各神经元连接权重的初始值。 连接权值初始化过程中,选择0 ~1之间的随机数作为神经元连接权重的初始值,即 wi j,wjk∈[ 0,1] 。 Step 3:选择激活函数。 ReLU 函数在收敛速度上比tanh 函数快,且矫正了梯度消失问题。因此,隐含层选择收敛速度较快的ReLU 函数 由于输出层节点 kp 、 ki 和 kd 均不能小于0,因此选择非负的双曲正切函数作为这一层的激活函数,其表达式如下: Step 4:对当前k 时刻的三通道的混合误差evi、eψi和 ezi进行采样,并计算其对应的误差变化率de vi、deψi和de zi。分别计算网络输入层输入、隐含层输入、隐含层输出、输出层输入和输出层输出。其中 输入层输入为 隐含层输入为 隐含层输出为 输出层输入为 输出层输出为 Step 5:根据神经网络的输出来校正原有的PID 控制器参数,并根据增量式数字PID 控制的解算出神经网络PID 控制器输出的控制值 u (k) : 采用增量数字PID 控制的解算 Δu (k),其表达式如下 其中, k npn、 kin n 和 kdnn 分别为通过神经网络实时校正后的PID 控制器参数,其表达式如下 其中,Δkp、Δ ki和Δ kd为式(21)计算得到的 y1 、y2和 y3 。 Step 6:三通道神经网络PID 控制器设计。 在传统PID 的基础上,设计速度、航向角以及高度三通道神经网络自适应PID 控制律对僚机的状态进行控制。三个通道的控制器设计如下。 速度通道控制器设计: 航向角通道控制器设计: 高度通道控制器设计: 其中, Step 7:设定目标函数 J (k ) 其中, y (k )为被控对象的实际输出, y c(k )为被控对象的期望输出。 Step 8:调整输出层的连接权值 wjk与隐含层的连接权值 wij。 使用改进的BP 神经网络优化算法,根据双梯度修正规则,使用分层分段式学习速率1η 和2η ,计算更新后的隐含层和输出层连接权值为 Step 9:若性能指标函数 J (k) 小于设定值,说明网络输出的3 个参数已满足PID 控制器要求,学习结束;反之,令k = k+1 ,返回Step 4继续学习。 4 仿真验证与分析 为了验证提出的改进人工势场法与神经网络自适应PID 编队控制算法,本节选择3 架无人机组成飞行编队,建立二维环境障碍威胁,并进行仿真验证与分析。 4.1 编队飞行控制系统仿真 设定编队主机初始位置为[0,0,3000]T m,目标点位置为[15000,15000,3000]T m,障碍物选用影响半径为500m 的圆形障碍模型,其对应的位置为[5000,5000,3000]T m、[8700,6800,3000]T m 和[13000,11000,3000]T m。飞行编队避障飞行航迹如图4所示。 图4 二维避障航迹曲线图 图4为航迹规划算法解算的编队航迹;图5是根据导引函数对编队航迹进行解算后的可执行航迹路线,在导引处理后的航迹上进行编队飞行控制系统仿真实验。设置编队无人机个数为3 架,编队队形为平行编队,平行间距为100 m,仿真时间为400 s,采样周期为0.1 s。仿真结果如图6所示。 图5 二维避障航迹导引曲线图 图6 无人机编队飞行航线二维轨迹图 从图6可以看出,无人机能够快速且稳定地跟踪预设避障航线,通过飞行控制系统实时控制,能够稳定且有效地到达目标点。 图7~9 表示了编队3 架无人机的位置间距变化曲线,通过仿真结果可以看出,无人机编队在飞行过程中能够保持期望队形并具有较强的鲁棒性,在56~140 s、170~220 s 和290~350 s 区间编队处于机动转弯过程,位置间距有所变化但其误差较小,转弯完成后能够快速收敛至指定值。 图7 x 方向位置变化曲线图 图8 y 方向位置变化曲线图 图9 z 方向位置变化曲线图 图10~12 表示了编队3 架无人机的位置间距变化曲线,通过仿真结果可以看出,无人机编队在飞行过程中能够保持期望队形并具有较强的鲁棒性,在56~140 s、170~220 s 和290~350 s 区间编队处于机动转弯过程,位置间距有所变化但其误差较小,转弯完成后能够快速收敛至指定值。 图10 x 方向编队间距变化曲线图 图11 y 方向编队间距变化曲线图 图12 z 方向编队间距变化曲线图 由图13 可知,在56~100 s、160~180 s 和270~290 s 区间内,无人机做左转弯机动,通过速度通道编队控制器的控制,僚机1 和僚机2 速度分别稳定在52.5 m/s 和48.2 m/s 左右;在56~100 s、160~180 s 和270~290 s 区间内,无人机做右转弯机动,僚机1 和僚机2 速度分别稳定在47.8 m/s 和52.8 m/s 左右;转弯机动完成后各无人机速度能够快速收敛。 图13 UAV 速度变化曲线图 Fig.13 Changes of speed for UAVs 图14~18 表示编队飞行过程中各无人机的姿态角、气流角变化曲线,由仿真曲线可以看出,各姿态角仅在无人机机动转弯过程中产生变化,但其变化误差较小且能够快速收敛至指定值。综上所述,上述仿真实验结果说明了无人机编队飞行控制律的有效性。 图14 UAV 航向角变化曲线图 图15 UAV 滚转角变化曲线图 图16 UAV 侧滑角变化曲线图 图17 UAV 俯仰角变化曲线图 4.2 改进的控制律与PID 控制律对比 分别采用PID 算法与改进的神经网络PID 算法(NN-PID)进行编队仿真实验验证,仿真时间为50 s,采样周期为0.01 s,得到的仿真结果如图19~21 所示。 图18 UAV 迎角变化曲线图 图19 长机与僚机高度响应曲线图 图20 长机与僚机速度响应曲线图 图21 长机与僚机航向角响应曲线图 从上述仿真结果可以看出,分别采用两种编队控制算法对僚机进行控制,均可以实现对长机速度、高度及航向角的跟踪,证明了编队控制器的有效性。不过两种算法之间仍存在差异,在高度和航向角通道内,相较于经典PID 算法,在使用NN-PID 算法时僚机能够更快速地跟踪长机的高度并保持较小的超调量,拥有较短的调节时间;在速度通道内,僚机能够快速跟踪长机的速度值,但使用NN-PID 算法时,通过实时优化整定最佳PID 参数,能够有效削减传统算法中出现的超调量过大问题。综上所述,上述仿真结果表明基于NN-PID 控制律的编队控制器能够更好地对无人机编队进行有效的控制。 5 结 论 本文首先设计了一种基于改进人工势场的航迹规划算法,以实现无人机编队避障航迹的有效规划。在对传统人工势场法研究的基础上,通过引入“随机波动”法和改进势场函数,解决了传统算法出现的局部极小值问题和航迹规划过程中的目标不可达问题,提升了传统算法的收敛速度和鲁棒性。 其次,在传统PID 控制算法的基础上,提出一种基于神经网络自适应PID 的无人机编队飞行智能控制算法。该算法吸收了神经网络控制鲁棒性强、非线性程度高的优点,并能够兼具传统PID算法简单、可靠的特点,提高了原有算法的准确性与鲁棒性。 |
|
来自: 小飞侠cawdbof0 > 《无人》