基于动力学模型的机械臂滑膜控制

一、滑模控制设计思路

参考资料:https://zhuanlan.zhihu.com/p/463230163(思路理解)
https://blog.csdn.net/xiaohejiaoyiya/article/details/90271529(干扰的处理)

  • 滑模控制的思路有两个关键,一个是设计滑模面,另一个是李雅普诺夫反推滑模面控制律

1、设计滑模面

  • 滑模面有很多种,线性、二次型等,这里介绍线性的,选择何种滑模面的关键是看被控对象的
  • 滑模面数学形式如下:
    在这里插入图片描述
    当s=0时,根据微分方程的分离变量法,可知误差e指数级趋于0

2、李雅普诺夫反推滑模面s控制律

  • 通过上面的论述可知,一旦s趋于0,则误差也会趋于0。至此,问题从设计控制律u使得误差e趋于0,变成了设计控制律u使得s趋于0。
  • 如果增加控制律后,系统关于s的李雅普诺夫函数符合稳定性判定条件,则在有限时间内s一定会趋于0。进而,问题转变成了设计控制律使得关于s的李雅普诺夫函数符合收敛条件。

二、举例计算

1、控制对象动力学模型

在这里插入图片描述

2、控制目标

在这里插入图片描述

3、设计滑模面

在这里插入图片描述

  • 这里考虑轨迹跟踪问题,θd也是关于时间的函数

4、设计李雅普诺夫函数

在这里插入图片描述

5、反推控制律

(1)分析李雅普诺夫函数V

  • 根据李雅普诺夫的判定性质,只要V>0, V ˙ \dot{V} V˙<0,即可证明稳定。V明显大于0,所以重点是 V ˙ \dot{V} V˙的分析。
    在这里插入图片描述
    根据上式可知,只要设计合适的控制量u,使得 V ˙ \dot{V} V˙小于0,即可达到目标。

(2)反推控制器u

  • 之后就要去反推了,相较于靠直觉写控制器再用李雅普诺夫函数判定要明确了许多,但是仍然没那么好写。幸好已经有人总结了常见的设计方法,也就是 V ˙ \dot{V} V˙趋近律。常见的趋近律如下所示:
    在这里插入图片描述
    分别为等速、指数、幂次趋近律
  • 以等速趋近律为例,分析李雅普诺夫条件
    在这里插入图片描述
  • 根据趋近律计算控制器
    在这里插入图片描述

(3)处理干扰项d

  • 离完成控制器的设计还有最后一项d要处理,在上面提到的控制律中存在干扰d,可是干扰本来就没法测量。看到过有人在分析这里时,直接给出一个干扰最大值,然后和趋近律合并在一起,这就比较难理解为什么了,合并后一定符合李雅普诺夫条件吗?当然,经过计算其实是符合的,否则人家也不会那么写,但是确实比较难理解。

  • 可以先不管干扰d,直接用没有d的控制律做u,控制律如下所示:
    在这里插入图片描述

  • 在保持控制律的情况下,重新在 θ ¨ \ddot{θ} θ¨和u的关系中考虑d,再进行李雅普诺夫分析
    在这里插入图片描述
    这里最后那个放缩不容易一眼看出来,代几个数进去应该是正确的,人家推到最后都是直接L,不知道为啥这里有个J,但是这是惯量常数,影响不大。

  • 如果想 V ˙ \dot{V} V˙小于0,则ε要大于L/J。所以控制器中的ε是一个大于L/J的值,而下面截图中(图里ε对应η)这种将两个参数合并的写法,ε只要大于0即可,所以二者实质是一样的

在这里插入图片描述

三、基于计算力矩法的滑模控制

参考:https://www.bilibili.com/video/BV13N4y1k7Cb/?spm_id_from=333.1007.top_right_bar_window_default_collection.content.click&vd_source=a686d8f8b0e9b94066f2d4ba714466e7

  • 可以想一想上面说的干扰d到底对应着什么,可以是外力扰动,比如风阻、摩擦;甚至可以是动力学模型参数中的误差。这里之前有一个误解,以为模型中的耦合项c也可以认为是干扰,实际是不行的,因为其变化比较大,这里使用计算力矩法规避了这一问题,并使用鲁棒项抑制了误差。
    在这里插入图片描述
    截图中,最后说系统变成了一个带干扰的线性系统,实际就是将所有参数误差全看成了干扰。比较特别的点在于定义了一个间接控制量v,建立v的控制器后,力矩T可以通过v计算。v控制器的建立过程就和普通滑模控制器的建立过程没有区别。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

