机器人滑模控制.rar

  • lainker。
    了解作者
  • matlab
    开发工具
  • 61KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • 10 积分
    下载积分
  • 1
    下载次数
  • 2021-04-10 14:40
    上传日期
滑模控制又称变结构控制。本质上,它是一种特殊的非线性控制,其非线性性能是控制的不连续性。这种控制策略与其他控制策略的区别在于,系统的“结构”不是固定的,而是可以根据系统的当前状态(如偏差及其导数)在动态过程中有目的地改变,迫使系统按照预定的“滑模”状态轨迹运动。由于滑模控制可以独立于被控对象的参数和扰动进行设计,因此滑模控制具有响应速度快、对相应参数和扰动的变化不敏感、无需在线系统辨识、物理实现简单等优点。
机器人滑模控制.rar
  • 第4章仿真程序
  • chap4_2sim.mdl
    13KB
  • chap4_1mf.m
    314B
  • chap4_4ctrl.m
    1.3KB
  • chap4_8plot.m
    898B
  • chap4_12wf.m
    1.4KB
  • chap4_7mf.m
    275B
  • chap4_7ctrl.m
    2.9KB
  • chap4_11sim.mdl
    15.3KB
  • chap4_9plot.m
    598B
  • chap4_6sim.mdl
    11.4KB
  • chap4_3plant.m
    890B
  • chap4_1sim.mdl
    9.7KB
  • chap4_10mf.m
    432B
  • chap4_12w.m
    1.3KB
  • chap4_2plant.m
    1.1KB
  • chap4_11plant.m
    724B
  • chap4_5ctrl.m
    4.7KB
  • chap4_12plot.m
    846B
  • chap4_12plant.m
    1.3KB
  • chap4_6plot.m
    664B
  • chap4_2plot.m
    385B
  • chap4_3mf.m
    531B
  • chap4_1plot.m
    281B
  • chap4_1plant.m
    997B
  • chap4_1ctrl.m
    1.7KB
  • chap4_8ctrl.m
    3.4KB
  • chap4_10ctrl.m
    919B
  • chap4_3ctrl.m
    1.3KB
  • chap4_5plot.m
    664B
  • chap4_2ctrl.m
    2.1KB
  • chap4_7plot.m
    608B
  • chap4_3plot.m
    435B
  • chap4_5sim.mdl
    11.3KB
  • chap4_3sim.mdl
    8.9KB
  • chap4_12input.m
    732B
  • chap4_10sim.mdl
    7.8KB
  • chap4_10plot.m
    195B
  • chap4_6plant.m
    1.2KB
  • chap4_2mf.m
    246B
  • chap4_10plant.m
    853B
  • chap4_5plant.m
    1.2KB
  • chap4_8plant.m
    1.3KB
  • chap4_11wf.m
    926B
  • chap4_12sim.mdl
    16.3KB
  • chap4_4plot.m
    664B
  • chap4_8sim.mdl
    11.4KB
  • chap4_9ctrl.m
    4.8KB
  • chap4_10design.m
    950B
  • chap4_6ctrl.m
    3.8KB
  • chap4_9sim.mdl
    12.7KB
  • K_file.mat
    272B
  • chap4_9plant.m
    1.3KB
  • chap4_7plant.m
    1.3KB
  • chap4_4sim.mdl
    11.3KB
  • chap4_11w.m
    826B
  • chap4_7sim.mdl
    11.3KB
  • chap4_11input.m
    734B
  • chap4_11plot.m
    406B
  • chap4_4plant.m
    1.2KB
