Меню Рубрики

Установка apm на самолет

Установка apm на самолет

Эти два лога самые интересные — лог акселерометра и гироскопа — по умолчанию они выключены. (Интересные — скорей всего клёвые т.к.позволяют выяснить перегрузки действующие на модель во время полета и при падении.)

Чтоб включить логирование акселерометра и гироскопа делаем следующее:

  • подключаем APM в компьютер USB кабелем (если он уже подключен отключаем переподключаем),
  • в Mission Planner нажимает кнопку “Terminal” в верхней части,
  • далее нужно нажать Enter 3-раза : это переведет в CLI mode,
  • набираем на клавиатуре logs и нажимаем кнопку enter,
  • далее пишем: “enable imu” и нажимаем кнопку enter,
  • логирование акселерометра и гироскопа включено,
  • переподключаем USB кабель (отключить кабель подождать 5 сек и включить снова)

Внимание: запись лога акселерометра и гироскопа потребляет большое количество ресурсов процессора, т.е. при включенном логировании вся система будет работать максимально нагруженной — это увеличение потребления электропитания, а так же в некоторых случаях может вызвать кратковременные зависания системы. Т.е. неиспользуйте запись этих логов и полетные режимы (стабилизация, возврат домой и т.д.) одновременно.

Калибровка акселерометра

Если плата ардупилота поддерживает опцию EKF Inertial Navigation, то необходимо ее включить AHRS_EKF_USE = 1, а затем произвести калибровку акселерометра.

Для калибровки акселерометра заходим INITIAL SETUP -> Mandatory Hardware -> Accel Calibration. После нажатия кнопки Calibrate Accel Вас попросят самолет (с APM) положить на правую сторону, на левую сторону, носом вниз, носом вверх и назад (положить в исходное положение), после каждой смены положения нужно нажимать любую кнопку на клавиатуре. Очень важно перед тем как нажать кнопку (подтверждение что арду пилот в нужном положении) самолет (плата APM) должен быть неподвижен (даже руки к столу не прикасать, а на клавиатуру нежно, аккуратно нажимать). Имейте ввиду, что крутить собранный (особенно если большой) самолет не очень то удобно, поэтому калибровку можно произвести только с платой ардупилота.

Откалибровав APM2 кнопкой Calibrate Accel не проводите облегчённую функцию Calibrate Level (кнопка ниже) т.к. это затрет в памяти все предыдущие результаты калибровки.

Конфигурация дополнительных модулей APM2

Популярным модулем считается модуль GPS со встроенным компасом (в случае отсутствия компаса на основной плате, китайский аналог). Менее популярными являются датчик скорости воздушного потока (работает по принципу трубки пито) и сонар. Сонар в большей части используется на ардукоптерах при конструировании автономных беспилотных летательных аппаратов. Позволяет не сталкиваться с препядствиями при движении по заданному ранее маршруту.

Как только Вы подключили компас и поставили галочку разделе «Hardware Options», напротив него, необходимое произвести калибровку, которую можно сделать следующими способами:

  1. Первый способ — это ничего не делать. После подключения питания (в поле перед запуском) GPS модуль соединится со спутниками, но данные магнитного компаса будут автоматически откалиброваны только в полете, путем сравнения данным с электронного компаса и данных с GPS. Плюс в этом способе — ничего не нужно делать (только запастись терпением). Минус в том, что каждый первый запуск требует много времени.
  2. Второй способ — калибровка в ручную в Mission Planner (фото выше). Вводим значение Declination (Магнитное склонение). Переходим по ссылке Declination web site в Misson Planner в разделе Hardware Option. По инструкции выбираете Ваше место расположения и как показано на фото с права обведенное красным и есть значение Declination (значение магнитного склонения), это значение необходимо ввести в Misson Planner в разделе Hardware Option затем нажать кнопку “Live Calibration” и начать вращать самолет с APM с установленным модулем компаса (или встроенным). Вращение во все 360 градусов, а так же вокруг своей оси необходимо производить в течении 30 секунд пока система собирает данные и осуществляет калибровку. Плюс такого способа калибровки в том, что отсутствуют любые электромагнитные наводки т.к. электродвигатель не работает, т.е. калибровка занимает всего 30 секунд. Минус такой калибровки исключительно в том, что если самолет очень больших размеров придется изрядно по мучаться при его вращении.
  3. Третий способ самый необычный — это калибровка компаса при помощи полетного лог файла последнего полета (или записанного ранее) с установленными GPS и компас модулем (без какой либо калибровки). Функция отмечена как Log Calibration, воспроизводит полет из log (.tlog) и система сопоставляя анализирует записанные данные GPS и гироскопа (IMU) осуществляет требуемые корректировки. Это самый удобный способ калибровки компаса. Минус в том, что если загрузить .tlog , где полет фактически не совершался (например только вращение корпуса модели), то калибровка будет полностью сбита.

Настройка режимов полета ардупилота

