这个例子展示了如何使用FlightGear animation对象创建一个飞行动画的轨迹。
注意:在产品中运行此示例时,必须使用FlaseGear安装自定义示例,并取消注释GeneraterUnscript,系统和播放命令。您还必须将$ MATLAB / TOOLBOX / AERO / ASTDEMOS / HL20文件夹复制到$ FLIGHTGEAR / DATA / ACTOR /文件夹中。
本例中的飞行轨迹数据存储在逗号分隔的值格式文件中。使用dlmread.从第1行和第0列开始读取数据,跳过头信息。
tdata = dlmread(“asthl20log.csv”,','1 0);
使用MATLAB®.timeseries命令以创建时间序列对象TS,从纬度,经度,高度和欧拉角度数据以及TDATA中的时间阵列。将纬度,经度和欧拉角转换为弧度到弧度的角度使用convang函数。
t = timeseries([conang (tdata(:,[3 2])),'DEG',rad的)...TDATA(:,4)调整(TDATA(:,5:7),'DEG',rad的)],TDATA(:,1));
您可以使用其他有效格式从该数据中创建导入的数据,例如'Array6DoF',例如:
ts = [tdata (: 1) convang (tdata(:, 2[3]),‘度’,rad) tdata(:, 4)……convang (tdata(: 5:7),‘度’,rad)];
和'array3dof'。
ts = [tdata (: 1) convang (tdata(:, 3),“度”,rad) tdata(:, 4)……6) convang (tdata(:,“度”,rad)];
打开飞行甘油animation对象。
h = Aero.FlightGearAnimation;
为时间序列设置FlightGearAnimation对象属性。
H.Timeseriessourcetype =“Timeseries”;h.TimeseriesSource = t;
设置FlightGearAnimation对象的属性
这些属性包括安装文件夹的路径、飞机几何模型和FlightGear飞行模拟器的网络信息。
h.flightgearbasedirectory =“C: \ Program Files \ FlightGear”;h.geometrymodelname =“HL20”;h.DestinationIpAddress =“127.0.0.1”;H.DestinationPort =“5502”;
为FlightGear飞行模拟器设置所需的初始条件(位置和方向)。
h.AirportId =“KSFO”;h.RunwayId =“10 l”;h.InitialAltitude = 7224;h.InitialHeading = 113;h.OffsetDistance = 4.72;h.OffsetAzimuth = 0;
为FlightGear飞行模拟器启用“及时”场景安装。在模拟器运行时,需要的场景将被下载。对于Windows®系统,在启用此选项启动FlightGear时可能会遇到错误消息。有关更多信息,请参见安装额外的飞行设备布景.
H.InstallScenery = True;
禁用FlightGear着色。
h.DisableShaders = true;
设置动画数据的秒数/ wall-clock时间。
H.timescaling = 5;
使用get(h)检查FlightGearAnimation对象的属性和它们的值。
得到(h)
TimeseriesSource:[1x1的时间序列] TimeseriesSourceType: '时间序列' TimeseriesReadFcn:@TimeseriesRead时标变化:5 FramesPerSecond:12 OutputFileName: 'runfg.bat' FlightGearBaseDirectory: 'C:\ Program Files文件\ FlightGear的' GeometryModelName: 'HL20' DestinationIpAddress:“127.0.0.1'Desiginalt:'5502'机场:'ksfo'runwayid:'10l'initialAlditude:7224 initial头号:113偏移量:4.7200 offstazimuth:0安装:1个DisableShaders:1 Tstart:NaN TFinal:NaN架构:'默认'
要使用所需的初始条件(位置、日期、时间、天气和操作模式)启动FlightGear,请使用GenerateRunScript命令。默认情况下,GenerateRunScript将RUN脚本保存为名为“runfg.bat”的文本文件。
GenerateRunScript (h)
每次查看数据时都不需要生成此文件。仅在所需的初始条件或飞行术信息发生变化时生成它。
要从MATLAB命令提示符启动FlightGear,输入系统命令执行由。创建的运行脚本GenerateRunScript.
系统(“runfg.bat &”);
提示:随着FlightGear窗口在焦点,按V键交替不同的飞机视图:驾驶舱视图,直升机视图,和追逐视图。
一旦FlightGear启动并运行,FlightGearAnimation对象就可以开始与FlightGear通信。要使用FlightGear显示飞行动画,请使用玩命令。
玩(h)
要显示飞行动画的屏幕截图,请使用matlab图像命令。
图像(imread ([matlabroot filesep fullfile ('工具箱',“航空”,“astdemos”,'数字',“astfganim01.png”)),'PNG'));轴从;套装(GCA,'位置',[0 0 1 1]);设置(GCF,'菜单栏',“没有”);