He creado una matriz ortonormal utilizando mi acelerómetro / magnetómetro ajustado en mosaico / y el producto cruzado de estos dos vectores. los valores están normalizados -1 / + 1.
Estoy intentando averiguar cómo fusionar mi giroscopio con esto de manera complementaria. ¿Hay alguna forma de lograr esto matemáticamente como una matriz o debo convertir a otra forma para cálculos?
Mi matriz de 3x3 me está dando información de orientación con factores disruptivos (principalmente ruido de aceleración por movimiento) que mis sensores emiten a intervalos de 20 ms. si me convierto a los ángulos de Euler, puedo implementar las lecturas de mi giroscopio como un filtro complementario utilizando estos valores. Pero esto viene con el tema de la cerradura de Gimbal. si produzco una matriz a partir de las lecturas de mi giroscopio, no estoy seguro de cómo transponer esto con mi matriz de orientación para corregir la deriva del giro. Me pregunté si habría una manera de calcular la matriz de rotación entre dos matrices ortonormales y luego comparar esto con mi matriz de rotación para el giroscopio y usar el filtro complementario que combina estas dos matrices y luego hacer un total.
¿O soy mejor para convertir la matriz a otra forma? No tengo conocimientos de codificación en C, por lo que estoy haciendo mi mejor esfuerzo para entender y trabajar las matemáticas para tener una idea más clara de cómo está funcionando esto. esencialmente, lo que quiero lograr es la orientación del sensor como un medio para rastrear el movimiento de la mano.