内容介绍
function [sys,x0,str,ts] = MIMO_Tong_s(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)]); end function [sys,x0,str,ts]=mdlInitializeSizes global nmn1 nmn2 Fai nmn1=5;nmn2=5; Fai=[nmn1 0;0 nmn2]; sizes = simsizes; sizes.NumContStates = 4*5^4; sizes.NumDiscStates = 0; sizes.NumOutputs = 4; sizes.NumInputs = 10; sizes.DirFeedthrough = 1; sizes.NumSampleTimes = 0; sys = simsizes(sizes); x0 = [0.1*ones(4*5^4,1)]; str = []; ts = []; function sys=mdlDerivatives(t,x,u) global nmn1 nmn2 Fai qd1=u(1); qd2=u(2); dqd1=0.3*cos(t); dqd2=0.3*cos(t); dqd=[dqd1 dqd2]'; ddqd1=-0.3*sin(t); ddqd2=-0.3*sin(t); ddqd=[ddqd1 ddqd2]'; q1=u(3);dq1=u(4); q2=u(5);dq2=u(6); ddq1=u(9);ddq2=u(10); for l1=1:1:5 gs1=-[(q1+pi/6-(l1-1)*pi/12)/(pi/24)]^2; u1(l1)=exp(gs1); end for l2=1:1:5 gs2=-[(dq1+pi/6-(l2-1)*pi/12)/(pi/24)]^2; u2(l2)=exp(gs2); end for l3=1:1:5 gs3=-[(q2+pi/6-(l3-1)*pi/12)/(pi/24)]^2; u3(l3)=exp(gs3); end for l4=1:1:5 gs4=-[(dq2+pi/6-(l4-1)*pi/12)/(pi/24)]^2; u4(l4)=exp(gs4); end for l5=1:1:5 gs5=-[(ddq1+pi/6-(l5-1)*pi/12)/(pi/24)]^2; u5(l5)=exp(gs5); end for l6=1:1:5 gs6=-[(ddq2+pi/6-(l6-1)*pi/12)/(pi/24)]^2; u6(l6)=exp(gs6); end fsd=0; fsu=zeros(5^4,1); for l1=1:5 for l2=1:5 for l3=1:5 for l4=1:5 fsu(5^3*(l1-1)+5^2*(l2-1)+5*(l3-1)+l4)=u1(l1)*u2(l2)*u3(l3)*u4(l4); fsd=fsd+u1(l1)*u2(l2)*u3(l3)*u4(l4); end end end end fs=fsu/(fsd+0.001); fsd1=0; fsu1=zeros(5^4,1); for l1=1:5 for l2=1:5 for l5=1:5 for l6=1:5 fsu1(5^3*(l1-1)+5^2*(l2-1)+5*(l5-1)+l6)=u1(l1)*u2(l2)*u5(l5)*u6(l6); fsd1=fsd1+u1(l1)*u2(l2)*u5(l5)*u6(l6); end end end end fs1=fsu1/(fsd1+0.001); e1=q1-qd1; e2=q2-qd2; e=[e1 e2]'; de1=dq1-dqd1; de2=dq2-dqd2; de=[de1 de2]'; s=de+Fai*e; Gama11=0.01;Gama12=0.01; Gama21=0.01;Gama22=0.01; S11=-1/Gama11*s(1)*fs; S12=-1/Gama12*s(2)*fs; S21=-1/Gama21*s(1)*fs1; S22=-1/Gama22*s(2)*fs1; for i=1:1:5^4 sys(i)=S11(i); end for j=5^4+1:1:2*5^4 sys(j)=S12(j-5^4); end for j=2*5^4+1:1:3*5^4 sys(j)=S21(j-2*5^4); end for j=3*5^4+1:1:4*5^4 sys(j)=S22(j-3*5^4); end function sys=mdlOutputs(t,x,u) global nmn1 nmn2 Fai qd1=u(1); qd2=u(2); dqd1=0.3*cos(t); dqd2=0.3*cos(t); dqd=[dqd1 dqd2]'; ddqd1=-0.3*sin(t); ddqd2=-0.3*sin(t); ddqd=[ddqd1 ddqd2]'; q1=u(3);dq1=u(4); q2=u(5);dq2=u(6); ddq1=u(9);ddq2=u(10); for l1=1:1:5 gs1=-[(q1+pi/6-(l1-1)*pi/12)/(pi/24)]^2; u1(l1)=exp(gs1); end for l2=1:1:5 gs2=-[(dq1+pi/6-(l2-1)*pi/12)/(pi/24)]^2; u2(l2)=exp(gs2); end for l3=1:1:5 gs3=-[(q2+pi/6-(l3-1)*pi/12)/(pi/24)]^2; u3(l3)=exp(gs3); end for l4=1:1:5 gs4=-[(dq2+pi/6-(l4-1)*pi/12)/(pi/24)]^2; u4(l4)=exp(gs4); end for l5=1:1:5 gs5=-[(ddq1+pi/6-(l5-1)*pi/12)/(pi/24)]^2; u5(l5)=exp(gs5); end for l6=1:1:5 gs6=-[(ddq2+pi/6-(l6-1)*pi/12)/(pi/24)]^2; u6(l6)=exp(gs6); end fsd=0; fsu=zeros(5^4,1); for l1=1:5 for l2=1:5 for l3=1:5 for l4=1:5 fsu(5^3*(l1-1)+5^2*(l2-1)+5*(l3-1)+l4)=u1(l1)*u2(l2)*u3(l3)*u4(l4); fsd=fsd+u1(l1)*u2(l2)*u3(l3)*u4(l4); end end end end fs=fsu/(fsd+0.001); fsd1=0; fsu1=zeros(5^4,1); for l1=1:5 for l2=1:5 for l5=1:5 for l6=1:5 fsu1(5^3*(l1-1)+5^2*(l2-1)+5*(l5-1)+l6)=u1(l1)*u2(l2)*u5(l5)*u6(l6); fsd1=fsd1+u1(l1)*u2(l2)*u5(l5)*u6(l6); end end end end fs1=fsu1/(fsd1+0.001); e1=q1-qd1; e2=q2-qd2; e=[e1 e2]'; de1=dq1-dqd1; de2=dq2-dqd2; de=[de1 de2]'; s=de+Fai*e; dqr=dqd-Fai*e; ddqr=ddqd-Fai*de; for i=1:1:5^4 thta1(i,1)=x(i); end for i=1:1:5^4 thta2(i,1)=x(i+5^4); end for i=1:1:5^4 thta3(i,1)=x(i+2*5^4); end for i=1:1:5^4 thta4(i,1)=x(i+3*5^4); end %/////////////////////// r1=1;r2=0.8; m1=1;m2=0.8; D11=(m1+m2)*r1^2+m2*r2^2+2*m2*r1*r2*cos(q2); D22=m2*r2^2; D21=m2*r2^2+m2*r1*r2*cos(q2); D12=D21; D=[D11 D12;D21 D22]; C12=m2*r1*sin(q2); C=[-C12*dq2 -C12*(dq1+dq2);C12*q1 0]; g1=(m1+m2)*r1*cos(q2)+m2*r2*cos(q1+q2); g2=m2*r2*cos(q1+q2); G=[g1;g2]; Fp11=thta1'*fs; Fp12=thta2'*fs; Fp21=thta3'*fs1; Fp22=thta4'*fs1; Fp1=[Fp11 Fp12]'; Fp2=[Fp21 Fp22]'; KD=10*eye(2); W=[2 0;0 2]; M=1; if M==1 tol=D*ddqr+C*dqr+G+Fp1+Fp2-KD*s; % (4.142) elseif M==2 tol=D*ddqr+C*dqr+G+Fp1+Fp2-KD*s-W*sign(s); % (4.145) end sys(1)=tol(1); sys(2)=tol(2); sys(3)=Fp1(1)+Fp2(1); sys(4)=Fp1(2)+Fp2(2);
评论
    相关推荐
    • 水下机器人控制仿真.zip
      uuv运动控制模型仿真,包括滑模控制的实现,有一定借鉴意义
    • GaussDB_100_1.0.1-DATABASE-REDHAT-64bit.tar.gz
      guassdb100在redhat上安装包,单机部署的包,安装步骤请看我的文中介绍,经过大量实验搭建总结出来的文档
    • 卷积神经网络
      这是卷积神经网络的一个实际用例,已经调试好了,能够在matlab上成功运行,适合从事卷积神经网络(CNN)研究的人员学习使用。
    • SIM800C_MQTT.rar
      使用SIM800C模块,使用MQTT协议,连接中国移动onenet平台,能实现数据的订阅、发布、存储等
    • android从bootloader到launcher启动流程整理
      讲述android 开机流程 从boot rom---bootloader---init--zygote---systemserver---ams 并附上自己整理的每个流程的流程图 ,清晰熟悉android 启动流程
    • Aerosim Blockset
      The AeroSim aeronautical simulation blockset provides a complete set of tools for the rapid development of nonlinear 6-degree of freedom aircraft dynamic models. In addition to the basic aircraft dynamics blocks, the library also includes complete aircraft models which can be customized through parameter files.
    • 微电网PSO优化算法
      微电网的粒子群优化调度算法,里面包括相关文献参考和电价数据,算法的过程解释的很清楚,是我学算法时候用到的资源。
    • 分数阶混沌系统:分数阶混沌系统的数值解。-matlab开发
      该工具箱包含可用于模拟一些著名的分数阶混沌系统的函数,例如: - 陈的系统, - Arneodo的系统, - Genesio-Tesi 的系统, - 洛伦兹系统, - 牛顿-莱普尼克系统, - 罗斯勒的系统, - Lotka-Volterra系统, - 达芬的系统, - 范德波尔的振荡器, -伏打的系统- 陆氏系统, - 刘的系统, - Chua的系统, - 金融系统, - 3 细胞 CNN。 这些函数以数值方式计算描述混沌系统的分数阶非线性微分方程的解。 每个函数返回总模拟时间的状态轨迹(吸引器)。 更多详情请看书: Ivo Petras,分数阶非线性系统:建模、分析和仿真,Springer,系列:非线性物理科学,2011,ISBN 978-3-642-18100-9。 http://www.springer.com/engineering/control/book/978-3-
    • matlabpam代码-dsp-library:用于光通信的MATLABDSP函数库
      matlab pam代码 DSP库 该项目包含几种不同的功能,可将DSP算法应用于光通信。 这些功能适用于相干和非相干(PAM,DMT)光通信。 大多数功能是相互独立的。 因此,该代码中的功能可以轻松使用,并与其他DSP功能结合使用。 用法 功能列表以及简短说明在文件中。 输入和输出参数的描述在每个函数的标题中。 讯号 通常,输入(和输出)信号在第一维度上具有时间(例如,列向量),而第二维度用于一次管理多个信号(例如,不同的极化,不同的参数等)。 之所以选择这种约定,是因为MATLAB通过将列保留在内存的连续部分中来存储矩阵,因此,这种约定比其他方法(行向量)要快。 参数 大多数功能使用参数结构作为输入参数。 函数中使用的参数的描述通常在标头中,而coherent-dsp函数的默认参数在文件中。 参考 执照 此代码在下发布。
    • 有关多目标跟踪的PHD滤波的一些资料
      一些关于多目标跟踪的新的文献,主要是有关概率假设密度(PHD)的