ArduPilot 2.8 beta 1 Тестирование, обсуджение
Из учебника мы о посадке самолёта знаем следующее:
Посадка является завершающим этапом полёта и представляет собой замедленное движение самолета с высоты 25 м до полной остановки после пробега по земле. Посадка самолета, как правило, состоит из следующих этапов :
- планирования (снижения);
- выравнивания;
- выдерживания;
- приземления (парашютирования);
- пробега.
Тут наверное попроще, модель снижается с определённым тангажом до касания земли? А что дальше? Момент касания как-нибудь определяется автопилотом? И ещё интересно двигатель в какой момент отключается?
я слыхал от авторитетных летчиков другую версию, “посадка это прерванный уход на второй круг” 😃)
но применительно к существующим версиям модельных автопилотов это не так
исходя из моего понимания кода и тестов в симуляторе:
логика перекочевавшая из 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 точка и убрал подскок при посадке тем что задаю посадочный тангаж не единовременно постепенно а в зависимости от вертикальной скорости по жпс
впоследствии думаю задействовать сонар и интенсивно гасить вертикальную скорость лишь на последних паре метров
устанавливается кабрирование LAND_PITCH ( по умолчанию 15 градусов) что сначала приводит к подскоку при высокой скорости
Ага, понял теперь, что за маневр перед снижением на рисунке из поста #13.
Я вот ещё, что подумал, а можно ввести в код автопилота команду на автоматическое отключение двигателя при условии снижения ну скажем менее 20м? На тот случай, если модель вдруг упадет в кусты, что бы движком не молотила. Точнее это условие должно, наверное, выполняться при удалении от точки старта более 200м и высота ниже 20м.
не, в посте 13 этот бугорок это набор высоты до высоты взлета, потом снижение до первой маршрутной точки, круг и плавный заход на посадку,
на рисунке изображена правильная посадка, без подскока
ясно, т.е. самолет взлетал справа налево, а я думал наоборот 😃
тут hobby.msdatabase.ru/…/ardupilotsim я выложил более подробные картинки исправленного захода на посадку 2.8 версии,
подскок по 2.7 к сожалению не сохранил
летные испытания 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 на такой же угол как и в ручном при одинаковом положении стика газа
Тестил сегодня REMZIB+ARDUPILOT+IMU по земле.Вобщем первые грабли которые немогу победить.
Проблема с выводом данных на ремзиб.Стоим на месте,включаем питание,спутники найдены судя по свечению голубого светодиода на иму.Жмякаем ресет на ремзиб сохраняя точку старта и начилось …😦 высота и дистанция живут своей жизнью,количество захваченых спутников не отображается.Скорость вроде как верно смотрел на спидометр.Dj время движения дистанция не меняется…
Связка ремзим и жпс модуль с обычной прошивкой работаю приемлемо вот только дистанция и высота постоянно плывут ± 20-50м вобщем фигня какаято…
Все разобрался с проблемной.Пришел к выводу ,что все глюки были из-за комнатных тестов ,также выяснилось ,что прошивки для всех модулей нужно лить из одно пака hobby.msdatabase.ru/project-updates/…/remzibiosd спасибо Алексею.
Сделал небольшой тест на точность отображения скорости,дистанции и высоты,вот что получилось
www.youtube.com/watch?v=Z-IyPi1ib0M
Чтобы символы не моргали их нужно помещать не в зонах горизонта
Перешел к этапу установки ардупилота на ская и наткнулся на очередную проблему.В хвосте стоят HXT900 аналог они ведут себя во всех режимах пилота отлично.В элеронах стоит цифра www.hobbyking.com/hobbycity/…/uh_viewItem.asp?idpr… мягкие отличные сервы но в режиме Manual они почемуто дергаются с очень приличной амплитудой.Подключал на элерон 900-ку такой ерунды нет.Ну очень уж нехочется обратно менять на аналог темболее что в будущем планируется установка таких же цифровых серв в хвост.Как решить эту проблему?
Ardupilot от Алексея hobby.msdatabase.ru/project-updates/…/remzibiosd remzibi_softpack_1_73 с поддержкой ремзиб