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

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

注意:在产品中运行这个例子时,您必须自定义您的FlightGear的安装,并取消对GenerateRunScript,系统和游戏命令的例子。你还必须将$ MATLAB /工具箱/航空/ astdemos / HL20文件夹到$ FlightGear的/数据/飞机/文件夹。

装载记录的飞行轨迹数据

这个例子的飞行轨迹数据存储在逗号分隔值格式的文件。利用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), '度', '弧度')TDATA(:,4)... convang(TDATA(:,6), '度','弧度“)];

使用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.TimeScaling = 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的信息的变化。

启动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 1]);集(GCF,'菜单栏''没有');