Open Source Robotics

Una colección curada de proyectos, herramientas y software de robótica de código abierto de alta calidad.

Safety Filter

  • Categoría: Control › Feedback control
  • Etiquetas: safety, safe-control, optimization, learning-based-control, runtime-assurance

Una capa en tiempo de ejecución que comprueba cada comando de un controlador nominal, de una persona o de una política aprendida y lo sustituye por el comando más cercano que mantiene el sistema, de forma demostrable, dentro de un conjunto seguro.

Definición

Un filtro de seguridad (safety filter) se sitúa entre un controlador nominal y los actuadores. El controlador nominal, que puede ser una ley ajustada a mano, un planificador, un teleoperador o una política aprendida, propone un comando u_nom. El filtro comprueba si aplicarlo mantiene el sistema dentro de un conjunto de estados seguros y, si no es así, lo sustituye por un comando seguro, normalmente el más cercano a u_nom. Cuando el comando propuesto ya es seguro, pasa sin cambios. Esta separación permite a los ingenieros diseñar para el rendimiento en el controlador nominal e imponer la seguridad en un componente pequeño y analizable.

Hay varias construcciones habituales. Los filtros basados en funciones barrera de control resuelven un pequeño programa cuadrático en cada paso de control: minimizar ‖u − u_nom‖² sujeto a una restricción lineal que impide que una función barrera disminuya demasiado rápido, más los límites de los actuadores. Los filtros de alcanzabilidad de Hamilton-Jacobi calculan offline el conjunto de estados desde los que se puede mantener la seguridad y cambian a un controlador seguro, o lo mezclan con el nominal, cuando el estado se acerca a su frontera. Los filtros de seguridad predictivos usan control predictivo basado en modelo: comprueban si el comando propuesto puede ir seguido de una trayectoria de respaldo segura a lo largo de un horizonte y, si no, lo modifican. Los trabajos orientados al aprendizaje usan ideas muy relacionadas con nombres como escudos (shields) y capas de seguridad.

Un filtro de seguridad solo es tan bueno como el modelo y la estimación de estado en los que se basa. Los errores de modelo, los retardos, la saturación de los actuadores y los errores de percepción pueden romper la garantía, por lo que las variantes robustas endurecen las restricciones según cotas de estos errores, por ejemplo para tener en cuenta estimaciones de estado producidas por percepción aprendida. Los filtros también pueden provocar comportamientos no deseados, como un robot que se detiene cerca de un obstáculo cuando el objetivo nominal está detrás de él, porque actúan localmente y no vuelven a planificar. La entrada sobre función barrera de control describe el certificado en sí; el filtro de seguridad es la arquitectura en tiempo de ejecución que usa ese certificado, o un conjunto alcanzable o una comprobación predictiva, para modificar los comandos.

Por qué importa

Las políticas aprendidas y los operadores humanos no vienen con garantías de seguridad, y reentrenarlos para que sean seguros en todas las situaciones rara vez es práctico. Un filtro de seguridad añade una capa verificable que impone límites como la evitación de colisiones, los límites de las articulaciones o las geocercas independientemente de lo que haga el controlador nominal, lo que lo convierte en un patrón habitual para desplegar control basado en aprendizaje en robots reales.

Aplicaciones clave

  • Evitación de colisiones alrededor de controladores aprendidos o teleoperados
  • Imposición de límites de las articulaciones, de velocidad y de espacio de trabajo en brazos robóticos
  • Geocercas y evitación de obstáculos para drones
  • Exploración segura durante el aprendizaje por refuerzo en hardware
  • Autonomía compartida, en la que un comando humano se corrige mínimamente

En la práctica

Un equipo despliega una política de aprendizaje por refuerzo en un robot móvil en un laboratorio con personas. La envuelven en un filtro de seguridad basado en CBF: para cada obstáculo cercano, la función barrera es la distancia menos un margen, y un programa cuadrático que se ejecuta a la frecuencia de control encuentra el comando de velocidad más cercano a la salida de la política que cumple todas las restricciones de barrera y los límites de velocidad del robot. Como las posiciones de los obstáculos proceden de un detector aprendido con cotas de error conocidas, amplían el margen en esa cota. Durante las pruebas registran con qué frecuencia y con qué intensidad interviene el filtro, lo que muestra dónde necesita más entrenamiento la propia política.

Ideas erróneas comunes

  • Un filtro de seguridad hace seguro cualquier controlador — su garantía depende de que el modelo, la estimación de estado y los límites de los actuadores sean correctos; los errores en ellos deben estar acotados y tenerse en cuenta
  • Un filtro de seguridad sustituye a la planificación — modifica los comandos localmente y puede dejar al robot atascado o bloqueado; sigue haciendo falta un planificador para alcanzar los objetivos
  • Filtro de seguridad y función barrera de control significan lo mismo — una CBF es un tipo de certificado; los filtros también pueden construirse a partir de conjuntos alcanzables o de trayectorias de respaldo predictivas

Quién debería saberlo

  • Ingenieros de control que despliegan controladores basados en aprendizaje
  • Ingenieros de seguridad de robots móviles y drones
  • Investigadores en aprendizaje por refuerzo que trabajan en exploración segura
  • Desarrolladores de teleoperación y autonomía compartida

Tecnologías relacionadas

  • Programación cuadrática (Quadratic Programming)
  • OSQP
  • Alcanzabilidad de Hamilton-Jacobi (Hamilton-Jacobi Reachability)
  • Filtro de seguridad predictivo (Predictive Safety Filter)
  • Shielding

Términos relacionados

  • Control Barrier Function
  • Hamilton-Jacobi-Bellman Equation (HJB)
  • Model Predictive Control
  • Region of attraction
  • Obstacle Avoidance
  • Reinforcement Learning

Proyectos relacionados

  • Drake: MIT robotics toolbox for model-based dynamics, optimization, and control system design
  • GTSAM: Factor-graph optimization library powering many modern SLAM backends
  • PyPose: PyTorch library for differentiable robotics with deep learning and Lie group optimization
  • NeuPAN: Real-time end-to-end planner that maps raw lidar points directly to robot actions
  • OpEn (Optimization Engine): Embedded nonconvex optimization solver in Rust for real-time MPC on robots
  • ProxSuite: High-performance QP/LP solver for robotics control and optimization

Este sitio web requiere JavaScript. Por favor, habilite JavaScript para explorar nuestros proyectos de robótica.