文章快速检索  
  高级检索
基于近似动态规划的目标追踪控制算法
李惠峰1, 易文峰1, 程晓明1,2     
1. 北京航空航天大学 宇航学院, 北京 100083;
2. 北京航天自动控制研究所, 北京 100854
摘要: 在目标跟踪问题中,针对飞行器控制算法难以适应目标大机动飞行甚至与我方博弈等难度较大任务的问题,提出了基于近似动态规划的目标追踪控制算法。该算法通过使用博弈策略对我方无人机进行训练形成经验,将双方位置等状态作为已知量,滚转方向作为控制量,利用两物体的相对位置得出其特征,并形成近似值函数;最终利用rollout算法进行最优跟踪决策求解,实现对跟踪目标甚至是博弈目标的灵活有效精确跟踪。仿真结果验证了近似动态规划用于控制算法的有效性。
关键词: 近似动态规划     目标跟踪     飞行控制     最优决策     博弈    
Target tracking control algorithm based on approximate dynamic programming
LI Huifeng1, YI Wenfeng1, CHENG Xiaoming1,2     
1. School of Astronautics, Beihang University, Beijing 100083, China;
2. Beijing Aerospace Automatic Control Institute, Beijing 100854, China
Received: 2018-06-12; Accepted: 2018-09-14; Published online: 2018-11-20 09:32
Corresponding author. LI Huifeng, E-mail:lihuifeng@buaa.edu.cn
Abstract: The control algorithm for the target tracking problem cannot be well adapted to the problem of large-scale maneuver flight or even game with us. This paper proposes a control algorithm for target tracking using approximate dynamic programming. The game algorithm is used to train our UAV to form an experience. The positions of both sides are taken as known quantity and the roll direction as the control quantity. The relative positions of two objects are used to derive their features and then an approximate function is formed. The rollout algorithm is used to obtain the optimal decision, and the flexible and effective tracking of tracking targets and even gaming targets can be achieved. The simulation results verify the effectiveness of approximate dynamic programming for control algorithms.
Keywords: approximate dynamic programming     target tracking     flight control     optimal decision     game    

无人机具有结构简单、成本低廉等优点,是用于自主追随的理想平台。近年来, 随着自动化技术、计算机技术、电子器件等高新科技水平的不断提高, 无人机在民用领域也大有可为, 它可应用于:跟踪拍摄、无人机集合作战等领域, 市场前景非常乐观, 具有巨大的经济意义,而这些功能的实现都依赖于无人机对目标的精确跟随。

目前国内实现无人机自主跟踪主要通过低空飞行的无人机搭载无线相机,通过相机视觉传达无人机与目标的水平位移,进而通过控制装置调节无人机的位置以及姿态,使得无人机紧随跟踪目标。但是因为整个跟踪过程基于视觉系统,所以存在背景运动、噪声、目标被遮挡以及目标逃出视野之外的等等问题,且其算法还需利用实时图像计算其跟踪对象的像素点变化从再计算得出机动规律,使得无人机自主飞行控制的变得低效以及不准确。另外如果得到较好的目标位置,其控制部分往往研究比较少,只是简单地使用控制器跟随当前目标位置,无法预测目标的下一个可能位置,加上如果应用背景是无人机博弈等对策问题,预测目标的位置显得十分重要。目前利用图像获得相对位置的方法已经较为成熟[1],如在线目标跟踪算法中的均值偏移算法[2]、子块跟踪算法[3]、子空间算法[4],滤波算法中的特征改进、多核算法[5]、尺度估计[6-8]、分块算法[9]等,深度学习中的深度目标跟踪算法[10]等,可以解决大多数图像跟踪存在的问题,但其控制器的目标都几乎只是计算目标与无人机的距离而设计控制器,之后将目标放在图像中心[9],而忽视了从控制方面改善跟踪效果。如果在控制方面加上对目标的预测,那么跟踪效果也会得到很大的改善且也可以将之使用于博弈控制,改善了现有控制算法不灵敏,对图像依赖大的问题。

