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 本身的某個負函數之上。若這個條件在每一瞬間都成立,安全集合就是前向不變的,意思是從安全狀態出發的系統會一直保持安全。
機器人領域最常用的表述,是 Aaron Ames 與其同事在 2010 年代中期發展出來的。對於動態形式為 ẋ = f(x) + g(x)u 的控制仿射系統,屏障條件對控制輸入 u 是線性的。因此,可以在每個控制步線上求解一個小型二次規劃(QP)來找出安全的輸入:在屏障約束與所有致動器限制之下,找出最接近期望標稱指令的輸入。
這個 QP 常被稱為安全濾波器。任何控制器,不論是手動調校的追蹤控制器、規劃器或學習而得的策略,都會提出一個指令,而 CBF-QP 只會在滿足安全約束所需的範圍內修改它。CBF 很自然地會與編碼穩定性或追蹤目標的控制李亞普諾夫函數(CLF)搭配;結合後的 CLF-CBF QP 在將安全視為硬約束的同時,於效能與安全之間取得權衡。
實際使用會帶來幾個問題。要為複雜的幾何形狀或高維度機器人找到有效的屏障函數可能很困難。當約束不直接取決於輸入時,例如以加速度下指令的機器人所受的位置限制,就需要指數型或高階 CBF 等延伸。保證只在模型準確的範圍內成立,因此強健及資料驅動的變體會將模型誤差、輸入限制與取樣時間納入考量。CBF 約束也可以放進模型預測控制問題中,讓控制器在一段時域內向前預看,而不是只根據目前的狀態行動。
為何重要
機器人越來越常在人、障礙物以及自身物理極限附近運作,而控制屏障函數提供了一種有數學根據的方法來強制執行這些限制,不論標稱指令由哪一個控制器產生。由於安全濾波器是一個小型最佳化問題,它能在嵌入式硬體上以控制頻率執行,讓形式化的安全論證變得實際可行,而不只是純理論。
主要應用
- 避免碰撞 — 讓移動機器人、無人機與機器手臂與障礙物保持安全距離
- 學習式策略的安全濾波器 — 以最小幅度修改來自強化學習或模仿學習控制器的指令
- 足式與人形機器人 — 對落腳位置、平衡或自我碰撞施加約束
- 多機器人系統 — 在編隊與群體中維持機器人之間的間距
- 自動駕駛 — 在主動式定速巡航中維持安全的跟車距離
實際應用
團隊通常會先把安全需求寫成關於狀態的不等式,例如與障礙物的最小距離、關節極限或落腳區域,再將每一項轉成一個屏障函數 h(x)。機器人既有的控制器或學習而得的策略會產生一個標稱指令,而在每個控制週期,OSQP 或 qpOASES 等 QP 求解器會找出滿足所有屏障約束與致動器界限、且最接近的指令。工程師會調整延伸 K 類函數(通常是作用在 h 上的一個簡單線性增益)來設定濾波器介入的早晚,並以刻意不安全的標稱指令進行測試,確認濾波器守得住邊界。由於約束衝突或輸入飽和時 QP 可能變得不可行,系統也需要一個明確定義的備援行為。
常見誤解
- CBF 能無條件保證真實機器人的安全 — 保證只對所使用的模型成立;未建模的動態、延遲與輸入限制需要強健的表述與餘裕
- CBF 取代主控制器 — 它們是包在標稱控制器外的濾波器,只在安全集合的邊界附近介入
- 任何距離函數都是有效的 CBF — 該函數必須在系統的致動能力下滿足屏障條件,而許多相對階數高的天真選擇並不滿足
- CBF-QP 一定有解 — 相互衝突的約束或致動器飽和可能使其不可行,因此需要備援方案
誰需要了解
- 設計安全關鍵機器人控制器的控制工程師
- 為學習式策略加入安全層的機器人學習研究人員
- 無人機與自動駕駛車輛開發者
- 研讀非線性控制與最佳化控制的研究生
相關技術
- 控制李亞普諾夫函數(Control Lyapunov Function)
- 二次規劃(Quadratic Programming)
- 模型預測控制(Model Predictive Control)
- 安全濾波器(Safety Filter)
- Hamilton-Jacobi 可達性分析(Hamilton-Jacobi Reachability)
- OSQP
相關術語
相關專案
- 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