ArduPilot 2.8 beta 1 Тестирование, обсуджение

how-eee

а это все под какое железо? на мультивий можно поставить этот скетч? где вообще почитать про этот ардупилот мини?

alexeykozin

это под маленький вариант ардупилота, тот который предшествовал “ардупилоту мега”
плата выглядит так:

официальная страница проекта code.google.com/p/ardupilot/wiki/ArduPilot
тут мои изыскания в целях сделать толковую инструкцию как все это можно использовать

alexeykozin

хорошая новость, дидроновцы не забросили проект
Джорди анонсировал выход платы сенсоров v3 diydrones.com/…/arduimu-v3-is-finally-here
с крутым цифровым процессором движения и 3д компасом
пишет что осталось немного дописать код и вскоре устройство появится в продаже, доступен предзаказ

11 days later
alexeykozin

Слепил Ardupilot 2.8 beta 6, в основном отладка и доработка замеченных в симуляторе “кривостей” полета
пока не разобрался почему не работает алгоритм названный crosstrack, сделал замену ослабление пидов на малом удалении от вэйпоинтов и усиление на маршруте, это позволило избежать “осциляции” на резких маневрах изза высоких пидов, устраняет скачки и резкие маневры вблизи вэйпоинта но в тоже время на маршруте не допускает ошибки по курсу больше нескольких долей градуса и доли метра по высоте (до этого его мало волновала ошибка по высоте в десяток метров и пара - тройка градусов по курсу), что в симуляторе обеспечивает гарантированное проходжение “rc_model” точек маршрута с радиусом 5м (по умолчанию в утилите 20 и старые прошивки умудрялись не попадать)
попробовал цессну, оставил в ардупилоте для нее те же настройки (стоковые пиды и скорость), только усиление по каналам в ardupilotsim увеличил на 20% (800, 8000,8000,8000 обычная rc модель и 600, 6000, 6000, 6000 cessna ) несколько увеличил расстояние между вейпоинтами ибо всетаки он неповоротлив - результат замечательный, взлетает проходит маршрут и мягко садится четко на полосу.
Ах, да сделал нормальный “Ландинг” теперь он для посадки берет не абы-какой курс который у него случился на последней точке маршрута в силу воздействия внешних факторов а взлетный, важно лишь поставить последнюю маршрутную точку на курсе, на глиссаде. убрал подскок, который был вызван единоразовым изменением тангажа на посадочный (+10:+15 градусов) теперь тангаж плюсуется по мере необходимости (при привышении вертикальной скорости 20см/сек)

единственное но, это только симулятор…
изза погоды все никак не решусь летнуть по-настоящему

Rom111

Алексей, а в прошивке ардупилота 2.8 Remzibi OSD будет поддерживаться?

alexeykozin

в принципе единственная проблема - лишь бы памяти хватило, но после удаления термофилов пара килобайт освободилась

Rom111

Здорово, хотелось бы использовать арудупилот в комплексе с OSD. Пока, если позволит погода, в выходные планирую облет ArduPilot_2_7.1_no_tremor + Remzibi

alexeykozin

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

alexeykozin

скриншот как ардупилот 2.8 в xplane 9 на самоле cessna 172 (не модель)
на стоковых пидах автоматически взлетает, проходит маршрут, заходит на посадку и мягко садится

Rom111

Из учебника мы о посадке самолёта знаем следующее:

Посадка является завершающим этапом полёта и представляет собой замедленное движение самолета с высоты 25 м до полной остановки после пробега по земле. Посадка самолета, как правило, состоит из следующих этапов :

  • планирования (снижения);
  • выравнивания;
  • выдерживания;
  • приземления (парашютирования);
  • пробега.

Тут наверное попроще, модель снижается с определённым тангажом до касания земли? А что дальше? Момент касания как-нибудь определяется автопилотом? И ещё интересно двигатель в какой момент отключается?

alexeykozin

я слыхал от авторитетных летчиков другую версию, “посадка это прерванный уход на второй круг” 😃)
но применительно к существующим версиям модельных автопилотов это не так

исходя из моего понимания кода и тестов в симуляторе:
логика перекочевавшая из 2.7 в 2.8 beta 1 заключалась в том что выйти на последнюю маршрутную точку по высоте и курсу
при расстоянии до последней маршрутной точки заданной в константе SLOW_RADIUS устанавливается уровень газа из константы THROTTLE_SLOW
при достижении расстояния THROTTLE_CUT_RADIUS вырубается газ
при достижении расстояния “радиус вейпоинта” (задается в configtoolglobal и сохраняется в eeprom) устанавливается кабрирование LAND_PITCH ( по умолчанию 15 градусов) что сначала приводит к подскоку при высокой скорости
далее выдерживается этот тангаж что обеспечивает гашение скорости. если последняя точка слишком высоко то сначала вертикальная скорость минимальна, но потом растет, в момент планирования идет стабилизация по крену, при потере скорости иногда несколько колбасит

