Фильтр значений Troyka IMU Гироскоп акселерометр

Тема в разделе "Arduino & Shields", создана пользователем AndrewVoidPointer, 14 сен 2017.

  1. Всем привет. Есть Troyka IMU полная версия с 10 степенями свободы, требуется получать относительно точные значения углов не менее чем 20-30 раз в секунду. Использовал фильтр Маджвика, который на сайте Амперка.Вики, он очень медленный, значения долго устаканиваются. Использовал комплементарный фильтр для угла: ax =(1-K)*(ax+(gyro.readDegPerSecX()*dt/1000000)) + K*accel.readAX()*10; тоже медленно стабилизируется. Может в формуле ошибка у меня? При измене коэффицента особо скорость просчета не меняется, то есть реальный угол например уже 60 градусов, а фильтр выдает это значение только через секунду две где-то, плавно ползя к этому значению. И еще, я убрал из этой формулы первое слагаемое, и такое ощущение, что ничего не поменялось, такой же характер изменения выходного угла. Что можете посоветовать?
     
  2. DetSimen

    DetSimen Гик

    А что, простите, меряют степенями свободы, большими трёх?
     
    BAR__MEN нравится это.
  3. это не важно здесь, я это написал чтобы было понятно что за датчик.ускорения, угловые скорости, напряженность магнитного поля, давление.
     
  4. DetSimen

    DetSimen Гик

    Как страшно жить в 10-мерном мире.... :(
     
  5. rkit

    rkit Гуру

    В десятимерном мире у твердых тел 55 степеней свободы. Не надо умничать о том, чего вы не понимаете.
     
    AndrewVoidPointer нравится это.
  6. Дружок, это абстракция, не можете помочь- вас здесь никто не держит.
     
    Последнее редактирование: 14 сен 2017
  7. DetSimen

    DetSimen Гик

    Жалко Фобы нет, он тоже всё физику отменял.

    Вбейте себе в мосх: В общем случае твёрдое тело в d измерениях имеет d(d + 1)/2 степеней свободы (d поступательных и d(d −1)/2 вращательных)
     
  8. Ну вот, вы уже и сами поняли что 10 степеней свободы неравно 10 мерному пространству, уже хорошо.
    А теперь приведу кусочек статьи из Вики : "Для задания положения самолёта нужно указать три координаты — дополнительно к широте и долготе нужно знать высоту, на которой он находится. Поэтому пространство, в котором находится самолёт, является трёхмерным. К этим трём координатам может быть добавлена четвёртая (время) для описания не только текущего положения самолёта, но и момента времени. Если добавить в модель ориентацию (крен, тангаж, рыскание) самолёта, то добавятся ещё три координаты и соответствующее абстрактное пространство модели станет семимерным."
    Также и здесь, 10 степеней свободы подразумевает то, что мы определяем основные 6 (ускорения по 3 осям, вращения по 3 осям), но помимо этого еще и положение тела относительно вектора напряженности магнитного поля, и вдобавок давление в месте нахождения тела.
     
    Последнее редактирование: 14 сен 2017
  9. DetSimen

    DetSimen Гик

    Мда.