机器人动力学与控制学习笔记(十七)——基于名义模型的机器人滑模控制

news2024/9/29 21:24:21

十七、滑模控制器设计原理

        滑模运动包括趋近运动和滑模运动两个过程。系统从任意初始状态趋向切换面,直到到达切换面的运动称为趋近运动,即趋近运动为s\rightarrow 0的过程。根据滑模变结构原理,滑模可达性条件仅保证由状态空间任意位置运动点在有限时间内到达切换面的要求,而对于趋近运动的具体轨迹未作任何限制,采用趋近律的方法可以改善趋近运动的动态品质。

17.1  基于名义模型的机器人趋近律设计

        二力臂机械手的名义模型为

M\left ( q \right )\ddot{q}+H\left ( q,\dot{q} \right )=\tau

        其中M\left ( q \right )2\times 2正定质量惯性矩阵,H\left ( q,\dot{q} \right )为哥氏力,离心力和重力之和。

        实际对象为

\left ( M+\Delta M \right )\ddot{q}+\left ( H+\Delta H \right )=u+\Delta u

        将建模误差、参数变化及其他不确定因素视为外界扰动f(t),则

M\left ( q \right )\ddot{q}+H\left ( q, \dot{q}\right )=u+f\left ( t \right )

        其中

f(t)=\Delta u-\Delta M\ddot{q}-\Delta H

        系统误差为

e=\begin{bmatrix} e_{1} & \dot{e_{1}} & e_{2} & \dot{e_{2}} \end{bmatrix}^{T}

切换函数为

s(x)=Ce=\begin{bmatrix} c_{1}e_{1}+\dot{e_{1}}\\ c_{2}e_{2}+\dot{e_{2}} \end{bmatrix}

        则

\dot{s}=\begin{bmatrix} c_{1}\dot{e_{1}}+\ddot{e_{1}}\\ c_{2}\dot{e_{2}}+\ddot{e_{2}} \end{bmatrix}=\begin{bmatrix} c_{1}\dot{e_{1}}\\ c_{2}\dot{e_{2}} \end{bmatrix}+\begin{bmatrix} \ddot{\theta }_{1}^{d}\\ \ddot{\theta }_{2}^{d}\end{bmatrix}+\begin{bmatrix} \ddot{\theta }_{1}\\ \ddot{\theta }_{2}\end{bmatrix}=\begin{bmatrix} c_{1}\dot{e_{1}}\\ c_{2}\dot{e_{2}} \end{bmatrix}+\begin{bmatrix} \ddot{\theta }_{1}^{d}\\ \ddot{\theta }_{2}^{d}\end{bmatrix}-M^{-1}\left ( u+f-H \right )

        取指数趋近律为

\dot{s}=-\varepsilon sgn(s)-ks=\begin{bmatrix} -\varepsilon_{1} sgn(s_{1})-ks_{1}\\ -\varepsilon_{2} sgn(s_{2})-ks_{2} \end{bmatrix}

        经过整理,得到控制律为

u=M\left \{ \begin{bmatrix} c_{1}\dot{e_{1}}\\ c_{2}\dot{e_{2}} \end{bmatrix} +\begin{bmatrix} \ddot{\theta _{1}^{d}}\\ \ddot{\theta _{2}^{d}} \end{bmatrix}+\varepsilon sgn(s)+ks\right \}+H-f

17.2  仿真实例

17.2.1  单关节机器人仿真

        单关节机器人的动态方程为

\ddot{q}+25\dot{q}=133u+f(t)

        取位置指令为r,simulink结构图、力矩图和仿真结果如图1,2,3所示。

 图1 simulink结构图

 图2 单关节力矩

 图3 单关节轨迹

17.2.2  二关节机器人仿真

        二关节机器人系统的动力学模型为

M\left ( q \right )\ddot{q}+C\left ( q,\dot{q} \right )\dot{q}+G\left ( q \right )=\tau +f\left ( t \right )

        二关节的位置指令分别为q_{1d}q_{2d},simulink结构图和仿真结果如图4,5,6所示。

图4 simulink结构图 

