Main Content

Esta página se ha traducido mediante traducción automática. Haga clic aquí para ver la última versión en inglés.

Flujo de trabajo del filtro de partículas

Un filtro de partículas es un estimador de estado bayesiano recursivo que utiliza partículas discretas para aproximar la distribución posterior del estado estimado.

El algoritmo del filtro de partículas calcula la estimación del estado de forma recursiva e implica dos pasos:

  • Predicción: el algoritmo utiliza el estado anterior para predecir el estado actual en función de un modelo de sistema determinado.

  • Corrección: el algoritmo utiliza la medición actual del sensor para corregir la estimación del estado.

El algoritmo también redistribuye periódicamente, o vuelve a muestrear, las partículas en el espacio de estados para que coincidan con la distribución posterior del estado estimado.

El estado estimado consta de todas las variables de estado. Cada partícula representa una hipótesis de estado discreto. El conjunto de todas las partículas se utiliza para ayudar a determinar la estimación del estado final.

Puede aplicar el filtro de partículas a modelos de sistemas no lineales arbitrarios. El ruido de proceso y de medición puede seguir distribuciones arbitrarias no gaussianas.

Para utilizar el filtro de partículas correctamente, debe especificar parámetros como el número de partículas, la ubicación inicial de las partículas y el método de estimación del estado. Además, si tiene un modelo de sensor y movimiento específico, especifique estos parámetros en la función de transición de estado y la función de probabilidad de medición, respectivamente. Para obtener más información, consulte Parámetros del filtro de partículas.

Siga este flujo de trabajo básico para crear y utilizar un filtro de partículas. Esta página detalla el flujo de trabajo de estimación y muestra un ejemplo de cómo ejecutar un filtro de partículas en un bucle para estimar continuamente el estado.

Flujo de trabajo de estimación

Cuando se utiliza un filtro de partículas, se requiere un conjunto de pasos para crear el filtro de partículas y estimar el estado. Los pasos de predicción y corrección son los principales pasos de iteración para estimar continuamente el estado.

Crear filtro de partículas

Cree un objeto stateEstimatorPF .

Establecer parámetros del sistema no lineal

Modifique estos parámetros stateEstimatorPF para que se ajusten a su sistema o aplicación específica:

  • StateTransitionFcn

  • MeasurementLikelihoodFcn

  • ResamplingPolicy

  • ResamplingMethod

  • StateEstimationMethod

Los valores predeterminados para estos parámetros se proporcionan para el funcionamiento básico.

Las funciones StateTransitionFcn y MeasurementLikelihoodFcn definen el comportamiento del sistema y la integración de las mediciones. Son vitales para que el filtro de partículas realice un seguimiento preciso. Para obtener más información, consulte Parámetros del filtro de partículas.

Inicializar partículas

Utilice la función initialize para establecer el número de partículas y el estado inicial.

Muestra de partículas de una distribución

Puede tomar muestras de las ubicaciones iniciales de las partículas de dos maneras:

  • Pose inicial y covarianza: si tiene una idea de su estado inicial, se recomienda especificar la pose inicial y la covarianza. Esta especificación ayuda a agrupar las partículas más cerca de su estimación para que el seguimiento sea más efectivo desde el principio.

  • Límites de estado: si no conoce su estado inicial, puede especificar los posibles límites de cada variable de estado. Las partículas se distribuyen uniformemente a través de los límites estatales para cada variable. Las partículas ampliamente distribuidas no son tan efectivas en el seguimiento, porque hay menos partículas cerca del estado real. El uso de límites de estado generalmente requiere más partículas, tiempo de cálculo e iteraciones para converger a la estimación del estado real.

Predecir

Según una función de transición de estado específica, las partículas evolucionan para estimar el siguiente estado. Utilice predict para ejecutar la función de transición de estado especificada en la propiedad StateTransitionFcn .

Obtener medición

Las mediciones recopiladas de los sensores se utilizan en el siguiente paso para corregir el estado actual previsto.

Correcto

Luego se utilizan mediciones para ajustar el estado previsto y corregir la estimación. Especifique sus medidas usando la función correct . correct utiliza MeasurementLikelihoodFcn para calcular la probabilidad de mediciones del sensor para cada partícula. Se requiere un nuevo muestreo de partículas para actualizar su estimación a medida que el estado cambia en iteraciones posteriores. Este paso activa el remuestreo según las propiedades ResamplingMethod y ResamplingPolicy .

Extraer la mejor estimación del estado

Después de llamar a correct, la mejor estimación de estado se extrae automáticamente en función del Weights de cada partícula y la propiedad StateEstimationMethod especificada en el objeto. . El estado y la covarianza mejor estimados se obtienen mediante la función correct .

Remuestrear partículas

Este paso no se llama por separado, pero se ejecuta cuando llamas a correct. Una vez que su estado haya cambiado lo suficiente, vuelva a muestrear sus partículas según la estimación más reciente. El método correct verifica el ResamplingPolicy para determinar si se activa el remuestreo de partículas de acuerdo con la distribución actual de las partículas y sus pesos. Si no se activa el remuestreo, se utilizan las mismas partículas para la siguiente estimación. Si su estado no varía mucho o si su paso de tiempo es bajo, puede llamar a los métodos de predicción y corrección sin volver a muestrear.

Predecir y corregir continuamente

Repita los pasos anteriores de predicción y corrección según sea necesario para estimar el estado. El paso de corrección determina si es necesario volver a tomar muestras de las partículas. Es posible que se requieran múltiples llamadas para predict o correct cuando:

  • No hay mediciones disponibles, pero las entradas de control y las actualizaciones de tiempo se producen con alta frecuencia. Utilice el método predict para hacer evolucionar las partículas y obtener el estado previsto actualizado con más frecuencia.

  • Se encuentran disponibles múltiples lecturas de medición. Utilice correct para integrar múltiples lecturas del mismo o de múltiples sensores. La función corrige el estado en función de cada conjunto de información recopilada.

Consulte también

| | | |

Ejemplos relacionados

Más acerca de