Создание собственной системы стабилизации

oleg70
rual:

Интересных проектов!

Что там у Вас с проектами ?
От себя поздравляю всех с праздником, мира всем, здоровья, и исполнения желаний в Новом году…

Samer

Всех с наступившим. Подскажите как сделать удержание по жпс.
Делать пид по растоянию ? Алгоритм куда рулить написал , вопрос в выработке уровня и продолжительности сигнала на наклон в нужную сторону. К примеру ушли на 1 метр , надо дать короткий импульс а если 10 метров. Когда будет подлетать к точке как затормозить чтоб не перелетел ?

alexeykozin

вопрос философский, вобщем то вся тема об этом. все модели жпс работают с некоторой задержкой поэтому данных жпс для удержания не достаточно
нужна инерциалка прогнозирующаяя и компенсирующая этот лаг.
что касается вопросов пилотирования аппарата то наклоны определяют ускорение
тоесть не перемещение и даже не скорость

SergDoc

грубо: считываем ускорение с акселя, высчитываем скорость и путь, корректируем их более медленным GPS - рисуем пид…
можно пофилософствовать на эту тему - берём это всё упаковываем в фильтр новомодный, только со всеми приблудами типа вектора управления с обратной связью и пытаемся отказаться от ПИД-а, потом плюём на это дело и делаем комплиментарник+ПИД)))

ИльяПРо

Привет, с наступившим! Я тут свободный денек поймал и переписал один момент в UKF, у меня GPS стоит не в центре, а немного вынесено на 20 см примерно. Вот эти самые казалось бы 20 см по сравнению с погрешностью GPS 1-5 м не должны повлиять, но они очень сильно влияют, особенно при поворотах по курсу. Так вот до этого у меня все показания с GPS корректировались проекцией на центр коптера, а потом использовались в UKF, было не очень. Сейчас что то я внезапоно подумал, и решил, что это неправильно. Надо с показаниями датчиков ничего не делать, а исправлять модель датчика то есть само уравнение h(x). то есть теперь вынос GPS учитывается в модели датчика, а сами показания поступают в UKF непостредственно. И это был решающий момент, сразу убил несколько зайцев. Во-первых теперь не надо парится о том, что GPS не находится в центре вращения вместе с акселерометром и ДУСом. GPS можно хоть на отдельную штангу вынести, надо только посчитать расстояния по всем осям и занести в модель. То есть все повороты и маневры отрабатываются с учетом новой правильной модели. Во-вторых очень важное и крутое свойство - это то что для коррекции ориентации теперь не нужно движение, как раньше, коррекция ориентации происходит через показания GPS всегда, даже когда коптер стоит на земле или завис. И это свойство я нигде не видел, а оно оказалось очень полезным. Все стараются поставить GPS в центр, а оказывается вынести его подальше становится очень полезным. Я полагаю, что я первый кто догадался использовать вынос GPS для улучшения качества стабилизации. Раньше ориентация коптера зависела от GPS только когда есть движение и коррекция происходила когда коптер двигался. Сейчас коррекция происходит всегда и даже когда движения нет. Компас теперь почти не нужен.
Раньше при резких поворотах по курсу было слышно пятигерцовые стуки от тмоторов при коррекции по GPS и было небольшое уплывание по горизонтали. Также при зависании в одной точке спусти несколько минут коптер начинал гулять, так как ориентация не корректировалась без движения. Теперь коптер четко крутится вокруг своей оси и висит в точке, просто фантастика. Короче я рад.
Но есть скользкий момент - по идее я добавил еще одну зависимость между перемнными, тем самым снизив устойчивость, если раньше некоторые переменные могли позволить себе быть некорректными и при этом коптер вел себя нормально, то сейчас косяк с одной переменной убьет всю систему. Вопрос только на сколько сильно я снизил устойчивость и как часто эти косяки будут происходить и как UKF будет их обрабатывать.

SergDoc
ИльяПРо:

Я полагаю, что я первый кто догадался использовать вынос GPS для улучшения качества стабилизации.

Огорчу - джедаи…

ИльяПРо

А есть док-ва? просто если это казалось очевидным, и DJI давно юзают, то почему никто это больше не использует?

SergDoc
ИльяПРо:

то сейчас косяк с одной переменной убьет всю систему

или я не о том думаю или тогда не понимаю - “кривые” данные должны автоматом выводиться из уравнения…

ИльяПРо:

А есть док-ва?

ну диджейских приблуд у меня нет, но на сколько помнится есть у них настройка установки gps относительно полётника…
а никто не использует по простой причине - у каждых “контор”, так скажем, своя религия и новшества предлагаемые не очень они хотят внедрять, внедряют толко то что на слуху типа ваншотов-дэшотов всяких там полётов по кругу или следование… короче, что юзверь хочет и готов перепрыгнуть к другому производителю…

ИльяПРо
SergDoc:

или я не о том думаю или тогда не понимаю - “кривые” данные должны автоматом выводиться из уравнения…

В идеале да, но предварительные фильтры нужно строить самому разработчику и постараться обыграть все ситуации с датчиками и их комбмнациями.

SergDoc:

ну диджейских приблуд у меня нет, но на сколько помнится есть у них настройка установки gps относительно полётника…

Вот это уже интересно, еще интересно бы проверить используют ли они компас во время полета.

SergDoc
ИльяПРо:

используют ли они компас во время полета

используют - это можно сказать самая больная тема у них - компас…

