从创建轨迹数据的飞行动画

这个例子显示了如何创建使用FlightGear的动画物体轨迹飞行的动画。

注意:在产品中运行此示例时,必须使用FlightGear安装自定义示例,并取消GenerateRunScript、system和play命令的注释。您还必须将$MATLAB/toolbox/aero/astdemos/HL20文件夹复制到$FLIGHTGEAR/data/Aircraft/文件夹中。

装载记录的飞行轨迹数据

这个例子的飞行轨迹数据存储在逗号分隔值格式的文件。用dlmread读取开始于行1和列0跳过所述报头信息从该文件中的数据。

tdata = dlmread ('asthl20log.csv'”、“1 0);

从创建轨迹数据时间序列对象

使用MATLAB®时间序列命令创建从纬度、经度、海拔和欧拉角数据以及tdata中的时间数组创建时间序列对象ts。要将纬度、经度和欧拉角从度转换为弧度,请使用convang功能。

TS =时间序列([convang(TDATA(:,[3 2]),“度”“拉德”...tdata (:, 4) convang (tdata(:,前书5章7节),“度”“拉德”)], tdata (: 1));

您可以使用其他有效的格式,如“Array6DoF”,例如从这些数据创建导入的数据:

TS = [TDATA(:,1)convang(TDATA(:,[3 2]), '度', 'RAD')TDATA(:,4)... convang(TDATA(:,5:7),”度”, 'RAD')];

和“Array3DoF”。

ts = [tdata (: 1) convang (tdata(:, 3),“度”,rad) tdata(:, 4)……6) convang (tdata(:,“度”,rad)];

使用FlightGearAnimation对象初始化飞行动画

打开一个FlightGearAnimation对象。

H = Aero.FlightGearAnimation;

设置为FlightGearAnimation时间序列对象的属性。

h。TimeseriesSourceType ='时间序列';h.TimeseriesSource = TS;

关于FlightGear的设置FlightGearAnimation对象属性

这些属性包括安装文件夹的路径、版本号、飞机几何模型和FlightGear飞行模拟器的网络信息。

h。FlightGearBaseDirectory ='C:\ Program Files文件\ FlightGear的';h.FlightGearVersion ='2019.1';h。GeometryModelName ='HL20';h.DestinationIpAddress ='127.0.0.1';h。DestinationPort ='5502';

为FlightGear飞行模拟器设置所需的初始条件(位置和方向)。

h.AirportId ='KSFO';h.RunwayId ='10L';h.InitialAltitude = 7224;h.InitialHeading = 113;h.OffsetDistance = 4.72;h.OffsetAzimuth = 0;

启用FlightGear的飞行模拟器“准时”风光安装。模拟器运行时所需的风光将被下载。对于Windows系统,可以同时发动FlightGear的在启用该选项遇到错误消息。欲了解更多信息,请参阅安装其他FlightGear的风景

h。InstallScenery = true;

禁用FlightGear着色。

h.DisableShaders = TRUE;

设置每个的挂钟时间第二动画数据的秒。

h。时间跨度= 5;

使用get(h)至检查FlightGearAnimation对象的属性和它们的值。

得到(H)
TimeseriesSource:[1x1的时间序列] TimeseriesSourceType: '时间序列' TimeseriesReadFcn:@TimeseriesRead时标变化:5 FramesPerSecond:12 FlightGearVersion: '2019.1' OutputFileName: 'runfg.bat' FlightGearBaseDirectory: 'C:\ Program Files文件\ FlightGear的' GeometryModelName: 'HL20' DestinationIpAddress: '127.0.0.1' DestinationPort: '5502' AirportId: 'KSFO' RunwayId: '10L' InitialAltitude:7224 InitialHeading:113 OffsetDistance:4.7200 OffsetAzimuth:0 InstallScenery:1个DisableShaders:1 TSTART:NaN的T最终:NaN的体系结构: '默认'

创建一个运行脚本启动FlightGear的飞行模拟器

到具有所需的初始条件(位置,日期,时间,天气,和操作模式)启动FlightGear的,创建具有一个运行脚本GenerateRunScript命令。默认,GenerateRunScript将运行脚本保存为一个名为“runfg.bat”的文本文件。

GenerateRunScript(H)

您不需要在每次查看数据时生成此文件。仅当所需的初始条件或飞行装备信息发生变化时才生成它。

启动FlightGear的飞行模拟器

从MATLAB命令提示启动FlightGear的,键入系统命令执行由创建的运行脚本GenerateRunScript

系统(“runfg.bat &”);

小费:在焦距上的FlightGear的窗口,按V键的不同视图飞机之间交替:座舱视图,直升机视图,和追视图。

播放轨迹数据的飞行动画

一旦FlightGear的启动和运行时,FlightGearAnimation对象可以开始与FlightGear的沟通。要显示飞动漫与FlightGear的,使用命令。

玩(h)

要显示一个屏幕截图的飞行动画,使用MATLAB图片命令。

图像(imread([matlabroot filesep完整文件(“工具箱”“航空”'astdemos'“数据”'astfganim01.png')],“png”));轴;集(gca),“位置”,[0 0 1]);集(gcf,菜单条的'没有');