滑模与终端滑模(SMC):控制领域的奇妙之旅

滑模 终端滑模 smc

在控制理论的广阔天地里,滑模控制(Sliding Mode Control,SMC)宛如一颗璀璨的明珠,而终端滑模则是在其基础上进一步发展的瑰宝。今天,咱们就来唠唠这滑模和终端滑模到底是啥神奇玩意儿。

滑模控制(SMC)基础

滑模控制的核心思想有点像引导一辆车沿着特定轨迹行驶。想象一下,你开车要去一个目的地,有一条理想的路线,滑模控制就是想尽办法让车始终沿着这条理想路线走,即使路上有各种干扰。

从数学和控制的角度看,我们定义一个滑动面函数 \(s(x)\),这里 \(x\) 是系统的状态变量。当系统状态在这个滑动面上运动时,系统能呈现出我们期望的性能。比如说,对于一个简单的二阶控制系统,状态变量 \(x = [x1, x2]^T\),我们可能定义滑动面 \(s = c x1 + x2\),其中 \(c\) 是一个根据系统特性精心选择的常数。

下面咱们来点简单代码示例,用Python和控制库来模拟一个简单的滑模控制系统。假设我们有一个一阶线性系统 \(\dot{x} = -x + u\),目标是让 \(x\) 跟踪参考信号 \(r\)。

import numpy as np import matplotlib.pyplot as plt # 定义系统参数 a = -1 b = 1 c = 1 # 滑动面参数 # 时间设置 t = np.linspace(0, 10, 1000) dt = t[1] - t[0] # 初始化变量 x = np.zeros(len(t)) u = np.zeros(len(t)) r = np.sin(t) # 参考信号 # 滑模控制模拟 for i in range(len(t) - 1): s = c * x[i] + (r[i + 1] - r[i]) / dt if s > 0: u[i] = -1 else: u[i] = 1 x[i + 1] = x[i] + dt * (a * x[i] + b * u[i])

在这段代码里,我们先定义了系统的参数 \(a\) 和 \(b\),还有滑动面参数 \(c\)。然后设定时间范围和初始化变量。在循环里,我们根据滑动面函数 \(s\) 的值来确定控制输入 \(u\)。如果 \(s > 0\),就给系统一个负的控制输入,反之给正的控制输入。这样系统状态 \(x\) 就会逐渐被引导到我们期望的轨迹上。

终端滑模控制(Terminal SMC)进阶

终端滑模控制是滑模控制的升级版,它能让系统在有限时间内收敛到平衡点,就好比开车不仅要沿着理想路线走,还得在规定时间内到达目的地。

滑模 终端滑模 smc

终端滑模的滑动面设计更为巧妙,例如对于二阶系统,可能会定义终端滑模面 \(s = x2 + \lambda x1^{\frac{q}{p}}\),其中 \(\lambda\) 是正常数,\(q\) 和 \(p\) 是满足一定条件的正奇数。这种设计使得系统在靠近平衡点时,收敛速度更快。

下面还是以刚才的一阶系统为例,简单改改代码来体现终端滑模的效果。这里我们为了简化,只修改滑动面函数部分,实际应用中还需要更复杂的设计和推导。

import numpy as np import matplotlib.pyplot as plt # 定义系统参数 a = -1 b = 1 lambda_ = 1 q = 3 p = 1 # 终端滑模参数 # 时间设置 t = np.linspace(0, 10, 1000) dt = t[1] - t[0] # 初始化变量 x = np.zeros(len(t)) u = np.zeros(len(t)) r = np.sin(t) # 参考信号 # 终端滑模控制模拟 for i in range(len(t) - 1): s = (r[i + 1] - r[i]) / dt + lambda_ * np.sign(x[i]) * np.abs(x[i]) ** (q / p) if s > 0: u[i] = -1 else: u[i] = 1 x[i + 1] = x[i] + dt * (a * x[i] + b * u[i])

在这段代码里,我们修改了滑动面函数 \(s\) 的计算方式,引入了终端滑模的参数 \(\lambda\)、\(q\) 和 \(p\)。这样系统在运行过程中,状态 \(x\) 会以更快的速度朝着参考信号 \(r\) 收敛,尤其是在靠近平衡点的时候,效果更为明显。