一文通透各种注意力:从多头注意力MHA到分组查询注意力GQA、多查询注意力MQA

前言 通过本博客内之前的文章可知&#xff0c;自回归解码的标准做法是缓存序列中先前标记的键(K)和值(V) 对&#xff0c;从而加快注意力计算速度。然而&#xff0c;随着上下文窗口或批量大小的增加&#xff0c;多头注意力 (MHA)模型中与 KV 缓存大小相关的内存成本显着增长 对…

【多线程】Lambda表达式

package org.example;public class TestLambda {public static void main(String[] args) {Like likenew Like();like.lambda();}}//定义一个函数式接口 interface ILike{void lambda(); }//实现类 class Like implements ILike{Overridepublic void lambda() {System.out.prin…

Excel自学三部曲_Part3:Excel工作场景实战(四)

文章目录 四、高级函数与数据连接1. 多窗口操作2. VLOOKUP函数3. XLOOKUP函数4. CSV数据格式 四、高级函数与数据连接 1. 多窗口操作 如何将两张子表数据&#xff08;战区信息、城市信息&#xff09;连接到主表数据&#xff08;成交数据&#xff09;&#xff0c;增加主要数据的…

“一键批量拆分HTML文本,高效整理文件,提升工作效率“

您是否曾经被大量的HTML文本文件困扰&#xff0c;难以找到所需的特定信息&#xff1f;现在&#xff0c;我们向您推荐一款强大的工具&#xff0c;它能够一键拆分HTML文本&#xff0c;让您轻松实现文件整理&#xff0c;提高工作效率&#xff01; 首先&#xff0c;在首助编辑高手…

人工智能基础_机器学习014_BGD批量梯度下降公式更新_进一步推导_SGD随机梯度下降和MBGD小批量梯度下降公式进一步推导---人工智能工作笔记0054

然后我们先来看BGD批量梯度下降,可以看到这里,其实这个公式来源于 梯度下降的公式对吧,其实就是对原始梯度下降公式求偏导以后的梯度下降公式,然后 使用所有样本进行梯度下降得来的,可以看到* 1/n 其实就是求了一个平均数对吧.所有样本的平均数. 然后我们看,我们这里* 1/n那么…

API接口安全设计

简介 HTTP接口是互联网各系统之间对接的重要方式之一&#xff0c;使用HTTP接口开发和调用都很方便&#xff0c;也是被大量采用的方式&#xff0c;它可以让不同系统之间实现数据的交换和共享。 由于HTTP接口开放在互联网上&#xff0c;所以我们就需要有一定的安全措施来保证接口…

C++11 initializer_list 轻量级初始化列表的使用场景(让自定义类可以用初始化列表的形式来实例化对象)

initializer_list 是 C11 中的一个特性&#xff0c;它允许你使用花括号 {} 中的值列表来初始化容器或数组。通常用于初始化标准库容器&#xff0c;比如 std::vector、std::set、std::map 以及数组。 场景一&#xff1a;用初始化列表初始化容器 std::vector<int> arr {…

【深度学习】pytorch——Autograd

笔记为自我总结整理的学习笔记&#xff0c;若有错误欢迎指出哟~ 深度学习专栏链接&#xff1a; http://t.csdnimg.cn/dscW7 pytorch——Autograd Autograd简介requires_grad计算图没有梯度追踪的张量ensor.data 、tensor.detach()非叶子节点的梯度计算图特点总结 利用Autograd实…

scrapy+selenium框架模拟登录

目录 一、cookie和session实现登录原理 二、模拟登录方法-Requests模块Cookie实现登录 三、cookiesession实现登录并获取数据 四、selenium使用基本代码 五、scrapyselenium实现登录 一、cookie和session实现登录原理 cookie:1.网站持久保存在浏览器中的数据2.可以是长期…

Day20力扣打卡

