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

Фантомас

Слышал, что кто-то использует системы стабилизации летадла на гироскопах с акселерометрами. Купить то в принципе может каждый, но хочется сделать самому, ибо в электронике шарю (в т.ч. МК). Объясните в целом алгоритм работы таких систем стабилизации. Назначение гироскопа в принципе понятно - при наличии угловых скоростей попытаться скомпенстровать их рулями, а вот какова там роль акселерометра? Как они дополняют друг друга? Есть ли акселерометры, которые кроме скалярной величины ускорения выдают ещё и направление вектора? Что по стоимости?

blade
ГРИНЯ:

Я думаю в этой теме

Гриня!
Судя по постановке вопроса аффтором: он из той категории, которые хотят, чтобы им “быстренько объяснили теорию вероятности” 😃
2 Фантомас: Smalltim и Botvoed, профессиональнейшие люди- не первый год трахаются с этой проблемой
И “шарят” они- не меньше вашего, уж точно…

Voldemaar
blade:

Судя по постановке вопроса аффтором:

А чем Вам не нравится постановка вопроса? 😃 На мой взгляд вполне нормальная постановка - тема новая, доступной информации в гугле мало. Сам бы с удовольствием почитал комментарии знающих людей (не Ваши) на эту тему… 😛

blade:

2 Фантомас: Smalltim и Botvoed, профессиональнейшие люди- не первый год трахаются с этой проблемой

Уж как хорошо, что Вас не было на форуме в 2007 году 😁 , а то один из “профессиональнейших людей”, застыженный Вами, так бы ничего и не сделал:

smalltim:

где почитать по практике применения ПВД и дифференциальных барометрических датчиков для измерения скорости? Что и как делать?

“он из той категории, которые хотят, чтобы им “быстренько объяснили теорию вероятности”” ©blade 😉

serj

Дмитрий, самым лучшим приложением ваших сил будет, если вы напишете свою версию к имеющемуся дешевому китайскому железу (fy20).

Фантомас

Судя по постановке вопроса аффтором: он из той категории, которые хотят, чтобы им “быстренько объяснили теорию вероятности” 😃

Вы ошибаетесь. На проект думаю отвести до полугода, предпочту долгую плодотворную дискуссию разработкам “на салфетке”

2 Фантомас: Smalltim и Botvoed, профессиональнейшие люди- не первый год трахаются с этой проблемой
И “шарят” они- не меньше вашего, уж точно…

Кто ж спорит.

Дмитрий, самым лучшим приложением ваших сил будет, если вы напишете свою версию к имеющемуся дешевому китайскому железу (fy20).

Для этого нужно понять принцип работы системы, следовательно смотрим пост №1.

Теперь огромнейшая просьба! Обращаюсь не конкретно к кому-то, а вообще!
Кому нечего сказать именно по теме вопроса - не пишите сообщения!

baychi
Фантомас:

Объясните в целом алгоритм работы таких систем стабилизации. Назначение гироскопа в принципе понятно - при наличии угловых скоростей попытаться скомпенстровать их рулями, а вот какова там роль акселерометра? Как они дополняют друг друга? Есть ли акселерометры, которые кроме скалярной величины ускорения выдают ещё и направление вектора?

Стабилизатор выполняет две функции: 1) компенсации возмущений (например, ветер); 2) поддержания горизонтального (относительно земли) положения модели в нейтрале, или удерживания любого заданного угла к горизонту.
Первую задачу выполняют в основном гироскопы. Вторую задачу решают акселерометры. Так как в полноценной системе стабилизации используется три гироскопа и три акселерометра, их показания дают два 3-х мерных вектора: кажущийся вектор силы тяжести G (акселерометры) и вектор угловых скоростей (гироскопы). Задачи алгоритма стабилизации:

  1. Определять моменты, когда модель летит равномерно и прямолинейно. При этом акселерометры дают положение земли (вектор G) непосредственно.
  2. В ускоренном и непрямом полете показания гироскопов (и иногда и акселерометров) интегрируются во времени, для отслеживания измненений положения модели относительно земли.
  3. На основании угловых скоростей и вычисленного положения относительно земли, регуляторы системы стабилизации (например, ПИД) вырабатывают воздействия на управляющие поверхности модели (сервы) с целью компенсации отклонений в полете.
Фантомас:

хочется сделать самому, ибо в электронике шарю

Дмитрий, здесь электроника не так важна - она примитивна. Главное хорошие знания математики (от ПИД регулятров и КИХ фильтров до фильтра предсказаний Кльмана). У Вас есть опыт и соответствующее образование?

Фантомас

Уже что-то…
Правильно ли я понял, что задача акселерометра - определить момент, когда ускорение стало отличаться от некоего заданного значения (скажем, G), в этот момент мы и подключаем гироскоп для отслеживания угловой скорости и по данным обоих приборов (центростремительное ускорение и угловая скорость) можем определить нормаль к горизонту? Если вращение отсутствует, то тут вступает в действие свой алгоритм (скажем, если термиком подбросило), если вращение есть - вычисляем угол поворота (вот тут, как сказал baychi, нужно будет интегрировать), соответственно компенсируем его, проверяем, чтобы вектор ускорения опять был равен G.

Правильно ли я понял?

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

Syberian

а еще гироскопы надо термокомпенсировать, чтобы не было такого п**деца как с фишками

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-ля гироскопа. С другой стороны это время можно уменьшать используя данные гиро о отсутствии угловой скорости. Те. значения нуля (интеграл гир) корректируется с некоторой постоянной времени усредненным ( с адаптивным временем усреднения по значению гиро) значением акселя. И обеспечить устойчивость и быструю сходимость всей этой байды…