Safety Filter
- Categoria: Control › Feedback control
- Tags: safety, safe-control, optimization, learning-based-control, runtime-assurance
Uma camada em tempo de execução que verifica cada comando de um controlador nominal, de um ser humano ou de uma política aprendida e o substitui pelo comando mais próximo que mantém o sistema, de forma comprovável, dentro de um conjunto seguro.
Definição
Um filtro de segurança (safety filter) fica entre um controlador nominal e os atuadores. O controlador nominal, que pode ser uma lei ajustada à mão, um planejador, um teleoperador ou uma política aprendida, propõe um comando u_nom. O filtro verifica se aplicá-lo mantém o sistema dentro de um conjunto de estados seguros e, se não mantiver, substitui-o por um comando seguro, geralmente o mais próximo de u_nom. Quando o comando proposto já é seguro, ele passa sem alterações. Essa separação permite que os engenheiros projetem o controlador nominal visando o desempenho e imponham a segurança em um componente pequeno e analisável.
Várias construções são comuns. Os filtros baseados em funções barreira de controle resolvem um pequeno programa quadrático a cada passo de controle: minimizar ‖u − u_nom‖² sujeito a uma restrição linear que impede que uma função barreira diminua rápido demais, além dos limites dos atuadores. Os filtros de alcançabilidade de Hamilton-Jacobi calculam offline o conjunto de estados a partir dos quais a segurança pode ser mantida e passam para um controlador seguro, ou o misturam ao nominal, quando o estado se aproxima da fronteira desse conjunto. Os filtros de segurança preditivos usam controle preditivo baseado em modelo: verificam se o comando proposto pode ser seguido por uma trajetória de reserva segura ao longo de um horizonte e o modificam se não puder. Trabalhos voltados ao aprendizado usam ideias muito próximas sob nomes como escudos (shields) e camadas de segurança.
Um filtro de segurança é tão bom quanto o modelo e a estimativa de estado em que se apoia. Erros de modelo, atrasos, saturação dos atuadores e erros de percepção podem quebrar a garantia, por isso as variantes robustas apertam as restrições de acordo com limites para esses erros, por exemplo para levar em conta estimativas de estado produzidas por percepção aprendida. Os filtros também podem causar comportamentos indesejados, como um robô que para perto de um obstáculo quando o objetivo nominal está atrás dele, porque agem localmente e não replanejam. O verbete função barreira de controle descreve o certificado em si; o filtro de segurança é a arquitetura em tempo de execução que usa esse certificado, ou um conjunto alcançável ou uma verificação preditiva, para modificar os comandos.
Por que importa
Políticas aprendidas e operadores humanos não vêm com garantias de segurança, e retreiná-los para serem seguros em todas as situações raramente é prático. Um filtro de segurança acrescenta uma camada verificável que impõe limites como prevenção de colisões, limites das juntas ou cercas geográficas, independentemente do que o controlador nominal faça, o que o torna um padrão comum para implantar controle baseado em aprendizado em robôs reais.
Principais aplicações
- Prevenção de colisões em torno de controladores aprendidos ou teleoperados
- Imposição de limites de junta, de velocidade e de espaço de trabalho em braços robóticos
- Cercas geográficas e desvio de obstáculos para drones
- Exploração segura durante o aprendizado por reforço em hardware
- Autonomia compartilhada, em que um comando humano é minimamente corrigido
Na prática
Uma equipe implanta uma política de aprendizado por reforço em um robô móvel em um laboratório com pessoas. Ela envolve a política em um filtro de segurança baseado em CBF: para cada obstáculo próximo, a função barreira é a distância menos uma margem, e um programa quadrático executado na frequência de controle encontra o comando de velocidade mais próximo da saída da política que satisfaz todas as restrições de barreira e os limites de velocidade do robô. Como as posições dos obstáculos vêm de um detector aprendido com limites de erro conhecidos, a equipe aumenta a margem nesse limite. Durante os testes, registra com que frequência e com que intensidade o filtro intervém, o que mostra onde a própria política precisa de mais treinamento.
Equívocos comuns
- Um filtro de segurança torna qualquer controlador seguro — sua garantia depende de o modelo, a estimativa de estado e os limites dos atuadores estarem corretos; os erros neles precisam ser limitados e levados em conta
- Um filtro de segurança substitui o planejamento — ele modifica os comandos localmente e pode deixar o robô preso ou em impasse; um planejador continua sendo necessário para alcançar objetivos
- Filtro de segurança e função barreira de controle significam a mesma coisa — uma CBF é um tipo de certificado; os filtros também podem ser construídos a partir de conjuntos alcançáveis ou de trajetórias de reserva preditivas
Quem deve saber
- Engenheiros de controle que implantam controladores baseados em aprendizado
- Engenheiros de segurança de robôs móveis e drones
- Pesquisadores de aprendizado por reforço que trabalham com exploração segura
- Desenvolvedores de teleoperação e de autonomia compartilhada
Tecnologias relacionadas
- Programação quadrática (Quadratic Programming)
- OSQP
- Alcançabilidade de Hamilton-Jacobi (Hamilton-Jacobi Reachability)
- Filtro de segurança preditivo (Predictive Safety Filter)
- Shielding
Termos relacionados
- Control Barrier Function
- Hamilton-Jacobi-Bellman Equation (HJB)
- Model Predictive Control
- Region of attraction
- Obstacle Avoidance
- Reinforcement Learning
Projetos 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