QQ登录

只需一步,快速开始

查看: 19013|回复: 13
打印 上一主题 下一主题

FlightGear在无人机实时飞行仿真中的应用

[复制链接]

主题

好友

1268

积分

管理员

跳转到指定楼层
楼主
发表于 2011-9-6 22:58:03 |只看该作者 |倒序浏览
 摘 要:无人机实时飞行仿真是无人机研制中不可缺少的一个过程,但是对于小型无人机来讲,开发一个完整的实时飞行仿真系统往往花费巨大。详细论述基于xPC Target的实时仿真系统设计,在此基础上,利用FlightGear飞行模拟器实现了无人机的三维实时可视化显示。该仿真系统开发简单,构造灵活,成本低,能够使开发人员将更多的精力花费在飞行控制算法研究上。
  关键词:飞行仿真; 无人机; FlightGear; xPC Target
  中图分类号:TP274 文献标识码:A
  文章编号:1004-373X(2010)13-0024-03
  
  FlightGear Applied to Flight Real-time Simulation of UAV
  ZHAI Bin, XUE Ming-xu
  (The 27th Research Institute, China Electronics Technology Group Corporation, Zhengzhou 450007, China)
  Abstract: The real-time simulation is an important process in development of an unmanned aerial vehicle(UAV). ?However?, a custom-built simulation system commonly associated with small UAVs are cost prohibitive. The design of a real-time simulation system based on xPC Target is described. The 3D visualization real-time display of UAVs was achieved with the FlgihtGear flight simulator. This simulation system is feasible, valid and economic. It can reduce development time and costs, saving more time for the designers to focus on the algorithm of flight control.
  Keywords: flight simulation; UAV; FlightGear; xPC Target
  
  随着无人机被越来越多的应用在军事和民用领域里,参与无人机研制的个人和团队也在迅猛增加。而在无人机的研制过程中,飞行仿真是必不可少的一个环节,通过飞行仿真可以对无人机的操纵性、稳定性和自动驾驶仪性能进行有效的验证,也可以对操作手进行辅助训练,降低飞行风险[1-2]。本文提出了一种简单有效的无人机实时仿真系统,首先利用Simulink构建仿真模型,然后通过xPC实时运行仿真模型并与自动驾驶仪构成硬件在回路的实时仿真环境,最后通过开源飞行模拟器软件FlightGear进行场景显示。
  1 无人机飞行仿真框架
  无人机飞行仿真系统主要由无人机运动模拟、自动驾驶仪、视景仿真显示等部分组成,系统总体结构如?图1?所示。
  在该结构中,无人机运动模拟通过两部分实现:?一是?利用Simulink搭建的无人机六自由度仿真模型;?二是?利用xPC目标机来实现的实时仿真模型。无人机运动模拟节点通过接收自动驾驶仪的控制指令,真实地模拟无人机当前的运动状态,并通过串口将无人机的状态反馈到自动驾驶仪,从而实现完整的控制回路。
  图1 无人机飞行仿真系统结构
  自动驾驶仪采用真实地无人机控制器来实现,通过与无人机运动模拟节点的交互真实地反映出无人机的控制状态。
  视景显示部分则通过流行的飞行模拟软件FlightGear来实现,由于采用了UDP网络协议,能够满足大规模数据传送的实时性。
  2 实时仿真环境
  飞行仿真系统中由于加入了自动驾驶仪,属于硬件在回路仿真系统,因此要求整个系统必须具备很高的实时性才能保证系统各个节点的一致性,从而保证仿真系统的真实性。本文采用xPC目标机来实现无人机运动模拟的实时性。
  2.1 上位机-目标机通信
  xPC Target是MathWorks公司提供和发行的?一个?基于Real Time Workshop(RTW)体系框架的附加产品,是一种用于产品原型开发、数据采集、测试和配置实时系统的PC机解决途径[3]。xPC Target采用了上位机-目标机的技术途径,上位机主要运行Simulink及其他模型,并且需要安装编译器。目标机则实时运行宿主机编译生成的代码。xPC Target提供了一个高度精简的实时内核运行在目标机上,实时内核采用32位保护模式[4]。上位机和目标机通过网络或串口连接进行通信,其工作模式如图2所示。
  图2 xPC Target 工作模式
  在主机上运行Matlab,Simulink,RTW和C编译器作为开发环境,可以生成实时应用程序运行在一台xPC Target实时内核的目标机上。xPC Target实时内核保证了运行在PC硬件上实时程序的稳定性。可以通过Matlab、命令行或者用户主机的图形界面(GUI)、标准的网络浏览器或者目标机命令行来控制目标机上程序的执行。在程序运行期间,可以交互地改变模型参数并且迅速地获取、观察信号或者把它们保存起来做后续处理。通过目标GUI能直接观察目标机上的信号和状态信息。在目标机上运行xPC Target对已经安装在目标机上的任何软件不会产生影响,一旦重新启动了目标机,就可以恢复成为一台运行Windows,Linux或者其他计算机操作系统和应用软件的计算机。
  2.2 xPC目标机制作
  xPC目标机的制作非常简单,本文以Matlab 7.3为例介绍制作过程。在Matlab命令窗口输入xpcexplr,出现xPC Target Explorer界面。xPC目标机与主机的通讯有两种模式:RS 232串行口和TCP/IP网络接口,图3为TCP/IP网络接口的设置界面。
  下面对各参数项进行说明:
  Host target communication:选择TCP/IP或者RS 232模式;
  Target PC IP address:设置目标机的IP地址;
  TCP/IP target port:设置目标机通讯端口;
  LAN subnet mask address:设置目标机子网掩码;
  TCP/IP gateway address:设置网关地址;
  TCP/IP target drive:对支持的网卡进行设置,xPC仅仅对部分网卡支持,NE2000,SMC91C9X,I82559,RTLANCE;
  TCP/IP target bus:设置网卡总线类型,PCI和ISA。如果选择ISA选项则还要设置板卡地址(ISA memory)和中断号(ISA IRQ number);
  如果采用RS 232通讯模式,则仅需要设置串口端号(Host port)和波特率(Baud rate)。
  图3 xPC目标机配置界面
 xPC目标机的配置主要有两部分:一是目标机实时内核启动时的配置;另一部分是上位机的代码编译下载配置选项。 当以上设置完成后可以制作xPC目标机的启动盘,选择TargetPC下的Configuration项,进行xPC目标机启动盘的制作[5]。
  xPC目标机的启动模式有三种:软盘启动(BootFloppy)、加载DoS启动(DoSLoader)、单机模式(StandAlone)。
  无论选择哪一种启动模式,都需要生成一张启动软盘,但是目前软驱已逐渐淘汰,即使主机配备了软驱,软盘读/写时的损坏率也极高。为了避免这种情况,这里建议采用DOSLoader模式,当生成启动软盘后,打开软盘应当有以下几个文件:
  autoexec.bat;
  checksum.dat;
  xpcboot.com;
  xpctgo1.rtb。
  如果选择生成启动盘的模式不同,则生成的文件名称会不一样。autoexec.bat是DoS启动后加载的自动执行文件,打开该文件会发现里面有如下的内容:
  xpcboot xpctgo1.rtb
  由此可以看出DoS系统启动后,需要调用该命令进入xPC系统,xpcboot.com是启动xPC必需的可知性文件,xpcgo1.rtb是xpc配置文件,checksum.dat是校验文件。将启动软盘的内容复制到xPC目标机,并且通过设置autoexec.bat文件使DoS启动后直接调用xPC实时内核,这样在每次启动目标机时就不必插入启动盘,可以免去了软盘易损坏的麻烦。
  2.3 目标机和设备的通信
  xPC Target工具箱提供了多种类型的硬件板卡驱动,接口丰富包括A/D,D/A,数字输入,数字输出,?RS 232?,CAN等。尽管如此,在实际应用中会采用?一些?不被xPC目标库支持的板卡,这是就需要自己编写相应的驱动程序。在编写驱动程序时,可以参考Matlab帮助中给出的模板,需要注意的是,对于板卡的地址和寄存器的读写必须严格遵循板卡说明手册,在编写完驱动程序后在Matlab命令窗口调用mex命令将其编译成动态链接库供Simulink使用。
  3 FlightGear应用接口
  在飞行仿真系统中,实时虚拟场景显示是其中重要的一环,通过虚拟场景可以很好地提高系统人机交互性能。虚拟场景交互软件有很多种途径可以实现[6],本文采用了开源软件FlightGear来实现无人机虚拟场景的显示,其主要优点是:
  代码开放,可以根据需要进行灵活的二次开发;
  场景逼真,包含了大量的飞机模型和地形文件;
  接口简单,仅通过UDP协议就可以实现交互。
  3.1 FlightGear配置
  尽管FlightGear自身包含了许多动力学模型[7],但是本文仅利用了其视景显示的功能,因此仅仅需要将FlightGear的默认设置进行如下更改:
  FDM设为external,表示动力模型来自外部输入;
  输入输出按图4设置,其中Protocol设置为?native-?fdm;Medium设置为socket;Direction设置为in;端口选择5500;选择UDP模式。
  图4 FlightGear通信协议设置
  在按上面的设置运行FlightGear后就可以接收来自网络的无人机运动状态信息,从而驱动视景进行实时变换。
  3.2 FlightGear接口描述
  为了通过外部命令驱动FlightGear运行,需要按照FlgihtGear定义的网络通讯协议编写接口驱动,以FlightGear 0.98为例,需要28个变量的信息[8],如表1所示。
  按照这28个变量进行编程,并通过UDP协议发送到FlightGear节点,即可实现和FlightGear的交互[9-10],其运行场景图如图5所示。
  4 结 语
  构建了一种简单方便的无人机实时仿真系统,并通
  过开发接口驱动与FlightGear视景软件进行交互。此系统的优点是开发简单、构造灵活,可以使开发人员将主要精力放在飞行控制系统的开发上,避免了编写大量辅助代码的工作,大大节约了系统开发时间。
  
  参考文献
  [1]JUNG,TSIOTRAS P. Modelling and hardware-in-the loop simulation for a small unmanned aerial vehicle[J]. In AIAA Infotech at Aerospace, 2007, 219: 2756-2763.
  [2]JUNG, LEVY E J, ZHOU D, et al. Design and development of a low-cost test-bed for undergraduate education in UAVs[C]//IEEE Proceedings of the 44th IEEE Confe-rence on Decision and Control. Seville: IEEE, 2005: 2739-2744.
  [3]The MathWorks. Inc.. Matlab xPC target user′s guide[ M] . [ S.l.] : The MathWorks Inc., 2001.
  [4]杨涤.系统实时仿真开发环境与应用[M].北京:清华大学出版社,2000.
  [5]谢晗.基于xPC目标的实时仿真技术及实现[J].微计算机信息,2006,22(12):200-202.
  [6]CERVIN B, MILLS C. A 3D interface for an unmanned aerial vehicle[R]. Auckland: University ofAuckland, 2004.
  [7]DETERS R W, DIMOCK G A, SELIG M S. Icing encounter flight simulator with an integrated smart icing system[J]. AIAA Modeling and Simulation Technologies Confe-rence, 2002(8): 2002-4599.
  [8]FlightGear Inc.. FlightGear homepage[EB/OL]. [ 2010-03-11] . http://www.flightgear.Org,2010.
  [9]PRICE E R, EGAN G K. Real-time UAV visualization using a flight simulator[J]. AIAC, 2007,12 (3): 16-22.
  [10]黄华,徐幼平,邓志武.基于Flightgear模拟器的实时可视化飞行仿真系统[J].系统仿真学报,2007,19(19):4421-4423.
