Open Source Robotics

고품질 오픈소스 로봇 프로젝트, 도구 및 소프트웨어의 엄선된 컬렉션.

Control Barrier Function

  • 다른 이름: CBF, barrier function, CBF-QP
  • 카테고리: Control › Feedback control
  • 태그: safety, nonlinear-control, optimization, quadratic-programming, safety-filter, collision-avoidance

로봇 상태의 함수로, 그 부호가 안전 집합을 나타낸다. 제어 입력을 제약하는 데 쓰이며, 안전 집합 안에서 시작한 시스템이 그 집합을 결코 벗어나지 않음을 증명할 수 있게 한다.

정의

제어 장벽 함수(control barrier functions, CBF)는 동적 시스템에 안전 제약을 강제하기 위한 비선형 제어 이론의 도구다. 안전 집합은 상태의 스칼라 함수 h(x)가 음이 아닌 영역으로 기술되며, 예를 들어 장애물까지의 거리에서 여유분을 뺀 값이 그런 함수다. 제어 장벽 함수는 h가 얼마나 빨리 감소할 수 있는지에 조건을 추가한다. 제어 입력은 h의 시간 미분을 h 자신의 음의 함수보다 크게 유지해야 한다. 이 조건이 매 순간 성립하면 안전 집합은 전방 불변(forward invariant)이며, 이는 안전한 상태에서 시작한 시스템이 계속 안전하게 유지된다는 뜻이다.

로봇공학에서 가장 많이 쓰이는 정식화는 2010년대 중반 Aaron Ames와 동료들이 개발했다. 동역학이 ẋ = f(x) + g(x)u 형태인 제어 아핀(control-affine) 시스템에서는 장벽 조건이 제어 입력 u에 대해 선형이다. 따라서 매 제어 스텝마다 작은 이차 계획(QP) 문제를 풀어 안전한 입력을 온라인으로 찾을 수 있다. 즉 장벽 제약과 모든 액추에이터 한계를 만족하면서 원하는 공칭 명령에 가장 가까운 입력을 찾는다.

이 QP는 흔히 안전 필터라고 불린다. 수동으로 튜닝한 추종 제어기든, 계획기든, 학습된 정책이든 어떤 제어기가 명령을 제안하면, CBF-QP는 안전 제약을 만족하는 데 필요한 만큼만 그 명령을 바꾼다. CBF는 안정성이나 추종 목표를 담는 제어 리아푸노프 함수(CLF)와 자연스럽게 짝을 이룬다. CLF-CBF 결합 QP는 안전을 하드 제약으로 다루면서 성능과 안전 사이의 균형을 잡는다.

실제 사용에서는 몇 가지 문제가 생긴다. 복잡한 기하 형상이나 고차원 로봇에 대해 유효한 장벽 함수를 찾기는 어려울 수 있다. 가속도로 명령하는 로봇의 위치 제한처럼 제약이 입력에 직접 의존하지 않는 경우에는 지수형 CBF나 고차 CBF 같은 확장이 필요하다. 보장은 모델이 정확한 범위에서만 성립하므로, 강인(robust) 변형과 데이터 기반 변형은 모델 오차, 입력 한계, 샘플링 시간을 고려한다. CBF 제약은 모델 예측 제어 문제 안에 넣을 수도 있으며, 그러면 제어기는 현재 상태에만 반응하는 대신 지평에 걸쳐 앞을 내다본다.

중요한 이유

로봇은 점점 더 사람, 장애물, 그리고 자신의 물리적 한계 가까이에서 작동하며, 제어 장벽 함수는 어떤 제어기가 공칭 명령을 생성하든 그 한계를 강제하는 수학적으로 근거 있는 방법을 제공한다. 안전 필터는 작은 최적화 문제이므로 임베디드 하드웨어에서 제어 주기로 실행할 수 있고, 이 덕분에 형식적인 안전 논증이 순전히 이론에 머물지 않고 실용적이 된다.

주요 응용

  • 충돌 회피 — 이동 로봇, 드론, 로봇 암을 장애물로부터 안전한 거리에 유지
  • 학습된 정책을 위한 안전 필터 — 강화 학습이나 모방 학습 제어기의 명령을 최소한으로 수정
  • 보행 로봇과 휴머노이드 로봇 — 발 디딤, 균형, 자기 충돌에 대한 제약을 강제
  • 다중 로봇 시스템 — 편대와 군집에서 로봇 간 간격을 유지
  • 자동화 주행 — 적응형 크루즈 컨트롤에서 안전한 차간 거리를 유지

실제 사례

팀은 보통 장애물까지의 최소 거리, 관절 한계, 발 디딤 영역 같은 안전 요구 사항을 상태에 대한 부등식으로 적는 것에서 시작해, 각각을 장벽 함수 h(x)로 바꾼다. 로봇의 기존 제어기나 학습된 정책이 공칭 명령을 내고, 매 제어 주기마다 OSQP나 qpOASES 같은 QP 솔버가 모든 장벽 제약과 액추에이터 한계를 만족하는 가장 가까운 명령을 찾는다. 엔지니어는 확장 class-K 함수(흔히 h에 대한 단순한 선형 이득)를 튜닝해 필터가 얼마나 일찍 개입할지 정하고, 일부러 안전하지 않은 공칭 명령으로 테스트해 필터가 경계를 지키는지 확인한다. 제약이 상충하거나 입력이 포화되면 QP의 해가 없어질 수 있으므로, 시스템에는 정의된 대체 동작도 필요하다.

흔한 오해

  • CBF는 실제 로봇에서 무조건 안전을 보장한다 — 보장은 사용한 모델에 대해서만 성립하며, 모델링되지 않은 동역학, 지연, 입력 한계에는 강인한 정식화와 여유분이 필요하다
  • CBF가 주 제어기를 대체한다 — CBF는 공칭 제어기를 감싸는 필터로 작동하며 안전 집합의 경계 근처에서만 개입한다
  • 어떤 거리 함수든 유효한 CBF다 — 함수는 시스템의 구동 방식을 고려했을 때 장벽 조건을 만족해야 하며, 상대 차수가 높은 많은 단순한 선택은 이를 만족하지 못한다
  • CBF-QP는 항상 풀 수 있다 — 상충하는 제약이나 액추에이터 포화 때문에 해가 없을 수 있으므로 대체 동작이 필요하다

알아야 할 사람

  • 안전이 중요한 로봇 제어기를 설계하는 제어 엔지니어
  • 학습된 정책에 안전 계층을 추가하는 로봇 학습 연구자
  • 드론 및 자율주행차 개발자
  • 비선형 제어와 최적화 기반 제어를 공부하는 대학원생

관련 기술

  • 제어 리아푸노프 함수(Control Lyapunov Function)
  • 이차 계획법(Quadratic Programming)
  • 모델 예측 제어(Model Predictive Control)
  • 안전 필터(Safety Filter)
  • Hamilton-Jacobi 도달 가능성 해석(Hamilton-Jacobi Reachability)
  • OSQP

관련 용어

  • Model Predictive Control
  • Obstacle Avoidance
  • Whole-Body Control

관련 프로젝트

  • 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

동영상

  • Lec 40 Control Barrier Function (CBF): NPTEL - Indian Institute of Science, Bengaluru

이 웹사이트는 JavaScript가 필요합니다. 오픈소스 로봇 프로젝트를 탐색하려면 JavaScript를 활성화하세요.