Control Barrier Function
- Também chamado: CBF, barrier function, CBF-QP
- Categoria: Control › Feedback control
- Tags: safety, nonlinear-control, optimization, quadratic-programming, safety-filter, collision-avoidance
Uma função do estado de um robô cujo sinal delimita um conjunto seguro, usada para restringir as entradas de controle de modo que um sistema que começa dentro do conjunto seguro comprovadamente nunca saia dele.
Definição
Funções barreira de controle (control barrier functions, CBFs) são uma ferramenta da teoria de controle não linear para impor restrições de segurança a sistemas dinâmicos. Um conjunto seguro é descrito como a região em que uma função escalar do estado h(x) é não negativa, por exemplo a distância até um obstáculo menos uma margem. Uma função barreira de controle acrescenta uma condição sobre a rapidez com que h pode diminuir: a entrada de controle deve manter a derivada temporal de h acima de uma função negativa da própria h. Se essa condição vale em todo instante, o conjunto seguro é invariante para frente, o que significa que um sistema que começa seguro permanece seguro.
A formulação mais usada em robótica foi desenvolvida por Aaron Ames e colaboradores em meados da década de 2010. Para sistemas afins no controle, cuja dinâmica tem a forma ẋ = f(x) + g(x)u, a condição de barreira é linear na entrada de controle u. Assim, uma entrada segura pode ser encontrada online resolvendo um pequeno programa quadrático (QP) a cada passo de controle: encontrar a entrada mais próxima de um comando nominal desejado, sujeita à restrição de barreira e a quaisquer limites dos atuadores.
Esse QP costuma ser chamado de filtro de segurança. Qualquer controlador, seja um controlador de rastreamento ajustado à mão, um planejador ou uma política aprendida, propõe um comando, e o CBF-QP o altera apenas o necessário para satisfazer a restrição de segurança. As CBFs combinam naturalmente com as funções de controle de Lyapunov (CLFs), que codificam objetivos de estabilidade ou de rastreamento; um QP combinado CLF-CBF equilibra desempenho e segurança tratando a segurança como uma restrição rígida.
O uso prático levanta várias questões. Encontrar uma função barreira válida para geometrias complexas ou robôs de alta dimensão pode ser difícil. Quando a restrição não depende diretamente da entrada, como um limite de posição em um robô comandado por acelerações, são necessárias extensões como CBFs exponenciais ou de ordem superior. As garantias valem apenas na medida em que o modelo é preciso, por isso variantes robustas e orientadas a dados levam em conta o erro de modelo, os limites de entrada e o tempo de amostragem. Restrições CBF também podem ser colocadas dentro de um problema de controle preditivo baseado em modelo, de modo que o controlador olhe adiante ao longo de um horizonte em vez de agir apenas sobre o estado atual.
Por que importa
Robôs operam cada vez mais perto de pessoas, obstáculos e de seus próprios limites físicos, e as funções barreira de controle oferecem uma forma matematicamente fundamentada de impor esses limites, independentemente de qual controlador gera o comando nominal. Como o filtro de segurança é um pequeno problema de otimização, ele pode rodar na frequência de controle em hardware embarcado, o que torna os argumentos formais de segurança práticos, e não puramente teóricos.
Principais aplicações
- Prevenção de colisões — manter robôs móveis, drones e braços robóticos a uma distância segura de obstáculos
- Filtros de segurança para políticas aprendidas — modificar minimamente os comandos de controladores de aprendizado por reforço ou de aprendizado por imitação
- Robôs com pernas e robôs humanoides — impor restrições ao posicionamento dos pés, ao equilíbrio ou à autocolisão
- Sistemas multirrobô — manter a separação entre robôs em formações e enxames
- Condução automatizada — manter distâncias seguras de seguimento no controle de cruzeiro adaptativo
Na prática
Uma equipe normalmente começa escrevendo os requisitos de segurança como desigualdades sobre o estado, como distância mínima a obstáculos, limites das juntas ou uma região para o posicionamento dos pés, e transforma cada um em uma função barreira h(x). O controlador existente do robô ou a política aprendida produz um comando nominal e, a cada ciclo de controle, um solver de QP como o OSQP ou o qpOASES encontra o comando mais próximo que satisfaz todas as restrições de barreira e os limites dos atuadores. Os engenheiros ajustam a função de classe K estendida, muitas vezes um simples ganho linear sobre h, para definir quão cedo o filtro intervém, e testam com comandos nominais deliberadamente inseguros para confirmar que o filtro mantém a fronteira. Como o QP pode se tornar inviável quando as restrições entram em conflito ou as entradas saturam, o sistema também precisa de um comportamento de contingência definido.
Equívocos comuns
- Uma CBF garante segurança no robô real incondicionalmente — a garantia vale para o modelo usado; dinâmica não modelada, atrasos e limites de entrada exigem formulações robustas e margens
- CBFs substituem o controlador principal — elas atuam como um filtro em torno de um controlador nominal e só intervêm perto da fronteira do conjunto seguro
- Qualquer função de distância é uma CBF válida — a função precisa satisfazer a condição de barreira dada a atuação do sistema, o que muitas escolhas ingênuas com grau relativo alto não fazem
- O CBF-QP sempre tem solução — restrições conflitantes ou saturação dos atuadores podem torná-lo inviável, então é preciso um comportamento de contingência
Quem deve saber
- Engenheiros de controle que projetam controladores de robôs críticos para a segurança
- Pesquisadores de aprendizado de robôs que adicionam camadas de segurança a políticas aprendidas
- Desenvolvedores de drones e veículos autônomos
- Estudantes de pós-graduação que estudam controle não linear e controle baseado em otimização
Tecnologias relacionadas
- Função de controle de Lyapunov (Control Lyapunov Function)
- Programação quadrática (Quadratic Programming)
- Controle preditivo baseado em modelo (Model Predictive Control)
- Filtro de segurança (Safety Filter)
- Alcançabilidade de Hamilton-Jacobi (Hamilton-Jacobi Reachability)
- OSQP
Termos relacionados
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
- PyRoki: Modular Python toolkit for kinematic optimization across CPU, GPU, and TPU via JAX
- PyPose: PyTorch library for differentiable robotics with deep learning and Lie group optimization
- mink: Python inverse kinematics library built on MuJoCo supporting 20+ robot platforms
- NeuPAN: Real-time end-to-end planner that maps raw lidar points directly to robot actions
Vídeos
- Lec 40 Control Barrier Function (CBF): NPTEL - Indian Institute of Science, Bengaluru