Проект Quadcopter

Этот пример показывает, как использовать Simulink®, чтобы смоделировать quadcopter, на основе серии PARROT® мини-беспилотников.

  • Чтобы управлять моделью и исходными файлами, это использует Проекты Simulink®.

  • Чтобы показать quadcopter в 3D среде, это использует Simulink® 3D Animation.

  • Для совместной разработки приложения симуляции рейса это обеспечивает реализацию шаблона приложений Симуляции Рейса.

Этот пример работает с Пакетом Поддержки Simulink для Мини-беспилотников PARROT.

Примечание: Чтобы успешно запустить этот пример необходимо было установить компилятор C/C++.

Откройте проект Quadcopter

Запустите следующую команду, чтобы создать и открыть рабочую копию файлов проекта для этого примера:

asbQuadcopterStart

Физические характеристики Quadcopter

Следующие схематические показы 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).

Визуализация

Можно визуализировать переменные для quadcopter одним из следующих способов:

  • Используя инспектора данных моделирования.

  • Используя инструментальные блоки рейса.

  • Переключение между различными подсистемами варианта визуализации. Можно переключиться между различными различными подсистемами путем замены VSS_VISUALIZATION. Обратите внимание на то, что один из этих вариантов является анимацией FlightGear. Чтобы использовать эту анимацию, необходимо добавить FlightGear совместимая модель quadcopter к проекту. Программное обеспечение не включает эту модель.

Генерация траектории

Инструмент генерации траектории, с помощью метода Dubin, создает набор навигационного waypoints. Чтобы создать траекторию с набором waypoints, этот метод использует набор положений, заданных положением, заголовком, искривлением поворота и направлением поворота.

Чтобы запустить инструмент, откройте проект и выполнение:

asbTrajectoryTool

Следующие интерфейсные отображения:

Интерфейс имеет несколько панелей:

'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.