Настройки режимов полета производится в разделе Configuration -> Fight Modes

  1. Одна из удобных функций ардупилота — это возможность переключения режимов полета в процессе самого полета. Представьте, что с земли Вы можете включить/выключить режим стабилизации, включить ркжим «Возврат домой».
  2. Переключать режимы полета APM возможно не только через передатчик, но и через компьютер в случае если у Вас установлен модуль радио модема (xbee)
  3. Переключение через передатчик осуществляется путем настройки переключателя (например 3х позиционного или тумблера шасси и д.р.) на канал 5. 5й канал передатчика подключается в 8й вход ардупилота т.к. для режима «Самолет» именно 8й используется для данных о режиме полета. The goal is to send a PWM signal — for each desired flight mode — that falls somewhere near the m >

Конфигурируем APM для самолета

Внимание: до того как Вы перейдете к конфигурированию (настройке) APM, убедитесь, что Приемник и передатчик сопряжены и функционируют корректно.

Далее подключите APM2 через USB порт к персональному компьютеру.

Здесь бывает популярная проблема с питанием полетного контроллера — нехватка питания, так, что подключайте USB кабель напрямую в компьютер без usb-хабов. Не используйте кабель свыше 3х метров.

После подключения и запуска Mission planner убедитесь, что COM порт выбран с меткой Arduino Mega 2560, а скорость порта выбрана 115200, далее можно нажимать кнопку Connect для соединения (происходит соединение через протокол MAVLink).

Внимание: Если это первое подключение APM, то после запуска Mission Planner будет выполнена автоматическая процедура подготовки к первому запуску, которая включает в себя форматирование встроенной памяти APM, соответственно сброс всех настроек в первоначальный вид. Данная процедура занимает 1 — 2 минуты, в это время нажатие кнопки Connect будет выдавать ошибку о невозможности соединиться.

Калибровка передатчика

Будет идеально если Вы уже летали на самолете до установки APM2.5 т.е. модель от тримирована. Хотя это достаточно легко сделать во время первого запуска, в ручном (manual mode) режиме.

Далее включаем передатчик и убеждаемся, что аппаратура настроена на режим «самолет» (в случае если ваша модель — самолет, для планера выберите режим планера).

В Mission Planner, во вкладке Configuration, нажимаем “Calibrate Radio”. Передвигая ручки управления видим отклонения до максимального предела. Красные полоски показывают максимальные отклонения (в плюс или минус). Канал Ch 5 используется APM для переключения режимов.

Внимание: если при движении ручками на передатчике Вы не видите результата на экране монитора попробуйте нажать на кнопку “Calibrate Radio” еще раз, а также убедитесь в правильности соединения APM, питания, приемника и mini-usb кабеля, варианты подключения следующие:

  1. Питание ардупилота через Power module, в 3-й канал входа АРМ(input) подключите приемник, на приемнике так же в 3й канал, JP1 разомкнут
  2. Питание от USB: в 3-й канал входа АРМ(input) подключите приемник, на приемнике так же (проводок) в 3й канал, JP1 замкнут. Питание на приемник будет поступать от USB, просто включите передатчик.

В “Calibrate Radio” Вы можете включить/выключить реверс, включить функцию элевонов. Не забудьте нажать “Click when done” или Save для сохранения результатов.

источник

Установка apm на самолет

Некоторые аспекты использования 2.7.1
(для других версий могут быть некоторые отличия)

Где можно еще почитать и получить советы по настройке?

Прошивка и начальная настройка

1.Обновление прошивки

2. Настройка Радиоуправления — расходов и реверсов по каналам

Предварительно рекомендую убедиться что расходы не выходят из диапазона 1000-2000 ms (Если это не так, отрегулируйте приемник и перерегулируйте приводы на модели)

Подключаем 1-4 и 8 входные каналы и питание и общий к радиоприемнику, на апм 1 переводим слайдерный переключатель CLI в позицию «от штырьков подключения сервомашинок». (в современных прошивках этот переключатель всегда должен быть в этом положении, в APM2 и выше этот переключатель отсутствует)

Выбираем появившийся после подключения USB номер COM — port, скорость 115200 и подключиться.
Нажимаем настройка автопилота, настройка радио.
В некоторых прошивках по умолчанию включен элевонный режим (чекбоксы ниже индикаторов радиоканалов) — если модель классического типа — снимаем эти чекбоксы, и обязательно перезапускаем ардупилот (отключаем и подключаем провод usb если нет другого питания платы) — иначе калибровка будет неверной и только после этого настраиваем радиоканалы. Устанавливаем триммера каналов радиопередатчика в положение — соответствующее нормальному полету, жмем калибровка и перемещаем стики по всем крайним положениям, отклонения индикаторов радиоканалов должно соответствовать направлению стиков, за исключением стика тангажа (руля высоты) руль высоты от себя — индикатор вверх руль на себя индикатор вниз. в случае несоответствия установить чекбокс «REV» в нужном канале. незабываем переключить на все положения переключатель режима. перемещаем газ в нижнюю позицию, а остальные стики в среднюю и нажимаем завершить (complete)

3 Настройка логгирования — записи полетных данных в «черный ящик»

После первого полета, если вы не используете телеметрию, скорее всего вам понадобятся логи для оценки полета, необходимо их включить. Нажимаем терминал и набираем logs. если в терминале уже активен setup] то вводим exit и ввод, набираем logs
erase и ввод — чистка памяти где хранятся логи
enable all — включение полного логгирования

