基于指数趋近律的机器人滑模轨迹跟踪控制算法及MATLAB仿真

 

机械手是工业制造领域中应用最广泛的自动化机械设备,广泛应用于工业制造、医疗、军工、半导体制造、太空探索等领域。它们虽然形式不同,但都有一个共同的特点,即能够接受指令,并能准确定位到三维(或二维)空间的某一点进行工作。由于其在3D打印、喷漆机器人、汽车制造等领域的广泛应用,机器人的控制显得尤为重要。而滑模变结构控制SMC由于其快速的瞬态响应和对不确定性和扰动的鲁棒性,在机器人控制领域受到了广泛的关注。

 

问题描述

机器人轨迹跟踪控制问题可以描述为: 给定一个参考轨迹,找到一个容许控制u,使得实际的关节角度与参考的关节角度误差最小,从而使得机械臂末端轨迹跟踪上参考轨迹。

 

理论分析

1滑模控制基础概念

1.1滑模控制定义

滑模控制(SMC)也称为可变结构控制,本质上是一种特殊的非线性控制,其非线性性能是控制的不连续性。该控制策略与其他控制的区别在于“结构”系统的状态不是固定的,但是在动态过程中,它可以根据系统的当前状态(例如偏差和其导数)有意地进行更改,从而迫使系统以预定的“滑动模式”状态轨迹运动。滑模的设计可以不受对象参数和干扰的影响,滑模控制具有响应速度快,对参数变化和干扰不敏感,无需在线系统识别,物理实现简单等优点。通过不连续控制有意改变系统结构将相位轨迹驱动到稳定的超平面或流形的系统。不受干扰和参数变化

1.2滑模趋近律

滑模控制下的系统一般分为两个阶段:

(1)从系统初始状态到滑模面;

(2)在滑模面上滑模到达系统平衡点;

2.将趋近律引入到(1)阶段设计中,对(2)阶段设计快速终端滑模。2.“全局”、“快速”、“终端滑模”中的“全局”表示滑模没有(1)阶段,因此不使用趋近定律。

4个基本趋近律表达如下:

 

(1)等速趋近律:

 

aa3f552fe4bed380f6f7da8e10abdaff.png

(2)指数趋近律

 

66ef10a61ebdae78150a08d1711b9302.png

(3)幂次趋近律

 

dfa7d5c8d781eaeb836742be6441cc99.png

(4)一般趋近律

 

64de6fa1e568e959bfea17e313bd3c07.png

 

3基于指数趋近律的模糊滑模控制

3.1 基于指数趋近律的滑模控制

由牛顿欧拉公式得n自由度机器人关节空间动力学方程为:

34613724317330e653f278e3d758c4ca.png

设系统误差为:

6b6928e40720213aa06abccc871d53f0.png

则误差的微分得:

962d980a79dd0252d6c28d5ad19030dc.png

选择滑模函数为:

eb8316161a4882aa6a10ea2b27888348.png

则对滑模函数s求导得:

4132d539b7187f9560c3a33ba398011b.png

因为系统方程可变形为:

63eb970371cdf1605b878cd1aadba6ab.png

所以:

ddd39dd65a420394807e215ddb2ac993.png

选取指数趋近律为:

0dc813ce54874d7a441f9b5c919f9d74.png

所以基于指数趋近律可设计u,将两公式合并:

67a023d6b9e064fa69fd021c64e736de.png

则控制律u为:

d62c4c1e60a3d7fa31b6488af246dbd8.png

已知只要得到滑模平面(切换面s)和滑动模态的控制律u,滑动变结构控制就能完全建立起来。

下面证明其滑模平面稳定存在滑动模态:

第一步:取李雅普诺夫函数

a9f2cd8056f8b3ba64f95f8da2b4a0cb.png

由于

69cf7ba4ed6c3ad94a30775f10ea153e.png

所以V是正定(PD)

第二步:对李雅普诺夫函数求导得:

fff7e0f50113347885d33f21614201e1.png

由此可知,上述设计的滑模变结构控制器满足要求。