滑模控制和终端滑模控制在实际应用中非常广泛,从机器人控制到飞行器姿态调整,它们都发挥着重要作用。通过巧妙的滑动面设计和控制律推导,能让复杂系统在各种干扰下依然稳定且高效地运行。希望大家通过这篇博文,对滑模和终端滑模有了更直观的认识,有兴趣的朋友可以深入研究,说不定能在自己的项目里挖掘出它们更大的潜力呢!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1221073.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Agentic AI做社交媒体运营:提示工程架构师的3个增加粉丝案例

Agentic AI做社交媒体运营:提示工程架构师的3个增加粉丝案例 一、引言:当社交媒体运营遇到“会思考的AI” 凌晨1点,小张盯着电脑屏幕上的小红书后台——第12条笔记的阅读量停在237,点赞数只有11。作为一个刚起步的美妆博主&…

智能算法实战:粒子群优化在配电网调度中的妙用

基于粒子群算法的配电网日前优化调度 采用IEEE33节点配电网搭建含风光,储能,柴油发电机和燃气轮机的经济调度模型。 以运行成本和环境成本最小为目标,考虑储能以及潮流等约束,采用粒子群算法对模型进行求解,得到电源的…

二项式系数的素数整除性质的研究

当 $p$ 为质数: $$ f(x_1, x_2, \cdots, x_n)^p=f(x_1^p, x_2^p, \cdots, x_n^p) $$二项式系数的素数整除性质的研究 \(\mathbb F_p\) 是大小为 \(p\)(\(p\) 是质数)的有限域,也就是 \(\bmod p\) 的剩余系。 二项式…

目标检测数据集 - 排球比赛场景排球检测数据集下载

数据集介绍:排球比赛场景排球检测数据集,真实场景高质量图片数据,涉及场景真实,比如室内场馆排球、发球飞行排球、扣球高速运动、排球遮挡、排球严重遮挡数据等,划分为 "ball"一个类别;适用实际项…