分享到: QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
分享分享0 收藏收藏0

主题

好友

815

积分

航院研究生

沙发
发表于 2011-9-12 21:42:26 |只看该作者
给力
回复

使用道具 举报

主题

好友

39

积分

报考学院待录取

板凳
发表于 2011-11-2 20:02:30 |只看该作者
我飞飞就行。这个看不下去
回复

使用道具 举报

主题

好友

450

积分

版主

地板
发表于 2011-11-23 18:14:19 |只看该作者
求论文原版!
回复

使用道具 举报

主题

好友

81

积分

航院新生

5#
发表于 2012-2-14 21:06:09 |只看该作者
我有这个论文!!!
回复

使用道具 举报

主题

好友

153

积分

理论基础学员

6#
发表于 2012-2-24 23:17:22 |只看该作者
呵呵,岂止仿真,国外早人有做过直接用FlightGear来控制无人机的。几年前看见的,地址找不见了。

点评

希望楼上多发布一些FlightGear的宝贵资料!  详情 回复 发表于 2012-2-24 23:47
回复

使用道具 举报

主题

好友

815

积分

航院研究生

7#
发表于 2012-2-24 23:47:47 |只看该作者
骑士 发表于 2012-2-24 23:17
呵呵,岂止仿真,国外早人有做过直接用FlightGear来控制无人机的。几年前看见的,地址找不见了。

希望楼上多发布一些FlightGear的宝贵资料!
回复

使用道具 举报

主题

好友

36

积分

报考学院待录取

8#
发表于 2012-4-4 17:29:51 |只看该作者
谢谢,正找着这方面的资料呢
回复

使用道具 举报

主题

好友

59

积分

航院新生

9#
发表于 2012-5-9 22:01:44 |只看该作者
正在做这方面的研究
回复

使用道具 举报

主题

好友

276

积分

理论基础学员

10#
发表于 2012-5-26 23:28:01 |只看该作者
这个明显是直接复制的。网上都有原文。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入FG

本版积分规则

手机版|联系我们| FlightGear ( 吉ICP备19002044号-7 )

GMT+8, 2024-4-27 03:14

Powered by Discuz! X3.2

© 2001-2013 FlightGear Inc.

返回顶部