图5 关节1轨迹

 图6 关节2轨迹

         经分析,所设计的控制律和控制器均符合要求,机器人关节的实际轨迹和期望轨迹较为贴合,仿真效果好。

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

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

相关文章

NLP领域再创佳绩!阿里云机器学习平台 PAI 多篇论文入选 ACL 2023

近期,阿里云机器学习平台PAI主导的多篇论文在ACL 2023 Industry Track上入选。ACL是人工智能自然语言处理领域的顶级国际会议,聚焦于自然语言处理技术在各个应用场景的学术研究。该会议曾推动了预训练语言模型、文本挖掘、对话系统、机器翻译等自然语言处…

Trimble RealWorks处理点云数据(九)之点云分类后将地面导入Arcgis生成DEM

效果 步骤 1、las导入Trimble RealWorks 2、对点云数据预处理 可以参考这篇文章 TrimbleRealWorks点云数据预处理 我这边是把点云做了分类,而后将地面数据导出las 点云做为三维数据,后续步骤在arcscene中操作,能实时显示出来 3、arcscene创建las数据集

【计算机视觉 | 图像分割】arxiv 计算机视觉关于图像分割的学术速递(7 月 10 日论文合集)

文章目录 一、分割|语义相关(6篇)1.1 Unsupervised Segmentation of Fetal Brain MRI using Deep Learning Cascaded Registration1.2 Tranfer Learning of Semantic Segmentation Methods for Identifying Buried Archaeological Structures on LiDAR Data1.3 To pretrain or …

Vue2----Uniapp自定义弹窗

对于擅长后端的程序员,在编写前端时常常回去找库,比如elementUI,uview之类,但是往往这些库较为冗杂,有些功能比较强大,基本用不到,不好理解。这时候,如果可以自定义组件可能会对开发…

C++ STL常见算法

目录 1 各种常见算法的用法 1.1 非可变序列算法 1.2 可变序列算法 1.3 Partitions 1.4 排序算法 1.5 查找算法 1.6 集合算法 1.7 堆算法 1.8 最大最小值算法 1.9 其他算法 1 各种常见算法的用法 STL算法部分主要由头文件<algorithm>,<numeric>,<func…

uniapp 获取状态栏及小程序右侧胶囊信息(用于设置全屏小程序)

1.获取信息: //获取状态栏高度(px) this.statusBarHeight uni.getSystemInfoSync().statusBarHeight; //获取小程序胶囊信息 this.menuButtonInfo uni.getMenuButtonBoundingClientRect() 如下: 2.动态设置style样式: <view:style"{ paddingTop: menuButtonIn…

Oracle-RAC集群安装root.sh报错问题

问题背景: 在redhat 7.8上安装Oracle11G RAC集群&#xff0c;在节点一执行root.sh脚本时发生错误Disk Group OCRDG creation failed with the following message:ORA-15018: diskgroup cannot be created 问题分析: 从报错信息来看错误是在执行创建OCRDG磁盘组时失败&#xff0…

Python读取指定的TXT文本文件并从中提取指定数据的方法

本文介绍基于Python语言&#xff0c;遍历文件夹并从中找到文件名称符合我们需求的多个.txt格式文本文件&#xff0c;并从上述每一个文本文件中&#xff0c;找到我们需要的指定数据&#xff0c;最后得到所有文本文件中我们需要的数据的合集的方法。 首先&#xff0c;我们来明确一…

进度网络图详解

关键路径&#xff1a;总工期最长的那一条路径&#xff1a;可能不止一条。&#xff08;1条或多条&#xff09; 虚工作&#xff1a;不占用任何时间和资源的&#xff0c;只是为了让逻辑关系更加明确&#xff0c;网络图更加美观。 最早开始时间&#xff08;ES&#xff09;- 左上 最…

BT 种子,磁力链接是个啥?

[科普向] BT 种子、磁力链接到底是什么&#xff1f; BitTorrent 我们平时所说的 BT 种子&#xff0c;实际上指的是由 BitTorrent 协议所生成的一个包含资源信息的文件。与传统的网络传输协议不同&#xff0c;BitTorrent 协议是一种以 Peer-To-Peer&#xff08;P2P&#xff09…

