面向固定翼无人机的视觉导引仿真系统设计与实现
2015-11-14庄丽葵曹云峰
李 强,庄丽葵,曹云峰,丁 萌
(南京航空航天大学自动化学院,南京210016)
基于视觉的自主着陆技术是近年来无人机导航、制导与控制(guidance navigation& control,GNC)领域的研究热点[1-3],但在实际的研究过程中都将视觉导航、制导、控制三大系统分离出来单独研究,主要原因是现有的视觉导航技术的鲁棒性和实时性有待提高,其与制导、控制模块的匹配能力有待加强,还无法实现在线闭环实验.现有的GNC系统的仿真手段对于视觉导航研究存在严重的不足,如无法获得实时更新的着陆场景图像[4-5].因此开发能够实现三大系统闭环仿真的实验手段非常重要,且意义重大.
本课题来源于实际项目,要求演示一架大型固定翼无人机从距已知跑道较远处开启视觉导引器导引着陆.由于种种原因,很难使用实际的大型无人机进行实验验证,因此有必要构建一个能够对视觉着陆算法进行验证的仿真系统,利用这一仿真系统进行无人机着陆过程中航迹规划、飞行控制、着陆控制、视觉导引等的研究开发与验证演示.
基于上述目的,本文研究了一种基于 Flightgear[6]和Matlab的面向固定翼无人机的视觉导引仿真系统,该仿真平台的基本配置是由3台计算机组成的局域网,3台计算机分别负责无人机的动力学模型与控制算法解算,基于FlightGear的着陆视景生成,视觉导引算法运行.3台计算机协作完成包含视觉算法的无人机GNC闭环仿真系统.其中着陆实时画面由Flightgear内的OpenGL模块渲染生成,并通过HDMI视频采集卡实时采集抓取,解决了着陆场景图像生成及与视觉算法交互的问题.本系统的功能主要包括:
1)引入视觉信息的无人机飞行控制导引算法开发与验证,如控制架构设计、控制律设计等;
2)引入视觉信息的无人机自主着陆导引算法开发与验证,如航迹规划技术、航迹最优技术、航迹跟踪技术等;
3)引入视觉信息的无人机自主着陆任务管理策略开发与验证,如多层次着陆任务规划方法研究;
4)视觉导航算法开发与验证.
1 仿真系统方案设计
1.1 仿真系统原理框图
本仿真系统实现了Matlab和FlightGear联动的平台交互式仿真,并且能有效融合视觉导引系统的信息,最终完成基于视觉的自主着陆闭环仿真系统.为实现模块化开发,系统分为3个子系统:自主着陆控制系统(简称控制机);可视化视景仿真演示系统(简称视景机);视觉导引系统(简称视觉机).
3个子系统分别独立运行在3台高性能计算机上,并通过网络通讯实现控制闭环.为了仿真出真实摄像头视角的图像,视景机使用了Flightgear,Flightgear利用OpenGL渲染出逼真的影像数据,数据传输到HDMI接口后能被视觉机上安装的HDMI视频卡采集到.仿真系统的数据流为:①控制机负责实时着陆轨迹生成、航迹控制、飞行姿态控制和飞机动态模型的更新,输出飞机实时位姿数据到视景机;②视景机的Flightgear依据位姿数据更新飞机的状态,即刷新了虚拟摄像头的画面;③视觉机采集视觉信号进行分析解算,输出当前飞机导航参数到控制机;④转入①,形成闭环.
仿真系统各子系统通过局域网连接,逻辑上是环形连接形式,物理上使用星形网络连接形式.3个子系统间所有信息可实现共享,比如视景机会把飞机位置的真值共享给视觉机,视觉机依据此真值验证其视觉识别,解算出飞机位置的准确性和鲁棒性等.
1.2 自主着陆控制系统
控制机通过传感器模型获取控制所需要的反馈信息,从视觉导引系统中获得飞机的位置信息来控制飞机(数学模型)按照在线实时生成的着陆轨迹完成基于视觉的自主着陆,并将无人机的位姿信息发给视景机.此子系统单独运行在一台计算机上的Simulink平台上,主要包括:航迹规划模块;飞行控制器模块;飞机模型模块;传感器模型模块.
1.3 可视化视景仿真演示系统
视景机专门运行Flightgear,它接受控制机的位姿指令实时刷新视景,其内置的OpenGL模块能渲染出逼真的视景画,视景数据实时传输到HDMI接口,通过HDMI线缆传输到视觉机.为模拟出真实的摄像头视角的画面,FlightGear被重新定制,定制的内容有:
1)设置使用外部数学模型,即由外部程序控制其视景显示的内容;
2)制定通信协议,通过UDP方式将飞机状态数据共享到网络中;
3)设定目标跑道(机场),并在目标跑道周边放置合作目标;
4)配置摄像头视角,包括摄像头在飞机上的位置,光轴方向,云台控制,像面尺寸,焦距以及单目双目等;
5)配置环境信息,如光照、气象等.
1.4 视觉导引系统
视觉机主要由着陆跑道检测识别与跟踪、基于视觉的运动参数估计两大模块组成.视觉处理机对HDMI采集卡采集到的实时图像进行处理分析,解算出飞机相对于目标跑道的位置信息,将结果发给控制机.
2 仿真系统的建立
仿真系统的建立包括硬件和软件,软件包括应用软件的安装、配置和仿真控制程序、视觉算法程序等,其中Flightgear的配置(定制)是系统建立的关键.硬件方面需要准备3台计算机,1台路由器,UB189 HDMI采集卡和必要的连接线缆.应尽量使用性能高的计算机来组建仿真系统,视景机的显卡应支持HDMI接口,视觉机应支持PCI-E接口(用于安装采集卡).
应用软件方面需要在控制机和视觉机上安装Matlab,在视景机上安装Flightgear.Flightgear用于渲染摄像头视角的画面,需要配置其使用外部数据驱动飞机模型,并配置画面的尺寸和视场角的大小.视觉机需要安装采集卡驱动包,并在Matlab中要启动对应的支持包,否则图像不能正确读取.
2.1 控制机
控制机负责控制算法和模型迭代运算,其程序结构如图3所示,其中的飞机模型和传感器模型改自F-16高仿真模型[7],课题组自行开发了飞行控制器模块和航迹规划与控制模块.飞机触地后视觉机只提供相对于跑道中心线的侧偏距信息,且整个过程中飞机的姿态和航向由IMU传感器(在控制机的传感器模型中)提供.
2.2 视景机
项目前期主要验证航迹规划和航迹跟踪控制算法,因而降低了跑道识别和跟踪的难度,通过编辑视景机Flightgear的地景数据库可精确“放置”如图4中的合作目标以便于识别跑道,视觉机通过检测4个色块来解算飞机相对于跑道的位置.
2.3 视觉机
可以简化视觉机的任务为合作目标搜索及飞机位置解算[8].分别编写 VisionSearch 和 uv2xyz[9]2 个函数(图5),VisionSearch函数负责从图像中找到4个色块的中心位置的像素坐标,uv2xyz函数利用这4个坐标值,用正交迭代的方法计算出旋转矩阵R和平移向量T,进而得到相机在跑道坐标系中的坐标(即飞机的坐标).
2.4 虚拟摄像头标定
为了从视觉信息中解算出飞机的运动参数,需要对Flightgear的摄像头内参数进行标定,虚拟摄像头的标定原理与实物摄像头的完全相同,可以采用张正友[10]的标定方法,利用 Matlab的 CameraCalibrator[11]工具箱进行标定,先在 Flightgear地景中放置棋盘格标定板,手动操纵飞机到不同的位置,对标定板进行拍照,用标定工具箱对得到的图像样本进行标定(如图6),得到内参数矩阵 M=[1109,0,640.5;0,1109,360.5;0,0,1].
2.5 联网配置
3台计算机分别运行3个子系统,通过组网实现高速实时的数据交互,完成分布式联合仿真.为了避免数据延迟,采用局域网UDP协议进行通讯,并保持局域网内只有这3台计算机.组网的地址分配和端口分配如图7所示,3个子系统的程序严格按照此设定进行通讯.
3 仿真实验
实验前检查所有的设置无误,按顺序启动视景机的 Flightgear,视觉机的 Simulink程序,控制机的Simulink程序.飞机从指定进近点开始,依靠视觉机的位置信息顺利完成了下滑操作,拉平操作,触地操作和滑行;从视景机和视觉机的监视器界面可以看到摄像头视角的着陆全过程,在控制机上可以实时查看飞机运行的参数曲线.距离跑道1 km以内时,视觉得到的位置信息误差保持在1.0 m以内(对比视景机共享的真值),如图8.
4 结语
针对现有方案的不足和实际无人机视觉着陆研究工作的需要,本文提出了利用Flightgear渲染实时摄像头画面,并利用HDMI高速数字端口进行采集和传输图像信号,以模块化运行的方式联网组成闭环仿真系统,利用实验验证了该系统能够完成:
1)视觉导引的图像算法验证功能;
2)着陆控制算法验证功能;
3)视觉导引下自主着陆全过程演示功能.
总之,通过该仿真系统的研制,构建了面向固定翼无人机自主着陆的视觉导引仿真系统,可以解决现有GNC系统的仿真手段不能支持在线实时视觉导引与控制的研究与验证.
[1]王亮,康凤举,邓红德,等.基于视觉的无人机着陆半物理仿真系统的应用[J].系统工程与电子技术,2012,34(7):1511-1517.
[2]阮利锋.小型无人直升机自主着陆视觉导航系统设计及仿真[D].上海:上海交通大学,2009.
[3]ALLERTON D.Principles of flight simulation[M].John Wiley& Sons,2009.
[4]张珍.无人机自主着陆的视觉识别与定位算法设计及仿真研究[D].南京:南京航空航天大学,2008.
[5]徐李云.无人直升机视觉导引着陆验证实验平台系统设计[D].南京:南京航空航天大学,2009.
[6]翟彬,薛明旭.FlightGear在无人机实时飞行仿真中的应用[J].现代电子技术,2010,33(13):24-26.
[7]SHELARE M.Fuzzy logic controller for steady level flight of F-16 aircraft using Matlab and Simulink[D].Texas A& M University-Kingsville,2004.
[8]张琴.基于序列图像的无人机进近着陆跑道识别与跟踪研究[J]云南民族大学学报:自然科学版,2014,23(2):146-150.
[9]WONG T Y,KOVESI P,DATTA A.Projective transformations for image transition animations[C]//Image Analysis and Processing,2007,14th International Conference on.IEEE,2007:493-500.
[10]ZHANG Z.Flexible camera calibration by viewing a plane from unknown orientations[C]//Computer Vision,The Proceedings of the Seventh IEEE International Conference on.IEEE,1999,1:666-673.
[11]作者不详.Camera calibration toolbox for Matlab[EB/OL].[2015 - 03 - 22].http://www.vision.caltech.edu/bouguetj.