Используя симуляцию 3D визуализация с Aerospace Blockset

В этом примере показано, как добавить 3D визуализацию в модель Simulink® использование Космической Симуляции 3D библиотечные блоки. Чтобы видеть, что итоговая модель включает 3D визуализацию, откройте SkyHoggSim3DExampleModel.

Начните с неба модель Хогга в качестве примера

Откройте модель, используемую для Легкого примера Проекта Самолета, asbSkyHogg.

Эта модель настраивается для использования визуализации FlightGear в подсистеме Визуализации. В этом примере показано, как заменить ту реализацию с помощью Нереального Engine®.

Откройте подсистему Визуализации и удалите все за исключением In1 и Шины Selector1.

Добавление симуляции 3D блоки анимации

Используйте браузер библиотеки, чтобы перейти к Aerospace Blockset> Анимация> 3D Симуляция.

К модели:

  1. Добавьте Симуляцию блоков 3D Настройка Сцены и Симуляция 3D Самолет.

  2. Добавьте блок Scope и присоедините его к порту Altitude самолета.

  3. Отключите порт Simulation 3D Aircraft WoW.

WoW (Вес на Колесах) порт возвращает логический true, если любой левая или правая основная шина механизма находится на поверхности (i.e. его высота является нулем), или ложь в противном случае. Поскольку этот пример имеет летающий самолет, этот порт не используется.

Подготовка симуляции 3D блок самолета

Дважды кликните, чтобы открыть блок Simulation 3D Aircraft, чтобы настроить значения на Параметрах Самолета, Значения Inital и Высотные вкладки Датчика.

Вкладка Aircraft Parameters

Во вкладке Aircraft Parameters:

  • Установите параметр Типа на SkyHogg.

  • Выберите требуемый цвет.

  • Оставьте имя по умолчанию SimulinkVehicle1.

  • Оставьте значение Шага расчета -1 позволить блоку использовать шаг расчета в Симуляции 3D Блок Configuration Сцены.

Вкладка Initial Values

Начальные условия для входных портов даны во вкладке Initial Values. Если это - авиалайнер, каждый должен быть 12 3 массив. Для Неба Хогг каждый должен быть 11 3 массив, потому что Небо Хогг имеет только одну силовую установку. Элемент конструкции самолета, сопоставленный с каждой строкой для Неба Хогг, следующие.

В данном примере измените Начальное значение перевода в [0 0 -2000; 0 0 0; 0 0 0; 0 0 0; 0 0 0; 0 0 0; 0 0 0; 0 0 0; 0 0 0; 0 0 0; 0 0 0] и оставьте Начальное значение вращения в zeros( 11, 3 ).-2000 метров Z значение являются отрицанием начальной высоты (NED).

Вкладка Altitude Sensor

Высотный датчик является дополнительным и может быть включен и выключен Разрешать высотным флажком датчика на этой вкладке. Датчик работает путем отправки трассировок луча вертикально вниз от корпуса самолета и каждого из его колес. Высота только обнаруживается, если объект поражен лучами, которые имеют предписанную конечную длину. Z возмещают место значений начальная точка каждого луча на данном вертикальном (нисходящем) расстоянии от источника корпуса самолета или центров колеса. Например, если значение смещения Z ввело для Переднего радиуса шины механизма (в метрах), фактический передний радиус шины для выбранной mesh самолета, то возвращенное второе высотное значение является нулем, когда передняя шина механизма самолета находится на тротуаре.

Оставьте настройки по умолчанию на месте на данный момент.

Подготовка симуляции 3D блок Configuration сцены