打卡记录 数组中两个数的最大异或值&#xff08;位运算&#xff09; 链接 二进制位上从高位向低位进行模拟&#xff0c;看数组中是否有满足此情况的数字。具体题解 class Solution { public:int findMaximumXOR(vector<int>& nums) {int mx *max_element(nums.be…

【存档】vscode配置latex环境

原来在另一台电脑上找了个教程配了一遍&#xff0c;这次重新配的时候&#xff0c;那个教程作者更新过后&#xff0c;改成只有linux的脚本了&#xff0c;所以存档一下。真香警告, 2023年初的vscodelatex写作 - 知乎 (zhihu.com) 环境&#xff1a; win10/win11vscodelatex work…

【PyTorch实战演练】AlexNet网络模型构建并使用Cifar10数据集进行批量训练(附代码)

目录 0. 前言 1. Cifar10数据集 2. AlexNet网络模型 2.1 AlexNet的网络结构 2.2 激活函数ReLu 2.3 Dropout方法 2.4 数据增强 3. 使用GPU加速进行批量训练 4. 网络模型构建 5. 训练过程 6. 完整代码 0. 前言 按照国际惯例&#xff0c;首先声明&#xff1a;本文只是我…

分享81个工作总结PPT,总有一款适合您

分享81个工作总结PPT&#xff0c;总有一款适合您 PPT下载链接&#xff1a;https://pan.baidu.com/s/13hyrlZo2GhRoQjI-6z31-w?pwd8888 提取码&#xff1a;8888 Python采集代码下载链接&#xff1a;采集代码.zip - 蓝奏云 学习知识费力气&#xff0c;收集整理更不易。知识付…

IDEA创建Springboot多模块项目

一、创建父模块 File --> New --> Project &#xff0c;选择 “ Spring Initalizr ” &#xff0c;点击 Next Next Next --> Finish 二、创建子模块 右键根目录&#xff0c;New --> Module 选择 “ Spring Initializr ”&#xff0c;点击Next 此处注意T…

设置IDEA快捷生成方法头,类头注释

1.File->settings->editor->live templates进入Live Template界面进行设置&#xff1a; 下一步&#xff1a; 下一步&#xff1a; /*** Title: $title$* author: sunyanzeng* date: $datatime$*/在需要添加文件头的地方打出“aa”&#xff0c;回车&#xff0c;会自…

go语言 | grpc原理介绍(三)

了解 gRPC 通信模式中的消息流 gRPC 支持四种通信模式&#xff0c;分别是简单 RPC、服务端流式 RPC、客户端流式 RPC 和双向流式 RPC。 简单 RPC 在gRPC中&#xff0c;一个简单的RPC调用遵循请求-响应模型&#xff0c;通常涉及以下几个关键步骤和组件&#xff1a; 请求头&a…

Java自学第2课:Java语言基础知识要点

1 Java主类结构 任务&#xff1a;创建新项目名为item&#xff0c;包名为number&#xff0c;类名为first。 1.1 包声明 不指定包时&#xff0c;默认就是工程名&#xff0c;指定后&#xff0c;类文件可以分类了&#xff0c;是这意思吧。包就大概等于一个文件夹。而且在类文件中…

Educational Codeforces Round 2 D 计算几何

题目链接&#xff1a;Educational Codeforces Round 2 D 题目 给你两个圆。求它们相交处的面积。 输入 第一行包含三个整数 x1, y1, r1 (  - 109 ≤ x1, y1 ≤ 109, 1 ≤ r1 ≤ 109 ) - 第一个圆的圆心位置和半径。 第二行包含三个整数 x2, y2, r2 (  …

【IO多路转接】select编程模型

文章目录 1 :peach:五种IO模型:peach:1.1 :apple:阻塞IO:apple:1.2 :apple:非阻塞IO:apple:1.3 :apple:信号驱动IO:apple:1.4 :apple:IO多路转接:apple:1.5 :apple:异步IO:apple:1.6 :apple:同步通信&异步通信:apple:1.7 :apple:阻塞&非阻塞:apple:1.8 :apple:总结:app…

IDEA快捷键总结+常识积累

&#xff08;一&#xff09;常用快捷键总结 以下快捷键输入完成后按Tab键即可。 1、输入main public static void main(String[] args) {}2、输入sout System.out.println();3、输入fori for (int i 0; i < ; i) {}4、输入foreach&#xff08;增强for循环快捷键&#x…