哈尔滨工业大学学报  2020, Vol. 52 Issue (10): 119-127  DOI: 10.11918/201912005
0

引用本文 

林传健, 章卫国, 史静平, 吕永玺. 无人机跟踪系统仿真平台的设计与实现[J]. 哈尔滨工业大学学报, 2020, 52(10): 119-127. DOI: 10.11918/201912005.
LIN Chuanjian, ZHANG Weiguo, SHI Jingping, LÜ Yongxi. Design and implementation of simulation platform for UAV tracking system[J]. Journal of Harbin Institute of Technology, 2020, 52(10): 119-127. DOI: 10.11918/201912005.

作者简介

林传健(1994—),男,博士研究生;
章卫国(1956—),男,教授,博士生导师

通信作者

林传健,linchuanjian01@outlook.com

文章历史

收稿日期: 2019-12-02
无人机跟踪系统仿真平台的设计与实现
林传健1, 章卫国1,2, 史静平1,2, 吕永玺1,2    
1. 西北工业大学 自动化学院, 西安 710072;
2. 陕西省飞行控制与仿真技术重点实验室(西北工业大学), 西安 710072
摘要: 为解决无人机(Unmanned Aerial Vehicle, UAV)在进行地面目标跟踪实验时,存在验证难度大,成本高等问题,设计和实现了基于视景仿真软件和MATLAB/Simulink的仿真平台.首先,选择汽车作为地面目标,在视景仿真软件中导入UAV和汽车的三维模型,并设置虚拟云台和摄像机.其次,利用UAV、汽车与云台之间的相对运动模拟UAV跟踪过程中场景的变化,基于运动补偿的云台控制算法保证了虚拟摄像机始终指向目标.然后,虚拟摄像机采集目标所在区域的图片,图像跟踪算法跟踪图片中的目标,并利用目标图像模型解算目标在世界坐标系下的位置.最后,根据目标位置,使用参考点制导法生成期望的滚转角指令,引导UAV围绕目标盘旋飞行.视景仿真软件、图像跟踪算法和MATLAB/Simulink之间通过共享内存与UDP进行闭环通信.此外,提出一种实用可靠的标定方法,完成了视景仿真软件中虚拟摄像机内参矩阵的标定.仿真结果表明:该仿真平台能较好地模拟UAV对不同运动状态汽车的跟踪,得到的仿真结果具有较高的工程参考价值.本文的研究成果为目标跟踪实验提供了良好的仿真环境,有效减少实验成本.
关键词: 目标跟踪    无人机    云台控制    参考点制导    视景仿真    
Design and implementation of simulation platform for UAV tracking system
LIN Chuanjian1, ZHANG Weiguo1,2, SHI Jingping1,2, LÜ Yongxi1,2    
1. School of Automation, Northwestern Polytechnical University, Xi'an 710072, China;
2. Key Laboratory of Flight Control and Simulation Technology (Northwestern Polytechnical University), Shaanxi Province, Xi'an 710072, China
Abstract: Ground target tracking experiments using unmanned aerial vehicle (UAV) are difficult to verify and the cost is high. To solve the problem, a simulation platform based on visual simulation software and MATLAB/Simulink was designed and implemented. First, vehicle was selected as ground target. The 3D models of UAV and vehicle were imported into the visual simulation software, and virtual gimbal and camera were set up. Next, the relative motions of the UAV, vehicle, and gimbal were used to simulate scene changes during the tracking process, and the gimbal control algorithm based on motion compensation ensured that the virtual camera always points at the target. Then, the virtual camera was used to capture the image of the target. The image tracking algorithm could track the target in the image and use the target image model to calculate the target position in the world coordinate system. Finally, according to the target position, the reference point guidance method was used to generate the desired roll angle command to guide the UAV to circle around the target. Closed-loop communication between visual simulation software, image tracking algorithm, and MATLAB/Simulink was carried out with UDP and shared memory. In addition, a practical and reliable calibration method was proposed to calibrate the internal matrix of the virtual camera in the visual simulation software. Simulation results demonstrate that the platform can simulate the tracking of ground target by using UAV, and the results have high reference value for engineering. The research in this paper provides a good simulation environment for target tracking experiments and can reduce the cost of experiment effectively.
Keywords: target tracking    unmanned aerial vehicle    gimbal control    reference point guidance    visual simulation    

UAV在执行敌情侦查、视觉导航、目标检测和跟踪等任务时,视觉系统是不可缺少的一部分[1].在执行任务时,UAV上的视觉系统对目标地区进行图像采集,通过图像处理方法对感兴趣的目标进行分析和特征提取,实现对目标的跟踪和定位.目前大多数涉及到UAV跟踪系统的研究都停留在理论探索层面.由于UAV飞行速度快、起降难以及空域管制等问题,使得实际试飞成本高、难度大.因此如何降低成本并且有效地进行目标跟踪实验是一个急需解决的问题.