【KingbaseES】查看表空间大小

查询单表空间大小 SELECT sys_size_pretty(sys_tablespace_size(sys_default))查看所有表空间大小&#xff08;不包含系统表空间&#xff0c;包含默认表空间&#xff09; SELECT oid,spcname AS "Name",sys_size_pretty(sys_tablespace_size(spcname)) AS "Lo…

2. SpringBoot快速回顾(@value读取配置文件)

目录 1.定义配置文件2. 定义Controller类3. 测试4. 优化4.1 封装实体类4.3 定义controller类4.2 测试 本文将介绍如何使用value读取配置文件的内容。 在实际项目中&#xff0c;往往会在配置文件中写项目部署需要配置的环境信息&#xff08;数据库驱动&#xff0c;数据库账号密码…

mysql离线安装

MySQL离线安装 进行MySQL离线安装包,当前安装版本为MySQL8.0.32 下载页面&#xff1a;https://downloads.mysql.com/archives/community/ 下载地址&#xff1a;https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.36-1.el7.x86_64.rpm-bundle.tar 将下载完成的安…

【Linux】关于Linux系统挂载大于2TB磁盘的问题

之前在Linux系统挂载文件系统的时候&#xff0c;我已经习惯了使用 fdisk 命令来对磁盘进行分区。fdisk 常用的几个指令有&#xff1a; m 显示命令帮助菜单&#xff1b; n 创建新的分区&#xff1b; p 显示分区信息&#xff1b; t 修改分区类型&#xff08;一般设置为8e&…

Transformer原理理解

本文介绍Transformer的基本原理&#xff0c;主要记录一下自己的学习过程。 论文&#xff1a;https://arxiv.org/abs/1706.03762 参考&#xff1a; http://jalammar.github.io/illustrated-transformer/https://zhuanlan.zhihu.com/p/338817680https://blog.csdn.net/longxin…

2023年05月份青少年软件编程Python等级考试试卷三级真题(含答案)

2023-05 Python三级真题 题数&#xff1a;38 分数&#xff1a;100 测试时长&#xff1a;60min 一、单选题(共25题&#xff0c;共50分) 1. 请选择&#xff0c;下面代码运行之后的结果是&#xff1f;&#xff08; &#xff09;&#xff08;2分&#xff09; a 2 b 4 try:…

声网 Agora音视频uniapp插件跑通详解

一、前言 在使用声网SDK做音视频会议开发时, 通过声网官方论坛 了解到,声网是提供uniapp插件的,只是在官方文档中不是很容易找到。 插件地址如下: Agora音视频插件 Agora音视频插件(JS) 本文讲解如何跑通演示示例 二、跑通Demo 2.1 环境安装: 参考: 2. 通过vue-…

Mellanox ConnectX-6-dx智能网卡 openvswitch 流表卸载源码分析

Mellanox ConnectX-6-dx智能网卡 具备流表卸载能力。智能网卡的部署方式兼容当前服务器ovs部署方式。而DPU bluefield 2&#xff0c;其要求ovs从服务器上转移到DPU上&#xff0c;这影响现有上层neutron架构&#xff0c;改造量大。 前置信息 OFED代码版本&#xff1a;Linux In…

Scratch 猴子踢球

scratch 猴子踢球 本程序转为HTML后运行&#xff0c;“猴子”角色跟随鼠标移动&#xff0c;“沙滩球”角色开始时生成20个并移动到随机位置&#xff0c;在碰到“猴子”角色时开始移动&#xff0c;碰到边缘或其它角色时反弹。 图形化程序如下 “沙滩球”角色 “猴子”角色

spring 详解四 IOC(spring Bean生命周期)

spring生命周期概述 spring Bean的生命周期是从Bean实例化之后&#xff0c;即通过反射创建对象之后&#xff0c;到Bean成为一个完整对象&#xff0c;最终存储在单例池中&#xff0c;然后在销毁的过程被称为spring Bean的生命周期&#xff0c;这部分不会介绍销毁过程&#xff0…