Система стабилизации гиро+акселерометр

baychi
Фантомас:

Правильно ли я понял, что задача акселерометра - определить момент, когда ускорение стало отличаться от некоего заданного значения (скажем, G),

Не совсем. Главная цель - знание реального вектора силы тяжести G в любой момент. Так как именно он определяет ориентацию модели относительно земли.

Фантомас:

Если вращение отсутствует,

Если отсутствует вращение и линейное ускорение, 3 ортогональных акселерометра дают вектор G непосредственно.

Фантомас:

По реализации алгоритма, конечно, гемороя наберётся…

Опять спрошу: у Вас есть соответсвующее математическое образование и опыт программирования?

Syberian

Возвращаясь к дрейфу гироскопов, термостатирование, экранировка и прецизионное питание могут решить проблему дрейфа?

Фантомас

Два года разрабатываю всякую мелочь на базе AVR. По математике… Скажем так: есть человек, великолепно знающий математику, который с радостью втянется в такой проект. Но надеюсь сам осилить.

Такой ответ Вас устроит?

baychi
Syberian:

Возвращаясь к дрейфу гироскопов, термостатирование, экранировка и прецизионное питание могут решить проблему дрейфа?

Абсолютно - нет. Так как есть еще квантование АЦП и временной дрейф.
Построить систему ориентации только на гироскопах практически невозможно (инерциалки балистических ракет не в счет - эти модули миллионы долларов стоят).

Фантомас:

разрабатываю всякую мелочь на базе AVR

AVR-ки может не хватить. Лучше бы ARM или DSP архитектуры.

Фантомас:

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

В команде с математиком - справитесь, если не остынете. 😃
Удачи!

Syberian

Просто начинаю догадываться, как китайцы фишку замутили… Тупо интегрируют показания гир, а по акселям ловят момент: как только результирующий вектор равен 1G, начинают медленно сводить вектор интеграторов к вектору акселей простым сложением/вычитанием.

[add]
у них на сайте видео было, где чувак вертит в руке прибор, а на мониторе 3Д-кубик вращается синхронно. Заметил минимум 2 момента, когда куб был градусов на 40 повернут в другую сторону, но тут же кадр видео сменялся 😃

baychi
Syberian:

начинаю догадываться, как китайцы фишку замутили… Тупо интегрируют показания гир, а по акселям ловят момент: как только результирующий вектор равен 1G, начинают медленно сводить вектор интеграторов к вектору акселей простым сложением/вычитанием.

Совершенно верно.
Тонкости только 2, как правильно поймать |G|=1, и что делать если |G| != 1 долгое время? Здесь то фишку и начинает колбасить. 😃

Syberian
baychi:

что делать если |G| != 1 долгое время?

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

длина G=1 калибровалась, судя по всему, в глухих китайских бараках 1 раз применительно к конкретному типу акселя.

baychi
Syberian:

длина G=1 калибровалась, судя по всему, в глухих китайских бараках

Если вообще калибровалась. 😃 (Да нет, шучу, калибровалась).
Но ИМХО, основные проблеммы у них с гирами, а не с акселями…

leprud
Фантомас:

есть человек, великолепно знающий математику

Не поможет. Математически точно не описывается, потому что неизвестны 90% параметров.
Основная проблема во всех стабилизаторах - подбор коэффициентов (хотя бы те же банальные ПИД регуляторы).
Когда есть коммерчески готовая модель аппарата, то там проще, можно и опыты ставить и просчитывать пробовать, а вот когда модель неизвестна…
Простой пример: стабилизатор на модели типа ЛК с абсолютно плоским профилем(для простоты расчетов). Вылизали, подобрали коэффициенты, все работает. А теперь изменили угол установки ушей. Или увеличили киль. Что с коэффициентами делать? Я даже не спрашиваю, на какую абсолютную величину менять! Хотя бы покажите, в какую сторону их менять?

RedSun