在过去的几十年中,计算机技术的迅猛发展使得视景仿真技术得到快速发展.视景仿真技术利用计算机图形技术构建具有三维模型和仿真环境的研究对象,从而实时地再现仿真场景.视景仿真不仅提供精确的环境模拟,同时能快速地对系统重新设计和测试,大大降低成本,在航路规划和飞行器姿态显示和军事仿真训练等方面[1-5]广泛应用.文献[6-7]用显示器播放视景仿真软件运行的画面,用实际的摄像机进行拍摄,但是这种方法没有考虑到软件中视场角的影响.文献[8]在Creator/Vega中利用高程及影像数据模拟环境以及摄像机效果,搭建了跟踪系统来满足侦察训练需求,但是每一帧视场范围需经过参数解算才能获得,实现起来较为复杂.

本文利用视景仿真软件(Vega Prime, VP)和MATLAB/Simulink设计和实现了一个UAV跟踪系统仿真平台,并选择汽车作为地面跟踪的目标.视景显示系统、图像跟踪算法与MATLAB/Simulink之间通过共享内存和UDP进行通信,解决不同子系统之间的通信问题.提出了一种实用可靠的标定方法,完成了视景仿真系统中虚拟摄像机内参矩阵的标定.为验证仿真平台的运行效果,本文将基于运动补偿的云台控制算法[9]和参考点制导法[10]应用到该仿真平台上.仿真结果表明,该仿真平台能较好地还原实际跟踪场景,模拟UAV跟踪汽车的过程,实现了低成本、高质量的闭环仿真验证.

1 仿真平台的设计与搭建 1.1 仿真平台搭建

仿真平台由视景显示系统、目标跟踪系统、目标定位系统和Simulink模型系统四个部分组成,如图 1所示.整个跟踪系统的组成如图 2所示.

图 1 闭环仿真平台系统组成 Fig. 1 Composition of closed-loop simulation platform system
图 2 跟踪系统示意 Fig. 2 Schematic diagram of tracking system

视景显示系统使用VP作为开发平台[11-12].首先在软件中导入UAV和汽车的3D模型,在UAV模型底部设置一个Transform模块模拟云台,然后通过设置Transform的俯仰和旋转运动模拟云台的运动.将观察者设置为Transform模块,则VP的主窗口会显示从Transform模块视角看到的场景,模拟摄像机拍摄,视景显示系统输出如图 3所示.UAV的运动及云台的俯仰和水平旋转会改变摄像机的视场,VP的主窗口就会显示不同的场景,模拟了UAV实际飞行中摄像机的拍摄情况.

图 3 视景显示系统输出 Fig. 3 Output image of visual display system

目标跟踪系统采用基于相关滤波[13-14]的高效卷积算子(Efficient Convolution Operators, ECO)图像跟踪算法[15].使用ECO算法时,首先人工选定目标区域,即汽车所在的矩形区域,然后ECO算法对目标区域进行特征提取,初始化跟踪器,开始跟踪,并将目标所在的矩形区域的坐标传递给目标定位系统.

目标定位系统选择汽车所在矩形框的中心点像素坐标当作汽车的坐标,结合本图像保存时UAV和云台对应的位姿,利用目标图像模型解算出目标在世界坐标系下的坐标,并把解算结果发送到Simulink模型系统用于飞行引导指令的计算.

Simulink模型系统由飞机仿真模型、汽车仿真模型和云台仿真模型组成.飞机仿真模型负责进行六自由度方程的解算并完成UAV的控制,进而引导UAV围绕目标飞行.云台仿真模型用于解算云台的姿态,控制云台的旋转和俯仰,使目标保持在视野中央.汽车仿真模型的任务是解算汽车的位置,控制汽车的航向和速度.汽车仿真模型独立于其他模型,其他模型无法得知汽车的运动状态.

1.2 系统通信

仿真平台实物如图 4所示,左边屏幕有两个窗口,左边窗口为视景显示系统的输出显示,右边窗口为目标跟踪系统的输出显示.右边屏幕为Simulink的窗口,运行目标定位系统和Simulink模型系统.两个屏幕均连接在同一台工作站上.

图 4 仿真平台实物 Fig. 4 Photo of simulation platform

4个子系统之间通信方式如图 5所示.视景显示系统利用Windows的设备句柄将VP主窗口的场景以图像序列的形式保存到共享内存中,并且在保存该图像帧的同时,以文本形式保存下UAV的位姿和云台的位姿.

图 5 闭环视景仿真系统通信示意 Fig. 5 Communication diagram of closed-loop visual simulation system

目标跟踪系统读取共享内存中的图像序列,在第一张图片中标出感兴趣的物体,然后ECO开始进行跟踪.ECO算法将目标在图像中的位置以文本的形式保存到共享内存中.

目标定位系统读取内存中飞机的位姿,云台的位姿以及目标在图像中的位置,利用目标图像模型计算出目标的实际位置,把目标的位置输出到Simulink模型系统中.

Simulink模型系统与视景显示系统之间利用UDP通信.Simulink模型系统定时将UAV、汽车以及云台的位姿信息发送到视景显示系统中,驱使视景系统中UAV、汽车和云台模型的运动,使视景不断进行更新,从而实现闭环仿真.

2 目标位置计算 2.1 目标图像模型

