Ardupilot VTOL

VTOL vertical takeoff and landing - самолет с вертикальным взлетом и посадкой.

Концепт и "наброски" прошивки контроллера самолета с тремя винтами (два поворотные)

Внимание! это не готовый и тем более не "коробочный" вариант программного обеспечения, это наброски для первых проб.

Приблизительные характеристики тестовой модели

Размах крыльев 1700мм

Взлетный вес 3кг

Батарея 4S 5000ma

Максимальная тяга каждой ВМГ 1,5 кг

Установка программного обеспечения:

  • Скачайте и установите НОВУЮ ЧИСТУЮ КОПИЮ arduino 1.0 relax path c официального сайта ardupilot и распакуйте

  • Распакуйте библиотеки из архива прошивки в папку ардуино

  • Распакуйте скетч ArduPlane2.67_vtol (архив приложен внизу страницы)

  • Запустите arduino 1.0 и откройте файл ArduPlane.pde

  • Настройте arduino 1.0 - укажите ком-порт к котором у подключен ардупилот и тип процессора atmega2560

Нажмите кнопку "compile". если компиляция прошла без ошибок, значит предыдущие шаги выполнены верно.

Подключение оборудования.

входы:

каналы 1-4 стандартно элероны, рв, газ, курс

канал 7 управление режимом вертикальный взлет / горизонтальный полет (два положения)

выходы:

каналы 1-2 стандартно элероны, рв

3 газ левый мотор

4 курс - руддер и поаорот маунта заднего мотора

5 газ правый мотор

6 газ задний мотор

7 сервоприводы поворота левого и правого моторов на крыльях

Особенности прошивки и режимы:

Прошивка основана на arduplane 2.6.7

эта строка в файле APM_Config.h задает выбор модели самолета с вертикальным взлетом и посадкой:

#define FRAME_CONFIG PLANE_VTOL_FRAME

если задать #define FRAME_CONFIG PLANE_FRAME то подключаются модули стандартного "самолета"

Режимы:

  • не используйте крайний "hardware manual" режим в этой модели самолета (тот который нельзя изменить в mission planner). этот режим используется для аппаратного переключения 4 каналов напрямую к приемнику, в данной модели самолета требуется 7 каналов

  • Прошивка настроена под Ardupilot Mega 1 (для использования с APM2 следует изменить прошивку, с APM2 не тестировалось )

  • в режиме вертикального взлета возможно использовать два режима

    1. "software manual" - ручной режим, в котором газ на моторы смешан со стиками управления элеронами / рв. в этом режиме не используются сенсоры ардупилота для компенсации крена/тангажа, управление полностью на совести и ловкости рук пилота (убрано за ненадобностью)

    2. "stabilize" - режим в котором помимо микширования ручных каналов управления к мощности моторов подмешиваются значения сенсоров ардупилота необходимые для стабилизации.

Планер

В качестве модели для испытаний №1 будет использована модифицированная шасси самолета-трансформера с размахом крыла 1750/2500мм

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

Механизм поворота моторов, устанавливается между средней и основной частью крыла

вид снизу

Вид сбоку

Подключение аппаратуры

входов

in1 крен

in2 тангаж

in3 газ (двух передних моторов в самолетном режиме или всех трех в вертикальном)

in4 руль направления

in7 управление режимом вертикальный / горизонтальный

in8 управление режимами в самолетном положении (ручной, стабилизация, авто итд)

выходов

out 1 - элероны

out 2 - руль высоты

out 3 - левый мотор

out 4 - руль направления и сервопривод наклона заднего мотора

out 5 - правый мотор

out 6 - задний мотор

out 7 - сервоприводы левого и правого мотора

настройка вынесена в расширенные параметры,

теперь настраивать коэффициенты стабилизации возможно непосредственно из программы Mission planner

vtol ardupilot software confuguration

Проверка сервоприводов поворота моторов:

Настройка коэффициентов стабилизации по крену

подвешиваем модель за две точки обеспечивая свободное врашение по крену

настраиваем VTOL_STAB_P - этот коэффициент регулирует общую дозу газа необходимую для стабилизации - увеличиваем если слишком слабое воздействие на исправление ошибки увеличиваем коэфициент

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

