【控制理论】滑模控制最强解析

2023-05-16

更新,在知乎创建了一个专栏,主要包括一些控制理论和机器人控制方面的知识。

https://zhuanlan.zhihu.com/p/78549442


滑模控制是一种相当简单而且控制性能优越的控制方法,但是绝大多数的工厂在做过程控制时还是只考虑PID控制,我觉得有必要写一篇文章详细的解释一下它的工作原理。

它的控制效果优越体现在哪里呢?主要是两点:1、滑动模态可以进行设计,调节的参数少,响应速度快。2、对扰动不灵敏。什么是干扰?如果你的机器好端端地在工作,突然来了一个熊孩子拿起一钉锤就是一顿敲;或者工厂附近有高铁,每隔一段时间地面就要抖两下。滑模控制对扰动有很强的抑制能力,这对于在复杂环境工作下的机器来说非常友好。

滑模控制本质上是非线性控制的一种,简单的说,它的非线性表现为控制的不连续性,即系统的“结构”不固定,可以在动态过程中根据系统当前的状态有目的地不断变化,迫使系统按照预定“滑动模态”的状态轨迹运动。

 

针对一个真实的系统来解释,现在假设光滑的平面上有一个小木块,它在坐标轴X=2处,它存在一个向坐标轴远离的速度\dot{x}=2,现在的问题就是如何设计一个控制器让它最后能停在原点。

                                            

1、根据上面的描述,可以写出这个小木块的状态方程:

                                                                                   

x1,x2分别代表木块的位置和速度,u代表控制器的输出,控制目标很明确,最终要让x_1=0,x_2=0。用系统框图来表示为:

                   

2、设计滑模面

                                                                         

这里可能有人就要问了,滑模面是个什么东西?凭什么要写成这种形式而不是其他形式?

之前说过了控制器的目的是为了使得x_1=0,x_2=0,那如果s=0,会有什么结果呢?

可以看出状态量最终都会趋于零,而且是以指数速度趋近,指数趋近速度什么意思,也就是说当t=1/c时,趋近到零的这个过程它已经完成了63.2%,当t=3/c时,它已经完成了95.021%。调节c的大小可以调节状态趋近于零的速度。c越大,速度也就越快。所以如果满足s=cx_1+x_2=0,那么系统的状态将沿着滑模面趋于零,(s=0称之为滑模面)。用相平面来表示这个指数趋近的过程为,沿着箭头的方向移动到原点的这个过程就是设计滑模面要实现的效果。                                     

3、设计趋近律,寻找s与控制u之间的关系

上面说到如果s=0状态变量最终会趋于零,可是如何保证s=0呢?这就是控制率u所要实现的内容了。

s=cx_1+x_2,在这个方程里面并没有u,我们想到可能和u有关系,果然:

                                                     

趋近律就是指的\dot{x},趋近律一般有如下几种设计:

                                                   

根据以上的趋近律,可以求出控制器u的表达式,对于\dot{s}=-\varepsilon sgn(s),\varepsilon >0来说,u=-cx_2-\varepsilon sgn(s),对木块施加该u的控制,那么最终木块会稳定在原点。

再回来解释为什么趋近律\dot{s}这么设计会保证s=0。

在控制原理中,用Lyapunov函数来判断系统的稳定性,对于系统状态方程\dot{s}=cx_2+u(目标已经变成s=0,因此现在写成s的状态方程),对于平衡点s,如果存在一个连续函数V满足

那么系统将在平衡点s=0处稳定,即\lim_{t\rightarrow \infty}s=0

V(s,t)=1/2s^2,很明显满足第一个条件,第二个条件也满足。满足Lyapunov函数的条件,s最终会稳定滑模面,也就是s=0。

讲到这里,我们可以稍微总结一下滑模控制的设计步骤。首先根据被控对象的状态方程设计滑模面s=CX,状态一旦到达滑模面,将以指数趋近方式达到稳定状态。然后设计趋近律\dot{s}求出控制器的表达,李雅普诺夫函数作为稳定性的保证,即保证s=0可达,(相平面中的其他点能到达滑模面)。

 


细心的朋友可能发现了一个问题,Lyapunov函数的两个条件能保证\lim_{t\rightarrow \infty}s=0,但是这个几乎没有什么用处。为什么这么说呢,因为它对到达的时间没有任何的要求,t=2s时s=0和t=200s时s=0都满足Lyapunov函数的要求,万一真的出现那种长时间才到达滑模面的情况,在实际情况下,是没有意义的。

对Lyapunov函数的第二个条件做修改,让它能实现有限时间达到稳定点。