通过图像信息获取到目标在世界坐标系下的位置是进行目标跟踪的首要条件.因此本文根据UAV、云台和目标三者的几何关系建立了目标图像模型.UAV在跟踪过程中目标、云台、摄像机和UAV的相对位置关系如图 6所示.摄像机和云台的位置重合,跟随云台转动.

图 6 UAV、云台和目标的相对位置关系 Fig. 6 Relative position between UAV, gimbal, and target

根据几何分析,目标的位置Pt=[xt  yt  zt]T表示为

$ {\mathit{\boldsymbol{P}}_{\rm{t}}} = {\mathit{\boldsymbol{P}}_1} + {\mathit{\boldsymbol{P}}_2} + {\mathit{\boldsymbol{P}}_3}. $ (1)

式中:向量P1=[x1  y1  z1]T为UAV在世界坐标系下的位置,向量P2=[x2  y2  z2]T为UAV质心到摄像机光心的距离,可由下式得到

$ {\mathit{\boldsymbol{P}}_2} = _b^s\mathit{\boldsymbol{R}}{ \cdot ^b}{\mathit{\boldsymbol{P}}_2}. $ (2)

式中:bP2=[x2b  y2b  z2b]T为摄像机在机体坐标系下的位置,bsR为机体坐标系到世界坐标系的转换矩阵.

式中向量P3为摄像机到目标的距离,满足如下关系

$ {\mathit{\boldsymbol{P}}_3} = _b^s\mathit{\boldsymbol{R}} \cdot _c^b\mathit{\boldsymbol{R}}{ \cdot ^c}{\mathit{\boldsymbol{P}}_3}. $ (3)

式中:cP3=[x3c  y3c  zc]T为目标在摄像机坐标系下的位置,zc为图像深度,表示摄像机的光心沿光轴到目标的距离,cbR为摄像机坐标系到机体坐标系的转换矩阵.因此,式(1)转化为

$ {\mathit{\boldsymbol{P}}_{\rm{t}}} = {\mathit{\boldsymbol{P}}_1} + _b^s\mathit{\boldsymbol{R}}{ \cdot ^b}{\mathit{\boldsymbol{P}}_2} + _b^s\mathit{\boldsymbol{R}} \cdot _c^b\mathit{\boldsymbol{R}}{ \cdot ^c}{\mathit{\boldsymbol{P}}_3}. $ (4)

像素坐标系与摄像机坐标系之间的关系为

$ {z_c}\left[ {\begin{array}{*{20}{l}} u\\ v\\ 1 \end{array}} \right] = \left[ {\begin{array}{*{20}{c}} {\frac{f}{{dx}}}&{ - \frac{{\cot {\kern 1pt} {\kern 1pt} {\kern 1pt} \theta f}}{{dx}}}&{{u_0}}\\ 0&{\frac{f}{{dy{\rm{sin}}{\kern 1pt} {\kern 1pt} {\kern 1pt} \theta }}}&{{v_0}}\\ 0&0&1 \end{array}} \right]\left[ {\begin{array}{*{20}{c}} {x_3^c}\\ {y_3^c}\\ {{z_c}} \end{array}} \right] = \mathit{\boldsymbol{M}}\left[ {\begin{array}{*{20}{c}} {x_3^c}\\ {y_3^c}\\ {{z_c}} \end{array}} \right]. $ (5)

式中:Pf=[u  v  1]T表示目标在图片中的像素坐标,f代表相机的焦距,u0v0代表图片的中心点坐标,dxdy代表每个像素物理尺寸的大小,θ代表镜头的畸变角度,M代表摄像机内参矩阵,表示摄像机坐标系和像素坐标系之间的关系.内参矩阵和相机的内部参数有关,需要进行标定.

由式(4)、(5)可得图像目标模型的表达式为

$ \left[ {\begin{array}{*{20}{l}} {{x_{\rm{t}}}}\\ {{y_{\rm{t}}}}\\ {{z_{\rm{t}}}} \end{array}} \right] = \left[ {\begin{array}{*{20}{l}} {{x_1}}\\ {{y_1}}\\ {{z_1}} \end{array}} \right] + _b^s\mathit{\boldsymbol{R}} \cdot \left[ {\begin{array}{*{20}{c}} {x_2^b}\\ {y_2^b}\\ {z_2^b} \end{array}} \right] + _b^s\mathit{\boldsymbol{R}} \cdot _c^b\mathit{\boldsymbol{R}} \cdot {\mathit{\boldsymbol{M}}^{ - 1}}{z_c}\left[ {\begin{array}{*{20}{c}} u\\ v\\ 1 \end{array}} \right]. $ (6)
2.2 摄像机标定

实际工程中,最常用的标定方法是张正友提出的基于单平面棋盘格的标定方法[16].该方法只需利用相机拍摄若干张棋盘格照片,步骤简单,实用性较强.但是在仿真系统中,摄像机是虚拟的,无法拍摄棋盘格,则张正友标定法无法应用.受到张正友标定的启发,本文提出一种精确可靠的标定方法,可直接标定视景仿真软件中的内参矩阵.

