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

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
Drinker

А чего опять на английском? Форум вроде русскоязычный. Аффтар тоже подписан вроде как из России. Или это не аффтар?

aviaks
Drinker:

А чего опять на английском? Форум вроде русскоязычный. Аффтар тоже подписан вроде как из России. Или это не аффтар?

Так как на данный момент Россия не является главной целевой аудиторией, то целесообразнее делать на английском.

1 month later
SteinDen

Вопрос по магнитометру - я так понимаю он у вас на основной плате установлен, как решается вопрос с наводками от переменных эл. магнитных полей от проводов, силовой электроники ? Например у меня на всех мультикоптерах с разными полетными контроллерами приходилось выносить чип магнитометра повыше - иначе при увеличении уровня газа смещался магнитный угол, причем очень прилично. Можно конечно всю силовую электронику убрать в стороны\вниз, но это крайне неудобно.

И процесс калибровки магнитометра перед полетом, как-то отображается процесс по типу “удачная калибровка или нет” - как например у Вуконга?

aviaks
SteinDen:

Вопрос по магнитометру - я так понимаю он у вас на основной плате установлен, как решается вопрос с наводками от переменных эл. магнитных полей от проводов, силовой электроники ? Например у меня на всех мультикоптерах с разными полетными контроллерами приходилось выносить чип магнитометра повыше - иначе при увеличении уровня газа смещался магнитный угол, причем очень прилично. Можно конечно всю силовую электронику убрать в стороны\вниз, но это крайне неудобно.

И процесс калибровки магнитометра перед полетом, как-то отображается процесс по типу “удачная калибровка или нет” - как например у Вуконга?

Магнитометр можно использовать как на основной плате, так и внешний. Проблема увода решается путём динамической калибровки.
Перед каждым полётам калибровать не нужно, достаточно откалибровать один раз, и если температура не меняется больше чем на 10-15 градусов, то больше можно не калибровать. В процессе калибровки автопилот пищит и указывает насколько хорошо уже сделана калибровка.

1 month later
aviaks

За последнее время сделал новую версию платы, ну и работы над софтом продолжаются. Вот, что есть на сегодня:

rual
aviaks:

За последнее время сделал новую версию платы, ну и работы над софтом продолжаются. Вот, что есть на сегодня:

Хорошая работа! Несколько в0просов:

  1. На предыдущим видео, где совмещен полет и график акселя, значения акселя приводиться без фильтрации или ? Если без, как добились такой низкой вибрации?
aviaks:

Проблема увода решается путём динамической калибровки.

Вкратце методу(принцып) можете обрисовать? По-русски без приведения ссылок на “много пендабукофф”?
В частности интересует изменяется ли при динамической калибровке масштаб осей или только смещение? Как сохраняется симметричность если полет выполняется без разворотов и серьёзных эволюций (>90 гр) относительно магнитного вектора?

aviaks
rual:

Хорошая работа! Несколько в0просов:

  1. На предыдущим видео, где совмещен полет и график акселя, значения акселя приводиться без фильтрации или ? Если без, как добились такой низкой вибрации?
  2. Вкратце методу(принцып) можете обрисовать? По-русски без приведения ссылок на “много пендабукофф”?
    В частности интересует изменяется ли при динамической калибровке масштаб осей или только смещение? Как сохраняется симметричность если полет выполняется без разворотов и серьёзных эволюций (>90 гр) относительно магнитного вектора?
  1. А там нет графика, который акселерометр показывает, там есть данные - чисто с барометра, высота после фильтра Калмана, вертикальная скорость после фильтра Калмана.
  2. Перед взлётом при раскрутке моторов учитывается как изменилась ориентация аппарата (обычно не меняется, так как до ~30% газа всё стоит на месте) и как изменились показания магнитометра, дальше коррекция. Учитывается смещение, масштаб не играет большой роли.