对于改进后的第二个条件,分离变量然后积分,假设积分时间为t。

                      

                                                                                 \int _0^t \frac{\dot V}{V^{1/2}}dt\leq -\alpha t

得到:

                                                          

根据这个不等式可以看出V将在有限时间tr内到稳定点,\alpha越大,到达稳定点的时间越快。

                                                                 

因为Lyapunov条件的改变,控制器u也要相应做出改变:

只有满足才能实现有限时间到达滑模面。

 

 


咱们继续分析,因为以上的讨论都还没有涉及干扰项d,现在将干扰加入系统状态方程,看看滑模控制是怎么做到对干扰不敏感的,这是真的牛。

加入干扰项后,有新的状态方程:

                                                                          

当然,这对滑模面的设计没有影响,滑模面还是,变化的是趋近律\dot{s},控制率u还是保持上面的形式

为了满足Lyapunov函数,有:

                                                

上式中的L表示干扰的上界,

对比\dot{V}的条件,只有当时,Lyapunov函数既满足有限时间收敛又负定。因此,系统仍按照先滑动到滑模面,再沿滑模面做指数趋近运动。干扰没有对系统造成影响。

 

因为几天前老师给我开了小灶,花了几个小时专门讲滑模,所以心血来潮总结了这一篇文章,用viso画图、敲公式尽量想把这篇博客写得好一点,结果断断续续花了一天的时就按才搞完,心累。另外,CSDN的编辑器是真的难用

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【控制理论】滑模控制最强解析 的相关文章

  • 滑模控制原理_串讲:控制理论:滑模 SMC理论

    SMC理论可以理解为滑模的控制器理论 xff0c 即它的输出量是间接或者直接作用于被控对象上的 对于被控对象来讲 xff0c 假设 有n个状态变量 xff0c 系统状态和输出方程如下所示 xff1a xff08 1 xff09 如果精确控制
  • 控制理论——自动控制原理若干概念

    1 对自动控制系统的基本要求 稳定性 被控量因扰动偏离期望值后 xff0c 经过过渡过程可以恢复到原来的期望值状态 快速性 包含两方面 xff1a 过渡过程的时间 最大超调量 xff08 震荡幅度 xff09 准确性 指稳态误差 xff1a
  • Pixhawk之UAV控制理论、ardupilot源码框架介绍

    一 开篇 您有无人机么 xff1f 没有 那赶紧去某宝买一套 昨天 开会开到接近下午一点钟 xff0c 收获相当大 xff0c 原本不太清楚的ardupilot框架现在也大致熟悉了 xff0c 接下来主要就是结合源码了解其控制过程了 xff
  • 自适应控制设计(二)

    自适应控制设计 二 自适应控制基本思想 一文主要介绍了自适应控制设计的基本思路 但是针对控制率的设计没有具体说明 这里针对反馈控制率的设计步骤进行具体介绍 控制器设计基本思想 对于任何一个动态系统 我们都可以根据Lyapunov稳定性设计其
  • 自适应神经网络控制

    自适应神经网络控制 基本思路 自适应控制率 u u u 1b x a x v 1 b x 1 b2 x b x 2b2 x es u frac 1 b x a x v left frac 1 varepsilon b x frac 1 va
  • [非线性控制理论]4_反馈线性化_反步法

    非线性控制理论 1 Lyapunov直接方法 非线性控制理论 2 不变性原理 非线性控制理论 3 基础反馈稳定控制器设计 非线性控制理论 4 反馈线性化 反步法 非线性控制理论 5 自适应控制器 Adaptive controller 非线
  • [非线性控制理论]5_自适应控制器(Adaptive controller)

    非线性控制理论 1 Lyapunov直接方法 非线性控制理论 2 不变性原理 非线性控制理论 3 基础反馈稳定控制器设计 非线性控制理论 4 反馈线性化 反步法 非线性控制理论 5 自适应控制器 Adaptive controller 非线
  • [非线性控制理论]2_不变性原理

    非线性控制理论 1 Lyapunov直接方法 非线性控制理论 2 不变性原理 非线性控制理论 3 基础反馈稳定控制器设计 非线性控制理论 4 反馈线性化 反步法 非线性控制理论 5 自适应控制器 Adaptive controller 非线
  • Matlab迭代算法实现

    牛顿迭代法 雅可比迭代法 高斯赛德迭代法 超松弛迭代法 SOR 共轭迭代法 牛顿迭代法 代码实现案例 原函数输入 function y newton x y exp x 4 2 x 1 任意函数 end 保存要进行牛顿迭代的函数 牛顿迭代函
  • [非线性控制理论]4_反馈线性化_反步法

    非线性控制理论 1 Lyapunov直接方法 非线性控制理论 2 不变性原理 非线性控制理论 3 基础反馈稳定控制器设计 非线性控制理论 4 反馈线性化 反步法 非线性控制理论 5 自适应控制器 Adaptive controller 非线
  • [动态系统的建模与分析]9_一阶系统的频率响应_低通滤波器

    动态系统的建模与分析 8 频率响应 详细数学推导 G jw 滤波器 运放滤波器 3 反相同相比例放大电路 Multisim电路仿真 运放滤波器 2 运放反馈原理 运放滤波器 1 理想运放 虚短虚断 现代控制理论 11 现代控制理论串讲 完结
  • [动态系统的建模与分析]8_频率响应_详细数学推导 G(jw)_滤波器

    运放滤波器 3 反相同相比例放大电路 Multisim电路仿真 运放滤波器 2 运放反馈原理 运放滤波器 1 理想运放 虚短虚断 现代控制理论 11 现代控制理论串讲 完结 pdf获取 信号与系统在工程中 里面的一些工具应该是奠基石 电路
  • 从控制理论的根轨迹法和稳定性分析谈到舵机PD控制代码实现

    在上一次谈到基于MPU6050的基于一阶互补滤波算法实现后 本来想接着就自适应一阶互补滤波和卡尔曼滤波再写一篇的 但是卡尔曼滤波算法我自己写出来并进行姿态解算后发现效果不很好 才疏学浅 等我调好了再写吧 昨天花了半下午做了一个基于MPU60
  • 《现代控制系统》第五章——反馈控制系统性能分析 5.4 二阶系统里面极点以及零点带来的影响

    上一节图里面描绘的曲线 仅仅是针对阶跃响应为 的系统来说的 但是这给我们提供了一个很好的例子 许多系统拥有成对的主极点 我们可以通过类似上图的关系来估计系统的阶跃响应 这个方法尽管只是一个估算 但却能在避免拉普拉斯转化的情况下提供一个对超调
  • 最优控制的理解

    最优控制 在满足一定约束的情况下 寻求最优控制策略 使得性能指标取极大值或极小值 对一个受控的动力学系统 从一类允许的控制方案中寻找一个最优的控制方案 使得系统的运动从由某个初始状态转移到目标状态的同时 其性能指标值为最优 性质 在一般的情
  • [现代控制理论]4_PhasePortrait爱情故事动态系统分析

    现代控制理论 11 现代控制理论串讲 完结 pdf获取 现代控制理论 10 可观测性与分离原理 观测器与控制器 现代控制理论 9 状态观测器设计 龙伯格观测器 现代控制理论 8 5 线性控制器设计 轨迹跟踪simulink 现代控制理论 8
  • LTV-MPC

    For compatibility with the adaptive mode the plant model specified in your controller object must be LTI state space OK
  • [现代控制理论]7_线性控制器设计_Linear Controller Design

    现代控制理论 11 现代控制理论串讲 完结 pdf获取 现代控制理论 10 可观测性与分离原理 观测器与控制器 现代控制理论 9 状态观测器设计 龙伯格观测器 现代控制理论 8 5 线性控制器设计 轨迹跟踪simulink 现代控制理论 8
  • 用MATLAB和内点法实现带有时变不等式约束的分布式优化

    文章目录 问题描述 内点法 MATLAB实现 仿真结果 源代码 问题描述 考虑代价函数 f i x i
  • [非线性控制理论]6_滑模控制 (sliding mode control)

    非线性控制理论 1 Lyapunov直接方法 非线性控制理论 2 不变性原理 非线性控制理论 3 基础反馈稳定控制器设计 非线性控制理论 4 反馈线性化 反步法 非线性控制理论 5 自适应控制器 Adaptive controller 非线

