Contents — find the section you need

Un robot rara vez lee directamente el estado que necesita. Un codificador puede proporcionar la posición, pero no la velocidad; una IMU informa la aceleración y la velocidad angular con sesgo; la localización de la cámara llega tarde o desaparece. Un observador de estado utiliza un modelo del sistema y la diferencia entre la salida predicha y la medida para estimar el estado oculto. El filtro de Kalman lineal (KF) es el observador estándar que incorpora una covarianza de error y utiliza ruido de proceso y de medición asumido para decidir cuánto confiar en la predicción frente a la medición.

La idea clave no es "promediar los sensores". Se trata de especificar qué tiempo físico representa un dato, qué modelo de error se asume y qué sucede cuando los sensores no coinciden. Un estimador que es erróneamente fiable lleva a los controladores PID, LQR y MPC al lugar equivocado. Para conocer los límites de temporización y ejecución de ROS 2, consulte ROS 2 Primer; para una integración de sensores más amplia, consulte Sensor Fusion Primer.

Conclusión práctica

  • Un observador actualiza \hat{x} a partir de la predicción del modelo y la innovación. Un estado no observable no puede reconstruirse de forma unívoca simplemente seleccionando un filtro más inteligente.

  • El filtro de Kalman (KF) utiliza la covarianza del error de estado P y emplea la covarianza del proceso Q y la covarianza de la medición R para calcular la ganancia de Kalman K.

  • Q,R representa suposiciones sobre los errores del modelo y del sensor, no parámetros de precisión arbitrarios. Se deben validar con innovaciones, covarianza, marcas de tiempo y datos de fallos.

  • Si una estimación está desactualizada, la covarianza es excesiva, la innovación es anómala o las transformaciones fallan, se debe transmitir un estado degradado al control y reducir o detener el movimiento según el riesgo.

Observador en el espacio de estados y observabilidad

Para un sistema lineal discreto,

x_{k+1}=A_dx_k+B_du_k+w_k,\qquad z_k=Cx_k+v_k

x representa el estado real, u la entrada conocida, z la medición, w la perturbación del proceso y v el ruido de medición. Un observador de Luenberger tiene la forma:

\hat{x}_{k+1}=A_d\hat{x}_k+B_du_k+L(z_k-C\hat{x}_k)

El último término es la innovación. Una ganancia alta del observador L sigue la medición rápidamente, pero transmite más ruido; una ganancia baja L confía más en el modelo, pero corrige las perturbaciones lentamente.

Diagram 1 · Use the button to switch views
Kalman filter predict-update loopThe preceding estimate and covariance are predicted by a model, then corrected from sensor innovation and covariance before being supplied to a controller.prior x̂ₖ₋₁, Pₖ₋₁state and uncertaintypredictA, B, Q → x̂⁻, P⁻updateinnovation, K, R → x̂⁺, P⁺measurement zₖIMU / encoder / cameracontrollerLQR/MPC/PID

Diagrama: Duskcoil, conceptual en lugar de medido. La estimación y la covarianza son cantidades internas del modelo, no observaciones directas del sensor.

La matriz de observabilidad \mathcal O=[C^T,(CA)^T,\ldots]^T debe tener rango completo para reconstruir cada estado en el caso lineal ideal. Las mediciones de posición únicamente de un integrador doble pueden generar velocidades. Observable a lo largo del historial temporal, pero la frecuencia de muestreo, la cuantización, el retardo y la pérdida de datos determinan si la estimación resultante es útil. La "observabilidad" no sustituye a un requisito de latencia máxima y precisión.

Predicción y actualización de Kalman

Suponiendo que w\sim\mathcal N(0,Q) y v\sim\mathcal N(0,R) son gaussianas blancas de media cero, la distribución a priori es:

\hat{x}_k^-=A_d\hat{x}_{k-1}^++B_du_{k-1},\qquad P_k^-=A_dP_{k-1}^+A_d^T+Q