目标图像模型如式(6)所示.通过在视景软件中设置UAV、汽车和摄像机的位置姿态信息,可获得对应的图片.汽车在图像中的位置通过人工标记获得,深度信息zc的解算将在目标位置计算中详细说明.因此,式(6)中仅有内参矩阵未知.内参矩阵共有5个参数,标记一张图片获得两个方程,利用与图 3类似的3张图片就可求解出内参矩阵M,但是这样计算出的结果并没有实际的物理意义,并且存在误差.为进一步增加标定结果的可靠性,将使用最大似然估计来优化上面得到的结果.

世界坐标系和像素坐标系之间的关系用一个旋转矩阵R和平移向量T表示,假设得到不同条件下的n幅图片,每幅图片上均有一个汽车的像点,目标图像模型可表示为

$ \mathit{\boldsymbol{\hat P}}({\mathit{\boldsymbol{M}}_i},{\mathit{\boldsymbol{P}}_{{\rm{t}},i}}) = {\mathit{\boldsymbol{M}}_i}[{\mathit{\boldsymbol{R}}_i}\quad \mathit{\boldsymbol{T}}]{\mathit{\boldsymbol{P}}_{{\rm{t}},i}}. $ (7)

式中:Pt, i表示第i幅图片上汽车像点的实际坐标,${\mathit{\boldsymbol{\hat P}}} $(Mi, Pt, i)表示Pt, i在图像上的坐标,Mi表示第i幅图像对应的内参数.定义Pf, i为第i幅图片上汽车的像素点坐标,则像点Pf, i的概率密度函数为

$ f({\mathit{\boldsymbol{P}}_{{\rm{f}},i}}) = \frac{1}{{\sqrt {2\pi } }}{{\rm{e}}^{\frac{{ - {{(\mathit{\boldsymbol{\hat P}}({\mathit{\boldsymbol{M}}_i},{\mathit{\boldsymbol{P}}_{{\rm{t}},i}}) - {\mathit{\boldsymbol{P}}_{{\rm{f}},i}})}^2}}}{{{\sigma ^2}}}}}. $ (8)

构造似然函数

$ L({\mathit{\boldsymbol{M}}_i},{\mathit{\boldsymbol{P}}_{{\rm{t}},i}}) = \prod\limits_{i = 1}^n {f({\mathit{\boldsymbol{P}}_{{\rm{f}},i}})} = \frac{1}{{\sqrt {2\pi } }}{{\rm{e}}^{\frac{{ - \sum\limits_{i = 1}^n {(\mathit{\boldsymbol{\hat P}}(} {\mathit{\boldsymbol{M}}_i},{\mathit{\boldsymbol{P}}_{{\rm{t}},i}}) - {\mathit{\boldsymbol{P}}_{{\rm{f}},i}}{)^2}}}{{{\sigma ^2}}}}}. $ (9)

为了能够让L取得最大值,将问题转化为

$ {\rm{min}}\sum\limits_{i = 1}^n {{{\left\| {\mathit{\boldsymbol{\hat P}}({\mathit{\boldsymbol{M}}_i},{\mathit{\boldsymbol{P}}_{{\rm{t}},i}}) - {P_{{\rm{f}},i}}} \right\|}^2}} . $ (10)

式(10)是一个非线性优化问题,将使用Levenberg-Marquardt方法进行优化.利用最开始标定得到的解作为初始值,不断进行迭代得到最优解.

2.3 目标位置计算

图像深度zc通常是未知的.为了估计zc,假定地面高程地图已知,则地面目标的海拔高度zt已知.现在设κ=bsR·cbR·M-1κR3×3,则代入式(6)得

$ \begin{array}{l} {z_{\rm{t}}} = {z_1} + [_b^s{\mathit{\boldsymbol{R}}_{31}},_b^s{\mathit{\boldsymbol{R}}_{32}},_b^s{\mathit{\boldsymbol{R}}_{33}}]\left[ {\begin{array}{*{20}{c}} {x_2^b}\\ {y_2^b}\\ {z_2^b} \end{array}} \right] + {z_c} \cdot \\ {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} \left[ {\begin{array}{*{20}{l}} {{\mathit{\boldsymbol{\kappa }}_{31}},{\mathit{\boldsymbol{\kappa }}_{32}},{\mathit{\boldsymbol{\kappa }}_{33}}} \end{array}} \right] \cdot \left[ {\begin{array}{*{20}{l}} u\\ v\\ 1 \end{array}} \right]. \end{array} $ (11)

则通过下式计算得到

$ {z_c} = \frac{{{z_{\rm{t}}} - {z_1} - \left( {_b^s{\mathit{\boldsymbol{R}}_{31}} \cdot x_2^b + _b^s{\mathit{\boldsymbol{R}}_{32}} \cdot y_2^b + _b^s{\mathit{\boldsymbol{R}}_{33}} \cdot z_2^b} \right)}}{{{\mathit{\boldsymbol{\kappa }}_{31}} \cdot u + {\mathit{\boldsymbol{\kappa }}_{32}} \cdot v + {\mathit{\boldsymbol{\kappa }}_{33}}}}. $ (12)