настройка баланса тяги заднего и передних моторов

устанавливаем модель на тренировочное шасси и пробуем немного приподнять если зад поднимается позже то VT_REAR_THR_P следует увеличить

настройка баланса тяги передних и заднего моторов

Описание параметров:

// @Param: VTOL_DEMPF_RATE_P

// @DisplayName: portion of trottle to angular rotation speed

// @Description: increase it with high inertion models

// @Range: 0 8000

// @Increment: 1

// @User: Advanced

GSCALAR(vtol_dempf_rate_p, "VT_D_RATE_P", 4000.0),

// @Param: VTOL_STAB_P

// @DisplayName: portion of trottle to get stabilize

// @Description: Main proportion from angular error and angular rate error to trottle portion

// @Range: 0.001 0.05

// @Increment: 0.001

// @User: Advanced

GSCALAR(vtol_stab_p, "VT_STAB_P", 0.008),

// @Param: VTOL_STAB_YAW_P

// @DisplayName: tricopter rear motor servo

// @Description: how many turn rear motor servo to correct yaw in some error

// @Range: 0.3 1.5

// @Increment: 0.01

// @User: Advanced

GSCALAR(vtol_stab_yaw_p, "VT_STAB_YAW_P", 1.0),

// @Param: VTOL_STAB_YAW_TRIM

// @DisplayName: rear motor servo triming offset

// @Description: zero position calibration for rear motor servo in vtol mode

// @Range: -4000 4000

// @Increment: 1

// @User: Advanced

GSCALAR(vtol_yaw_trim, "VT_YAW_TRIM", 0.0),

// @Param: VTOL_REAR_THR_P

// @DisplayName: balance thrust front and rear motors

// @Description: increase for move rear up

// @Range: 0.1 2.0

// @Increment: 0.01

// @User: Advanced

GSCALAR(vtol_rear_thr_p, "VT_REAR_THR_P", 0.5),

// @Param: VTOL_THR_MIN

// @DisplayName: trottle offset

// @Description: minimal throttle in vtol mode (percent) for non stops motors

// @Units: Percents

// @Range: 0 50

// @Increment: 0.1

// @User: Advanced

GSCALAR(vtol_thr_min, "VT_THR_MIN", 12.0),

особенности

используйте реверс 7 канала для выбора положения сервопривода в вертикальном режиме

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

при переводе стика газа в 0 моторы выключаются

на АПМ1 следует отключить аппаратный переключатель каналов заменив прошивку PPM энкодера на коптерную или физически изменив схему иначе в режиме "hardware manual" 1,2,3,4 каналы будут аппаратно подключены к выходам приемника радиоуправления

Хронология развития прошивки

  • июнь 2012 разработана первая модификация прошивки на основе arduplane 2.4

  • ноябрь 2012 прошивка перенесена на arduplane 2.6.7

  • ноябрь 2012 выпущена VTOL2 с возможностью настройки коэфициентов через Mission planner, настроены и проверены на модели коэфициенты для удержания горизонтального положения.

  • ноябрь 2012 выявлены и устранены незначительные баги, опубликована версия VTOL3

  • Декабрь 2012 исправлено поведение сервопривода маунта заднего мотора, разделен коэффициент VT_D_RATE_P на VT_D_ROLL_P и VT_D_PTCH_P для стабилизации крена и стабилизации пикирования т.к. в ходе опытов была отмечена существенная разница в моментах инерции по вращению.

  • Декабрь 2012 vtol -код портирован на Arduplane 2.6.8 оригинальный код пилотирвания дополнен возможностью включения точного контроля высоты при использовании датчика воздушной скорости при значении параметра ALT_CTRL_ALG =2 аирспид контроллирует только уровень газа, оставляя точный контроль высоты

... ПРОШЛО 4 ГОДА ...

информация от эндрю тиджела

поддержка конвертопланов различных конфигураций в ARDUPLANE 3.6 для 32 битных контроллеров

http://discuss.ardupilot.org/t/tiltrotor-support-for-plane/8805