机器人轨迹跟踪控制——CLF-CBF-QP

发布于:2025-04-06 ⋅ 阅读:(221) ⋅ 点赞:(0)

本次使用MATLAB复现CLF-CBF-QP算法,以实现机器人轨迹跟踪同时保证安全性能

模型

使用自行车模型来进行模拟机器人的移动动态,具体的模型推导参考车辆运动学模型-自行车模型

采用偏差变量
p ~ = p − p r e f u ~ = u − u r e f \tilde{p} = p - p_{ref} \\ \tilde{u} = u - u_{ref} p~​=p−pref​u~=u−uref​
系统偏差模型写成状态方程形式为
p ~ ˙ = A p ~ + B u ~ = [ 0 0 − v sin ⁡ ( φ ) cos ⁡ ( φ ) 0 0 v cos ⁡ ( φ ) sin ⁡ ( φ ) 0 0 0 tan ⁡ ( δ ) l 0 0 0 0 ] p ~ + [ 0 0 0 0 0 v l cos ⁡ ( δ ) 2 1 0 ] u ~ \dot{\tilde{p}} = A\tilde{p} + B\tilde{u} = \begin{bmatrix} 0 & 0 & -v\sin(\varphi) & \cos(\varphi) \\ 0 & 0 & v\cos(\varphi) & \sin(\varphi) \\ 0 & 0 & 0 & \frac{\tan(\delta)}{l} \\ 0 & 0 & 0 & 0 \end{bmatrix} \tilde{p} + \begin{bmatrix} 0 & 0 \\ 0 & 0 \\ 0 & \frac{v}{l\cos(\delta)^2} \\ 1 & 0 \end{bmatrix} \tilde{u} p~​˙​=Ap~​+Bu~= ​0000​0000​−vsin(φ)vcos(φ)00​cos(φ)sin(φ)ltan(δ)​0​ ​p~​+ ​0001​00lcos(δ)2v​0​ ​u~
其中,矩阵 A = ∂ f ~ ( p , u ) ∂ p A = \frac{\partial \tilde{f}(p, u)}{\partial p} A=∂p∂f~​(p,u)​, B = ∂ f ~ ( p , u ) ∂ u B = \frac{\partial \tilde{f}(p, u)}{\partial u} B=∂u∂f~​(p,u)​

算法

算法使用控制障碍函数保证安全性,控制李雅普诺夫函数保证轨迹跟踪,具体可以参考基于控制障碍函数(Control Barrier Function)的二次规划(QP)控制
u ∗ ( x ) = arg ⁡ min ⁡ u = ( u , δ ) ∈ R m × R 1 2 u T H ( x ) u + F T ( x ) u s . t . { L f V ( x ) + L g V ( x ) u + c 3 V ( x ) − δ ≤ 0 − L f h ( x ) − L g h ( x ) u − α ( h ( x ) ) ≤ 0 \begin{equation} \nonumber \begin{aligned} & u^*(x)=\underset{u=(u,\delta)\in\mathbb{R}^m\times\mathbb{R}}{\arg\min}\frac{1}{2}u^TH(x)u + F^T(x)u \\ & s.t. \begin{cases} L_fV(x)+L_gV(x)u + c_3V(x)-\delta\leq0 \\ -L_fh(x)-L_gh(x)u-\alpha (h(x))\leq0 \end{cases} \end{aligned} \end{equation} ​u∗(x)=u=(u,δ)∈Rm×Rargmin​21​uTH(x)u+FT(x)us.t.{ Lf​V(x)+Lg​V(x)u+c3​V(x)−δ≤0−Lf​h(x)−Lg​h(x)u−α(h(x))≤0​​​

CLF 选取

基于运动学偏差模型,选取CLF V : R n → R V:R^n\rightarrow R V:Rn→R 如下
V ( p ~ ) = 1 2 p ~ T S p ~ V(\tilde{p})=\frac{1}{2}\tilde{p}^TS\tilde{p} V(p~​)=21​p~​TSp~​
其中,矩阵 S S S为 LQR 线性二次调节器过程中产生的 Algebraic Riccaci Equation 等式
A T S + S A + Q − S B R − 1 B T S = 0 A^TS + SA+Q - SBR^{-1}B^TS = 0 ATS+SA+Q−SBR−1BTS=0
的解,其中,矩阵 A A A、 B B B的取值见偏差模型状态方程,满足
V ˙ = d d t p ~ T S p ~ = − ( p ~ T Q p ~ +


微信公众号

今日签到

点亮在社区的每一天
去签到