获得深度信息zc之后,式(6)右侧的剩余变量可通过传感器量测获得,则利用下式估算出目标的地理位置

$ \left\{ {\begin{array}{*{20}{l}} {{x_{\rm{t}}} = {x_1} + _{\rm{b}}^{\rm{s}}{\mathit{\boldsymbol{R}}_{1j}}{ \cdot ^b}{\mathit{\boldsymbol{P}}_2} + {z_c}({\mathit{\boldsymbol{\kappa }}_{1j}} \cdot {\mathit{\boldsymbol{P}}_{\rm{f}}}),}\\ {{y_{\rm{t}}} = {y_1} + _b^s{\mathit{\boldsymbol{R}}_{2j}}{ \cdot ^b}{\mathit{\boldsymbol{P}}_2} + {z_c}({\mathit{\boldsymbol{\kappa }}_{2j}} \cdot {\mathit{\boldsymbol{P}}_{\rm{f}}}).} \end{array}} \right. $ (13)

式中:bsRijκij分别为bsRκ的第i行第j列元素.

2.4 定位误差分析

图像深度zc的计算需要已知目标的海拔高度zt,在计算的时候假设zt已知.但地形可能存在高低起伏,造成zt存在误差,给定位带来影响.假设

$ {z_{\rm{t}}} = {z_{{\rm{t,o}}}} \pm {\varDelta _{\rm{t}}}. $ (14)

式中:zt, o代表目标海拔高度的精确值,Δt代表海拔高度的误差.根据式(12)和式(13),得到目标水平位置xtyt关于海拔高度zt的导数为:

$ \left\{ {\begin{array}{*{20}{l}} {\frac{{\partial {x_{\rm{t}}}}}{{\partial {z_{\rm{t}}}}} = \frac{{\partial [{z_c}({\mathit{\boldsymbol{\kappa }}_{1j}} \cdot {\mathit{\boldsymbol{P}}_{\rm{f}}})]}}{{\partial {z_t}}} = \frac{{{{\dot z}_{\rm{t}}}({\mathit{\boldsymbol{\kappa }}_{1j}} \cdot {\mathit{\boldsymbol{P}}_{\rm{f}}})}}{{{\mathit{\boldsymbol{\kappa }}_{31}} \cdot u + {\mathit{\boldsymbol{\kappa }}_{32}} \cdot v + {\mathit{\boldsymbol{\kappa }}_{33}}}},}\\ {\frac{{\partial {y_{\rm{t}}}}}{{\partial {z_{\rm{t}}}}} = \frac{{\partial [{z_c}({\mathit{\boldsymbol{\kappa }}_{2j}} \cdot {\mathit{\boldsymbol{P}}_{\rm{f}}})]}}{{\partial {z_{\rm{t}}}}} = \frac{{{{\dot z}_{\rm{t}}}({\mathit{\boldsymbol{\kappa }}_{2j}} \cdot {\mathit{\boldsymbol{P}}_{\rm{f}}})}}{{{\mathit{\boldsymbol{\kappa }}_{31}} \cdot u + {\mathit{\boldsymbol{\kappa }}_{32}} \cdot v + {\mathit{\boldsymbol{\kappa }}_{33}}}}.} \end{array}} \right. $

zt的主要来源是高程地图,是一系列离散的点,难以获得żt的数学表达式.因此本文将采用序贯扰动(Sequential Perturbation, SP)方法来分析zt对定位精度的影响[17].SP是一种数字方法,在偏导数的直接计算不可行或者难以计算时使用,并且容易洞察哪些误差参数对最终结果产生显著影响.

海拔高度对定位精度的影响可用如下模型评估

$ {\left. {\frac{{\partial {\mathit{\boldsymbol{P}}_{\rm{t}}}}}{{\partial {z_{\rm{t}}}}}} \right|_{\rm{o}}}{\varDelta _{\rm{t}}} = \mathit{\boldsymbol{P}}({z_{{\rm{t,o}}}} + {\varDelta _{\rm{t}}}) - {\mathit{\boldsymbol{P}}_{{\rm{t,o}}}} = {\mathit{\boldsymbol{P}}_{\rm{t}}} - {\mathit{\boldsymbol{P}}_{{\rm{t,o}}}}. $ (15)

式中:Pt代表由式(6)计算出的目标的位置,Pt, o代表准确的目标位置.式(15)代表地面海拔改变时引起的定位误差.

由于UAV目标跟踪主要应用于平原地区,因此可以假定Δt=±20 m.根据式(6)和式(15),固定其他变量,可得Pt/∂zt=0.43 m/m.而UAV跟踪目标的期望半径通常在100 m以上,所以在平原地区,该定位误差对UAV跟踪精度影响较小.

3 UAV跟踪地面目标策略 3.1 基于运动补偿的云台控制算法

在跟踪过程中,摄像机视野会受到UAV运动的影响.实际上,受到气流变化、UAV姿态调整和目标位置变化等因素的影响,摄像机的成像画面容易出现模糊、跳动的情况,降低识别准确度甚至丢失目标.为保证摄像机的视野保持稳定,需要对云台的运动加以控制.

3.1.1 UAV姿态补偿

UAV的姿态变化会引起摄像机视线的变化,因此需要通过云台转动来补偿机体运动对摄像机视线的影响,机体角速度[p    q  r]T与云台姿态角速度$ {\left[ {{{\dot \varphi }_c}\;\;{{\dot \theta }_c}\;\;{{\dot \psi }_c}} \right]^{\rm{T}}}$之间的关系为

$ \left[ {\begin{array}{*{20}{c}} {{{\dot \varphi }_c}}\\ {{{\dot \theta }_c}}\\ {{{\dot \psi }_c}} \end{array}} \right] = \left[ {\begin{array}{*{20}{c}} {{\rm{cos}}{\kern 1pt} {\kern 1pt} {\kern 1pt} {\psi _c}/{\rm{cos}}{\kern 1pt} {\kern 1pt} {\kern 1pt} {\theta _c}}&{{\rm{sin}}{\kern 1pt} {\kern 1pt} {\kern 1pt} {\psi _c}/{\rm{cos}}{\kern 1pt} {\kern 1pt} {\kern 1pt} {\theta _c}}&0\\ {{\rm{sin}}{\kern 1pt} {\kern 1pt} {\kern 1pt} {\psi _c}}&{ - {\rm{cos}}{\kern 1pt} {\kern 1pt} {\kern 1pt} {\psi _c}}&0\\ { - {\rm{tan}}{\kern 1pt} {\kern 1pt} {\kern 1pt} {\theta _c}{\rm{cos}}{\kern 1pt} {\kern 1pt} {\kern 1pt} {\psi _c}}&{ - {\rm{tan}}{\kern 1pt} {\kern 1pt} {\kern 1pt} {\theta _c}{\rm{sin}}{\kern 1pt} {\kern 1pt} {\kern 1pt} {\psi _c}}&1 \end{array}} \right]\left[ {\begin{array}{*{20}{c}} p\\ q\\ r \end{array}} \right] = {\omega _{cb}}\left[ {\begin{array}{*{20}{c}} p\\ q\\ r \end{array}} \right]. $ (16)

由于二自由度云台不具备绕ocxc轴转动的自由度,即φc≡0, $ {{{\dot \varphi }_c}}$≡0,因此这一角度不能进行补偿.二自由度的云台包含俯仰和水平旋转的自由度,通过改变云台的ocycoczc轴的角速度来补偿机体运动引起的摄像机视线的变化,补偿公式为

$ \left[ {\begin{array}{*{20}{c}} 0\\ {{{\dot \theta }_c}}\\ {{{\dot \psi }_c}} \end{array}} \right] = - {\omega _{cb}}\left[ {\begin{array}{*{20}{c}} p\\ q\\ r \end{array}} \right]. $ (17)
3.1.2 中心点补偿

摄像机的分辨率为pxpy,横向和纵向视场角分别为λxλy,当目标在图像平面偏离图像中心像素点的位置为[Δx  Δy]T时,为使目标移动到图像的中心,云台需要旋转的角度为

$ \left[ {\begin{array}{*{20}{c}} {d{\theta _c}}\\ {d{\psi _c}} \end{array}} \right] = \left[ {\begin{array}{*{20}{c}} { {\rm{atan}} \frac{{2{\rm{tan}}({\lambda _y}/2)\Delta y{\rm{cos}}(d{\psi _c})}}{{{p_y}}}}\\ { {\rm{atan}} \frac{{2{\rm{tan}}({\lambda _x}/2)\Delta x}}{{{p_x}}}} \end{array}} \right]. $ (18)

式中:atan为反正切.设采样时间为Δt,则总的云台控制指令为

$ \left[ {\begin{array}{*{20}{c}} {\Delta {\theta _c}}\\ {\Delta {\psi _c}} \end{array}} \right] = {k_1}\left[ {\begin{array}{*{20}{c}} {{{\dot \theta }_c}}\\ {{{\dot \psi }_c}} \end{array}} \right]\Delta t + {k_2}\left[ {\begin{array}{*{20}{c}} {d{\theta _c}}\\ {d{\psi _c}} \end{array}} \right]. $ (19)

式中:k1k2为补偿的比例系数,均大于0.根据式(19),本文提出如图 7所示的云台控制器.

图 7 云台控制器 Fig. 7 Gimbal controller

通过云台控制算法,避免因飞机姿态变化过快而引起摄像机视场的变化,可始终保证目标在图像中心附近,有利于图像跟踪算法跟踪目标.

3.2 UAV的飞行引导 3.2.1 UAV控制律设计

UAV在跟踪地面目标的时候,需要围绕目标做圆周运动,因此需要给出相应的滚转角指令.本文中采用参考点制导法来获取滚转角指令.

3.2.2 参考点制导法

文献[18]利用参考点制导法[10]实现了UAV跟踪曲线航路,并证明了稳定性.在利用参考点制导法跟踪目标时,UAV和目标的位置关系如图 8所示.

图 8 参考点制导法 Fig. 8 Reference point guidance method

参考点制导法根据目标位置生成期望的圆形路径,半径为rd,并在圆形路径上指定一个参考点.参考点的位置在圆形路径上并与飞行器相距L1.根据L1与无人机速度的夹角,生成横向加速度指令为

$ {a_{{{\rm{s}}_{{\rm{cmd}}}}}} = 2\frac{{{V^2}}}{{{L_1}}}{\rm{sin}}{\kern 1pt} {\kern 1pt} {\kern 1pt} \eta . $ (20)

式中:V为无人机的速度,ascmd为横向加速度指令,与UAV速度方向垂直,L1为连接UAV位置和期望路径参考点的线段,大小为固定值,ηVL1的夹角,η∈[-π    π].

利用式(20)得到横向加速度指令后,需要利用式φcmd=atan(ascmd/g)将横向加速度转换成滚转角指令,引导UAV围绕目标飞行,实现跟踪.

4 仿真结果 4.1 仿真参数设定

工作站的硬件环境为:处理器Inter Core i7-6800K CPU 12核,主频3.40 GHz;显卡NVIDA GeForce GTX1080;内存32 G.VP的版本为2013,MATLAB版本为2016b.

本文在仿真时采用UAV六自由度模型,UAV飞行高度hg为150 m,飞行速度Vg为25 m/s,起点坐标为(0, 0)m,滚转角限制为φ≤30°.

VP的分辨率设置为1 280×960,纵向和横向视场角均为80°,模拟摄像机的内参矩阵为

$ \mathit{\boldsymbol{M}} = \left[ {\begin{array}{*{20}{c}} {770.4}&{13.5}&{640}\\ 0&{592.9}&{484}\\ 0&0&1 \end{array}} \right]. $ (21)

云台控制算法中比例系数取k1=1和k2=0.06.

参考点制导法的运行周期为200 ms,期望跟踪半径rd为130 m,L1的长度为100 m.

4.2 跟踪算法跟踪结果

ECO算法的部分输出如图 9所示,长方形框表示ECO算法预测汽车所在的矩形区域.

图 9 视景输出图像的跟踪结果 Fig. 9 Tracking results of visual output images

本文选取中心点误差定量衡量跟踪算法的跟踪效果.中心点误差是指跟踪算法预测的图片上目标中心点与人工标注的目标中心点之间的欧式距离,是衡量跟踪算法性能的重要指标,单位为pixel.一般将中心点误差小于20 pixel看作正确跟踪[19].由图 10可知,中心点误差的平均值为9.75 pixel,只有少数帧的误差超过20 pixel,说明ECO在仿真环境也同样表现优异.

图 10 中心点误差仿真结果 Fig. 10 Simulation results of center point error
4.3 UAV跟踪结果

本节设计了多种汽车运动模式,验证云台控制算法和参考点制导算法的效果,并利用本文所搭建的仿真平台进行闭环仿真.

图 11中,汽车的运动轨迹为直线,x方向速度为10 m/s,y方向的速度为10 m/s.

图 11 跟踪直线运动目标 Fig. 11 Tracking of a linear moving target

图 12中,汽车的运动轨迹为正弦.

图 12 跟踪变方向运动目标 Fig. 12 Tracking of a target with variable directions

图 13中,汽车x方向的速度依次为4 m/s、8 m/s、10 m/s和12 m/s;y方向的速度依次为4 m/s、8 m/s、10 m/s和12 m/s;运动轨迹为四边形.

图 13 跟踪变速变方向目标 Fig. 13 Tracking of a target with variable speeds and directions

由仿真结果可知,云台控制算法和参考点制导法相结合的策略能够使UAV跟踪不同运动速度和方向的地面目标.整个仿真过程均是在本文设计的仿真平台进行的闭环仿真,证明该仿真平台对UAV跟踪过程具有较高程度的还原,得到的仿真结果具有较高的工程参考价值.

5 结论

1) 利用3D仿真软件Vega Prime(VP)和MATLAB/Simulink设计了一个UAV跟踪系统仿真平台,实现了目标跟踪实验的闭环仿真.该仿真平台成本低,实现简单,并且各个子系统采用模块化设计,方便进行推广和替换.

2) 将基于运动补偿的云台控制算法和参考点制导法应用到该仿真平台上,使UAV能够跟踪具有不同运动状态的目标,并且保证目标始终在视野范围内.

