当前位置: 首页 > news >正文

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

本次使用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~=pprefu~=uuref
系统偏差模型写成状态方程形式为
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~= 00000000vsin(φ)vcos(φ)00cos(φ)sin(φ)ltan(δ)0 p~+ 000100lcos(δ)2v0 u~
其中,矩阵 A = ∂ f ~ ( p , u ) ∂ p A = \frac{\partial \tilde{f}(p, u)}{\partial p} A=pf~(p,u) B = ∂ f ~ ( p , u ) ∂ u B = \frac{\partial \tilde{f}(p, u)}{\partial u} B=uf~(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×Rargmin21uTH(x)u+FT(x)us.t.{ LfV(x)+LgV(x)u+c3V(x)δ0Lfh(x)Lgh(x)uα(h(x))0

CLF 选取

基于运动学偏差模型,选取CLF V : R n → R V:R^n\rightarrow R V:RnR 如下
V ( p ~ ) = 1 2 p ~ T S p ~ V(\tilde{p})=\frac{1}{2}\tilde{p}^TS\tilde{p} V(p~)=21p~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+QSBR1BTS=0
的解,其中,矩阵 A A A B B B的取值见偏差模型状态方程,满足
V ˙ = d d t p ~ T S p ~ = − ( p ~ T Q p ~ +

相关文章:

  • Redis-基本数据类型
  • 基于VMware的Cent OS Stream 8安装与配置及远程连接软件的介绍
  • 【7】基础入门篇 | YOLOv8 项目【训练】【验证】【推理】最简单教程 | YOLOv8必看 | 最新更新,直接打印 FPS,mAP50,75,95
  • NXP iMX8MP ARM 平台 EMQX 部署测试
  • C++自学笔记---数组和指针的异同点
  • 【11408学习记录】考研英语长难句解析 | 语法拆分+写作模板+真题精讲(附高分秘籍)
  • HTML5图片裁剪工具实现详解
  • LeetCode18四数之和
  • 【Redis】数据的淘汰策略
  • linux磁盘创建分区
  • 开源协议指南:主流许可证核心区别解析
  • 基于javaweb的SpringBoot汉服文化bbs系统设计与实现(源码+文档+部署讲解)
  • “Pseudo Global Warming”:伪全球变暖PGW
  • Diffusion-Based Planning for Autonomous Driving with Flexible Guidance论文细读
  • 【奇点时刻】GPT4o新图像生成模型底层原理深度洞察报告
  • 【Leetcode 994】腐烂的橘子 - 多源 BFS 解题思路与 Java 实现详解
  • Master节点重启k8s集群崩溃解决办法
  • AGI大模型(10):prompt逆向-巧借prompt
  • Windows 系统下安装 Docker
  • 构建网络 练习题三道
  • 什么网站能接单做网站/百度地图人工客服电话
  • 廊坊做网站优化的公司/百度搜索指数和资讯指数
  • 沈阳再次发布疫情通知/南昌seo快速排名
  • 淄博学校网站建设哪家好/域名注册商
  • 广西柳州网站建设/建个网站费用多少
  • 网站开发的后期支持/网站模板购买