Как я могу выполнить дискретные интеграции данных гироскопа?

StackOverflow https://stackoverflow.com/questions/4657152

Вопрос

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

AngleIntegrated = GyroDegPersec * (1/GyroBandWidth);

Предложения очень приветствуются. спасибо

Это было полезно?

Решение

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

Другие советы

Вам нужно интегрировать в отношении времени. Отказ Таким образом, в идеале вам следует образец гироскопа в регулярных (фиксированных) промежутках времени T, T, а затем включить интервал отбора проб, T, в ваш интегральный расчет.

Обратите внимание, что T должен быть достаточно маленьким, чтобы удовлетворить Nyquist критерий.

Вы можете интегрироваться в дискретный домен. Предположим, что угловая скорость - это да, это время интеграл есть. k - номер дискретных шагов.

a(k) = a(k-1) + T*0.5*(da(k) + da(k-1))

Например, DA (K) является текущим угловым скоростям чтения скорости. DA (K-1) представляет собой равномерное чтение угловых скоростей. A (K-1) - это значение интеграции предыдущего шага (угол вращения). T - скорость дискретизации. Если датчик выходов в каждом 1 миллисекунде T становится 0,001.

Вы можете использовать эту формулу при k> 0. Начальное значение, A (0), должно быть дано.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top