3) 仿真平台对UAV跟踪过程具有较高程度的还原,得到的仿真结果具有较高的工程参考价值.下一步工作,将研究把云台控制算法和参考点制导法应用到真正的无人机平台上.

参考文献
[1]
KANELLAKIS C, NIKOLAKOPOULOS G. Survey on computer vision for UAVs: Current developments and trends[J]. Journal of Intelligent & Robotic Systems, 2017, 87(1): 141. DOI:10.1007/s10846-017-0483-z
[2]
赵俊峰.无人机航迹规划虚拟视景仿真系统设计[D].南昌: 南昌航空大学, 2019
ZHAO Junfeng. UAV route planning virtual vision simulation system design[D]. Nanchang: Nanchang Hangkong University, 2019 https://kns.cnki.net/KCMS/detail/detail.aspx?dbcode=CMFD&filename=1019654383.nh
[3]
QI Juntong, LIU Jinda, ZHAO Bichuan, et al. Visual simulation system design of soft-wing UAV based on FlightGear[C]//2014 IEEE International Conference on Mechatronics and Automation. Tianjin: IEEE, 2014: 1190. DOI: 10.1109/ICMA.2014.6885867
[4]
姜博.基于Mulitigen Creator和Vega Prime的车辆制动性试验视景仿真研究[D].西安: 长安大学, 2019
JIANG Bo. Visual simulation study of vehicle brake test based on Mulitigen Creator and Vega Prime[D]. Xi'an: Chang'an University, 2019 http://cdmd.cnki.com.cn/Article/CDMD-10710-1019628308.htm
[5]
孙旺, 刘西, 南英. 基于MFC的Vega Prime航空飞行器动态视景仿真[J]. 指挥控制与仿真, 2019, 41(5): 87.
SUN Wang, LIU Xi, NAN Ying. Dynamic visual simulation of aviation aircraft using Vega Prime based on MFC[J]. Command Control & Simulation, 2019, 41(5): 87. DOI:10.3969/j.issn.1673-3819.2019.05.018
[6]
ROSS J, GEIGER B, SINSLEY G, et al. Vision-based target geolocation and optimal surveillance on an unmanned aerial vehicle[C]//AIAA Guidance, Navigation and Control Conference and Exhibit. Hawaii: AIAA, 2008: 7448. DOI: 10.2514/6.2008-7448
[7]
GANS N R, DIXON W E, LIND R, et al. A hardware in the loop simulation platform for vision-based control of unmanned air vehicles[J]. Mechatronics, 2009, 19(7): 1044. DOI:10.1016/j.mechatronics.2009.06.014
[8]
李增彦, 李小民. 无人侦察机半物理跟踪仿真平台设计与实现[J]. 测控技术, 2013, 32(3): 63.
LI Zengyan, LI Xiaomin. Design and implementation of semi-physical simulation system for URAV's tracking[J]. Measurement & Control Technology, 2013, 32(3): 63. DOI:10.19708/j.ckjs.2013.03.016
[9]
李湘清, 孙秀霞, 彭建亮, 等. 基于运动补偿的小型无人机云台控制器设计方法[J]. 系统工程与电子技术, 2011, 33(2): 377.
LI Xiangqing, SUN Xiuxia, PENG Jianliang, et al. Motion compensation based gimbal controller design for small UAV[J]. Journal of Systems Engineering and Electronics, 2011, 33(2): 377. DOI:10.3969/j.issn.1001-506X.2011.02.29
[10]
PARK S, DEYST J, HOW J P. A new nonlinear guidance logic for trajectory tracking[C]//AIAA Guidance, Navigation, and Control Conference and Exhibit. Rhode Island: AIAA, 2004: 4900. DOI: 10.2514/6.2004-4900
[11]
王文恽, 王文双, 侯学隆, 等. Vega Prime开发与应用仿真[M]. 第1版. 成都: 西南交通大学出版社, 2017: 49.
WANG Wenyun, WANG Wenshuang, HOU Xuelong, et al. Development and simulation application based on Vega Prime[M]. 1st ed. Chengdu: Southwest Jiaotong University Press, 2017: 49.
[12]
王孝平, 董秀成, 古世甫. Vega Prime虚拟现实开发技术[M]. 第1版. 成都: 西南交通大学出版社, 2018: 71.
WANG Xiaoping, DONG Xiucheng, GU Shifu. Development technology of virtual reality based on Vega Prime[M]. 1st ed. Chengdu: Southwest Jiaotong University Press, 2018: 71.
[13]
HENRIQUES J F, CASEIRO R, MARTINS P, et al. High-speed tracking with kernelized correlation filters[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2015, 37(3): 583. DOI:10.1109/TPAMI.2014.2345390
[14]
DANELLJAN M, ROBINSON A, KHAN F S, et al. Beyond correlation filters: Learning continuous convolution operators for visual tracking[C]//European Conference on Computer Vision. Cham: Springer, 2016: 472. DOI: 10.1007/978-3-319-46454-1_29
[15]
DANELLJAN M, BHAT G, KHANF S, et al. ECO: Efficient convolution operators for tracking[C]//2017 IEEE Conference on Computer Vision and Pattern Recognition. Honolulu: IEEE, 2017: 6931. DOI: 10.1109/CVPR.2017.733
[16]
ZHANG Zhengyou. A flexible new technique for camera calibration[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2000, 22(11): 1332. DOI:10.1109/34.888718
[17]
FIGLIOLA R S, BEASLEY D E. Theory and design for mechanical measurements[M]. 5th ed. [S.l.]: John Wiley & Sons, 2011: 174.
[18]
PARK S, DEYST J, HOW J P. Performance and Lyapunov stability of a nonlinear path following guidance method[J]. Journal of Guidance, Control, and Dynamics, 2007, 30(6): 1719. DOI:10.2514/1.28957
[19]
BABENKO B, YANG M H, BELONGIE S. Robust object tracking with online multiple instance learning[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2010, 33(8): 1627. DOI:10.1109/TPAMI.2010.226