20260126_215218_RAG(Retrieval-Augmented_Genera

RAG(Retrieval-Augmented Generation,检索增强生成) 是大语言模型应用中的一项核心技术框架。简单来说,它的核心思想是:先检索,后生成。 为了让一个只会“凭空想象”的大模型变成一个能“引经据典”的专家…

基于DEMATEL-ISM法的民航飞行员综合安全能力结构模型研究(文章浮现)。 关键词:民航飞...

基于DEMATEL-ISM法的民航飞行员综合安全能力结构模型研究(文章浮现)。 关键词:民航飞行员,综合安全能力,多级递阶级结构模型,中心度,原因度。 只需要改动原始矩阵,main文件&#xff…

构建 OpenHarmony 随机颜色生成器:用纯数学生成视觉灵感

一、为什么需要“随机颜色生成器”? 在 OpenHarmony 的 UI 开发、设计协作或创意场景中,用户常需快速获取一个美观、可用、可复现的颜色值: 设计师寻找配色灵感;开发者调试主题色;教育场景演示 RGB 原理;…

构建 OpenHarmony 简易待办事项清单:用状态驱动实现最小可行任务管理

一、为什么需要“简易待办事项清单”? 在 OpenHarmony 的多设备协同场景中,用户常需快速记录临时任务: 购物清单(手机录入,车机查看);会议要点(平板记录,手表提醒&…

构建 OpenHarmony 简易 BMI 健康指数计算器:用基础数学实现健康自评

一、为什么需要“简易 BMI 计算器”? 在 OpenHarmony 的智慧健康场景中,用户常需快速评估身体状态: 家庭健康管理(父母/儿童体重监测);健身目标设定(增肌/减脂参考);医…

基于斑点鬣狗的LSSVM回归预测:PSO - LSSVM的探索

基于斑点鬣狗的LSSVM回归预测PSO-LSSVM 为了提高最小二乘支持向量机(lssvm)的回归预测准确率,对lssvm中的惩罚参数和核惩罚参数利用斑点猎狗算法进行优化。 Matlab 代码 在机器学习的领域中,提高预测模型的准确率一直是众多研究者…

基于狼群优化算法的LSSVM回归预测:GWO - LSSVM的探索

基于狼群优化算法的LSSVM回归预测GWO-LSSVM 其他优化算法可私信 为了提高最小二乘支持向量机(lssvm)的回归预测准确率,对lssvm中的惩罚参数和核惩罚参数利用狼群优化算法进行优化。 Matlab 代码 在数据预测的领域中,提高预测准确…

探索信捷PLC的奇妙应用:随机密码、动态验证码与更多

PLC随机密码 动态验证码 动态分期付款 锁机例程!这次是信捷Plc例程! 只供参考算法学习,详细功能看下图介绍!学会信捷基本也能自己改为日系PLC(三菱台达等等)本次配送对应信捷触摸屏简单界面,如果…

基于IEEE33的主动配电网优化探索

基于IEEE33的主动配电网优化。 采用IEEE33节点配电网进行仿真,搭建了含风光,储能,柴油发电机和燃气轮机的配电网经济调度模型。 以总的运行成本最小为目标, 考虑了储能以及潮流等约束, 采用粒子群算法对模型进行求解&a…

AI技术小白必看!老王带你10分钟搞懂大模型核心概念,RAG、Agent、LoRA一次讲透,附全套工具模板!

产品经理的市场变了,超级多视线关注在AI方向,但我发现很多人分不清最基础的RAG和Agent的区别,更别提什么量化、蒸馏这些模型优化技术了。 说实话,不懂这些,做AI产品就是瞎指挥。 这篇文章,我把10个核心概…

Turbo码编码译码在MATLAB中的实现探索

Turbo码编码译码 MATLAB 实现 不同算法 log—MAP max—log—map sova算法 在通信领域,Turbo码以其优异的性能备受关注。它通过交织器和分量编码器构建了一种并行级联卷积码,实现了接近香农限的纠错能力。今天咱们就来聊聊Turbo码编码译码在MATLAB里怎么实…

程序员必看!大模型技术栈全解析,从Token到Agent,小白也能变大神

本文将系统梳理AI大模型领域的14个核心概念,从基础架构到训练优化,再到前沿应用模式,帮助读者建立对这一复杂技术的全面认知框架。通过深入浅出的解释,读者将理解大模型为何能实现"智能涌现",以及如何解决其…

【小白必看】大模型RAG技术实战教程,让你的AI开发技能yyds!保姆级教学,从入门到精通,一键搞定检索增强生成!

一、LLMs 已经具备了较强能力了,为什么还需要 RAG(检索增强生成)? 尽管 LLM 已展现出显著的能力,但以下几个挑战依然值得关注: 幻觉问题:LLM 采用基于统计的概率方法逐词生成文本,这一机制内在地导致其可能出现看似…

震惊!Python竟是大模型的“万能钥匙“,零基础也能玩转AI大模型!

Python学习 一、学前花絮 AI大模型(Large AI Models),尤其是大语言模型(LLMs),是近年来人工智能领域最具革命性的技术突破之一。它们不仅重塑了人机交互方式,也正在深刻改变科研、产业与社会的…

从4K到100W!LLM上下文暴增,RAG技术凉凉?程序员必读AI技术趋势【内附CAG黑科技】

从OpenAI发布chatGPT-3.5至今,在扩展LLM的上下文窗口上取得了巨大进展。GPT-3.5-turbo的上下文窗口大小为4096个Token → GPT-4的上下文窗口为8192个Token → Calude2的Token数量达到10w → Llama 3.1的Token是12.8wToken → Gemini达到了100w个Token。 上下文窗口…

三电平变换器中的中点电位平衡控制与载波层叠调制

中点电位平衡控制,载波层叠调制,三电平变换器,三电平逆变器,T型变换器 在电力电子领域,三电平变换器以其独特的优势广泛应用于众多场合,像高压大功率的电机驱动、可再生能源发电并网等。其中,三…