4 Включение и калибровка компаса

На APM1 компас- отдельно устанавливаемый модуль, на APM2 и APM2.5 он уже установлен

Заходим в настройки (Settings), оборудование (Hardware options), включаем компас (если чекбокс был отключен потребуется перезагрузка контроллера до проведения калибровки) и выполняем калибровку. Для калибровки плавно вращаем контроллер по всем осям не забывая про курс, в конце калибровки вы увидите результирующие значения offsets.
вращать надо в руке как на шарнире потихоньку поворачиваясь по направлению вращать платой приводя ее во все возможные углы наклонов по крену и тангажу вплоть до переворота.

Проверка: после того как компас откалиброван, уберите подальше от стола магнитные предметы в том числе отвертки и ножницы, положите лист бумаги на стол и положите плату на него, направьте плату передом на север — чтобы индикатор в «Flight data» показывал точно на «N» (соответствие реальной стороне света на этом этапе не важно, на вашем рабочем месте все равно могут быть магнитные аномалии, их легко выявить механическим туристическим компасом)
затем проведите черту параллельно плате — и не двигая лист бумаги разверните плату на 180 и положите вдоль черты.
сначала курс будет показывать «S» — юг в любом случае т.к. это значение определяется по гироскопу, затем со скоростью порядка градуса в секунду показания гироскопа будут подтянуты к показаниям компаса, итак если после 30 секунд если вы видите тот же юг, с небольшим допуском — значит компас откалиброван верно.

5. Включение датчика воздушной скорости

Заходим в настройки, оборудование, включите галку датчик воздушной скорости (при этом параметр ARSPD_ENABLE будет уснановлен в 1), если он у вас есть и вы планируете его использовать. (на этой стадии его показания не будут использованы автопилотом, будут лишь накапливаться данные для калибровки и отображаться измеренная воздушная скорость в программе при соединении по телеметрии или USB, после того как он откалиброван и готов к использованию его можно начать использовать задав ARSPD_USE=1 в полном перечне параметров)

6 Настройка режимов автопилота

Заходим в настройки, Flight modes — настройте режимы которые вы будете использовать — для начала рекомендую manual — ручной stabilize — автоматическое выравнивание модели с ручным газом и возможностью управлять rtl — возврат к точке запуска. Для настройки режима необходимо подключить канал приемника связанный с многопозиционным переключателем передатчика на канал контроллера № 8 (у вертолетной прошивки «arducopter» используется канал №5 ) Весьма часто случается что небрежная настройка режима приводит неполадкам при пилотировании — для обеспечения надежности фиксации нужного режима постарайтесь чтобы значение PPM канала управления попадало ровно в середину диапазона отведенного для режима, более подробно как это сделать тут.

Установка в модель:

Устанавливать контроллер следует в место отвечающее следующим условием:
— контроллер должен быть установлен горизонтально. параллельно оси движения самолета , штырями подключения сервомашинок к хвосту самолета, по возможности постарайтесь обеспечить крепление обеспечивающее гашение мелких вибраций
— обеспечение защиты от влаги в том числе конденсата росы и тумана
— отсутствие вихревых потоков приводящих к изменению давления в движении — в автопилоте используется барометр для определения высоты
— отсутствие магнитных полей (не используйте магнитные защелки кабины и устанавливайте вдали от мотора) магнитные поля могут повлиять на показание компаса

Подключение радиоприемника, регулятора, сервоприводов к APM1

В случае если расположение штырьков это позволяет — подключение приемника можно производить двумя вилками четырех контактной — соединить сигнальные пины приемника 1-4 и автопилота и трех контактной (для соединения канала 8 autopiot control, +5v и общий питания приемника)

контроллер APM2 имеет 8 входов для подключения радиоприемника расположенных на передней кромке и 8 выходов для подключения регулятора оборотов и сервоприводов на задней кромке, выходы пронумерованы, подключение осуществляется аналогично APM1, однако контроллер APM2 не имеет встроенного регулятора 5V и более требователен по электропитанию. В обеих случаях настоятельно рекомендую использовать отдельный внешний высокоточный линейный регулятор напряжения.

Контроллер АПМ 2.5 имеет гнездо PM для подключения «Power Module» этот модуль включает в себя источник питания автопилота, датчик напряжения, датчик тока

Требования к надежному источнику питания:

  • Питание от силовой батареи (7,4 — 20 вольт)
  • Дополнительный вход питания от резервной (маломощной) батареи
  • Выходное напряжение 5V +-5%
  • Выходной ток не менее 300 ма (с учетом телеметрии и minimosd)
  • Максимально допустимый импульсный выходной ток не менее 500 ма
  • соединение с контроллером «ардупилот» пайка или надежный разъем с фиксацией

От источника питания автопилота не должны быть запитаны посторонние устройства, особенно механические — например сервоприводы. Известны многочисленные случаи серьезных отказов в случае заклинивания сервоприводов использующих общее питание с бортовым контроллером.

Включение батареи

Предполетная проверка:

