ArduPilot 2.8 beta 1 Тестирование, обсуджение
это под маленький вариант ардупилота, тот который предшествовал “ардупилоту мега”
плата выглядит так:
официальная страница проекта code.google.com/p/ardupilot/wiki/ArduPilot
тут мои изыскания в целях сделать толковую инструкцию как все это можно использовать
хорошая новость, дидроновцы не забросили проект
Джорди анонсировал выход платы сенсоров v3 diydrones.com/…/arduimu-v3-is-finally-here
с крутым цифровым процессором движения и 3д компасом
пишет что осталось немного дописать код и вскоре устройство появится в продаже, доступен предзаказ
Слепил 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см/сек)
единственное но, это только симулятор…
изза погоды все никак не решусь летнуть по-настоящему
Алексей, а в прошивке ардупилота 2.8 Remzibi OSD будет поддерживаться?
в принципе единственная проблема - лишь бы памяти хватило, но после удаления термофилов пара килобайт освободилась
Здорово, хотелось бы использовать арудупилот в комплексе с OSD. Пока, если позволит погода, в выходные планирую облет ArduPilot_2_7.1_no_tremor + Remzibi
замечательно, буду благодарен если опубликуете результаты,
а я постараюсь ремзиби интергрировать к этому времени
Из учебника мы о посадке самолёта знаем следующее:
Посадка является завершающим этапом полёта и представляет собой замедленное движение самолета с высоты 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 с поддержкой ремзиб