Есть такая наука - теория систем автоматического управления. Как раз про то, как делать всякие стабилизаторы и автопилоты. Ей учат в институте. Несколько лет. Это к вопросу о “быстренько на пальцах”.
Если Вы грамотный инженер, возьмите книжек по теме, почитайте, разберитесь. Поищите информацию о готовых реализациях алгоритмов управления - они в интернете есть. Разберитесь, как оно работает, а потом делайте свое.
Ключевые слова - САУ, цифровые системы управления, гиростабилизатор…

blade
seagsm:

Я на базе этого алгоритма делал стабилизацию. Вполне адекватно работает.

А Вы коррекцию горизонта как то обеспечивали?

seagsm
blade:

А Вы коррекцию горизонта как то обеспечивали?

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

msv

Покажут конечно, главная сложность понять в какой момент… Можно в простейшем случае для этого просто усреднять значения аксселя. Но время усреднения должно быть гарантировано больше любого мыслимого маневра с многократным запасом, и в то же время должно быть меньше времени ухода 0-ля гироскопа. С другой стороны это время можно уменьшать используя данные гиро о отсутствии угловой скорости. Те. значения нуля (интеграл гир) корректируется с некоторой постоянной времени усредненным ( с адаптивным временем усреднения по значению гиро) значением акселя. И обеспечить устойчивость и быструю сходимость всей этой байды…

blade
seagsm:

Ну и так далее.

Фишка- именно в этом “так далее” 😃
Аппарат то не в воздухе падает, а в поле тяготения земли летит. А Земля-ещё и вращается.
И сила Кориолиса- зависит от широты места и курса аппарата относительно сторон света.
Поэтому, ввести какую то константу для коррекции- нельзя, ибо она будет другая в каждую следующую минуту 😦.
Для этого и используют ЗД магнитный компас, поскольку ему Кориолис-по барабану.
А для полного счастья- вводят ещё и коррекцию от ЖПС, который может показать, что началось скольжение (изменение курса и высоты), которого быть не должно, поскольку никаких команд от пилота-автопилота не поступало.
Тут то и корректируют “0” горизонта.
Именно поэтому ФИ 20 и работает горбато, стоит измениться на 10 градусов температуре.
А как они на Кориолиса реагируют- вообще непонятно, без компаса и ЖПС а то?

baychi
blade:

А как они на Кориолиса реагируют- вообще непонятно

Да никак они не реагируют. Чай модель не маятник Фуко и не ракета баллистическая, чтоб десятки минут по кругу летать. 😃

seagsm
blade:

А как они на Кориолиса реагируют- вообще непонятно, без компаса и ЖПС а то?

Не усложняйте… Кориолис, ЖПС… это уже величины второго порядка. Я делал, летает, не идеально, пошатывает, подрагивает, но это может быть связано с медленной отработкой контроллеров двигателей. Трикоптер держит. Летало, маневрировало… Попробуйте, у вас тоже получится.

crand
baychi:

Д и не ракета баллистическая, чтоб десятки минут по кругу летать. 😃

А что за ракеты, по кругу летающие? Да еще и баллистические. Обидно, да.

funtik26

пока тут идут разговоры- автору темы если надо было бы -он бы по быстрому(как и хотел) мог бы изучить тему трикоптер со всеми ссылками, и начать свой проект, так что видно здесь явный пример оле…дства

msv

Да нам и самим друг перед другом поумничать хочется… 😃 Тем более в теме появились разработчики… Про коррекцию по GPS имхо вполне реально. В моем АП в режиме удержания курса/высоты при условии отсутствии команд на их изменение в течение n-секунд и стабилизации полета по показания GPS автоматичеки коректируются нули элеронов/РВ (авто-триммирование) и нули пироголовы по накопленной интегральной составляющей ПИД регуляторов. Конечно при этом не учитываются боковой ветер и восходящие потоки, но в реале все работает вполне прилично. В приципе этот прием можно было бы использовать и для коррекции гироскопа (даже акссели не обязательны), но… Прийдется требовать от пилота периодического бросания ручек и дать возможность самолету выровнятся… Фигня, короче получается…