P representa la incertidumbre del error de estimación, no simplemente la varianza del estado. Durante una interrupción de la medición, la propagación del modelo normalmente hace que P^- crezca hasta Q.

Para una medición entrante, se calcula la innovación \nu_k=z_k-C\hat{x}_k^- y su covarianza:

S_k=CP_k^-C^T+R

Luego se actualiza con:

K_k=P_k^-C^TS_k^{-1},\qquad \hat{x}_k^+=\hat{x}_k^-+K_k\nu_k,
P_k^+=(I-K_kC)P_k^-

Precisión finita Puede dañar la simetría o la semidefinición positiva de P. La forma de Joseph, P^+=(I-KC)P^-(I-KC)^T+KRK^T, suele ser la preferida; resolver sistemas lineales factorizados suele ser más seguro que calcular explícitamente la inversa. La matriz de covarianza P debe revisarse después de cada actualización.

Elección de Q y R

R debe reflejar el error medido en condiciones reales de vibración, temperatura, iluminación, alcance, reintento de paquetes y cuantización, no solo un valor de precisión de catálogo. Q representa cuánto puede equivocarse el modelo en un período: aceleración desconocida, paseo aleatorio con sesgo, cambio de carga útil o dinámica no modelada. Un valor pequeño de Q implica una confianza excesiva en el modelo; un valor excesivo de Q se debe a mediciones con ruido.

Ejemplo numérico: estimación de la velocidad a partir de mediciones de posición

Para un estado unidimensional de velocidad constante x=[p\ v]^T con periodo de muestreo T,

A_d=\begin{bmatrix}1&T\\0&1\end{bmatrix},\quad B_d=\begin{bmatrix}T^2/2\\T\end{bmatrix},\quad C=\begin{bmatrix}1&0\end{bmatrix}

Solo se mide la posición. Como actualización concreta sin unidades, sean T=1, \hat{x}^-=[0\ 0]^T, P^-=[[2,1],[1,1]], z=1, R=1 y C=[1\ 0]. Entonces S=3, K=[2/3\ 1/3]^T y \hat{x}^+=[2/3\ 1/3]^T; la covarianza posterior es P^+=(I-KC)P^-=[[2/3,1/3],[1/3,2/3]]. Esto ilustra una actualización y no constituye una afirmación sobre la precisión del sensor. Un valor inicial grande de P_{vv} expresa incertidumbre sobre la velocidad. Las innovaciones repetidas de posición infieren la velocidad estimada \hat v; una pérdida de datos mantiene la predicción en ejecución, pero aumenta su Incertidumbre. Un controlador que necesita medir la velocidad debe verificar P_{vv}, la antigüedad de la medición y el estado residual, y luego reducir la velocidad o detenerse cuando superen el rango definido.

Agregar una IMU ayuda a rastrear la aceleración a corto plazo, pero omitir el sesgo del estado permite que se acumule el error de integración. Las observaciones de cámara o LiDAR pueden restringir la posición absoluta cuando están vinculadas a un mapa, marcador u otra referencia conocida; el seguimiento relativo por sí solo no garantiza la posición global. El GNSS también está condicionado por la visibilidad del satélite, la multitrayectoria, la frecuencia de actualización, la latencia y la alineación de la trama. Para observaciones de actitud o distancia no lineales, se pueden usar EKF o UKF, pero persisten las preocupaciones del KF lineal sobre Q,R, la covarianza de la medición R, el tiempo, los valores atípicos y la observabilidad.

El cuadrado de la innovación normalizada \nu^TS^{-1}\nu ayuda a detectar una medición inconsistente con su distribución prevista. Un valor alto puede indicar un valor atípico, una trama incorrecta, un error de marca de tiempo, una falla del sensor o una discrepancia del modelo. El bloqueo de un dato no sirve para ocultar errores: debe proporcionar diagnóstico y un modo degradado seguro.

