Данные о траектории рейса

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

Данные о траектории рейса для этого примера хранятся в разделенном значении запятой, отформатировал файл. Используя 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));

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

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

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

    h = fganimation;
  2. Установите свойства объектов FlightGearAnimation для временных рядов.

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

    h.FlightGearBaseDirectory = 'C:\Program Files\FlightGear20183';
    h.FlightGearVersion = '2018.3';
    h.GeometryModelName = 'HL20';
    h.DestinationIpAddress = '127.0.0.1';
    h.DestinationPort = '5502';
  4. Установите начальные условия (местоположение и ориентация) для средства моделирования рейса FlightGear.

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

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

    get(h)

Пример прекращает запускаться и возвращает объект FlightGearAnimation, h:

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

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

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

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

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

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

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

get(h)

Можно теперь сгенерировать скрипт запуска (см. Генерацию Скрипта Запуска).

Генерация скрипта запуска

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

GenerateRunScript(h)

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

Вы не должны генерировать файл каждый раз, когда данные просматриваются, только когда информация о начальных условиях или FlightGear изменяется.

Вы теперь готовы запустить FlightGear (см. Запуск Средства моделирования Рейса FlightGear).

Примечание

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

Запуск средства моделирования рейса FlightGear

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

system('runfg.bat &');

FlightGear запускается в отдельном окне.

Совет

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

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

Совет

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

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

Если FlightGear запускается, объект FlightGearAnimation может начать связываться с FlightGear. Чтобы анимировать данные о траектории рейса, используйте команду игры:

play(h)

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

Для просмотра документации необходимо авторизоваться на сайте