#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 секунд