В этой статье я расскажу о своем опыте настройки коптера F550 с контроллером Crius AIOP v.2.0 и как итог несколько видео моих тестовых полетов.



Причиной подготовки этой статьи послужили вопросы в комментариях, а также вопросы по контроллерам с открытым кодом на базе ATmega 2560 от новичков. Я конечно не считаю себя специалистом в коптеростроительстве, но исхожу из того, что накопленным опытом нужно делиться с начинающими. Возможно, кому-то будет легче после прочтения статьи приобщаться к коптерам.

Будем считать, что мы уже плату прошили и подключили. О сборке коптера и прошивке контроллера можно почитать на страницах моего дневника http://www.parkflyer.ru/38737/blogs/view_entry/2815/ .

 

Напомню конфигурацию гексокоптера:


Рама DJI F550.

Регуляторы DJI 40A OPTO.

Моторы DJI 2212.

Пропеллеры DJI 10х3.8.

Контроллер Crius AIOP v2.0.

GPS NEO-6M.

Телеметрия 900MHz.

Приемник Futaba R6208SB.

Регулятор напряжения SBEC Turnigy.

Аккумулятор Turnigy 3S 5000mAh 25C


Теперь перейдем непосредственно к настройке коптера.


Для этого нам потребуется скачать и установить программное обеспечение MissionPlaner, последняя версия находится тут http://ardupilot.com/downloads/?did=83 .


Прежде всего, выполняем обязательные настройки (Mandatory Hardware). Для этого заходим в MissionPlaner-е в закладку Initial Setup.


Также в Initial Setup можно произвести дополнительные настройки Optional Hardware. Если у вас имеются радиомодемы, то лучше настроить их сейчас. Если модемов нет, то ничего страшного, обойдемся usb-кабелем.


Переходим во вкладку 3DR Radio. Теперь необходимо прочитать настройки самих модемов. Для этого выбираем Load Settings. Скорость передачи данных должна быть 57600 бит/сек (baund = 57). Очень важно, чтобы версия обоих модулей была одинаковой, у меня Version SK 1.6, настройки тоже должны совпадать.


На рисунке приведены мои настройки модемов.




Модемы сконфигурированы, данные передаются и принимаются без ошибок.



Возвращаемся к обязательным настройкам контроллера.



Будем считать, что тип рамы у нас уже выбран (Frame Type). Для AIOP указываем в программном коде, для APM устанавливаем соответствующие галочки.



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



Калибровка компаса.



Компас в контроллере встроенный, поэтому я ничего дополнительно не выбирал, а сразу воспользовался Live Calibration. Для этой процедуры дается определенное время, за которое нужно поворачивать коптер во всех плоскостях.




Под музыку танец с коптером воспринимается совсем по-другому.




С проводом особо не попляшешь, а с радиомодемами свобода полная.


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


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




Так как у меня прошивка версии 3.0.1, то обязательно ставлю галочку, без нее калибровка даже не запускается.


Калибровка радиоуправления.





Плату также нужно обучить уровням входного сигнала от системы радиоуправления. Для этого крутим на пульте все органы управления и следим за изменением индикаторов на экране.


Настройка полетных режимов (Flight Modes).




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



Настроил два тумблера для возможности переключения всех шести полетных режимов. Как это сделать, объясню на примере своей аппаратуры Futaba T14SG.


Так же настроил на пятый канал (Aux2) двухпозиционный переключатель SE и на шестой канал (Aux1) трехпозиционный переключатель SF.



Для пятого канала сместил конечные точки.


Создал программу для микширования сигнала.


 

Настраиваем программу.


Назначаем Aux1 в качестве основного, а Aux2 - управляемым





Вот в принципе и вся настройка. В таблице представлены полетные режимы согласно настроенным переключателям.

 

 

 


Может появиться вопрос. С какой целью два режима стабилизации? Чтобы в режим стабилизации можно было быстро перейти переключением одного переключателя. Таким образом пришлось пожертвовать одним полетным режимом.


Также на форуме разработчика есть инструкции, с которыми можно ознакомиться для настройки аппаратуры других производителей http://code.google.com/p/ardupilot-mega/wiki/Sixmodes .


Что касается режима FailSafe, то тут я настроил так, чтобы при потере сигнала от пульта радиоуправления коптер всегда возвращался к месту запуска (RTL).





С обязательными настройками будем считать, что справились. Переходим к настройкам и улучшениям – Config/Tuning.


Первый пункт Flight Modes полностью повторяет одноименный пункт в обязательных настройках, поэтому останавливаться на нем не будем.


Что касается GeoFence. В переводе с английского Fence означает забор, изгородь, загородка. Таким образом в этой вкладке можем задать параметры ограничивающие пространство, при выходе из которого коптер будет возвращаться к месту запуска.





Подробнее о данной функции можно посмотреть видео.




