Estoy tratando de implementar un filtro de partículas para acoplar el giro y la brújula electrónica para una mejor orientación del dispositivo de medición. [ pregunta relacionada ]
Entiendo que mi estado vectorial contendría el ángulo absoluto y turn-rate y mi vector de observación contiene Las lecturas por igual de la brújula y el giro.
En mi modelo de transición, solo uso la suposición constante turn-rate más el ruido aleatorio para mover las partículas a sus próximos estados. Luego, cuando obtengo un conjunto de lecturas (ángulo y velocidad de giro de los sensores) en el siguiente instante, ¿cómo asigno pesos a las partículas? ¿hay ¿Un procedimiento sistemático para asignar los pesos a un vector de estado que contiene múltiples variables o debería simplemente calcularlo en función de la diferencia entre el valor predicho y el valor observado tanto para la brújula como para el giro?
es decir: weight(particle X) = RMS(angle(Particle X) - angle(sensor), rate(Particle X )- rate(sensor))
, y luego normalizar todas las lecturas?
EDITAR:
Déjame explicarte un poco más mi problema. Estoy trabajando sobre la base de que la brújula electrónica sola está sujeta a interferencias magnéticas en el ambiente interior y, por lo tanto, el giroscopio debe usarse junto con él para mejorar la precisión de la orientación.
Ahora, estas interferencias magnéticas formarán el ruido externo / ambiental del proceso y serán definitivamente no gaussianos, ya que están destinadas a inclinarse hacia el lado de la estructura metálica. Es por eso que elegí el filtro de partículas en lugar de decir, el filtro de Kalman aunque es el método más preferido. Entonces, cuando realmente no conozco el pdf del ruido, ¿cómo estimo la probabilidad de que un valor predicho sea igual a un valor real (cuál sería su peso, verdad?)
Asumir una distribución normal en este caso no funcionaría, porque me daría probabilidades erróneas de partículas. Al menos, esto es lo que entiendo; corrígeme si me equivoco.