主要内容

飞行轨迹数据

装载记录飞行轨迹数据

本例的飞行轨迹数据存储在逗号分隔的值格式文件中。要读取此数据,请使用readmatrix

Tdata = readmatrix('asthl20log.csv');

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

时间序列对象,ts中创建的纬度、经度、高度、欧拉角数据和时间数组tdata使用MATLAB®timeseries命令。方法也可以将纬度、经度和欧拉角从角度转换为弧度convang函数。

ts = timeseries ([convang (tdata(:, 2[3]),‘度’,rad)……tdata (:, 4) convang (tdata(:,前书5章7节),‘度’,rad)], tdata (: 1));

创建FlightGearAnimation对象

这一系列的命令创建了一个FlightGearAnimation对象:

  1. 打开FlightGearAnimation对象。

    H = fganimation;
  2. 为时间序列设置FlightGearAnimation对象属性。

    h.TimeSeriesSourceType = 'Timeseries';h.TimeSeriesSource = ts;
  3. 设置与FlightGear相关的FlightGearAnimation对象属性。这些属性包括FlightGear飞行模拟器的安装文件夹路径、版本号、飞机几何模型和网络信息。

    h.FlightGearBaseDirectory = 'C:\Program Files\FlightGear';h.GeometryModelName = 'HL20';h.DestinationIpAddress = '127.0.0.1';h.DestinationPort = '5502';
  4. 为FlightGear飞行模拟器设置初始条件(位置和方向)。

    h.AirportId = 'KSFO';h.RunwayId = '10L';h. initialheight = 7224;h.InitialHeading = 113;h.OffsetDistance = 4.72;h.OffsetAzimuth = 0;
  5. 设置每秒钟时钟时间的动画数据的秒数。

    h.TimeScaling = 5;
  6. 检查FlightGearAnimation对象属性及其值。

    得到(h)

示例停止运行并返回FlightGearAnimation对象,h

TimeSeriesSource: [1x1 timeseries] TimeSeriesSourceType: ' timeseries ' TimeseriesReadFcn: @TimeseriesRead TimeScaling: 5 FramesPerSecond: 12 FlightGearVersion: '2018.1' OutputFileName: ' rungs .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 TStart: NaN TFinal: 'NaN架构:'Default'

现在可以为数据回放设置对象属性(请参阅修改FlightGearAnimation对象属性).

修改FlightGearAnimation对象属性

根据需要修改FlightGearAnimation对象属性。如果FlightGear安装文件夹与示例中的文件夹不同(例如,FlightGear),修改FlightGearBaseDirectory属性,通过发出以下命令:

h.FlightGearBaseDirectory = 'C:\Program Files\FlightGear';

类似地,如果要为运行脚本使用特定的文件名,请修改OutputFileName财产。

验证FlightGearAnimation对象属性:

得到(h)

现在可以生成运行脚本(参见生成运行脚本).

生成运行脚本

要使用所需的初始条件(位置、日期、时间、天气、运行模式)启动FlightGear,请使用GenerateRunScript命令:

GenerateRunScript (h)

默认情况下,GenerateRunScript将运行脚本保存为名为runfg.bat.属性指定不同的名称OutputFileName属性的FlightGearAnimation对象,如上一步所述。

您不需要每次查看数据时都生成该文件,只需在初始条件或FlightGear信息更改时才生成该文件。

您现在已经准备好启动FlightGear(参见启动FlightGear飞行模拟器).

请注意

FlightGearBaseDirectory而且OutputFileName属性必须由ASCII字符组成。

启动FlightGear飞行模拟器

要从MATLAB命令提示符启动FlightGear,请使用系统命令执行运行脚本。提供GenerateRunScript创建的输出文件的名称作为参数:

系统(“runfg.bat &”);

FlightGear在一个单独的窗口中启动。

提示

与FlightGear窗口在焦点,按V关键是在不同的飞机视图之间交替:驾驶舱,直升机,追击,等等。

现在可以回放数据了(请参见回放飞行轨迹).如果您无法查看场景,请查看安装额外的FlightGear布景

提示

如果FlightGear使用的计算机资源比您想要的多,您可以将其调度优先级更改为较低的优先级。例如,参见Windows之类的命令®开始和Linux®不错的或者它们的等价物。

回放飞行轨迹

一旦FlightGear开始运行,FlightGearAnimation对象就可以开始与FlightGear通信。要动画飞行轨迹数据,使用play命令:

玩(h)

下图显示了在没有偏航的塔式视图中飞行数据回放的快照。

另请参阅

相关的话题