В этом примере показано, как использовать Simulink®, чтобы смоделировать quadcopter, на основе серии PARROT® мини-беспилотников.
Чтобы управлять моделью и исходными файлами, это использует управление проектами (Simulink).
Чтобы показать quadcopter в 3D среде, это использует (Simulink 3D Animation).
Для совместной разработки приложения симуляции рейса это обеспечивает реализацию шаблона приложений Симуляции Рейса.
Этот пример работает с Пакетом Поддержки Simulink для Мини-беспилотников PARROT.
Примечание: Чтобы успешно запустить этот пример необходимо было установить компилятор C/C++.
Запустите следующую команду, чтобы создать и открыть рабочую копию файлов проекта для этого примера:
Следующие схематические показы quadcopter физические характеристики:
Ось
Масса и инерция
Роторы
Ось
quadcopter связанная ось сосредоточена в центре тяжести.
Ось X запускается в центре тяжести и указывает в направлении вдоль носа quadcopter.
Ось Y запускается в центре тяжести и точках справа от quadcopter.
Ось z запускается в центре тяжести и указывает вниз от quadcopter, после правила правой руки.
Масса и инерция
Мы принимаем, что целое тело работает частицей. Файл vehicleVars
содержит значения для инерции и массы.
Роторы
Ротор № 1 вращается положительно относительно оси z. Это расположено параллельное xy-плоскости,-45 градусам оси X.
Ротор № 2 вращается негативно относительно оси z тела. Это расположено параллельное xy-плоскости,-135 градусам оси X.
Ротор № 3 имеет то же направление вращения как ротор № 1. Это расположено параллельное xy-плоскости, 135 градусам оси X.
Ротор № 4 имеет то же направление вращения как ротор № 2. Это расположено параллельное xy-плоскости, 45 градусам оси X.
Этот пример использует подход, заданный Prouty[1] и адаптированный к тяжелому лифту quadcopter Пондсом и др. [2].
Для управления quadcopter использует дополнительный фильтр, чтобы оценить, что отношение и Фильтры Калмана оценивают положение и скорость. Реализации в качестве примера:
ПИД-регулятор для управления подачей/списком
Контроллер PD для отклонения от курса
Контроллер PD для положения управляет в северо-восточных Вниз координатах
controllerVars
файл содержит переменные, подходящие для контроллера. estimatorVars
файл содержит переменные, подходящие для средства оценки.
Пример реализует контроллер и средства оценки как подсистемы модели, позволяя нескольким комбинациям средств оценки и контроллеров быть оцененными для проекта.
Предоставлять входные параметры quadcopter (в подаче, списке, отклонении от курса, Север (X), Восток (Y), Вниз (Z) координаты), использование одно из следующих и изменять VSS_COMMAND
переменная в рабочей области:
Блок Signal Editor
Джойстик
Ранее сохраненные данные
Данные об электронной таблице
Пример использует набор датчиков, чтобы определить его состояния:
Инерционный модуль измерения (IMU), чтобы измерить угловые уровни и поступательные ускорения.
Камера для оценки оптического потока.
Гидролокатор для высотного измерения.
Пример хранит характеристики для датчиков в файле sensorVars
. Чтобы включать динамику датчика с этими измерениями, можно изменить VSS_SENSORS
переменная в рабочей области.
Модели реализуют несколько блоков среды Aerospace Blockset™, включая тех для моделей силы тяжести и атмосферы. Чтобы включать эти модели, можно изменить VSS_ENVIRONMENT
переменная в рабочей области, чтобы переключиться между переменными и фиксированными моделями среды.
Модель использует trimLinearizeOpPoint
линеаризовать нелинейную модель quadcopter использование Simulink Control Design(R).
Чтобы убедиться, что инструмент генерации траектории работает правильно, пример реализует тест в trajectoryTest
файл. Для получения дополнительной информации о том, как сделать это, смотрите Simulink Control Design Начало работы с Simulink Control Design (Simulink Control Design)).
Можно визуализировать переменные для quadcopter одним из следующих способов:
Используя инспектора данных моделирования.
Используя инструментальные блоки рейса.
Переключение между различными подсистемами варианта визуализации. Можно переключиться между различными различными подсистемами путем изменения VSS_VISUALIZATION
переменная. Обратите внимание на то, что одним из этих вариантов является анимация FlightGear. Чтобы использовать эту анимацию, необходимо добавить FlightGear совместимая модель quadcopter к проекту. Программное обеспечение не включает эту модель.
Инструмент генерации траектории, с помощью метода Dubin, создает набор навигационного waypoints. Чтобы создать траекторию с набором waypoints, этот метод использует набор положений, заданных положением, заголовком, искривлением поворота и направлением поворота.
Чтобы запустить инструмент, гарантируйте, что проект открыт и запуск:
Следующие интерфейсные отображения:
Интерфейс имеет несколько панелей:
'Waypoints'
Эта панель описывает положения, которых требует инструмент траектории. Чтобы задать эти положения, панель использует текстовые поля:
Север и Восток (положение в метрах)
Заголовок (степени с севера)
Искривление (превращение искривления в meters^-1)
Поворот (направление по часовой стрелке или против часовой стрелки)
Список положений появляется в списке waypoint справа от текстовых полей.
Чтобы добавить waypoint, введите значения положения в окна редактирования и нажмите Add. Новый waypoint появляется в списке waypoint в той же панели.
Чтобы отредактировать характеристики waypoint, выберите waypoint в списке и нажмите Edit. Характеристики waypoints отображаются в окнах редактирования. Отредактируйте характеристики, как желаемый, затем нажмите ОК. Чтобы отменить изменения нажимают Cancel.
Чтобы удалить waypoint, в списке waypoint, выбирают waypoint и нажимают Delete.
Бесполетная зона
Панель задает местоположение и характеристики бесполетных зон. Чтобы задать бесполетную зону, панель использует текстовые поля:
Север и Восток (положение в метрах)
Радиус (расстояние в метрах)
Поле (запас прочности в метрах)
Используйте Добавление, Удалите, Редактирование, OK и Кнопки отмены таким же образом что касается панели Waypoints.
Сопоставленная траектория
Эта панель строит траекторию по антенне кампуса Выступа Apple, схематичной на основе характеристик бесполетной зоны и waypoints.
Чтобы сгенерировать траекторию, добавьте waypoint и характеристики бесполетной зоны к соответствующим панелям, затем нажмите Generate Trajectory.
Чтобы сохранить траекторию, которая находится в настоящее время в вашей панели, нажмите кнопку Save. Эта кнопка только сохраняет вашу последнюю траекторию.
Чтобы загрузить последнюю сохраненную траекторию, нажмите Load.
Чтобы загрузить траекторию по умолчанию, нажмите кнопку Load Default.
Чтобы очистить значения в waypoint и панели бесполетной зоны, нажмите Clear.
Данные по умолчанию содержат положения для определенных местоположений, в которых игрушка quadcopter использует свои камеры, таким образом, пилот на земле может оценить высоту снега на крыше. Три бесполетных зоны были заданы для каждого из вспомогательных производителей электроэнергии, поэтому в случае, если существует отказ в quadcopter, это не наносит ущерба инфраструктуре кампуса.
Когда пример генерирует траекторию для данных по умолчанию, график должен появиться следующим:
Красная линия представляет траекторию, черные x маркеры определяют или изменение в траектории или определенное положение. Синие линии, которые представляют достижение того определенного waypoint, сопровождают определенные положения. Бесполетные зоны представлены как зеленые круги.
Если у вас есть лицензия Simulink 3D Animation, можно также просмотреть траекторию в 3-D представлении кампуса Выступа Apple:
Примечание: По причинам визуализации 3D представление quadcopter не в той же шкале как среда.
[1] Prouty, R. Вертолетная производительность, устойчивость и управление. Издатели PWS, 2005.
[2] Водоемы, P., Махони, R., Corke, P. Моделирование и управление большого quadrotor робота. Управляйте Технической Практикой. 2010.