随机推荐

  • org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; Content is not allowed in prolog

    用sax读xml文件时常会出现这个异常 xff0c 一般上网可以看到的原因是 1 BOM 在java中测试inputstream中是否有bom可以用apache commons IO 的org apache commons io input
  • 基于深度学习的自然场景文字识别

    1 1引言 传统光学字符识别主要面向高质量的文档图像 xff0c 此类技术假设输入图像背景干净 字体简单且文字排布整齐 xff0c 在符合要求的情况下能够达到很高的识别水平 与文档文字识别不同 xff0c 自然场景中的文字识别 图像背景复杂
  • PX4 cdc bootloader应用

    1 首先下载px4 bootloader master和px4 libopencm3 xff0c 解压到指定的目录 xff1b 2 编译和安装libopencm3的库 xff1b 3 进入Bootloader目录 xff0c 编译生成 el
  • 北邮人论坛介绍如何学好CS

    https bbs byr cn article Job 1792956 p 61 1
  • Ubuntu18.04 + 树莓派4B + wifi + 换源 +ssh + 防火墙相关 + mate桌面 + + vnc + ROS Melodic

    说在前面的话 xff0c 这是一个系列文章 xff0c 研究从零落地 slam 小车 xff0c 以下内容的 markdown 形式上传Gitee Github 了可以直接 down 下来用捏 Gitee 从零落地 slam 小车 从烧录系
  • 测试用例优先级与三轮测试的结合

    测试用例优先级与三轮测试的结合 发布时间 2009 7 10 15 01 作者 meizhu 来源 Taobao QA Team 字体 小 中 大 上一篇 下一篇 打印 我要投稿 每周一问 xff0c 答贴有奖 测试用例优先级 三轮测试 x
  • OpenStack环境部署详细操作步骤

    OpenStack 环境配置 虚拟机资源信息 1 控制节点ct CPU xff1a 双核双线程 CPU虚拟化开启 内存 xff1a 8G 硬盘 xff1a 300G 43 1024G xff08 CEPH块存储 xff09 双网卡 xff1
  • yolov5 代码解读 --common.py

    先从common py学起 xff0c 接下来的近期时间将会对yolov5的代码进行解析 xff0c 以及对yolov5的网络结构进行解析 在common py文件中主要是封装了不同的通用模块 1 xff1a 头文件 这是commonpy依
  • 为什么要架设移动基站

    RTK基站 RTK 基站是植保无人机系统实现精准作业的基石和保障 xff0c 植保无人机或手持测绘器实时接收 RTK 基站广播的差分数据 xff0c 实时纠正 GNSS xff08 全球卫星导航系统 xff09 的导航误差 xff0c 从而
  • RTK和PPK技术科普

    参考链接2 xff1a https blog csdn net hailiannanhai article details 78494366 RTK技术 RTK xff08 Real time kinematic xff0c 实时动态 xf
  • cas-overlay-template 搭建单点登录服务端

    1 先下载overlay template的源码 git clone https github com apereo cas overlay template git 切换到5 3的分支 2 编译的坑 需要下载cas server weba
  • Docker容器中时间设置

    项目中使用SpringBoot框架 xff0c docker部署 xff1b 默认容器使用UTC时间 xff0c 跟本地时间相差8个小时 xff0c 在查看日志的时候时间偏差很不爽 xff0c 于是参考了网上资料之后做了一些修改 xff0c
  • 认识蜂鸣器和声音奥秘

    1 编程知识点 xff08 循环逻辑 变量 xff09 2 模块知识点 xff08 蜂鸣器模块 xff09 3 科学知识点 xff08 声音的奥秘 xff09 环境 xff1a 网络及手机 电脑 准备 xff1a 小龟小车主控板 第一节 x
  • mini2440 触摸屏调试程序记录

    今天看了一下s3c2440的touch screen control借口 xff0c 完成了裸机程序的调试 xff0c 把代码记录如下 其他的代码和前面做的实验基本一样 xff0c 只是在ad中断里面添加了对于触摸屏的处理 xff0c 初始
  • 【控制理论】用ADRC控制倒立摆

  • 【控制理论】状态观测器解析

    背景 有些状态量并不能由传感器直接观测出来 xff0c 那么可以通过控制量和输出量把状态量观测出来 全状态观测器 对于一个系统 x 61 A x 43
  • 【控制理论】线性二次型最优控制解析

    https blog csdn net heyijia0327 article details 39270597 这篇文章把线性二次型的最优控制问题讲的很透彻了 xff01 有几个问题在这里提一下 xff1a 1 如何确定Q矩阵 R矩阵 x
  • Ubuntu系统中添加中文字体和修改默认中文字体

    在Ubuntu系统中 中文字体默认是繁体的 而且比较难看 xff0c 但是Ubuntu系统的英文字体却很好看 xff0c 就想只修改中文字体 xff0c 保留默认的英文字体 首先检查是否安装了中文字体 xff0c 在终端上输入下面指令查看已
  • window7 触屏操作相关

    一 体系概述 1 Windows Touch Input 和 Gestures消息 Windows Touch消息特性 通过在执行期间的监听和解释来使能 下面的示例展示了Windows7 上消息是怎么从硬件产生并发给应用程序的 在最左边的那
  • 【控制理论】滑模控制最强解析

    更新 xff0c 在知乎创建了一个专栏 xff0c 主要包括一些控制理论和机器人控制方面的知识 https zhuanlan zhihu com p 78549442 滑模控制是一种相当简单而且控制性能优越的控制方法 xff0c 但是绝大多