Medir la posición relativa entre dos IMU

1

Estoy intentando crear un sistema en el que necesito medir la orientación relativa del borde del brazo con respecto a su base:

Elaparatoserácomoeneldiagramadearriba.Paramedirlaposiciónrelativa,actualmenteestoyusandodosIMU9DoF-MPU9250conectadasaTeensyLC(unaenelbordeylaotraenlabase),yusandovaloresdecuaternión.

Elrequisitodetomarlaposiciónrelativaesqueestebrazopuedegiraralrededordelabaseentodaslasdirecciones(exceptodebajodelasuperficiedelabase).yelpropiosistemapuedegirarencualquierdirección.Peromientrasgira,elbrazonocambiarálaposición,permaneceráenlaposicióninicial.Porejemplo,aquíhayotraposiciónqueelsistemapuedeser:

Comosemuestra,laorientaciónrelativadelbordenohacambiado,segúnsubase.Además,noestoyinteresadoendeterminarlaposición/direccióndetodoelsistema,soloestoyinteresadoenlaposiciónrelativadelbordeconrespectoalabase.

Aquíhayalgunosejemplosmás:

En este momento estoy usando el algoritmo de actualización de Madgwick Quaternion para calcular los cuaterniones y usar la siguiente ecuación para calcular la orientación relativa:

void quatDiff(float* E, float* rw_B)
{
    float B[] = { rw_B[0], -rw_B[1], -rw_B[2], -rw_B[3]};

    float q00 = (E[0] * B[0] - E[1] * B[1] - E[2] * B[2] - E[3] * B[3]);
    float q11 = (E[0] * B[1] + E[1] * B[0] + E[2] * B[3] - E[3] * B[2]);
    float q22 = (E[0] * B[2] - E[1] * B[3] + E[2] * B[0] + E[3] * B[1]);
    float q33 = (E[0] * B[3] + E[1] * B[2] - E[2] * B[1] + E[3] * B[0]);
}

E y rw_B son los resultados de cuaterniones de dos IMU (borde y base).

Mis preguntas son: ¿Es este método un método confiable y válido para calcular la orientación relativa del cuaternión de dos IMU? Si es así, ¿es correcta esta ecuación para comparar valores?

    
pregunta KTB

0 respuestas

Lea otras preguntas en las etiquetas