Автопилот SmartAP - Smart Autopilot
Небольшой трейлер о проекте
Кирилл, какой алгоритм определения в пространстве используете? Учитываете ли показания акселя для расчета линейных перемещений?
Кирилл, какой алгоритм определения в пространстве используете? Учитываете ли показания акселя для расчета линейных перемещений?
Для ориентации используется MARG. Слияние акселя и GPS сейчас как раз в процессе написания.
В ближайшее время поставлю видео с полётов.
Для ориентации используется MARG.
Т.е. коррекция горизонта по ГНСС не выполняется?
Слияние акселя и GPS сейчас как раз в процессе написания.
В определении высоты сейчас аксель используется?
Кирилл, можете показать как ведет себя искусственный горизонт когда подносишь к компасу магнит? Увод происходит только по курсу или по крену и тангажу тоже?
Углы рассогласования именно в углах вычисляете или через матрицу(кватернион) желаемого положения?
Т.е. коррекция горизонта по ГНСС не выполняется?
В определении высоты сейчас аксель используется?
Кирилл, можете показать как ведет себя искусственный горизонт когда подносишь к компасу магнит? Увод происходит только по курсу или по крену и тангажу тоже?
Углы рассогласования именно в углах вычисляете или через матрицу(кватернион) желаемого положения?
На данный момент пока нет. Есть в планах добавить эту коррекцию, но это чуть позже.
Да, аксель используется для определения высоты.
Если подносить ферромагнитные материалы, то увод происходит по всем трём осям. Ну это ожидаемо в принципе, так как коррекция дрифта гир тоже по всем трём осям завязана на магнитометре.
Стабилизация пока на углах, перевести на кватернионы - в ближайших планах.
Небольшой тест удержания позиции и высоты с обновлённой платой:
Небольшой тест удержания позиции и высоты с обновлённой платой:
Я так понял что изменения коснулись только аппаратуры, алгоритмы не менялись? С какой целью были внесены изменения?
Я так понял что изменения коснулись только аппаратуры, алгоритмы не менялись? С какой целью были внесены изменения?
Из аппаратной части - обновлённая плата, улучшена разводка, процессор F4, новый барометр, ну и так, по мелочам.
По софту - теперь своя IMU, а не DMP. Выдержана модульная структура для последующего переноса на новую версию платы. К тому же возможности к применению и тестированию Калмана + адаптивного управления.
а не DMP
Так выше про марг говорилось?
процессор F4, новый барометр
Тоесть теперь Вы пиксхавк портируете?
Так выше про марг говорилось?
Раньше был DMP, теперь MARG.
Тоесть теперь Вы пиксхавк портируете?
Нет, не вижу смысла копировать чужой код и выдавать за свой.
В определении высоты сейчас аксель используется?
Стесняюсь спросить: а как это акселерометр (измеритель ускорения, что следует даже из его названия) может измерять высоту?
То есть, ультразвуковые высотомеры на БПЛА- видел, лазерные- видел…
А акселем- это как?
ЗЫ: видео полета- шикарное, все таки грамотный софт&Калман- основа успеха 😃
А акселем- это как?
Можно, например, загладить барометр по оси z акселерометра. Главное - знать , как это сделать.
загладить барометр по оси z акселерометра. Главное - знать
Главное- перевести с олбанского: что такое “загладить”?
Барометр для посадки- груб, сколько его не гладь.
На всех известных мне автопилотах с автопосадкой- стоят УЗ высотомеры, включающиеся на высоте 5-6 метров.
для октокоптеров предполагается что то?
Стесняюсь спросить: а как это акселерометр (измеритель ускорения, что следует даже из его названия) может измерять высоту?
То есть, ультразвуковые высотомеры на БПЛА- видел, лазерные- видел…
А акселем- это как?
ЗЫ: видео полета- шикарное, все таки грамотный софт&Калман- основа успеха 😃
Ускорение можно проинтегрировать два раза, вот и перемещение (высота в данном случае). Другое дело, что ошибка накапливается очень быстро, тут как раза вся идея в том, как правильно ее компенсировать 😃
Ультразвук конечно можно использовать, но показания себя очень по-разному ведут в зависимости от поверхности…
для октокоптеров предполагается что то?
Сейчас делаю новую плату, там будет поддержка 24 PWM каналов, так что октокоптер будет не проблемой 😃
Ускорение можно проинтегрировать два раза,
То есть, в момент старта принять высоту за “0”, полетать 20 минут, вернуться и продолжать считать, что акселерометр показывает все тот же “0”?
А если вернулись в точку на 2 метра отстоящую от точки старта ( ЖПС и 5 метров в сторону- запросто даст), а там уровень грунта- на метр больше/меньше, тоже считаем точку посадки за “0”? 😂
Кирилл!
Ну, Вы же серьезный человек!
Высота в том АП на котором сделано видео- при посадке чем определяется?
но показания себя очень по-разному ведут в зависимости от поверхности…
Лазер тоже, кстати.
Но предполагается что мы вернулись в точку более/ менее из которой стартовали?
И поверхность там за 20 минут- не изменилась?
То есть, в момент старта принять высоту за “0”, полетать 20 минут, вернуться и продолжать считать, что акселерометр показывает все тот же “0”?
Не, ну не на столько же банально конечно 😃
Акселерометр дает хорошие показания в ВЧ диапазоне перемещений, но измерения быстро уходят. Барометр и GPS дают хорошие показания в НЧ диапазоне, то есть не уходят со временем, но не дают отклик на резкие возмущения.
Дальше слияние 😃
При посадке важна не столько высота, сколько вертикальная скорость и точность ее определения.
На видео высота по барометру + акселерометру.
Вот еще небольшое видео теста по удержанию позиции и высоты + график, как это всё отрабатывается.
очень даже не плохо:)
Удержание позиции + полёт по точкам. Точность входа в точку (радиус окружности) 1 метр.
Вот в принципе всё, довёл до состояния полностью готового решения