Open Source Robotics

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

Fault-Tolerant Control

  • También llamado: FTC
  • Categoría: Control › Feedback control
  • Etiquetas: fault-tolerance, flight-control, robust-control, reliability, multirotor

Diseño de control que mantiene un sistema estable y utilizable tras fallos como un actuador o un sensor averiado, tolerando el fallo o detectándolo y reconfigurando el controlador.

Definición

Control tolerante a fallos (fault-tolerant control, FTC) busca mantener un sistema seguro y, cuando es posible, cumpliendo todavía su tarea después de que algo haya salido mal: un actuador atascado, debilitado o perdido, un sensor sesgado o inutilizado, o un daño estructural. Suele dividirse en dos enfoques. El control tolerante a fallos pasivo diseña un único controlador fijo, a menudo con técnicas de control robusto, que se mantiene estable para un conjunto definido de fallos sin necesidad de saber cuál se ha producido. El control tolerante a fallos activo detecta y aísla el fallo en tiempo de ejecución, un paso llamado detección y aislamiento de fallos (FDI) o detección y diagnóstico de fallos, y después reconfigura el controlador, la asignación de control o la misión para adaptarlos al sistema modificado.

Las opciones dependen de cuánta redundancia queda. En un hexacóptero o en un brazo robótico con grados de libertad de sobra, un actuador averiado a menudo puede compensarse redistribuyendo los comandos entre los demás mediante la asignación de control. Donde no hay un actuador de sobra, el controlador debe renunciar a algo. Un ejemplo clásico es un cuadricóptero que pierde un rotor: con los tres restantes no puede controlar de forma independiente los tres ejes de rotación y el empuje total. Mueller y D'Andrea demostraron en 2014 que el vehículo todavía puede volar si se le deja girar continuamente alrededor de su eje de guiñada y se controlan solo la dirección de su eje de empuje y su posición. Un razonamiento similar se aplica a aeronaves con superficies de control dañadas y a robots que pierden una articulación o una pata.

La tolerancia a fallos afecta a todo el lazo, no solo a la ley de control. La detección de fallos debe ser lo bastante rápida y fiable como para actuar antes de que el sistema se vuelva irrecuperable, y el controlador reconfigurado a menudo depende de estimaciones de estado que también son más difíciles de obtener tras el fallo. Un cuadricóptero que gira, por ejemplo, resulta difícil para las cámaras estándar debido al desenfoque de movimiento, por lo que la estimación de estado en esas condiciones se ha estudiado con cámaras de eventos. Las pruebas suelen combinar la simulación de fallos inyectados, experimentos hardware-in-the-loop y, cuando es posible, fallos deliberados en hardware atado o protegido.

Por qué importa

Los robots y los drones operan cada vez más cerca de las personas y lejos de donde se pueden reparar. Un fallo que puede absorberse por software, en lugar de requerir hardware adicional o terminar en un accidente, mejora la seguridad y la fiabilidad con un coste pequeño. El control tolerante a fallos es también una cuestión de regulación y certificación en aviación y en otros ámbitos críticos para la seguridad.

Aplicaciones clave

  • Recuperación de multirrotores tras el fallo de un rotor o de un motor
  • Asignación de control para actuadores redundantes en aeronaves y drones
  • Continuación de la manipulación tras fallos o bloqueos de articulaciones
  • Robots con patas que adaptan la marcha tras daños en una pata
  • Gestión de fallos de sensores en la estimación de estado y la navegación

En la práctica

Un equipo añade la gestión de fallos de rotor al software de vuelo de un cuadricóptero. Un detector compara las aceleraciones angulares comandadas con las medidas por la IMU y señala la pérdida de un rotor en una ventana de tiempo corta. Al detectarla, el controlador pasa del controlador de actitud en cascada normal a un controlador de actitud reducida que deja que el vehículo gire alrededor de su eje de guiñada mientras inclina el eje de giro para controlar el movimiento horizontal. El equipo prueba el cambio primero en simulación con fallos inyectados y luego en hardware, con un rotor al que se ordena empuje cero sobre una red, y comprueba que la relación empuje-peso del vehículo deja margen suficiente para mantener la altitud con tres rotores.

Ideas erróneas comunes

  • La tolerancia a fallos siempre requiere hardware redundante — algunos sistemas, como los cuadricópteros, pueden seguir siendo controlables tras la pérdida de un actuador renunciando al control de un grado de libertad menos importante
  • El control tolerante a fallos es solo un problema de diseño del controlador — la detección rápida de fallos y una estimación de estado fiable tras el fallo suelen ser las partes más difíciles
  • Un sistema tolerante a fallos rinde igual de bien tras un fallo — la reconfiguración suele sacrificar rendimiento, como el control de guiñada o la capacidad de carga útil, a cambio de seguir operando de forma segura

Quién debería saberlo

  • Ingenieros de drones y de control de vuelo
  • Ingenieros de seguridad y fiabilidad de sistemas autónomos
  • Investigadores en control que trabajan en control robusto y adaptativo
  • Ingenieros de robótica de campo que diseñan para operación remota

Tecnologías relacionadas

  • Detección y aislamiento de fallos (Fault Detection and Isolation, FDI)
  • Asignación de control (Control Allocation)
  • Control robusto (Robust Control)
  • Incremental Nonlinear Dynamic Inversion (INDI)
  • PX4 Autopilot

Términos relacionados

  • UAV
  • Cascaded Control
  • Thrust-to-Weight Ratio
  • Event Camera
  • Visual-Inertial Odometry
  • IMU

Proyectos relacionados

  • MAVROS: ROS gateway for MAVLink-compatible autopilots (PX4, ArduPilot)
  • Pegasus Simulator: Photorealistic multirotor simulation on NVIDIA Isaac Sim with PX4-in-the-loop

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