проверяем правильность отклонения рулей в ручном режиме
переключаем в режим стабилизация наклоняем модель и убеждаемся что плоскости элеронов и руля высоты отклоняются в положение парирующее крен и пикирование на достаточные углы необходимые модели для парирования отклонения от горизонта, величина углов определяется настройками SERVO_ROLL_P и SERVO_PITCH_P, Первичная настройка может быть сделана «на глазок»

Настройка модели в первых полетах и проверка режимов

Первые взлеты осуществляются в ручном режиме.
Для корректной работы автопилота «с настройками по умолчанию» следует проверить центровку модели в полете в ручном режиме, при этом в различных скоростных режимах и режимах работы двигателя модель должна сохранять положение горизонтального полета те. не крениться не переходить в снижение или набор высоты.
В случае отклонений исправьте центровку модели подгибая тяги управления и изменяя развесовку чтобы обеспечить горизонтальный полет при средних положениях триммеров.
Если самолет летит ровно при отпущенных стиках в ручном режиме — можно начать проверку режима стабилизации — наберите высоту достаточную для переключения в ручной режим и восстановления положения самолета. включите стабилизацию и попробуйте стиками помешать горизонтальному полету — модель должна быстро восстанавливать горизонтальное положение. для проверки режима rtl следует занять безопасную высоту отлететь на 20- 30м и переключить rtl модель должна развернуться в сторону точки запуска, достичь ее и начать кружение вокруг нее.

Демонстрация первого взлета модели в ручном режиме, пролета и фрагментов автоматической посадки
контроллер: APM1 + gps quectell mt3329 + компас + Airspeed sensor
http://www.youtube.com/watch?v=1_ChbpM5Dyg&feature=youtu.be

Видео YouTube

После того как механика и аэродинамика модели приведена в оптимально состояние — следует оптимизировать настройки ардупилота. На первом этапе следует настроить PID отвечающие за стабилизацию.
Принцип настройки следующий:

  1. Единовременно настраивается только один параметр
  2. сначала настраивается параметр P каждого из пидов (параметры I и D отложите на самый последний этап)
  3. единовременно изменяйте значение P не более чем на 10%

Проверяем в полете достаточно ли быстро самолет возвращается в состояние горизонтального полета в режиме стабилизации. Для этого набираем высоту достаточную для того чтобы в непредвиденных обстоятельствах успеть переключиться в ручной режим и восстановить горизонтальный полет вручную.В условиях средней полетной скорости для модели вводим модель в крен и включаем режим стабилизации — если самолет стабилизируется слишком вяло по крену то следует увеличить SERVO_ROLL_P, добавляете к значению 10% и повторяете испытание. Если выравнивание осуществляется со скоростью опасной для конструкции или приводит к автоколебаниям — следует уменьшать этот коэффициент.

Во вторую очередь следует настроить стабилизацию пикирования/кабрирования, которая осуществляется аналогично но с параметром SERVO_PITCH_P

Выполняя полеты по настройке стабилизации обратите внимание на положение стика газа при котором самолет поддерживает нормальную скорость в горизонтальном полете, значение по умолчанию = 45%, но в используемых мною моделях обычно требуется порядка 60-70% газа. Без регулировки этого параметра модель будет интенсивно терять высоту при попытке использования режима «авто». параметр отвечающий за среднее положение газа для автоматических режимов THROTTLE_CRUISE

Параметры I и D каждого из пидов предназначены для тонкой настройки для получения максимума эффективности.

Параметр D на единовременную, краткосрочную дозу энергии прибавляемую к P требуемую в момент возникновения ситуации — например на преодоление вращательной инерции.

Параметр I позволяет автоматически сдвигать среднее положение дозировки энергии долгосрочно адаптируясь к условиям полета. Например если невозможно механически исправить «кривизну» модели то увеличивают I составляющую. Негативным следствием большого значения I является изменение полетных обстоятельств, к примеру если накоплена ошибка по крену на левое крыло, но впоследствии груз переместился на правую сторону то силы этой составляющей еще некоторое время будут препятствовать составляющим P и I поддерживать горизонтальный полет.

До окончания настройки P составляющих всех коэффициентов настройку D и I лучше отложить

Настройка параметров навигации для автоматических режимов

На данном этапе следует внести в память автопилота 5-10 точек на параллельных курсах на расстоянии 200 — 300м друг от друга, на относительной (от уровня земли) высоте порядка 100м, с размером радиуса точки 20м желательно в соответствии с наземными ориентирами.

Перед запуском помимо процедуры установки полетного уровня модели следует дождаться захвата спутников о чем будет свидетельствовать постоянное свечение светодиода «C» красного цвета. При первом захвате после включения сохраняется «домашняя точка» которая используется в последствии при использовании режима RTL

Цель испытаний — настроить PID навигации

NAV_ROLL_P — управление креном в целях достижения курса к очередной маршрутной точке, если параметр мал то модель будет слишком вяло менять курс к нужной точке, и идти к ней по дуге. На интенсивность поворота, особенно пилотажных моделей с центром тяжести по центру подъемной силы, существенно влияет коэффициент KFF_PTCHCOMP — он определяет зависимость положения руля высоты на кабрирование в зависимости от актуального угла крена.