本文将近似动态规划的方法应用于无人机自主追随的问题,如果已知目标的位置等条件,使用提前使用博弈方式训练好无人机的特征参数的方法,那么本文算法可以使无人机做出更好更快的选择。最后,对设计的算法进行了仿真实验,验证了算法的可行性及其良好的跟踪性能。

1 近似动态规划

基于贝尔曼方程的动态规划为无人机跟随的最佳机动策略提供了新的手段,由此产生的优化策略为无人机跟踪问题提供了更好的方法,即在给定的飞行状态下,对最优跟踪控制策略的求解,不需要大量的在线计算,能够完成实时的最优跟踪。尽管动态规划方法非常适合应用于这类问题,但是其不适用于求解计算量较大的问题,因为离散状态空间大小随状态空间变量的数量成指数增长,从而产生维数灾使得算法难以实现。而基于动态规划的近似动态规划(Approximate Dynamic Programming, ADP)为解决复杂且庞大的最优跟踪控制问题提供了新的可能。

近似动态规划使用的基本原理是利用函数近似结构(比如神经网络),来逼近经典动态规划中的性能指标函数,从而逼近得到最优性能指标和最优控制,近似动态规划的结构如图 1所示[11]

图 1 近似动态规划结构[11] Fig. 1 ADP structure[11]

近似动态规划算法主要由3部分组成:动态系统、执行网络和评价网络。在实际应用中, 每个部分的实现由神经网络执行。当系统模型未知时, 可以通过神经网络对系统模型进行辨识; 执行网络生成系统的控制策略, 通过调节执行网络的参数来达到逼近最优控制策略的目的; 评价网络用于评价执行网络生成的控制策略。不同于传统的反馈控制方法, 图 1中评价网络到执行网络的增强信号是对执行网络控制策略的评价结果,这一信号有助于指导执行网络的优化设计。本文需要指出执行网络和评价网络的权值调整优化目标之间的区别:评价网络的参数优化的目标函数是使得评价网络的输出满足贝尔曼方程; 建立在评价网络基础上, 执行网络参数优化的目标是最小化评价网络的输出。

(1)

式中:r(xk, uk)通常被称之为回报函数(rewardfunction);在k时刻, 以J(xk)性能指标表示为状态xk的函数; 在k+1时刻, 性能指标则可以表示为J(xk+1)。根据贝尔曼最优性原理[12]

(2)

则最优控制可以表示为

(3)

其方法有很多种,本文利用近似值函数的方法来实现整个算法过程,这可以很好地解决动态规划的维数灾问题。近似动态规划变量说明见表 1

表 1 近似动态规划变量说明 Table 1 ADP symbology
变量 说明
x 状态矢量
xi 在第i步的状态
xn X的第n个状态矢量
xterm 特殊的终止状态
xpos 无人机x坐标
ypos 无人机y坐标
X 状态矢量[x1, x2, …, xn]T
f(x, u) 状态转移函数
π(x) 机动策略
π*(x) 最佳机动策略
π(x) 通过滚动算法生成的策略
J(x) 状态x的未来奖励值
Jk(x) J(x)的第k次迭代
Japprox(x) J(x)的函数逼近形式
S(x) 无人机的评估函数
γ 奖励折扣因子
u 控制或移动动作
ζ(x) 状态x的特征向量
β 函数参数向量
g(x) 目标奖励函数
gpa(x) 优势位置函数
pt 终止函数的概率
T Bellman逆操作因子
J*(x) J(x)的最佳值

2 算法构架

算法的基本函数是状态转移函数,将目标追踪的过程离散化,则每个状态到下一个状态由状态转移函数控制。而奖励函数、特征生成函数、轨迹采样函数等都用来生成近似值函数,值函数即状态的未来奖励值,奖励值越大,则对于无人机来说位置就越好,可以通过近似的值函数产生最佳策略。算法框架如图 2所示。

图 2 算法框架 Fig. 2 Algorithm framework
2.1 状态量、目标、控制量以及动力学

