Estoy trabajando en un proyecto para combinar una lectura de aceleración lineal de un acelerómetro y un giroscopio, ajustado a la gravedad, en el desplazamiento / posición en un plano x-y, específicamente para convertir el movimiento del sensor en movimiento del mouse. Tengo una implementación básica funcionando, pero el movimiento se siente muy ruidoso y poco natural.
Esencialmente estoy siguiendo el método de "integración doble". He investigado y estoy familiarizado con algunos de los límites a global precisión de este enfoque, pero tengo la impresión de que la gente está hablando de esto en el contexto de la estimación de la navegación, por lo que esperaba que pudiéramos obtener una" suficiente buena " La solución para el movimiento del ratón se siente relativamente natural. Especialmente ya que en algún nivel, si se usa para registrar el movimiento del mouse, habrá un circuito de comentarios del usuario que controla el mouse.
Uno de los mayores problemas es que no he encontrado una forma satisfactoria de eliminar el ruido que no degrade demasiado la sensación general del movimiento. He probado los filtros de Kalman, pero solo lo he puesto en funcionamiento a través de bibliotecas externas como Kalman.js dada la complejidad de las matemáticas detrás eso. Así que, en parte, podría haberse reducido a no tener los parámetros correctos para el filtro. Sin embargo, también he leído que un filtro de Kalman puede ser una mala elección para suavizar los movimientos del mouse, ya que es difícil modelar el sistema subyacente de una persona que mueve un mouse para interactuar con una computadora.
¿Existe alguna técnica de filtrado diferente que podamos aplicar para suavizar las lecturas de movimiento? ¿O está produciendo una estimación razonable del desplazamiento de corta duración, incluso para esta aplicación de producir movimientos del mouse, en última instancia, demasiado difícil con solo un acelerómetro / giroscopio barato?