为更直观的分析所设计的滑模控制器的优劣,对控制系统进行仿真分析如下:

 

4e97cc23a2dd97c45555154a9b627dd1.png

 

图1.三自由度机械臂

根据拉格朗日功能平衡法,建立其动力学模型。由于是比较常见的三自由度机器人模型,这里可以查找教科书或文献参考

MATLAB仿真程序

其simulink建模框图如图2所示:

4f73818a4c4cf50dee6ae0079d9a601a.png

图2 控制系统simulink框图

机器人动力学MATLAB仿真程序:

function [sys,x0,str,ts]=s_function(t,x,u,flag)switch flag,case 0,    [sys,x0,str,ts]=mdlInitializeSizes;case 1,    sys=mdlDerivatives(t,x,u);case 3,    sys=mdlOutputs(t,x,u);case {2, 4, 9 }    sys = [];otherwise    error(['Unhandled flag = ',num2str(flag)]);endfunction [sys,x0,str,ts]=mdlInitializeSizessizes = simsizes;sizes.NumContStates  = 6;sizes.NumDiscStates  = 0;sizes.NumOutputs     = 6;sizes.NumInputs      = 3;sizes.DirFeedthrough = 0;sizes.NumSampleTimes = 0;sys=simsizes(sizes);x0=[0.6;0.3;0.5;0.5;0.5;0.5];str=[];ts=[];function sys=mdlDerivatives(t,x,u)q1=x(1);dq1=x(2);q2=x(3);dq2=x(4);q3=x(5);dq3=x(6);m1=0;m2=1;m3=1;L1=0;L2=1;L3=1;g=10;I1=0;I2=0;I3=0;a1=m2*L2^2+m3*L2^2;a2=m3*L3^2;a3=m3*L3^2;b1=(m2*L2+m3*L2)*g;b2=m3*L3*g;M11=I1+a1*(cos(q2))^2+a2*cos(q2+q3)+2*a2*cos(q2)*cos(q2+q3);M12=0;M13=0;M21=0;M22=I2+a1+a2+2*a3*cos(q3);M23=a2+a3*cos(q3);M31=0;M32=a2+a3*cos(q3);M33=I3+a2;M=[M11 M12 M13;   M21 M22 M23;   M31 M32 M33];B11=-(1/2)*a1*dq2*sin(2*q2)-a3*dq3*cos(q2)*sin(q2+q3)-(1/2)*a2*(dq2+dq3)*sin(2*q2+2*q3)-a3*dq2*sin(2*q2+q3);B12=-(1/2)*a1*dq1*sin(2*q2)-a3*dq1*sin(2*q2+q3)-(1/2)*a2*dq1*sin(2*q2+2*q3);B13=-a3*dq1*cos(q2)*sin(q2+q3)-(1/2)*a1*dq1*sin(2*q2+2*q3);B21=-B12;B22=-a3*dq3*sin(q3);B23=-a3*(dq2+dq3)*sin(q3);B31=-B13;B32=-a3*dq2*sin(q3);B33=0;B=[B11 B12 B13;   B21 B22 B23;   B31 B32 B33];G1=0;G2=b1*cos(q2)+b2*cos(q2+q3);G3=b2*cos(q2+q3);G=[G1;G2;G3];tol(1)=u(1);tol(2)=u(2);tol(3)=u(3);ddq=inv(M)*(tol'-B*[dq1;dq2;dq3]-G);sys(1)=x(2);sys(2)=ddq(1);sys(3)=x(4);sys(4)=ddq(2);sys(5)=x(6);sys(6)=ddq(3);function sys=mdlOutputs(t,x,u)sys(1)=x(1);sys(2)=x(2);sys(3)=x(3);sys(4)=x(4);sys(5)=x(5);sys(6)=x(6);

则各关节跟踪响应如图3所示

f2609651575eeb44693121e307afeef0.png

图3.各关节跟踪响应

轨迹跟踪误差如图4所示

4a5dba69b8d28d1d9af465721a91967f.png

图4.轨迹跟踪误差

滑模面如图5所示

83004eca106b372c8e86a699e3e717fc.png

图5.滑模面

控制力矩如图6所示

f8d37230f667e600b1dff8632eaab761.png

图6.控制力矩

总结

由以上仿真结果可以看出,基于趋近律的滑模轨迹跟踪控制器在系统复杂的环境下,能够对系统的轨迹跟踪进行有效的控制,然而,其基于趋近律的滑模轨迹跟踪控制方法存在着严重的抖振,还是有待改进!

 

更多信息请关注:DRobot

 

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

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

相关文章

[NISACTF 2022]join-us - 报错注入无列名注入

[NISACTF 2022]join-us 解题流程 解题流程 点击登录,找到注入点 这种框,可以直接爆破关键字,看是否拦截,也可以手动尝试,发现、union、and、or、substr、database等关键字都拦截了 1、学到了:可以用数据库…

Python集合魔法:解锁数据去重技巧

更多资料获取 📚 个人网站:涛哥聊Python 在Python编程的魔法世界中,有一种数据类型几乎被忽视,但却拥有强大的超能力,那就是集合(Set)。 集合是一种无序、唯一的数据类型,它以其独…

机器人中的数值优化(二十一)—— 伴随灵敏度分析、线性方程组求解器的分类和特点、优化软件

本系列文章主要是我在学习《数值优化》过程中的一些笔记和相关思考,主要的学习资料是深蓝学院的课程《机器人中的数值优化》和高立编著的《数值最优化方法》等,本系列文章篇数较多,不定期更新,上半部分介绍无约束优化,…

yolov5训练加速

推荐博客:https://blog.csdn.net/ogebgvictor/article/details/129784503,关于yolov5训练提前resize,打开cache,batch size的设置等做了很多对比实验。 问题记录及解决 1、使用ddp训练,生成标签的cache报错,等待时间…

react学习(三——实战项目)

创建 npm init vite小知识 "scripts": {"dev": "vite --host --port 3002 --open", //--host会在终端显示IP,--port 3002把显示端口改为3002,--open会在启动后打开链接"build": "tsc && vite bui…

大数据Doris(七):Doris安装与部署规划

文章目录 Doris安装与部署规划 一、软硬件需求 二、​​​​​​​资源规划

软件公司的项目管理软件选择指南

我们经常在项目推进中经常遇到各种各样的问题,最常见的是因团队工作效率低而无法在截止日期之前按时完成工作。但是如果能合理使用项目管理软件,可以有效监控项目进程,提高工作效率,从而保证按时完成任务。那么软件公司适合什么项…

猫头虎博主第六期赠书活动:《手机摄影短视频和后期从小白到高手》

🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…

LLaVa大模型关键技术及在线演示

LLaVA,一种新的大型多模态模型,称为“大型语言和视觉助手”,旨在开发一种通用视觉助手,可以遵循语言和图像指令来完成各种现实世界的任务。 这个想法是将 GPT-4 等大型语言模型 (LLM) 的强大功能与 CLIP 等视觉编码器相结合&#…

「新房家装经验」客厅电视高度标准尺寸及客厅电视机买多大尺寸合适?

客厅电视悬挂高度标准尺寸是多少? 客厅电视悬挂高度通常在90~120厘米之间,电视挂墙高度也可以根据个人的喜好和实际情况来调整,但通常不宜过高,以坐在沙发上观看时眼睛能够平视到电视中心点或者中心稍微往下一点的位置为适宜。 客…

springboot-配置文件优先级

官方文档 https://docs.spring.io/spring-boot/docs/2.7.16/reference/htmlsingle/#features.external-config Spring Boot允许外部化配置,这样就可以在不同的环境中使用相同的应用程序代码。您可以使用各种外部配置源,包括Java属性文件、YAML文件、环境…

【uniapp】自定义导航栏时,设置安全距离,适配不同机型

1、在pages.json中,给对应的页面设置自定义导航栏样式 {"path": "pages/index/index","style": {"navigationStyle": "custom","navigationBarTextStyle": "white","navigationBarTitl…