exponenta event banner

Данные траектории полета

Загрузка записанных данных траектории полета

Данные траектории полета для этого примера хранятся в отформатированном файле значений, разделенных запятыми. Используя dlmreadданные считываются из файла, начиная со строки 1 и столбца 0, в котором отсутствует информация заголовка.

tdata = dlmread('asthl20log.csv',',',1,0);

Создание объекта временного ряда на основе данных траектории

Объект временного ряда, ts, создается из широты, долготы, высоты, данных угла Эйлера и массива времени в tdata использование MATLAB ®timeseries команда. Углы широты, долготы и Эйлера также преобразуются из градусов в радианы с помощью convang функция.

ts = timeseries([convang(tdata(:,[3 2]),'deg','rad') ...
        tdata(:,4) convang(tdata(:,5:7),'deg','rad')],tdata(:,1));

Создание объекта FleyGearAnimation

Эта серия команд создает объект FlireGearAnimation:

  1. Откройте объект FlireGearAnimation.

    h = fganimation;
  2. Задайте свойства объекта FlireGearAnimation для временного ряда.

    h.TimeseriesSourceType = 'Timeseries';
    h.TimeseriesSource = ts;
  3. Задайте свойства объекта FlireGearAnimation, относящиеся к FlireGear. Эти свойства включают путь к папке установки, номер версии, модель геометрии самолета и сетевую информацию для имитатора полета FlireGear.

    h.FlightGearBaseDirectory = 'C:\Program Files\FlightGear<your_FlightGear_version>';
    h.GeometryModelName = 'HL20';
    h.DestinationIpAddress = '127.0.0.1';
    h.DestinationPort = '5502';
  4. Установите исходные условия (местоположение и ориентацию) для имитатора полета FleyGear.

    h.AirportId = 'KSFO';
    h.RunwayId = '10L';
    h.InitialAltitude = 7224;
    h.InitialHeading = 113;
    h.OffsetDistance = 4.72;
    h.OffsetAzimuth = 0;
  5. Задайте секунды данных анимации в секунду времени настенного такта.

    h.TimeScaling = 5;
  6. Проверьте свойства объекта FlireGearAnimation и их значения.

    get(h)

Пример прекращает работу и возвращает объект FlireGearAnimation, h:

           TimeseriesSource: [1x1 timeseries]
       TimeseriesSourceType: 'Timeseries'
          TimeseriesReadFcn: @TimeseriesRead
                TimeScaling: 5
            FramesPerSecond: 12
          FlightGearVersion: '2018.1'
             OutputFileName: 'runfg.bat'
    FlightGearBaseDirectory: 'C:\Program Files\FlightGear<your_FlightGear_version>'
          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
               Architecture: 'Default'

Теперь можно задать свойства объекта для воспроизведения данных (см. раздел Изменение свойств объекта FleyGearAnimation).

Изменение свойств объекта FleyGearanImation

При необходимости измените свойства объекта FlireGearAnimation. Если папка установки FleyGear отличается от папки в примере (например, FlightGear), измените FlightGearBaseDirectory путем ввода следующей команды:

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

Аналогично, если необходимо использовать определенное имя файла для выполнения сценария, измените OutputFileName собственность.

Проверьте свойства объекта FlireGearAnimation:

get(h)

Теперь можно создать сценарий выполнения (см. Создание сценария выполнения).

Создание сценария выполнения

Чтобы запустить FlireGear с начальными условиями (местоположение, дата, время, погода, режимы работы), создайте сценарий запуска с помощью GenerateRunScript команда:

GenerateRunScript(h)

По умолчанию GenerateRunScript сохраняет сценарий запуска в виде текстового файла с именем runfg.bat. Можно указать другое имя, изменив OutputFileName свойства объекта FleyGearAnimation, как описано на предыдущем шаге.

Создавать файл при каждом просмотре данных не требуется, только при изменении начальных условий или данных FlireGear.

Теперь вы готовы к запуску FlireGear (см. Запуск симулятора полета FlireGear).

Примечание

FlightGearBaseDirectory и OutputFileName свойства должны состоять из символов ASCII.

Запуск симулятора полета FleyGear

Чтобы запустить FlireGear из командной строки MATLAB, используйте команду system для выполнения сценария запуска. Укажите имя выходного файла, созданного GenerateRunScript, в качестве аргумента:

system('runfg.bat &');

Программа FleyGear запускается в отдельном окне.

Совет

В фокусе окна FlireGear нажмите клавишу V, чтобы чередовать различные виды самолета: кабина, вертолет, погоня и так далее.

Теперь вы готовы к воспроизведению данных (см. Воспроизведение траектории полета). Если просмотр сцен невозможен, см. раздел Установка дополнительных декораций FlireGear.

Совет

Если FlireGear использует больше ресурсов компьютера, чем требуется, можно изменить его приоритет планирования на меньший. Например, см. команды, такие как Windows ®start и Linux ®nice или их эквиваленты.

Воспроизведение траектории полета

После запуска FlireGear объект FlireGearAnimation может начать взаимодействовать с FlireGear. Для анимации данных траектории полета используется команда play:

play(h)

На следующем рисунке показан снимок воспроизведения полетных данных на виде башни без рыскания.