Як визначити положення з введення гіроскопа та акселерометра?


33

У мене є 3-осьовий акселерометр і 2-вісний гіроскоп. Я маю намір виміряти щось, що рухається лише по осі X і Z. Я чув про використання фільтрів Kalman для згладжування векторів прискорення, але не можу знайти хорошого підручника для початківця теми. Крім того, я знаю, що можу подвоїти інтеграцію прискорення, щоб отримати положення, але як це зробити з обмеженою кількістю вибіркових векторів прискорення? Буду вдячний посилання на хороші підручники для початківців з обох цих тем.


3
Схоже, ця публікація в блозі, на яку я натрапив раніше: starlino.com/imu_kalman_arduino.html Я не маю жодного зв’язку з цим сайтом, просто думав, що він виглядає відповідно до того, що ви запитуєте.
JustJeff

1
У цій статті ви знайдете серію навчальних посібників щодо використання та інтерфейсу датчиків акселерометра. intorobotics.com/… тут доступні підручники для вимірювання двох осей
Ezu

Відповіді:


16

Ось підручник із реалізації матриці косинуса напряму для IMU: http://gentlenav.googlecode.com/files/DCMDraft2.pdf

Погляньте на сторінки ArduIMU: http://code.google.com/p/ardu-imu/wiki/Theory

Ось пара проектів з відкритим кодом, які роблять це. Читання коду повинно дати декілька підказок:

http://code.google.com/p/gluonpilot/source/browse/trunk/Firmware/#Firmware/rtos_pilot%3Fstate%3Dclosed

http://code.google.com/p/sf9domahrs/


8

Ну, фільтр Кальмана - це якась магія, яка працює таємничо. :)

Я почав спочатку з цифрових фільтрів . Добре пояснено для початку. І легко зрозумілі. Ці прості фільтри чудово працюють для нахилу та нахилу будь-якої системи. Просто потрібно відрегулювати коефіцієнт точності та відповіді, експериментуючи. Хитрість - [Точність = 1 - відповідь].

Спробувати.

Тоді, щоб зрозуміти про фільтр Kalman, вам доведеться пройти наступні дії:

  1. Ймовірність
  2. Закон Байєса
  3. Тоді потрібно буде навчитися моделювати прості сценарії для їх укладання у фільтр Калмана.
  4. В даний час я тут, тому знаходжу, що робити .. обов'язково дасть вам знати.

І потрібно поділитися, якщо ви натрапите на щось подібне.


7

... подвійне інтегрування прискорення для отримання положення

Теоретично (за умови, що у вас є ідеальні датчики та вимірювання) ви можете це зробити, але на практиці не можете. Проблема полягає в тому, що акселерометр матиме постійну силу 1G, викликану силою тяжіння, коли об’єкт лежить нерухомо (нуль G у випадку вільного падіння), але це не вимірюється точно 1.00000000 ... G. Під час переміщення об'єкта у вас буде вектор як сума сили тяжіння 1G і прискорення від руху (яке, як правило, значно менше 1G), і ваші вимірювання з часом накопичуватимуть занадто багато шуму, щоб бути корисним, якщо ви спробуєте інтегрувати вимірювані прискорення, мінус 1G гравітації.


6

Я почав будувати квадроцикл майже 6 місяців тому, мав багато проблем з правильним визначенням кута :)

Насамперед слід спробувати цю презентацію - http://web.mit.edu/scolton/www/filter.pdf Це дійсно всеосяжно, і це може допомогти вам краще зрозуміти, що ви насправді хочете, це майже зробило трюк для мене.

Я думаю, що це дуже залежить від вас, але реалізація фільтра Калмана не вимагає лише досить міцного ноу-хау з математики, теорії системи і в цьому випадку фізики, але також дуже вимоглива щодо завантаження процесора. Якщо ви маєте на увазі використання, скажімо, Atmega328 з тактовою частотою 16 МГц у вас можуть виникнути проблеми з використанням цього фільтра. Це дійсно ефективно, якщо ви використовуєте DSP, щоб ви могли фільтрувати низький пропускний вміст, який ви отримали.

Загалом, моя порада - спробуйте скористатися додатковим фільтром 1-го порядку або, можливо, навіть додатковим фільтром 2-го порядку, якщо ви не задоволені результатами. Якщо ваша система не має високочастотних вібрацій, вони повинні чудово працювати. Інше, що посилання JustJeff є ідеальним місцем для початку, якщо ви застряєте з реалізацією :)

Все найкраще, Ден


Ваше посилання мертве. Я трохи перекопав і знову знайшов документ: googledrive.com/host/0B0ZbiLZrqVa6Y2d3UjFVWDhNZms/filter.pdf Принаймні це повинно бути те саме, можливо, ви хочете подвоїти перевірку .
Іван

Так, точно так само :)
День

посилання знову мертве :(
KyranF

@KyranF думаю , я знайшов його знову :) portal.ts-muenchen.de/Dateien/filter.pdf
Dan

@ Приємно, це насправді той самий документ, який я використовував для проектування своєї прошивки, коли робив міні-сегмент назад в універі. youtu.be/zOFlJJj8pPA
KyranF

1

Я також новачок, а також шукаю певне рішення для моєї навігаційної роботи. так само, як і у вас, у мене плата налаштована з 3-осевим акселерометром та 2D гіроскопом. до цих пір я прочитав багато матеріалів про це, також вирішив застосувати фільтр кальмана до моєї сигнальної справи. можливо, я не маю жодної пропозиції до вас, але я хочу поділитися з вами чимось, що я бачив раніше. Є деякі посилання, які вказують на них, сподіваюся, що вам корисно.

  1. Введення фільтра Кальмана
  2. Служба навігації роботів CAS
  3. Інерціальна навігаційна панель інструментів з відкритим кодом
  4. Вихідний код проекту про навігацію

обмежуючись моєю репутацією, я маю повноваження розміщувати менше 2 посилань. тому інші два, які я хочу опублікувати, як показано нижче:


1
Хоча це може бути корисним набором посилань для ОП, ця публікація буде корисною, якщо ви також додасте з цих посилань резюме відповідного вмісту, характерне для питання, яке ОП опублікувало. Майте на увазі, що коли посилання з часом стають недійсними через гниття посилань, ця публікація не збереже жодного значення. Спасибі.
Аніндо Гош
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.