跟踪系统的状态量x由无人机和目标的位置、偏航角和滚转角组成,本文目标可以指具有滚转角特征的比如其他飞行器、鸟类等,如果为其他不具有滚转角的目标,则可替代为控制量直接作用的状态量。本文选取的是具有滚转角的对象,以我方飞行器为蓝色无人机,目标用红色代替[13]

(4)

式中:ψ为偏航角,下标b和r分别表示蓝色和红色无人机;ϕ为滚转角;xposypos可以在x-y平面内任意取值,滚转角和偏航角需要在[-180°, 180°]取值。

跟踪的目标始终在一定范围之内,有时候还需要其他的目标来满足需求,比如必须把无人机限制在目标后方的一定扇形区域内,以保证我方无人机占据优势的战略地位。还有其他需求,比如跟随航拍,就必须把无人机限制在目标前方的扇形区域内,本文设定的目标是在其后方的扇形区域内。具体区域如算法1所示,AA和ATA分别为方位角和天线拂擦角。奖励区域如图 3所示。

图 3 奖励区域 Fig. 3 Reward area
  算法1  优势位置函数gpa(x)
  输入:{x}。
R=“飞行器与目标的欧几里得距离”
if(0.1 m < R < 3.0 m) & (|AA| < 60°) &
      (|ATA| < 30°)
then
      gpa(x)=1.0
else
      gpa(x)=0
end if
      输出奖励:(gpa)。

控制量以及动力学,动力学主要被使用在状态转移函数f(xi, ub, ur),如算法2所示。urub分别为敌方无人机与我方无人机的控制指令,Δt为仿真步长;ϕrmaxϕbmax分别为敌方无无人机及我方无人机的最大滚转角以及滚转角变化率;ψv分别为敌方无无人机及我方无人机的最大偏航角、偏航角变化率及速率。控制变量由3种方式构成,{向左、保持、向右},且每个控制变量只作用一个步长。控制量直接控制滚转角,而飞行器通过滚转来产生偏航加速度,由此使飞行器偏航[12]

    算法2   状态转移函数f(xi, ub, ur)
    输入:{xi, ub, ur}。
for i=1:5(once per Δt=0.05 s) do
    for{red, blue} do
          ( =40(°)/s, ϕrmax=18°, ϕbmax=23°)
          if u=L then
               ϕ=max(ϕΔt, -ϕmax)
          else if u=R then
                ϕ=min(ϕ+Δt, ϕmax)
          end if
           tan ϕ(assume v=2.5 m/s)
          ψ=ψ+Δt; xpos=xpostvsin ψ
          ypos=ypostvcos ψ
     end for
end for

2.2 奖励函数

为了更好地训练无人机的跟踪效率,本文使用极大极小算法使跟踪目标与我方无人机进行博弈。而对于每个状态,我方及目标皆有3个机动策略,所以有9种可能的结束状态,红色目标的机动策略选择源自双方的初始状态与9种可能情况的结合机动策略,通过状态转移函数计算结束状态。而在每个状态采用一种评分体系对当前位置进行评分, 表示红色目标的优势程度,因此,我方无人机的目标就是最大化地减小其评分。

按照目标的定义,跟随在目标的后方的一定距离以内,可以得到优势位置函数gpa(x),可是它的不连续性导致近似值函数过程难于操作,所以引入连续的评估函数S(x), 将两者结合起来一起构成每个状态的评分体系[14]

评估函数表达式为

(5)

每架飞行器都有相对于另一架飞行器的对称表示,不失一般性,本文从蓝色飞行器角度描述几何。奖励区域为两箭头所夹区域,ATA为我方无人机头部与视距线的夹角,AA为视距线与敌方无人机头部反方向所成夹角。R为两物体之间的实际距离,Rd为两物体间的期望距离,常数p单位为m/(°),其为用来协调方位分数和距离分数。p的有效值为0.1 m/(°),R的有效值为2 m。目标奖励函数的具体表达式为

(6)