滑模控制学习笔记(五)

  • 基于连续切换的滑模控制
    • 双曲正切函数
    • 基于双曲正切函数的滑模控制
    • 仿真实例

基于连续切换的滑模控制

  采用饱和函数虽然可以抑制抖振,但其并非连续函数,不适合对于切换函数需要求导的场合,采用双曲函数可代替不连续的饱和函数降低滑模控制中的抖振。

双曲正切函数

  双曲正切函数表达式如下:tanh(xϵ)=exϵ−e−xϵexϵ+e−xϵ,ϵ>0(1)tanh(\frac{x}{\epsilon})=\frac{e^\frac{x}{\epsilon}-e^{-\frac{x}{\epsilon}}}{e^\frac{x}{\epsilon}+e^{-\frac{x}{\epsilon}}},\ \ \epsilon>0 \tag1tanh(ϵx​)=eϵx​+e−ϵx​eϵx​−e−ϵx​​,  ϵ>0(1)其中ϵ\epsilonϵ决定了趋于极限的速度,双曲函数有以下两个特点:

  1. xtanh(xϵ)≥0x\ tanh(\frac{x}{\epsilon}) \geq0x tanh(ϵx​)≥0
  2. 0≤∣χ∣−χtanh⁡(xϵ)≤μϵ,μ=0.27850\leq |\chi|-\chi \tanh(\frac{x}{\epsilon})\leq\mu\epsilon,\ \ \mu=0.27850≤∣χ∣−χtanh(ϵx​)≤μϵ,  μ=0.2785

其函数图像如下:

基于双曲正切函数的滑模控制

  考虑被控对象:Jθ¨(t)=u(t)+d(t)(2)J\ddot \theta(t) = u(t)+d(t)\tag{2}Jθ¨(t)=u(t)+d(t)(2)其中JJJ为转动惯量,θ(t)\theta(t)θ(t)为角度,u(t)u(t)u(t)为控制输入,d(t)d(t)d(t)为外加干扰,且∣d(t)∣≤D|d(t)|\leq D∣d(t)∣≤D。
  设计滑模函数:s(t)=ce(t)+e˙(t)(3)s(t) = ce(t)+\dot e(t)\tag3s(t)=ce(t)+e˙(t)(3)跟踪误差及其导数为e(t)=θd(t)−θ(t),e˙(t)=θ˙d(t)−θ˙(t)(4)e(t) = \theta_d(t) -\theta(t),\dot e(t) = \dot \theta_d(t)-\dot \theta(t)\tag4e(t)=θd​(t)−θ(t),e˙(t)=θ˙d​(t)−θ˙(t)(4)定义李雅普诺夫函数V=12s2(5)V = \frac{1}{2}s^2\tag5V=21​s2(5)则V˙=ss˙=s(θ¨d+ce˙−1J(u+d))(6)\dot V = s\dot s = s(\ddot \theta_d+c\dot e-\frac{1}{J}(u+d))\tag6V˙=ss˙=s(θ¨d​+ce˙−J1​(u+d))(6)基于双曲正切函数得到控制律u=J(θ¨d+ce˙+ηs)+Dtanh(sϵ)(7)u = J(\ddot \theta_d+c\dot e+\eta s)+Dtanh(\frac{s}{\epsilon})\tag7u=J(θ¨d​+ce˙+ηs)+Dtanh(ϵs​)(7)将控制律带入V˙\dot VV˙得到ss˙=−ηs2−sJ(d+Dtanh(sϵ))(8)s\dot s = -\eta s^2-\frac{s}{J}(d+Dtanh(\frac{s}{\epsilon}))\tag8ss˙=−ηs2−Js​(d+Dtanh(ϵs​))(8)根据双曲函数性质−Dstanh(sϵ)≤−D∣s∣+Dμϵ(9)-Ds\ tanh(\frac{s}{\epsilon})\leq -D|s|+D\mu\epsilon \tag9−Ds tanh(ϵs​)≤−D∣s∣+Dμϵ(9)则ss˙≤−ηs2+DμϵJ(10)s\dot s \leq -\eta s^2 +\frac{D\mu\epsilon}{J}\tag{10}ss˙≤−ηs2+JDμϵ​(10)根据上式求解VVV的微分方程V˙=−2ηV+DμϵJ(11)\dot V = -2\eta V+\frac{D\mu\epsilon}{J}\tag{11}V˙=−2ηV+JDμϵ​(11)得到V(t)=ce−2ηt+Dμϵ2ηJ(12)V(t) = ce^{-2\eta t}+\frac{D\mu\epsilon}{2\eta J}\tag{12}V(t)=ce−2ηt+2ηJDμϵ​(12)根据该解可以得到结论:

  1. 当t→∞t \rightarrow \inftyt→∞,V→Dμϵ2ηJV \rightarrow \frac{D\mu \epsilon}{2 \eta J}V→2ηJDμϵ​,可见系统存在稳态误差,误差大小取决于D、ϵ、ηD 、\epsilon 、\etaD、ϵ、η。
  2. V(t)V(t)V(t)的收敛速度取决于η\etaη的大小,η\etaη越大,收敛速度越快。

仿真实例

  考虑被控对象:Jθ¨(t)=u(t)+d(t)J\ddot \theta(t) = u(t)+d(t)Jθ¨(t)=u(t)+d(t)。其中J=10,θd(t)=sint,d(t)=50sintJ=10,\theta_d(t) = sint,d(t) = 50sintJ=10,θd​(t)=sint,d(t)=50sint。初始状态设置为[−0.5,0.8][-0.5,0.8][−0.5,0.8]。
  控制器设计参数为c=0.5,η=10,D=50,ϵ=0.02c = 0.5,\eta =10,D = 50,\epsilon = 0.02c=0.5,η=10,D=50,ϵ=0.02,得到如下模型,其中SMC控制器函数如下:

function u = fcn(de,s,ddthd)
c = 0.5;
eta = 10;
D =50;
eps = 0.02;
J = 10;
u = J*(c*de+ddthd+eta*s)+D*tanh(s/eps);


其位置输出、控制律以及误差的相轨迹如下图所示:

通过观察相轨迹发现,误差并未在原点处,而是在一个近似的圆周上运动,这也就说明系统存在着稳态误差。

滑模控制学习笔记(五)相关推荐

  1. 滑模控制学习笔记(六)

    滑模控制学习笔记(六) 等效滑模控制 等效滑模控制器设计 等效控制设计 滑模控制设计 仿真实例 等效滑模控制   滑模控制率可由等效控制uequ_{eq}ueq​和切换鲁棒控制uswu_{sw}usw ...

  2. 滑模控制学习笔记(三)

    滑模控制学习笔记(三) 基于趋近律的滑模控制 几种典型的趋近律 等速趋近律 指数趋近律 幂次趋近律 一般趋近律 基于趋近律的控制器设计 仿真实例 状态空间模型建立 滑模控制器模型建立 仿真结果 基于趋 ...

  3. 滑模控制学习笔记(四)

    滑模控制学习笔记(四) 基于上界的滑模控制 系统描述 控制器设计 仿真实例 基于准滑动模态的滑模控制 仿真实例 基于上界的滑模控制 系统描述   考虑二阶非线性系统如下:θ¨=f(θ,θ˙)+g(θ, ...

  4. 滑模控制学习笔记(一)

    滑模控制学习笔记(一) 滑模控制基本理论 1.滑模变结构控制定义 2. 滑模面的参数设计 3.滑模消抖方式 4.滑模变结构控制理论研究方向 滑模控制基本理论 \quad\quad 滑模变结构控制在机器 ...

  5. 机器人动力学与控制学习笔记(九)————基于模糊自适应增益调整的机器人滑模控制

    九.基于模糊自适应增益调整的机器人滑模控制 采用自适应模糊系统,可实现机器人滑模控制中切换增益的自适应逼近,从而消除滑模控制中的抖振.本文设计一类基于模糊自适应增益调整的机器人滑模控制设计方法. 9. ...

  6. 模电学习笔记(五)——反相求和电路

    模电学习笔记(五) 反相求和电路设计 如下图就是一个反相求和电路设计拓扑 同个例子来说明如何设计反相求和电路 设计目标: 输入1(V) 输入2(V) 输出(V) 频率(kHz) 电源(V) 最小 最大 ...

  7. VSC/SMC(十五)——基于模糊逼近的积分滑模控制

    目录 前言 1. 一阶系统积分滑模 1.1 一阶系统 1.2 控制器设计 1.2.1 选取积分滑模面 1.2.2 选取指数趋近律 1.2.3 Lypunov闭环系统稳定性证明 1.3 仿真分析 1.4 ...

  8. 基于滑模控制的永磁同步电机直接转矩控制学习

    导读: 针对传统的DTC存在的问题进行,本期主要介绍基于滑模控制的永磁同步电机直接转矩控制. 如果需要文中的仿真模型,关注微信公众号:浅谈电机控制,获取. 传统DTC采用两个 Bang-bang 控制 ...

  9. VSC/SMC(十四)——全局快速Terminal滑模控制(含程序模型)

    目录 1. 收敛时间分析 2.高阶全局Terminal滑模控制器设计与分析 3.高阶全局Terminal滑模鲁棒控制器设计与分析 3.1 总结 4. 仿真分析 4.1 二级非线性系统 4.2 S函数编 ...

最新文章

  1. oracle rodo 查看大小,Checkpoint not complete故障
  2. MLIR(Multi-Level Intermediate Representation)概述
  3. 无法向会话状态服务器发出会话状态请求
  4. 重拾Javascript基础(五) - JS设计模式
  5. 区域数据导入功能(OCUpload插件使用)
  6. Linux -su、sudo、限制root远程登录
  7. Google Chrome 1.0.154.46稳定版本发布 修复高危安全漏洞
  8. 今日头条10.82亿元拿下 “中国最牛街道”土地:将与腾讯、阿里做邻居
  9. thinkphp5的Illegal string offset 'id'错误
  10. go语言垃圾回收机制详解
  11. H5 通过Ajax方式上传文件,使用FormData进行Ajax请求
  12. java reader类 实例_Java文件类操作实例总结
  13. 《问佛》——仓央嘉措
  14. 打造一款最强王者云笔记typora+坚果云+阿里云oss?
  15. 计算机应用研究抄袭撤稿,衢州畜牧兽医高级职称评审北大核心期刊书评发表
  16. 一个人的思想:漫谈技术社区
  17. 使用 FFmpeg 开发播放器基础--使用 ffmpeg 解码视频文件
  18. PHP5中调用Java类
  19. Linux ora-12514多实例,ORA-12514问题解决
  20. t3安装找不到主机服务器,安装客户端后提示:不能连接服务器,可能是:没有安装T3产品或数据服务没有启动。...

热门文章

  1. Vue浏览器调试工具VueTools安装以及使用
  2. 今天来介绍怎么获取 3D 素材,进行 Cocos Creator 3D 游戏开发体验!
  3. 原笔迹书写技术哪家好?课室专用手写一体机品牌
  4. [模型学习]Attention机制及其原理推导
  5. emqtt服务器重启配置不生效
  6. 三张图片无缝合成一张图片_如何实现两张图片的无缝结合
  7. SSIMLoss的用法(CoRRN)
  8. 漫画:程序员调Bug的真实写照
  9. 子域名爆破C段查询调用Bing查询同IP网站
  10. 初识 MySQL HeatWave