Создание собственной системы стабилизации
12х4,5 - пропы
F4006 KV750 ( www.ebay.com/itm/…/201613540237 )
регули - xrotor 40A hobbywing
Всем привет.
Записал интересное видео. Хотел проверить качество ориентации, полученной с UKF. А именно как она уплывает на виражах и ускорениях.
Суть такая - ориентация, записанная в логах синхронизируется с видео с камеры. Получаем своеобразную софтовую стабилизацию.
Горизонт не идеально ровный, ибо помимо качества самой ориентации UKF повлияла рассинхронизация видео и логов, искажение линзы, переменный центр вращения, вибрации. Поэтому на резких поворотах горизонт не ровный. Также как выяснилось частота записи логов плавает, из-за чего на видео такие скачки и дергания.
Но суть вроде понятна, что с помощью UKF можно получить абсолютную, привязанную к глобальным осям ориентацию, для использования коррекции подвесов.
Суть такая - ориентация, записанная в логах синхронизируется с видео с камеры. Получаем своеобразную софтовую стабилизацию.
Чем монтировалось видео? Очень интересный метод.
Монтировал в visual studio с помощью библиотеки opencv
Но суть вроде понятна, что с помощью UKF можно получить абсолютную, привязанную к глобальным осям ориентацию, для использования коррекции подвесов.
Да, отличный результат!
Провел тест на отключенном GPS, то есть как работает удержание высоты по барометру
Лог высоты
Еще тест оказания ускорений на ориентацию.
И еще очередной тест новой фичи со стабилизацией.
Есть код, могу скинуть, кому надо.
Да, очень интересно посмотреть алгоритм.
Можно скинуть на мой ник @yandex.ru
Есть код, могу скинуть, кому надо.
Очень интересно! Можно в личку.
www.dropbox.com/s/…/opencv_test3.zip?dl=0 проект
к нему еще нужно установить опенсв 3.2,
дополнительно нужны последовательности кадров с бортовой камеры в формате 640 на 360 opencv_test3\opencv_test2\seq2
файл .csv где прописаны имена кадров и время opencv_test3\opencv_test2\frames2.csv
и файл с углами и временем opencv_test3\opencv_test2\angles2.csv
Еще тест оказания ускорений на ориентацию.
Как реализована компенсация линейных ускорений ? (в общих словах, сама идея, так сказать) или просто коэффициент влияния акселя сильно мал ?
norm = __sqrtf(accX*accX + accY*accY + accZ*accZ);
noise = UKF_ACC_N + fabsf(9.81 - norm) * UKF_DIST_N;
Увеличиваю дисперсию шума в модели датчика, и UKF меньше доверяет акселю.
Ориентация ведь из GPS корректируется в том числе, но на самом деле по видео сложно сказать о качестве ориентации. Искажения линзы и подобранные коэффициенты перемщения картинки от угла все портят.
Как реализована компенсация линейных ускорений ? (в общих словах, сама идея, так сказать) или просто коэффициент влияния акселя сильно мал ?
Олег, вообще не правильная формулировка для полной ИНС. Полная ИНС должна учитывать линейные ускорения и экстраполировать свое положение, после чего сравнивать с корректирующей ГНСС и по результатам сравнения вносить коррекцию в ориентацию и местоположение. То есть лин. ускорения это вполне полезное явление.
вносить коррекцию в ориентацию
Под “ориентацией” что подразумевается (?), (я конкретно - крен и тангаж имел ввиду), вот, судя по видео от Ильи, смотрю что при затяжных виражах по кругу, после отпускания стиков, его аппарат сразу “находит” правильный горизонт, хотя по идее должен лететь вбок, так как вектор гравитации акселя уплывает при центробежном ускорении. у меня к сожалению пока так… Еще не испытывал, но сделал, полное отключение акселя, при превышении некоторого порога лин.ускорений (а у Ильи динамичекое регулирование по факту). Видимо надо тоже так сделать, иначе от вибраций кульбит может произойти)))
тут, как бы, ГНСС не помощник(?) или я че туплю…
я конкретно - крен и тангаж имел ввиду
Я тоже это имел ввиду
при превышении некоторого порога лин.ускорений (а у Ильи динамичекое регулирование по факту).
да
тут, как бы, ГНСС не помощник(?)
Как не помощник ? По нему видны итоги перемещения которые можно сравнить с интгралом акселя и выполнить корректировку.
По нему видны итоги перемещения которые можно сравнить с интгралом акселя
А ведь да, - факт…, надо пробовать, спасибо (!). Хотя, помню, давно еще пробовал интегрировать линейные ускорения, это ж сразу интеграл “в небо” улетает, их как то надо корректировать тем же ЖПС чтоль (?)
(сразу скажу что Калмана так и не осилил, - слабО…))
Хотя, помню, давно еще пробовал интегрировать линейные ускорения, это ж сразу интеграл “в небо” улетает, их как то надо корректировать тем же ЖПС чтоль (?)
В каждой итерации надо корректировать, кроме того, сам понимаешь, что важно верное направление на север, оно тоже должно корректироваться по акселю.
Видели что нить подобное? По-моему крутое применение алгоритмов и всей математики помимо коптеров
По-моему крутое применение алгоритмов и всей математики помимо коптеров
Первое не понятно зачем, а второе вроде как даже в настройках арду коптера было.
На ракету был план сделать автовозврат, чтоб прилетала в место старта, но что-то все некогда.
Видели что нить подобное? По-моему крутое применение алгоритмов и всей математики помимо коптеров
На втором ролике классный хренолет! Аж захотелось себе собрать такой! 😃
Распросил немного хозяина видео. Там впринципе ничего хитрого нет, т.е. все теже алгоритмы, единственное конечные миксы другие чутка…
Создание собственной системы стабилизации - это имхо в первую очередь программный код. Для тех, кто хочет попробовать свой программный код (и не хочет проектировать-изготавливать печатные платы, подбирать и паять компоненты), может быть интересная такая платка. Подключив внешние датчики (IMU) - можно сконфигурировать и залить для начала Pixhawk, ну а дальше что-нибудь своё.
stm32f407vet6
Создание собственной системы стабилизации - это имхо в первую очередь программный код.
Совершенно верно.
Для тех, кто хочет попробовать свой программный код (и не хочет проектировать-изготавливать печатные платы, подбирать и паять компоненты), может быть интересная такая платка. Подключив внешние датчики (IMU) - можно сконфигурировать и залить для начала Pixhawk, ну а дальше что-нибудь своё.
Плата неплохая, но сейчас не актуальна, ибо за 20-30уё доступны очень неплохие и самодостаточные с теми же вычислительными мощностями.
А в те далекие времена 😒, когда начиналась эта ветка, вопрос о доступности достойной платформы (вычислитель+датчики) был архиважен.