Проверяйте настройку Симуляции 3D Блок Configuration Сцены. Этому нужно установить источник Сцены на Default Scenes, с Airport сцена выбрана. Для представления Scene используйте имя, введенное в блоке Simulation 3D Aircraft, который по умолчанию является SimulinkVehicle1. Шаг расчета 1/60 или подобный прекрасен; используйте меньшее значение для более высокой частоты кадров. Чтобы экспериментировать с погодой, смотрите средства управления на вкладке Weather. Обратите внимание на то, что погода в Нереальном Engine® является в настоящее время только визуальным эффектом неба; нет никаких фактических векторов ветра или сил, например.

Соединение симуляции 3D самолет к небу перевод Хогга и вращение

Остающийся шаг должен сконфигурировать входные параметры порта Translation и Rotation с блоком Simulation 3D Aircraft. Эти порты ожидают 11 3 вход массивов на каждом временном шаге при использовании Неба Хогг. Смотрите страницу с описанием блока Simulation 3D Aircraft для полного описания. Поскольку движения поверхности управления не обеспечиваются моделью, изменяют только значения BODY. Обнулите все другие значения.

Реконфигурируйте селектор шины, чтобы вывести только Xe и body angles.

Затем создайте подсистему, чтобы принять значения Ксенона, как введено и возвратить массив Перевода, что самолеты блокируют потребности. Соедините вход Xe с блоком Reshape с вектором-строкой (2D) выход. Добавьте блок Constant для остальной части переводов (zeros(10,3)), и канал оба в другой блок Vector Concatenate. Установите этот блок на Multidimensional array режим с конкатенацией размерности 1.

Создайте подобную подсистему для вращения, которое возвращается 11 3 массив вращений для самолета. Используйте Селектор Шины, чтобы получить эти три угла из входа и подать тех в Векторную конкатенацию. Остаток от подсистемы идентичен подсистеме перевода.

Итоговая подсистема Визуализации должна выглядеть так:

Симуляция

Модель готова запуститься.

  • После нажатия кнопки Run позвольте нескольким секундам для 3D окна визуализации инициализировать.

  • Необходимо теперь видеть, что самолет пролетает над аэропортом.

  • Если это симулирует, можно переключиться между полями зрения камеры первым щелчком левой кнопкой в 3D окне, затем с помощью ключей чисел 0 до 9, чтобы выбрать между десятью предварительно сконфигурированными положениями камеры. Для получения дополнительной информации о полях зрения камеры смотрите, что раздел Run Simulation в Настраивает Сцены Используя Simulink и Нереальный Редактор.

Улучшение визуализации к взаимодействию симуляции

Поскольку изменение высоты является настолько небольшим (50 метров), оно затрудняет, чтобы видеть, что высота увеличивается в 3D окне. В иллюстративных целях можно добавить блок Gain, чтобы увеличить перевод Z значения.

Добавление вращения пропеллера

Эта сцена не очень реалистична, поскольку пропеллер не поворачивается. Вращение пропеллера не что-то, что вычисляется в модели, но можно выбрать уровень вращения для него. Чтобы вращаться это на уровне 1 500 об/мин, или 157 радианов в секунду, добавляет блок Ramp для крена (phi) угол второй строки массива Вращений. Модифицированное Небо подсистема Вращения Хогга должно выглядеть примерно так.

Высотные лучи датчика

На первый взгляд высотный Осциллограф датчика, кажется, не работает (возвращающийся -1 значения. Это вызвано тем, что высота больше продолжительности лучей. Откройте маску блока Simulation 3D Aircraft и измените Продолжительность лучей (в метрах) к 2500. Если вы хотите видеть лучи, выберите Enable, видимый датчик излучает флажок. Запустите симуляцию снова. Высоты выводят в двух осциллографах, подтверждает это, это действительно в предписанном местоположении. Если видимые лучи датчика включены, то они окрашены в красный, поскольку они ударяются о землю. Не изменяя продолжительность луча, лучи окрашены в зеленый (если сделано видимый), потому что они не добираются до земли.

Обновленная симуляция 3D модель визуализации

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

mdl = "SkyHoggSim3DExampleModel";
open_system(mdl);

Смотрите также

|