что касается курса то его в 2.7 версии автопилот запоминает при достижении последней точки, если в этот момент модель заходила по кривой то посадка будет не на полосу а фиг знает куда.

в разрабатываемой версии 2.8 в бэта 6 сделал запоминание курса для посадки на стадии взлета по курсу home-> 1 точка и убрал подскок при посадке тем что задаю посадочный тангаж не единовременно постепенно а в зависимости от вертикальной скорости по жпс

впоследствии думаю задействовать сонар и интенсивно гасить вертикальную скорость лишь на последних паре метров

Rom111
alexeykozin:

устанавливается кабрирование LAND_PITCH ( по умолчанию 15 градусов) что сначала приводит к подскоку при высокой скорости

Ага, понял теперь, что за маневр перед снижением на рисунке из поста #13.
Я вот ещё, что подумал, а можно ввести в код автопилота команду на автоматическое отключение двигателя при условии снижения ну скажем менее 20м? На тот случай, если модель вдруг упадет в кусты, что бы движком не молотила. Точнее это условие должно, наверное, выполняться при удалении от точки старта более 200м и высота ниже 20м.

alexeykozin

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

Rom111

ясно, т.е. самолет взлетал справа налево, а я думал наоборот 😃

11 days later
alexeykozin

летные испытания 2.8 показали что стабилизация работает превосходно,
но полноценно облетать авторежим не удалось, забыл откалибровать газ,
заданное по умолчанию значение 600 в канале газа оказалось крайне мало для используемой нами модели
в процессе испытаний не могли понять почему такой малый газ в авторежимах
при наземном анализе оказалось что заданное по умолчанию значение THROTTLE_MAX 600 дает лишь половину от максимального ручного газа
и возможно стало причиной проблемы.

для пробного полета рекомендую установить следующие параметры:
#define THROTTLE_CRUISE 700 // 1000 = trottle max Default throttle value - Used for central value.
#define THROTTLE_MAX 1000 // 1000 = 100 percent of trottle stick Throttle (lower this if your plane is overpowered)

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

3 months later
kedrikov

Тестил сегодня REMZIB+ARDUPILOT+IMU по земле.Вобщем первые грабли которые немогу победить.
Проблема с выводом данных на ремзиб.Стоим на месте,включаем питание,спутники найдены судя по свечению голубого светодиода на иму.Жмякаем ресет на ремзиб сохраняя точку старта и начилось …😦 высота и дистанция живут своей жизнью,количество захваченых спутников не отображается.Скорость вроде как верно смотрел на спидометр.Dj время движения дистанция не меняется…

Связка ремзим и жпс модуль с обычной прошивкой работаю приемлемо вот только дистанция и высота постоянно плывут ± 20-50м вобщем фигня какаято…

www.youtube.com/watch?v=eljM8Su-tg8&feature=youtu.…

kedrikov

Все разобрался с проблемной.Пришел к выводу ,что все глюки были из-за комнатных тестов ,также выяснилось ,что прошивки для всех модулей нужно лить из одно пака hobby.msdatabase.ru/project-updates/…/remzibiosd спасибо Алексею.
Сделал небольшой тест на точность отображения скорости,дистанции и высоты,вот что получилось

www.youtube.com/watch?v=Z-IyPi1ib0M

Чтобы символы не моргали их нужно помещать не в зонах горизонта

kedrikov

Перешел к этапу установки ардупилота на ская и наткнулся на очередную проблему.В хвосте стоят HXT900 аналог они ведут себя во всех режимах пилота отлично.В элеронах стоит цифра www.hobbyking.com/hobbycity/…/uh_viewItem.asp?idpr… мягкие отличные сервы но в режиме Manual они почемуто дергаются с очень приличной амплитудой.Подключал на элерон 900-ку такой ерунды нет.Ну очень уж нехочется обратно менять на аналог темболее что в будущем планируется установка таких же цифровых серв в хвост.Как решить эту проблему?

Ardupilot от Алексея hobby.msdatabase.ru/project-updates/…/remzibiosd remzibi_softpack_1_73 с поддержкой ремзиб

www.youtube.com/watch?v=9JZkglDtjHA&feature=youtu.…