В Basic Pids представлены три основных параметра, поэтому сразу можно перейти к APM:Copter Pids.


На просторах глобальной сети есть замечательная инструкция по настройке ПИД-ов http://diydrones.com/forum/topics/arducopter-tuning-guide , правда она на английском языке, но как говорится online-переводчик нам в помощь. На паркфлаере я не нашел ни одной статьи, где было бы дано описание, как настроить ПИД-ы. В теорию пропорционально-интегрально-дифференциальных регуляторов вдаваться не будем, в интернете и так есть много информации. Поэтому постараюсь разобраться именно в тонкостях настройки для наших контроллеров.


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


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




Настройка ПИД-ов осуществляется в режиме Acro. Для этого проверяем в Flight Modes, правильно ли выбран полетный режим.



Rate Roll/Pitch P

Выполняем первоначальную настройку Rate Roll/Pitch P. Назначим настройку данного параметра на шестой канал. В пульте сопоставим 6 каналу крутилку. Минимальное значение выставляем равным 0,05, максимальное – 0,2.




Запускаем моторы коптера, доводим ручку газа до оборотов висения (около 50%). Начинаем плавно крутить ручку от минимального значения в сторону максимального, одновременно проверяя отклик коптера на команды с пульта управления и на внешнее воздействие. Если начинает появляться раскачка, то немного убавляем до ее исчезновения. Пытаемся найти ту грань, когда осцилляций не будет.


У меня Rate Roll/Pitch P получился равным 0,1020.


Вот как я настраивал, на видео отчетливо видно, что при увеличении значений регулируемого параметра возникают осцилляции.



Rate Roll/Pitch D


Переходим к настройке Rate Roll/Pitch D. Не забываем для шестого канала выбрать параметр D. Минимальное значение выставляем равным 0,000, максимальное – 0,02. Повторяем настройку, как для параметра P. Rate Roll/Pitch D получился равным 0,0040.




После настройки параметра rate_D возвращаемся снова к rate_P и настраиваем его еще более точно.




Мне удалось поднять значение без возникновения осцилляций до 0,1160.


Rate Roll/Pitch I


Rate Roll/Pitch I рекомендуется настраивать в полете. Если при увеличении параметра P и D возникают колебания, то при росте I возникают достаточно медленные колебания. Настройка данного параметра позволит добиться стабильного полета в ветреную погоду.

Далее уже на улице в безветренную погоду или в зале для Stabilize Roll/Pitch_P выставляем начальное значение равное 3.0 и настраиваем в полете Rate Roll/Pitch I


и Stabilize Roll/Pitch_P, по желанию, можно настроить и другие параметры, чтобы получить требуемое поведение аппарата, но это делается только после выполнения базовых настроек.


Мои настройки получились следующие:


Stabilize Roll/Pitch P= 3.5,

Rate Roll/Pitch P=0.1160 I=0.0 D=0.0040

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


Rate Roll/Pitch I у меня равно 0, потому что пробовал менять и пока не добился желаемого результата.


Так же рекомендуется запустить функцию Compassmot. Данная функция поможет компенсировать влияние на компас платы распределения питания, регуляторов скорости и моторов.


Предварительно снимаем с коптера пропеллеры.


Для этого переходим в режим терминала (Terminal). В командной строке пишем setup, затем compassmot. На 5 секунд включаем моторы, стик газа на 50%.




У меня помехи от электроники составили 3%. Честно сказать, ожидал большего значения. Наверно сказалась правильная компоновка силовой и управляющей электроники. У некоторых эта цифра составляет гораздо большее значение.


Хотел бы остановиться еще на одном моменте.


Пробовал разные версии прошивок 2.8, 2.9 и 3.0.1. После прошивки контроллера на новую версию выяснилось, что коптер все время норовит кувырнуться. После прыганья по полу, а потом кручения в руках, решил, что дело в настройках. Но все это оказалось бесполезно. Знающие люди настойчиво советовали уменьшать ПИДы. Мол при слишком больших значениях некоторых параметров коптер может совершить кульбит прямо в момент запуска моторов.


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


Всего лишь две пары поменяли местами, а в результате получил мороки не на один день. Одним словом, чуть голову не сломал от таких перестановок.


В папке с новой прошивкой имеется текстовый файл (MPNG - README - MPNG.txt), в котором написано, на что нужно обратить внимание, в том числе, где посмотреть схему моторов и направление вращения винтов.


Вот эта строчка *** Motor mapping *** Look motor mapping at: http://code.google.com/p/megapirateng/wiki/confighw?wl=en


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


После успешно выполненных настроек и предполетных подготовок, можно переходить к полетным испытаниям.


Первая проверка внутри помещения.



Тестовый полет на улице.



В итоге хочу сказать, что летает аппарат стабильно.


Конечно, пределу совершенства нет, поэтому чтобы летал еще лучше, предстоит выполнить ряд настроек AutoTrim и AutoTune.