9-осевое положение ИДУ и проблемы смещения линейного ускорения Помогают, пожалуйста

#c #filter #kalman-filter #pose-estimation #imu

#c #Фильтр #калман-фильтр #поза-оценка #иду

Вопрос:

Я хотел получить позиции из линейных ускорений с помощью используемого алгоритма NXP /Калмана. Но у меня были очень большие ошибки даже в нулевых позициях. Как я могу это исправить? У вас есть какие-либо предложения по этому поводу? (Я получаю позиции от v = v0 a.t, p = p0 v. t)

Вот мой код бывший:

 float x,y,z; fusion.GetLinearAcceleration(amp;x,amp;y,amp;z); v0x=0; v0y=0; v0z=0; pos0x = 0; pos0y = 0; pos0z = 0; in loop: dt = 0.005 //1/200hz v0x = v0x   xdt v0y = v0y   ydt v0z = v0z   zdt pos0x = pos0x   v0xdt pos0y = pos0y   v0ydt pos0z = pos0z   v0zdt  

здесь мои значения zero_movement :

 pos0x = -2.42397 pos0y = -19.3137 pos0z = -1108.85  

Я собирал измеренные данные с 9-осевого датчика Imu Xsens в течение 30 секунд