IMU integrada GNSS representativaIMU/INS representativa
Cámara de profundidad representativaCámara de profundidad representativa

Imágenes: Xsens MTi-G (Kallap85, CC BY-SA 4.0) y Intel RealSense D435 (Marc Auledas, CC BY-SA 4.0), Wikimedia Commons. Son sensores representativos, no evidencia medida ni un sistema combinado recomendado.

Suministro de PID, LQR y MPC

El PID puede usar retroalimentación filtrada sin procesar, pero su término derivativo y un bucle de velocidad interno a menudo se benefician de una estimación. El LQR asume un modelo multiestado; bajo las condiciones del principio de separación, una ganancia LQR y un estimador de Kalman forman una arquitectura LQG. La saturación, el retardo y la no linealidad aún pueden comprometer la robustez en condiciones reales. El MPC también depende de una estimación oportuna del estado inicial y de la perturbación; optimizar a partir de una estimación obsoleta o una covarianza falsamente pequeña crea un plan pulido para un entorno inadecuado.

Objetivo Control típico Salida del estimador necesaria Respuesta a fallas
Bucle único de velocidad/temperatura PID Medición filtrada / Estimación de velocidad Integral de parada ante pérdida del sensor
Estabilización multiestado local LQR/LQG \hat{x} sincronizado y validez no confiar excesivamente en la covarianza creciente
Ruta/asignación restringida MPC estado, retardo, perturbación, confianza ralentizar o detener en caso de estado obsoleto/fallo del solucionador

Sincronización del robot y operación segura ante fallos

En ROS 2, distinga el tiempo de medición del tiempo de llegada del mensaje. Actualizar el presente con un dato de cámara tardío como si fuera actual hace que el robot retroceda. Elija y documente una política: rebobinar/repropagar el historial, rechazar datos retardados o separar la odometría de bajo nivel de las correcciones de mapa más lentas. Las transformaciones de transporte y coordenadas de ROS 2 descritas en ROS 2 Primer y Sensor Fusion Primer son precondiciones fuera de las ecuaciones del filtro.

Supervise el tiempo de espera, los límites de covarianza y los fallos repetidos de la puerta de innovación. Sesgo divergente, transformaciones no disponibles y retrasos. Si todas las mediciones desaparecen, no ejecute indefinidamente solo con la predicción. Seleccione la limitación de velocidad, la parada, la redundancia o la transferencia del operador según la aplicación. El reinicio del estimador puede provocar un salto de estado, por lo que las referencias del controlador, los estados integrales y las salidas deben manejarse sin interrupciones.

Lista de verificación de implementación

  1. Defina el estado, la medición, la entrada, el marco, el tiempo de medición y el tiempo de recepción.

  2. Cuantifique la observabilidad, la precisión requerida y la latencia máxima para cada estado.

  3. Registre la evidencia de Q,R,P_0 a partir de las especificaciones, los datos y las pruebas.

  4. Supervise la simetría/definición de P, la innovación, las compuertas y el tiempo de espera.

  5. Inyecte casos de pérdida de datos, valores atípicos, relocalización y cambio de sesgo.

  6. Defina qué recibe el PID/LQR/MPC cuando se degrada la calidad de la estimación y verifique la acción de seguridad independiente.

Referencias

Comprueba tu comprensión
¿Qué ocurre cuando se confía más en una medición?

Con la misma incertidumbre de predicción, una menor covarianza de medición desplaza la actualización hacia la medición. Una confianza poco realista puede hacer que las estimaciones sigan el ruido.

Related reading

Explore another aspect of this fieldLab de MPC: volver a resolver una secuencia de curvatura dentro del horizonte y los límites de direcciónExplore another aspect of this fieldLab de comparación de seguimiento de trayectoria: ejecute PP, APP, RPP, Stanley y MPC en las mismas condicionesExplore another aspect of this fieldLab de Pure Pursuit: comparar el seguimiento de trayectoria con lookahead fijo