ИльяПРо
SergDoc:

используют - это можно сказать самая больная тема у них - компас…

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

SergDoc
ИльяПРо:

Хм, тогда я не понимаю зачем он нужен в полете.

им виднее - я тоже не знаю их алгоритмов))) но инспаеры ой как тупили - был период… даже откат прошивки делали…

а когда жпс будет тупить надо как раз добавить доверия инс и компасу? думаю несколько секунд инс выдержит и без жпс…
А ещё, хорошие идеи я бы рекомендовал держать при себе и не выкладывать их на всеобщее обозрение…

ИльяПРо
SergDoc:

А ещё, хорошие идеи я бы рекомендовал держать при себе и не выкладывать их на всеобщее обозрение…

а что мне стоит, я на этом деньги не зарабатываю, идей еще хватает.

rual
ИльяПРо:

И это был решающий момент, сразу убил несколько зайцев.

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

ИльяПРо:

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

Илья, хотел попросить объяснение как это работает, но вроде сам догадался 😃

ИльяПРо:

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

Если зависимость жесткая, а она такая, то на устойчивость это не повлияет.

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

ИльяПРо
rual:

Если добавить ещё один датчик ГНСС и так же прописать его в матмодель, то при достаточном разносе можно вообще от компаса отказаться

В принципе можно и щас отказаться, просто при старте все время направлять нос на север.

rual:

Если зависимость жесткая, а она такая, то на устойчивость это не повлияет.

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

По идее часть этой маски есть, но не все случаи рассмотрены. Например если в начале компас не правильно скалиброван, то он повлияет на всю систему, и в том числе на всю ориентацию (и крен и тангаж), тогда как раньше без учета выноса GPS, такого не происходило, был неверен только курс. То есть снижение устойчивости на первый взгляд происходит. А что будет если коптер подлетел к дому или просто сигнал стал врать, хорошо если при этом hAcc и vAcc подскачут, тогда UKF поймет, что не стоит доверять GPS. Но бывает ловля глитча и все в хлам, в идеале все случаи надо исследовать и по идее лишние взаимосвязи снижают устойчивость.

rual
ИльяПРо:

Но бывает ловля глитча и все в хлам, в идеале все случаи надо исследовать и по идее лишние взаимосвязи снижают устойчивость.

Есть возможность всё попробовать безопасно: Xplane + Симулинк, могу выложить примитивы. Или даже “проигрывать” алго в железе, а Хплан будет гнать данные.

jShadow
ИльяПРо:

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

Хм… У меня обычный альфа-бета-гамма комплиментарник работает не хуже, ничего не уплывает и не гуляет. Хотя у меня GPS не слишком далеко от ЦТ находится…

А вообще GPS для коррекции ориентации - штука интересная - насколько я понял логику - при наклонах смещается позиция, отдаваемая GPS и это смещение идет в расчеты.

ИльяПРо
rual:

Есть возможность всё попробовать безопасно: Xplane + Симулинк, могу выложить примитивы. Или даже “проигрывать” алго в железе, а Хплан будет гнать данные.

Хорошая мысль, давайте скооперируемся, у меня скоро опять работа начнется, коптером некогда заниматься будет. Я могу вам предоставить исходники, или как то иначе отработать в симуляторе.

jShadow:

Хм… У меня обычный альфа-бета-гамма комплиментарник работает не хуже, ничего не уплывает и не гуляет. Хотя у меня GPS не слишком далеко от ЦТ находится…

У меня ничего не вышло с комплиментарником. Те видео, что я показывал летом, там коптер на комплиментарнике, можете сравнить с текущими на UKF. 2 года назад у меня был Arducopter, он тоже на комплиментарнике тогда был, летал медленно, неуверенно. Ничего по качеству лучше UKF я не видел. Не говорю что UKF - это панацея. У него надежность все таки помоему не очень, из-за зависимости всех переменных между собой, но если данные хорошие, то UKF очень круто себя показывает.
Вот есть видео, где показано как GPS корректирует ориентацию в фильтре Калмана. Я не знаю, как сделать это на комплиментраниках, то есть что за формулы зависимости кватерниона от GPS скорости. По курсу еще более менее представляю, но чтобы по всем 3 осям - нет. Момент на видео “orientation from velocity. Magic!”

Хочу Phantom купить и потестить его, хотя бы косвенно, но можно будет узнать что там за алгоритмы.

jShadow
ИльяПРо:

Я не знаю, как сделать это на комплиментраниках

Я тоже 😦 А так хочется летать без всякого компаса.

ИльяПРо:

Хочу Phantom купить и потестить его, хотя бы косвенно, но можно будет узнать что там за алгоритмы.

Это, кстати, идея интересная.

ИльяПРо

Привет всем, выношу на суд видео, как есть, пытался коптер посильнее погонять. Местами задевал стик газа и он то проваливался то наооборот поднимался по высоте, при том он попискивает. Управлял в режиме удержания позиции. Вообщем принимаю критику, у меня нет других аппаратов, поэтому не могу объективно оценить качество, вообщем интересно ваше мнение, сравнение с другими контроллерами.

rual
ИльяПРо:

Вообщем принимаю критику

Илья, хотелось бы посмотреть длительное висение и если возможно с внесенными в компас смещениями.

ИльяПРо:

Хорошая мысль, давайте скооперируемся

Установи Хпплейн 10 и скачай МатЛаб2011 или младше.