Автопилот SmartAP - Smart Autopilot

rual

Кирилл, какой алгоритм определения в пространстве используете? Учитываете ли показания акселя для расчета линейных перемещений?

aviaks
rual:

Кирилл, какой алгоритм определения в пространстве используете? Учитываете ли показания акселя для расчета линейных перемещений?

Для ориентации используется MARG. Слияние акселя и GPS сейчас как раз в процессе написания.
В ближайшее время поставлю видео с полётов.

rual
aviaks:

Для ориентации используется MARG.

Т.е. коррекция горизонта по ГНСС не выполняется?

aviaks:

Слияние акселя и GPS сейчас как раз в процессе написания.

В определении высоты сейчас аксель используется?

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

Углы рассогласования именно в углах вычисляете или через матрицу(кватернион) желаемого положения?

aviaks
rual:

Т.е. коррекция горизонта по ГНСС не выполняется?

В определении высоты сейчас аксель используется?

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

Углы рассогласования именно в углах вычисляете или через матрицу(кватернион) желаемого положения?

На данный момент пока нет. Есть в планах добавить эту коррекцию, но это чуть позже.
Да, аксель используется для определения высоты.
Если подносить ферромагнитные материалы, то увод происходит по всем трём осям. Ну это ожидаемо в принципе, так как коррекция дрифта гир тоже по всем трём осям завязана на магнитометре.
Стабилизация пока на углах, перевести на кватернионы - в ближайших планах.

20 days later
rual
aviaks:

Небольшой тест удержания позиции и высоты с обновлённой платой:

Я так понял что изменения коснулись только аппаратуры, алгоритмы не менялись? С какой целью были внесены изменения?

aviaks
rual:

Я так понял что изменения коснулись только аппаратуры, алгоритмы не менялись? С какой целью были внесены изменения?

Из аппаратной части - обновлённая плата, улучшена разводка, процессор F4, новый барометр, ну и так, по мелочам.
По софту - теперь своя IMU, а не DMP. Выдержана модульная структура для последующего переноса на новую версию платы. К тому же возможности к применению и тестированию Калмана + адаптивного управления.

Drinker
aviaks:

а не DMP

Так выше про марг говорилось?

aviaks:

процессор F4, новый барометр

Тоесть теперь Вы пиксхавк портируете?

aviaks
Drinker:

Так выше про марг говорилось?

Раньше был DMP, теперь MARG.

Drinker:

Тоесть теперь Вы пиксхавк портируете?

Нет, не вижу смысла копировать чужой код и выдавать за свой.

foxfly
rual:

В определении высоты сейчас аксель используется?

Стесняюсь спросить: а как это акселерометр (измеритель ускорения, что следует даже из его названия) может измерять высоту?
То есть, ультразвуковые высотомеры на БПЛА- видел, лазерные- видел…
А акселем- это как?
ЗЫ: видео полета- шикарное, все таки грамотный софт&Калман- основа успеха 😃

AlexSneg
foxfly:

А акселем- это как?

Можно, например, загладить барометр по оси z акселерометра. Главное - знать , как это сделать.

foxfly
AlexSneg:

загладить барометр по оси z акселерометра. Главное - знать

Главное- перевести с олбанского: что такое “загладить”?
Барометр для посадки- груб, сколько его не гладь.
На всех известных мне автопилотах с автопосадкой- стоят УЗ высотомеры, включающиеся на высоте 5-6 метров.

fidller

для октокоптеров предполагается что то?

aviaks
foxfly:

Стесняюсь спросить: а как это акселерометр (измеритель ускорения, что следует даже из его названия) может измерять высоту?
То есть, ультразвуковые высотомеры на БПЛА- видел, лазерные- видел…
А акселем- это как?
ЗЫ: видео полета- шикарное, все таки грамотный софт&Калман- основа успеха 😃

Ускорение можно проинтегрировать два раза, вот и перемещение (высота в данном случае). Другое дело, что ошибка накапливается очень быстро, тут как раза вся идея в том, как правильно ее компенсировать 😃
Ультразвук конечно можно использовать, но показания себя очень по-разному ведут в зависимости от поверхности…

fidller:

для октокоптеров предполагается что то?

Сейчас делаю новую плату, там будет поддержка 24 PWM каналов, так что октокоптер будет не проблемой 😃

foxfly
aviaks:

Ускорение можно проинтегрировать два раза,

То есть, в момент старта принять высоту за “0”, полетать 20 минут, вернуться и продолжать считать, что акселерометр показывает все тот же “0”?
А если вернулись в точку на 2 метра отстоящую от точки старта ( ЖПС и 5 метров в сторону- запросто даст), а там уровень грунта- на метр больше/меньше, тоже считаем точку посадки за “0”? 😂
Кирилл!
Ну, Вы же серьезный человек!
Высота в том АП на котором сделано видео- при посадке чем определяется?

aviaks:

но показания себя очень по-разному ведут в зависимости от поверхности…

Лазер тоже, кстати.
Но предполагается что мы вернулись в точку более/ менее из которой стартовали?
И поверхность там за 20 минут- не изменилась?

aviaks
foxfly:

То есть, в момент старта принять высоту за “0”, полетать 20 минут, вернуться и продолжать считать, что акселерометр показывает все тот же “0”?

Не, ну не на столько же банально конечно 😃
Акселерометр дает хорошие показания в ВЧ диапазоне перемещений, но измерения быстро уходят. Барометр и GPS дают хорошие показания в НЧ диапазоне, то есть не уходят со временем, но не дают отклик на резкие возмущения.
Дальше слияние 😃

При посадке важна не столько высота, сколько вертикальная скорость и точность ее определения.
На видео высота по барометру + акселерометру.

20 days later
14 days later
14 days later