滑模面、趋近律设计过程详解(滑模控制)
目录
- 1. 确定系统的状态变量和目标
- 2. 定义滑模面
- 3. 选择滑模面的参数
- 4. 设计控制律
- 5. 验证滑模面设计
- 6. 总结
设计滑模面(Sliding Surface)是滑模控制(Sliding Mode Control,SMC)中的关键步骤。滑模控制是一种鲁棒控制方法,通过将系统状态驱动到滑模面上并沿着滑模面滑行,从而达到系统的控制目标。设计滑模面通常包括以下步骤:
1. 确定系统的状态变量和目标
- 首先,明确系统的状态变量 x x x 和控制目标。状态变量通常是系统的状态向量,而控制目标可能是状态变量的某个期望值或轨迹。
2. 定义滑模面
- 滑模面 s ( x ) s(x) s(x)是一个定义在状态空间中的超平面,使得系统在该超平面上具有期望的动态行为。滑模面可以定义为系统状态的某种函数等于零的集合:
s ( x ) = 0 s(x) = 0 s(x)=0
滑模面通常设计为系统状态误差的线性组合,例如:
s ( x ) = C T ( x − x d ) s(x) = C^T(x-x_d) s(x)=CT(x−xd)
其中, C T C^T CT为设计矩阵, x d x_d xd为期望状态。
3. 选择滑模面的参数
- 滑模面的参数(如矩阵 C C C) 的选择应保证系统状态能够被驱动到滑模面上,并沿着滑模面滑行。例如,在一阶系统中,滑模面通常设计为状态误差的比例,如 s ( x ) = x − x d s(x) = x-x_d s(x)=x−xd。对于高阶系统,滑模面可以设计为包含误差及其导数项的多项式,如:
s ( x , x ˙ ) = x ˙ + λ ( x − x d ) = x ˙ + λ e s(x,\dot{x}) = \dot{x} + \lambda(x-x_d) = \dot{x} + \lambda e s(x,x˙)=x˙+λ(x−xd)=x˙+λe
其中, λ \lambda λ为设计参数, e = x − x d e = x-x_d e=x−xd 为状态误差。
滑模面一般可以设计为如下的形式
s ( x ) = ∑ i = 1 n − 1 c i x i + x n s(x) = \sum_{i = 1}^{n-1}c_i x_i + x_n s(x)=i=1∑n−1cixi+xn
设计条件:
p n − 1 + c n − 1 p n − 2 + . . . + c 2 p + c 1 p^{n-1} + c_{n-1} p^{n-2} +...+ c_2 p + c1 pn−1+cn−1pn−2+...+c2p+c1保证该多项式为Hurwit(该条件满足状态 x x x在 s = 0 s = 0 s=0的滑模面上收敛),满足赫尔维茨稳定性,即上述多项式的特征值实部为负,即特征值点在s左半平面。
例如:以文章 滑模变结构控制仿真实例(s-function代码详解) 中的数学模型为例。即:
{ x ˙ 1 = x 2 x ˙ 2 = x 3 x ˙ 3 = x 1 + x 2 x 3 + u \begin{aligned} \left\{ \begin{array}{l} \dot{x}_1 = x_2 \\ \dot{x}_2 = x_3 \\ \dot{x}_3 = x_1 + x_2 x_3 + u \end{array} \right. \end{aligned} ⎩ ⎨ ⎧x˙1=x2x˙2=x3x˙3=x1+x2x3+u
取n = 3, 即 s ( x ) = c 1 x 1 + c 2 x 2 + x 3 s(x) = c_1 x_1+c_2 x_2 + x_3 s(x)=c1x1+c2x2+x3, 为满足Hurwitz条件,要求特征多项式 p 2 + c 2 p + c 1 = 0 p^2+c_2p+c1 = 0 p2+c2p+c1=0的特征值实部为负,取 c 1 = 1 , c 2 = 2 c_1 = 1, c_2 = 2 c1=1,c2=2,得多项式为 p 2 + 2 p + 1 = 0 p^2+2p+1 = 0 p2+2p+1=0,解得两个特征根 − 1 , − 1 -1, -1 −1,−1 满足条件。
根据之前所说,控制器的目的是使状态变量 x 1 , x 2 , x 3 x_1,x_2,x_3 x1,x2,x3收敛到0,我们令 s = 0 s = 0 s=0,即令 s ˙ \dot{s} s˙ = 控制律,进而求解控制器 u u u。
- 该模型中,取 s ˙ \dot{s} s˙ = 趋近律, 采用指数趋近律 s ˙ = − s g n ( s ) − s \dot{s} = -sgn(s)-s s˙=−sgn(s)−s ( s g n ( s ) sgn(s) sgn(s)为符号函数)求得控制器 u u u
u = − s g n ( s ) − s − x 1 − x 2 − 2 x 3 − x 2 x 3 \begin{align*} u = -sgn(s) - s -x_1 -x_2 -2x_3-x_2 x_3 \end{align*} u=−sgn(s)−s−x1−x2−2x3−x2x3
4. 设计控制律
- 传送门:符号函数与饱和函数的滑模设计案例(s-function函数仿真)
- 控制律的设计目的是驱动系统状态到达滑模面并沿滑模面滑行。常见的滑模控制律形式为:
- 等速趋近律: s ˙ = − ε s g n ( s ) \dot{s} = -\varepsilon sgn(s) s˙=−εsgn(s)
ε > 0 , s g n ( s ) 为符号函数, s > 0 时, s g n ( s ) = 1 ; s < 0 时, s g n ( s ) = − 1 , s = 0 时, s g n ( s ) = 0 \varepsilon >0, sgn(s)\,\text{为符号函数,}s>0时,sgn(s) = 1; s<0 时,sgn(s) =-1,s=0 时,sgn(s) = 0 ε>0,sgn(s)为符号函数,s>0时,sgn(s)=1;s<0时,sgn(s)=−1,s=0时,sgn(s)=0 - 指数趋近律: s ˙ = − ε s g n ( s ) − k s \dot{s} = -\varepsilon sgn(s)-ks s˙=−εsgn(s)−ks,其中 ε > 0 , k > 0 \varepsilon > 0, k>0 ε>0,k>0
- 幂次趋近律: s ˙ = − k ∣ s ∣ α s g n ( s ) − k s \dot{s} = -k|s|^{\alpha}sgn(s)-ks s˙=−k∣s∣αsgn(s)−ks, 其中, k > 0 , 0 < α < 1 k>0, 0<\alpha<1 k>0,0<α<1。
符号函数: s g n ( s ) = { 1 , s > 0 0 , s = 0 − 1 , s < 0 \begin{aligned} 符号函数:sgn(s) = \left\{ \begin{array}{l} 1 ,&s>0\\ 0 , &s=0 \\ -1 , &s<0\\ \end{array} \right. \end{aligned} 符号函数:sgn(s)=⎩ ⎨ ⎧1,0,−1,s>0s=0s<0
- 为了避免抖振现象,可以使用连续的近似符号函数,如饱和函数或正切函数。
饱和函数: s a t ( s ) = { 1 s > Δ k s ∣ s ∣ ≤ Δ , k = 1 / Δ − 1 s < − Δ 饱和函数:sat(s)= \left\{ \begin{array}{ll} 1 & s > \Delta \\ ks & |s| \leq \Delta, k = 1/\Delta\\ -1 & s < -\Delta \end{array} \right. 饱和函数:sat(s)=⎩ ⎨ ⎧1ks−1s>Δ∣s∣≤Δ,k=1/Δs<−Δ
5. 验证滑模面设计
- 最后,通过仿真或实际实验验证所设计的滑模面和控制律的有效性。需要确保系统状态能快速到达并保持在滑模面上,且系统的动态性能满足设计要求。
6. 总结
- 滑模面的设计是一个系统化的过程,涉及到系统模型的分析、滑模面函数的定义和参数选择、控制律的设计以及验证和调整。通过合理设计滑模面,可以实现对系统的有效控制,尤其在不确定性和扰动较大的情况下表现出优越的鲁棒性。
(如有不当之处,还望指正)
相关文章:
滑模面、趋近律设计过程详解(滑模控制)
目录 1. 确定系统的状态变量和目标2. 定义滑模面3. 选择滑模面的参数4. 设计控制律5. 验证滑模面设计6. 总结 设计滑模面(Sliding Surface)是滑模控制(Sliding Mode Control,SMC)中的关键步骤。滑模控制是一种鲁棒控制…...
SQL Server 端口配置
目录 默认端口 更改端口 示例:更改 TCP 端口 示例:验证端口设置 远程连接测试 示例:使用 telnet 测试连接 配置防火墙 示例:Windows 防火墙设置 远程连接测试 示例:使用 telnet 测试连接 默认端口 TCP/IP: …...
同一窗口还是新窗口打开链接更利于SEO优化
💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「storm…...
kafka 安装
docker安装kafka(KRaft 模式) KRaft模式不再对Zookeeper依赖。 docker run -d --name kafka-kraft \-p 9092:9092 -p 9093:9093 \-e KAFKA_PROCESS_ROLESbroker,controller \-e KAFKA_NODE_ID1 \-e KAFKA_CONTROLLER_QUORUM_VOTERS1127.0.0.1:9093 \-e KAFKA_LISTENERSPLAINTEX…...
消息队列中间件 - Kafka:高效数据流处理的引擎
作者:逍遥Sean 简介:一个主修Java的Web网站\游戏服务器后端开发者 主页:https://blog.csdn.net/Ureliable 觉得博主文章不错的话,可以三连支持一下~ 如有疑问和建议,请私信或评论留言! 前言 在现代大数据和…...
el-table表格动态合并相同数据单元格(可指定列+自定义合并)
el-table表格动态合并相同数据单元格(可指定列自定义合并)_el-table 合并单元格动态-CSDN博客 vue2elementUI表格实现实现多列动态合并_element table动态合并列-CSDN博客...
复习Nginx
1.关于Nginx Nginx的关键特性 1.支持高并发 2.内存资源消耗低 3.高扩展性(模块化设计) 4.高可用性(master-worker) Nginx运行架构 注意 默认情况下,Nginx会创建和服务器cpu核心数量相等的worker进程 worker进程之间…...
nvm:Node.js 版本管理工具
nvm(Node Version Manager)是一个用于管理多个 Node.js 版本的工具,它允许你在同一个系统上安装和使用不同版本的 Node.js。这对于开发者来说非常有用,特别是当不同的项目需要不同版本的 Node.js 时。 以下是 nvm 的一些主要特性…...
springboot校园商店配送系统-计算机毕业设计源码68448
摘要 本文详细阐述了基于Spring Boot框架的校园商店配送系统的设计与实现过程。该系统针对校园内的用户需求,整合了用户注册与登录、商品浏览与购买、订单管理、配送追踪、用户反馈收集以及后台管理等功能,为校园内的普通用户、商家、配送员和管理员提供…...
【Redis 初阶】客户端(C++ 使用样例列表)
一、编写 helloworld 需要先使用 redis-plus-plus 连接一下 Redis 服务器,再使用 ping 命令检测连通性。 1、Makefile Redis 库最多可以支持到 C17 版本。(如果是用 Centos,需要注意 gcc/g 的版本,看是否支持 C17。不支持的话&a…...
【STM32】STM32单片机入门
个人主页~ 这是一个新的系列,stm32单片机系列,资料都是从网上找的,主要参考江协科技还有正点原子以及csdn博客等资料,以一个一点没有接触过单片机但有一点编程基础的小白视角开始stm32单片机的学习,希望能对也没有学过…...
学生信息管理系统(Python+PySimpleGUI+MySQL)
吐槽一下 经过一段时间学习pymysql的经历,我深刻的体会到了pymysql的不靠谱之处; 就是在使用int型传参,我写的sql语句中格式化%d了之后,我在要传入的数据传递的每一步的去强制转换了,但是他还是会报错,说我…...
Java8.0标准之重要特性及用法实例(十九)
简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 新书发布:《Android系统多媒体进阶实战》🚀 优质专栏: Audio工程师进阶系列…...
Linux系统中,`buffer`和`cache` 区别
在Linux系统中,buffer和cache都是操作系统用来提高磁盘I/O性能的机制,它们通过将数据暂存于内存中来减少对磁盘的直接访问。尽管它们的目的相似,但它们在实现和用途上有所不同。 Buffer 定义:buffer主要用于存储即将被写入磁盘的…...
python创建进度条的两个手搓方法
# 使用\b 回删进行手搓 import sys,time for i in range(1, 101):# 这里的10代表你的进度: 一个汉字2字节print(你的进度:,str(i)\b*(i10),flushTrue,end)time.sleep(0.5) # 利用\r手搓 import sys,time for i in range(1, 101):# \r光标回到开头print("\r", end&qu…...
JAVA—面向对象编程基础
面向对象是java编程的套路。更符合人类思维习惯,编程更直观。面向对象有三大特征:封装,继承,多态。 目录 1.理解面向对象 2.对象在计算机中的执行原理 3.类和对象的一些注意事项 4.类与对象的一些语法知识 (1&am…...
【计算机视觉学习之CV2图像操作实战:车道识别1】
车道识别 步骤 区域感兴趣高斯模糊图片灰度化边缘提取膨胀腐蚀中值滤波霍夫圆环检测直线绘制车道 import cv2 import numpy as npdef create_roi_mask(frame):height, width frame.shape[:2]# 三角形的顶点top_vertex [int(width / 2 30), int(height * 0.5 30)]bottom_l…...
动态之美:Laravel动态路由参数的实现艺术
动态之美:Laravel动态路由参数的实现艺术 在Web开发中,路由是应用程序的神经系统,它负责将请求映射到相应的处理逻辑。Laravel框架提供了一种强大而灵活的路由系统,允许开发者定义动态路由参数,从而创建更具动态性和可…...
Python练手小项目
计算器 创建一个简单的计算器,能够进行加、减、乘、除四种基本运算。 # 定义加法函数 def add(x, y):return x y# 定义减法函数 def subtract(x, y):return x - y# 定义乘法函数 def multiply(x, y):return x * y# 定义除法函数 def divide(x, y):if y 0:return…...
苹果手机通讯录恢复教程?3招速成指南
随着科技的不断进步,手机丢失、系统崩溃等意外情况也时有发生,一旦这些情况发生,我们宝贵的通讯录资料很可能会付诸东流。对此,本文为广大苹果手机用户提供一份简洁明了的通讯录恢复教程,让你轻松掌握苹果手机通讯录恢…...
python爬虫入门(五)之Re解析
一、什么是Re解析 “Re解析”是指使用正则表达式(regular expression,简称regex)进行文本解析或匹配的过程。 解析网页内容的三种方式: 1、bs4解析(最简单) 2、re解析(解析速度最快…...
可靠的图纸加密软件,七款图纸加密软件推荐
大家好啊,我是小固,今天跟大家聊聊图纸加密软件。 作为一名设计师,我深知保护自己的知识产权有多重要。曾经就因为图纸泄露,差点血本无归,那个教训可真是惨痛啊!所以我今天就给大家推荐几款靠谱的图纸加密软件,希望能帮到你们。 固信软件https://www.gooxion.com/ 首先要隆重…...
【每日一题】【最短路】【BFS】小红走矩阵 “葡萄城杯”牛客周赛 Round 53 F题 C++
“葡萄城杯”牛客周赛 Round 53 F题 小红走矩阵 题目背景 “葡萄城杯”牛客周赛 Round 53 题目描述 n m n\times m nm的矩阵由障碍和空地组成,初始时小红位于起点 ( 1 , 1 ) (1,1) (1,1),她想要前往终点 ( n , m ) (n,m) (n,m)。小红每一步可以往上…...
无线磁吸充电宝哪个牌子值得入手?什么牌子磁吸充电宝性价比高?
在当下科技日新月异的时期,无线磁吸充电宝成为了众多电子设备用户的得力助手。然而,面对市场上众多品牌和型号的无线磁吸充电宝,消费者常常陷入选择的困境:到底哪个牌子值得入手?什么牌子的磁吸充电宝性价比高…...
互联网摸鱼日报(2024-08-01)
互联网摸鱼日报(2024-08-01) 36氪新闻 氪星晚报 | Uber与比亚迪合作,将在平台上增加10万辆电动汽车;维维股份将收购大窑汽水?公司回应:消息不实;我国科学家取得全固态锂电池研究新突破 《死侍与金刚狼》,…...
Alpla003经典的价量背离的因子在可转债列表里的因子分析(附python代码)
原创文章第605篇,专注“AI量化投资、世界运行的规律、个人成长与财富自由"。 遗传算法给出的因子五花八门,可解释性不高。 强化学习原理不同,但结果类似。 大模型之前咱们尝试过,Quantlab3.9代码:内置大模型LL…...
进阶理解——typeof 、instanceof
typeof 、instance of 先聊聊JavaScript基本类型数据类型5种含值数据类型2种不含值类型 6种类型的*对象* typeofinstanceof总结进一步扩展一下具体讨论一下typeof局限性扩展判断方法 很多时候,回头望,理解会更深刻,也希望能帮助一些初学的同学…...
不同类型的生物反应器在支架成熟过程中具有哪些特点和应用?
3D Bioprinting of Human Tissues: Biofabrication, Bioinks, and Bioreactors是发表于《International Journal of Molecular Sciences》的一篇综述,详细介绍了3D生物打印人体组织的相关技术进展,包括数据处理、生物打印技术、生物墨水配方、生物反应器…...
8. Spring Ai之入门到精通(超级详细)
简介 2024年5月30号Spring AI 的 1.0.0 里程碑 1 版本发布。表明版本已正在巩固,并且大部分主要错误和问题已经解决,API基本已确定,不会发生很大的变化。 在与大模型集成方面,继LangChain4j之后,又一重大的框架诞生。标…...
寄存器和硬件的关系
寄存器也是一种存储器,只不过普通的存储器只能写和读。里面的数据并没有赋予什么实际意义。但是寄存器就不一样了,寄存器的每一位数据,都对应了硬件电路的状态。寄存器和外设的硬件电路,是可以进行互动的。所以,程序到…...
做网站互联网公司排名/五种关键词优化工具
盒子分别是由margin ,padding,boder以及content 组成盒子分两种:ie的盒子,W3C的盒子例:盒子的 margin 为 20px,border 为 2px,padding 为 10px,content 的宽为 200px、高为 50px。W3C标准的盒子所占空间 w…...
网站开发报价模板/网游推广员
1.能用tap的就不用click事件 2007年苹果发布首款iphone上IOS系统搭载的safari为了将适用于PC端上大屏幕的网页能比较好的展示在手机端上,使用了双击缩放(double tap to zoom)的方案,比如你在手机上用浏览器打开一个PC上的网页,你可能在看到页…...
做电影网站犯罪吗/镇江seo优化
bind 一句话介绍 bind: bind() 方法会创建一个新函数。当这个新函数被调用时,bind() 的第一个参数将作为它运行时的 this,之后的一序列参数将会在传递的实参前传入作为它的参数。(来自于 MDN ) 由此我们可以首先得出 bind 函数的两个特点: 返…...
网站开发用什么技术做好/seo优化培训课程
一开始博主项目中做的是跳转到浏览器下载 后面发现有的手机跳转后无法连接服务器 但是在浏览器访问连接又可以 还没发现什么原因 后面试了3种解决方案 (改为 app内下载、更新)如下: ios由于系统原因 只能跳转到 app stor 这里不讨论 注意…...
大连网龙建站优化推广/网店如何营销推广
更多代码请见:https://github.com/xubo245 基因数据处理系列 1.解释 重新运行,跟换了文件地址 后来终端,需要运行其他的2.代码: hadoopMaster:~/disk2/xubo/project/alignment/sparkBWA$ vi sparkBWA.sh for j in 10000 10000…...
查看网站浏览量/海口关键词优化报价
1: 查询方法调用: search: function(page) {this.page isNaN(page) ? 1 : page; //只要有查询的地方,默认从第一页开始api.getEquipmentList({page: this.page,rows: this.rows,Level: 3,Status: _.trim(this.status),Name: _.trim(this.na…...