NAV_PITCH_ALT_P — управление пикированием — регулировка интенсивности воздействия на руль высоты для достижения высоты указанной для маршрутной точки. Если это значение слишком мало то модель летает в одной плоскости не достигая требуемой высоты проходя над очередной маршрутной точкой.

в моем случае пришлось увеличить оба эти коэффициента приблизительно на столько же как и соответствующие коэффициенты отвечающие за стабилизацию.

THROTTLE_TE_P — коэффициент задающий зависимость изменения газа от «точки нормального значения» заданного в THROTTLE_CRUISE при необходимости набора высоты в большую сторону, при необходимости снижения в меньшую.

в прошивках по 2.6 NAV_PITCH_ALT (P >

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

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

  1. Комплект XBEE-900Pro
  2. 3DR telemetry set

любой из комплектов состоит из адаптера подключаемого к USB компьютера и адаптера с serial uart интерфейсом,

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

для подключения к Ardupilot Mega 1 и 2 на этих платах предусмотрен порт телеметрии, на котором имеются сигнальные выводы, общий и питание. Однако следует понимать что в режиме передачи данных приемо-передатчик может потреблять значительный ток и использование питания от ардупилота может привести к перегрузке встроенного в APM1 стабилизатора или внешнего для APM2. Для обеспечения надежности системы я бы рекомендовал использовать внешний источник (см. выше)

установка связи через беспроводной комплект подключенный к порту телеметрии осуществляется на скорости 57600 (если не указано иное в соответствующем параметре), в качестве номера порта следует выбрать тот, который появился после подключения USB адаптера. Процедура подключения и отключения может быть осуществлена в любом состоянии — на земле и или в полете, процедура подключения и пропадание связи не сказывается на полете, однако поскольку скорость передачи данных зависит от качества сигнала — подключение следует осуществлять в зоне уверенного приема, в противном случае может не хватит времени отведенного на процедуру передачи начальных параметров и случится таймаут. Через порт телеметрии доступны не все данные, консоль (настройки, тестирование, работа с логами) будет недоступна

Для удобства, после захвата спутников, когда на высотомере отобразится высота над уровнем моря — установите в mission planner высоту домашней точки в «0»

В процессе сеанса связи по телеметрии на экране Mission Planner будет отображаться высота, воздушная и наземная скорость, искусственный горизонт, состояние захвата спутников навигации, режим полета, номер очередной маршрутной точки и расстояние до нее. Помимо этого можно посмотреть значения основных переменных автопилота.

Все полетные данные полученные в ходе сеанса связи записываются в два файла .rlog и .tlog

Впоследствии для анализа полета эти данные можно воспроизвести. Для того чтобы посмотреть полет даже не потребуется подключенный контроллер — скачайте Mission Planner, и архив с файлами телеметрии приложенный в конце страницы, разархивируйте вложенные файлы в одну папку, откройте файл .tlog из Mission Planner и нажмите кнопку «Play» В конкретной записи в начале модель неподвижна, ведется ее наземная подготовка и проверка.

Анализ полетных данных в целях выявления ошибок настройки.

На примере данных телеметрии «полеты_4_08_2012_6кругов.rar» (архив внизу страницы)

  1. из кривой движения в режиме «авто» от точки 1 к точке 2 возникает предположение что модель имеет склонность к уклонению вправо порядка 5 градусов, это может являться следствием неверной установкой руля направления или отсутствия выкоса установки двигателя.
    решение: в следующем испытании попробовать установить небольшое отклонение руля направления влево.
  2. исходя из части маршрута «6 кругов с радиусом 50 метров вокруг точки №8» в виражах наблюдается просадка на 2-3 метра. Возможно недостаточен коэффициент зависимости кабрирования от крена Решение: попробовать увеличить значение KFF_PTCHCOMP
  3. После прохождения 6 кругов на высоте 30 метров следующая точка №9 (предпосадочная) находилась на удалении 40 метров с высотой 5 метров — что оптимально для вхожения в глиссаду, радиус маршрутной точки был задан 20 метров. Логика ардупилота (версии 2.50) такова что войдя в радиус маршрутной точки — точка считается достигнутой и предпринимается очередное маршрутное действие — в результате пройдя из 40 метров только 20 — случилось вхождение в радиус маршрутной точки и как следствие прекращено снижение, в следствие чего на дистанции от точки 8 к точке 9 модель снизила высоту не до 5 метров а на отметке 15 приняла горизонтальное положение и зафиксировала курс — как и следовало в начале посадки

на иллюстрации указана высота от уровня моря т.к. не была сделана установка высоты перед полетом (следует считать за вычетом 135м) показан момент вхождения в радиус 9 маршрутной точки с ошибкой +15м. Решение: по идее это ошибка логики автопилота — моментом прохождения маршрутной точки следовало бы считать не вхождение в радиус а момент минимальной дистанции и это особенно актуально в момент посадки. поскольку переписывание кода достаточно трудоемкая операция то в следующих испытаниях следует сделать точку вхождения в глиссаду дальше от кромки, а предшествующую ей точку на той же высоте что и точка вхождения в глиссаду или уменьшить радиус маршрутной точки с типовых 20 метров до 5, т.к. GPS приемник показал достаточно высокую точность.

Дополнительные задачи для последующих полетов:

  1. Поскольку в первом полете при значении по умолчанию TRIM_TROTTLE (TROTTLE_CRUISE) 45% модель слишком интенсивно теряла скорость, а после увеличения до 70% оказалось, что это немного превышает реальные потребности в мощности — снизить уровень до 65%
  2. уменьшить WP_LOITER_RAD с 50 до 20 метров, так как не позволяет летное поле и долго ждать пока он наматывает такие круги
  3. Уменьшить число кругов, пары кругов достаточно чтобы вычислить просадку в повороте
  4. Оказалось что при резком увеличении газа регулятор не всегда успевает раскрутить мотор и может произойти срыв вращения, для предотвращения этой ситуации следует установить параметр регулятора «мягкий старт», альтернатива в коде автопилота для автоматического режима THR_SLEWRATE, попробовать установить в 50% — насколько сможет измениться значение газа за секунду.
  5. После того как автокалибрвка датчика воздушной скорости после нескольких полетов будет завершена, и его средние показания при движении по кругу будут соответствовать наземной скорости — включить ARSPD_USE — возможность использования датчика воздушной скорости для целей управления полетом.

Использование телеметрии для изменения настроек

Тестирование производилось командой из двух человек пилот + оператор-пк ходе первых полетов мы опасались изменять какие либо параметры в полете — сначала приземлялись — настраивали, затем попробовали «на лету» — перевели модель в ручной режим — получилось настраивать ПИДы, затем обнаглели и стали заливать новые настройки в том числе маршрут не переходя из авто режима (правда после заливки нового маршрута давали из телеметрии команду на сброс миссии) В результате убедились что все достаточно хорошо работает «на лету» (в прямом смысле) что позволило существенно ускорить испытания.

Особенности планирования маршрута

После того как датчик воздушной скорости был откалиброван и включен параметр ARSPD_USE = 1 практика показала основным параметром определяющим маневренность модели при неизменных NAV_ROLL ПИДах является воздушная скорость модели, причем эта зависимость нелинейная например при скорости 12 м/с наша модель делала разворот на 180 градусов с радиусом 5-7м а при воздушной скорости 15м/с радиус достиг 20м

поэтому предварительные выводы таковы:

  • сначала следует определить скорость при которой начинается «сваливание» модели, и увеличив полученное значение в 2 раза задать его в качестве «круизной скорости», затем под эту скорость настраивать параметры навигации по наклону и пикированию
  • при планировании маршрута, в случае наличия даже минимального ветра для достижения четкого прохождения маршрута точки следует располагать так чтобы «сложные» участки (близко расположенные точки) находились в положении когда модель идет против ветра (и при этом она показывает чудеса маневренности)
  • бесполезно устанавливать точки ближе одна к другой чем это позволяет маневренность модели

Планирование посадки

В случае если в маршрут включена автоматическая посадка то посадочную точку с высотой 0 следует ставить в предполагаем месте касания полосы, предшествующую посадке точку следует ставить на высоте порядка 5 метров — на удалении достаточном для снижения на эту высоту при соблюдении круизной скорости. это будет точка входа в глиссаду, в ней самолет отключит мотор и будет снижаться за счет установки пикирования в зависимости от воздушной скорости если включен параметр ARSPD_USE = 1 (или будет удерживать заданный в переменной land_pitch_cd в сотых долях градуса если ARSPD_USE = 0), помимо точки захода на посадку в прямой от посадочной точки и точки входа в посадку следует поставить еще одну точку с высотой безопасной для маневрирования (для нашей модели это высота 15 метров на удалении 40м от точки входа в посадку) то что эта точка находится на посадочной прямой и безопасной высоте позволит обеспечить отсутствие резких маневров приводящих к невосполнимой потере скорости на малых высотах.

С тем чтобы обеспечить гарантированное снижение с большой высоты без набора скорости разумно перед точками посадки установить точку кружения с 1-2 кругами (для сброса высоты 70м в нашем случае хватило одного круга на высоте 30м )

Основные типы маршрутных точек

WP — маршрутная точка с указанием широты долготы и высоты (высота отностительно точки старта или уровня моря задается отдельной опцией)

TAKEOFF — точка в которой актуальным параметром является высота. Например если установить высоту 15 метров то запуская модель в этом режиме до этой высоты газ будет максимальный (для первых прошивок: газ работал в ручном режиме), автоматически будет удерживаться взлетное кабрирование, и курс. при достижении моделью указанной высоты включится автоматический газ и навигация к первой WP

LANDING — планируемая к посадке точка, при ее наличии при прохождении предыдущей точки выключается двигатель, включается удержание текущего курса и удержание скорости если включен параметр ARSPD_USE = 1 (или будет удерживать заданный тангаж, указанный в параметре land_pitch_cd в сотых долях градуса если ARSPD_USE = 0),

в прошивке Arduplane 2.6 изменен алгоритм посадки- используется удержание угла указанного в параметре land_pitch_cd независимо от значения ARSPD_USE

для всех типов точек задается WP_radius — радиус зоны попадая в которую автопилот считает что достиг точки и берет курс к следующей. Соответственно если GPS приемник достаточно точный и модель попадет от предыдущей точки по определенной траектории то имеет смысл планировать точки таким образом что точкой прохождения будет пересечение траектории от предыдущей точки и радиуса. При уменьшении радиуса менее 10 метров возможны интенсивные «доруливания» вблизи точек даже при слабых PID навигации — специфика PID навигации — они дают коррекцию курса от угловой ошибки а вблизи маршрутных точек угловая ошибка даже при небольших разбросах показаний GPS может дать большой угол. Следственно задавать радиус точки меньше 10 метров — чревато резкими рывками при их прохождении. Задавать радиус более 20 метров чревато что точка будет достигнута на этом радиусе, и если это не предусмотрено в плане то может быть «срезан угол», кроме того если между двумя точками планируется изменение высоты то при достижении радиуса этой точки изменение высоты будет не таким как ожидалось на величину отношения удаления между точками к радиусу точки. это особенно важно учитывать при планировании захода на посадку. При достаточно больших значениях пидов навигации не следует задавать радиус точки меньше 20м

Автоматизация нанесения точек на карту

В Mission Planner есть возможности автоматического создания точек для полета по кругу и для облета заданного квадрата. Для второго случая предварительно понадобится нанести на карту периметр облета при помощи специального инструмента. Это весьма полезный инструмент для создания маршрута для целей аэрофотосъемки или опыления плантаций.

Создание точек по кругу: ставим курсор в центр предполагаемого круга на карте и вызываем контекстное меню ПРАВОЙ кнопкой мыши.


Создание «полигона» для полетов — ставим указатель мыши в нужное место и вызываем контекстное меню

Есть еще одна крайне важная функция о которой нельзя не упомянуть говоря о планировании маршрута — для того чтобы Карта нужного вам региона была доступна в отсутствии соединения с интернетом необходимо выбрать нужный квадрат и вызвать функцию Map Tools -> Prefethch после чего Mission Planner загрузит фрагмент карты на диск

Настройка Точности следования маршруту и парирования воздействия ветра

Для возврата на планируемую траекторию при сносе ветром или всилу кривизны модели используется два параметра

XTRK_ANGLE_CD — максимальный угол который может корректировать эта система коррекции, например задавать свыше 90 (90000 в сотых градуса) бессмысленно т.к. при столь сильном ветре модель будет висеть на месте чтобы удержать курс. а вот значения 30 — 45 градусов вполне оптимальны.
XTRK_GAIN_SC — коэффициент воздействия ошибки отклонения от линии маршрута на угол поворота, для модели которой требуется идти точно по линии маршрута для геодезической фотосъемки я остановился на значении 150

В моем случае увеличение XTRK_GAIN_SC с 100 до 150 потребовало также увеличения NAV_ROLL_P на 15% для компенсации потери точности навигации по курсу.

На рисунке показано что на пути от точки 0 к точке 1 Xtrack подтянул модель к линии планируемой траектрории но при выходе из точки 1 образовалась дуга, красными стрелками показано как XTRK_GAIN_SC пытается притянуть фактическое положение к требуемой трассе, а красные черточки после пересечения желтой линии трассы, воздействие по парированию бокового ветра.

Проблемы точного соблюдения высоты.

Контроль высоты в режиме соблюдения воздушной скорости

при использовании Airspeed_use = 1 самолет старается выдерживать заданную воздушную скорость в том числе удерживая необходимый для этого тангаж, в этом случае крайне сложно проогнозировать высоту фактического прохода точки. Для соблюдения безопасной воздушной скорости и точного следования заданной высоте предлагается решение — принимать меры по коррекции тангажа для удержания воздушной скорости лишь при достижении ею критических значений. Для этого следует модифицировть функцию в модуле altitude.pde

и добавить функцию определения «критической скорости» в конец altitude.pde

при этом управление высотой будет зависить от коэффициента NAV_PITCH_ALT_P
в случае если воздушная скорость находится в диапазоне минимальной и максимальной скоростей определенных для flybywire Тестирование данного решения намечено на ближайшие испытания.

Проблема снижения в повороте
В случае когда модели требуется совершить резкий поворот и одновременно снижение в оговариваемых версиях прошивок наблюдается следующее: либо модель гораздо более вяло исполняет оба маневра, либо сначала выполняется поворот, а затем снижение, либо сначала снижение а затем поворот. В случае больших пидов навигации и по курсу и по высоте может наблюдаться движение по синусоиде. Причиной подобного поведения является то, что самолету для выполнения поворота требуется совершить крен и отработать рулем высоты «на себя». Если в этот момент функция контроля высоты дает команду руль высоты «от себя» то при левом крене совершается правый поворот так как при этом крыло работает обратной строной.
Решением этой проблемы может быть использование избыточного крена вместо руля высоты для «бокового соскальзывания» в случае если высота полета безопасно велика.
Другим решением может быть использование руля напрявления вместо крена в случае необходимости одновременного снижения.
Для опробования этих алгоритмов будут подготовлены и опубликованы модификации программного кода.

Полетные Испытания 21.10.2012

  • проверка эффективности патча «точного контроля высоты»
  • проверка прошивки 2.6.5
  • проверка запуска со «Стартовой тележки»
  • Без осадков
  • Низкая облачность,
  • Порывистый ветер в приземном слое до 6 м/с на высоте 100м до 12 м/с
  • относительная влажность 83%
  • температура 9°С
  • время начала испытаний 9:20

взлет со стартовой тележки в ручном режиме управления, переход в автоматический режим, первая точка на высоте 100м, левый поворот на 90, снижение ко второй точке, 1 оборот вокруг второй точки левый поворот на 90, в 3 точке левый поворот на 90 к глиссаде, снижение к 4 точке до 4 метров, посадка.

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

Взлет с тележки происходит успешно, руление килем достаточно и эффективно , сваливания изза неровностей «газона» не происходит, в обеих попытках для разбега была израсходована вся длина полосы.
Выработано мнение: это происходит изза недостаточности угла установки модели на тележке. В качестве величины угла был выбран полетный угол модели (4градуса) при этом значении требуется скорость порядка 10м/с, достижение которой затруднительно. В качестве решения было предложено увеличить угол в полтора раза.

Прохождение маршрута в условиях очень сильного ветра

1я точка — набор высоты 100м

2я точка круг с разиусом 20м вокруг точки

3я точка опеределяет направление входа в глиссаду

4я точка отключения мотора

5я точка предполагаемое место касания полосы

автоматическая посадка точно на полосу

Прошивка Arduplane 2.6.5 показала отличный результат в условиях крайне сильного ветра, даже сильный ветер не смог отклонить модель от заданного маршрута, благодаря использованию патча «точного контроля высоты» самолет точно вышел на требуемую высоту в точке начала глиссады, совершено две автономные посадки точно на полосу.

Используемые в этом испытании настройки, маршрут, логи телеметрии приложены в конце страницы.

Изучение параметров управления газом в режиме взлета

эти опции стали доступны в прошивке arduplane 2.7.1

параметр позволяющий управлять «газом» вручную с пульта в момент когда он заблокирован в автоматических режимах, в.т.ч. в режиме взлета при разбеге с полосы

THR_SUPP_MAN по умолчанию он равен 0

но если его поставить в 1 то в режиме «предотвращения включения газа» когда аппарат в автоматическом режиме но лежит на земле газ будет зависеть от положения стика газа.

если эту опцию включить, то газ будет вручную втч на взлете но до момента наступления разблокировки газа

то есть при соблюдении любого из условий

  • толчок по оси х (вперед) определяемый TKOFF_THR_MINACC превышает установленное значение , отличное от нуля (0 — опция не действует)
  • достижение взлетной скорости определенной в TKOFF_THR_MINSPD (метры в сек)

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

  • THR_SUPP_MAN = 1 чтобы разрешить ручной газ
  • TKOFF_THR_MINACC = 0 чтобы исключить активацию полного газа от толчков
  • TKOFF_THR_MINSPD = 12 (для моей модели) чтобы исключить включение полного газа до отрыва от полосы, у меня отрыв около 10м/с

при стрельбе из катапульты

  • THR_SUPP_MAN = 1 если хотите задать небольшой начальный газ вручную до выстрела. 0 если газ вручную с пульта недопустим
  • TKOFF_THR_MINACC = 30
  • THR_SUPP_MAN = 1 если хотите задать небольшой начальный газ вручную до броска. 0 если газ вручную с пульта недопустим
  • TKOFF_THR_MINACC = 10-12

дополнительно следует обратить внимание что автоматический полный взлетный газ не будет включен без 3Д фикса жпс. проверьте перед тем как стрелять из катапульты чтобы не выстрелить самолетом в кусты

Arduplane 2.4 стабильная прошивка, в режиме «GPS NMEA» возможна ошибка до 2 км

Arduplane 2.5 — 2.6 не работает «HIL версия» с симуляторами, в режиме «GPS NMEA» возможна ошибка до 2 км

Arduplane 2.6.3 исправлен режим HIL, исправлена ошибка «GPS NMEA»

Arduplane 2.6.5 исправлены проблемы с управлением ЛК

Arduplane 2.6.8 снова исправлен режим HIL, исправлены неточности при использовании UBLOX gps

В тестировании использованы

    модель «трансформер» fpv-model.ru (размах крыльев 1750мм, вес

2кг, верхоплан, задний толкающий винт )

  • тяга 2 кг, винт 11*6,
  • батарея zippy 3s 5000ma
  • телеметрия 3dr radio 915mhz
  • Автопилот APM1 + компас 5883l + GPS globaltop PA6C (mediatek 3339) + датчик воздушной скорости
  • Примечания:
    Описание всех параметров на английском языке на официальном сайте

    Компиляция прошивок в среде ардуино: прошивки до 2.5 следует компилировать в ардуино 0.22 relax path,
    начиная с 2.5 в arduino 1.0 relax path или arduino 1.0.1

    русскоязычное обсуждение arduplane тут

    источник

    Читайте также:  Установка лицензионного програмного обеспечения

    Добавить комментарий

    Adblock
    detector