一级直线倒立摆matlab程序Word下载.doc

上传人:b****1 文档编号:13066005 上传时间:2022-10-04 格式:DOC 页数:7 大小:128.50KB
下载 相关 举报
一级直线倒立摆matlab程序Word下载.doc_第1页
第1页 / 共7页
一级直线倒立摆matlab程序Word下载.doc_第2页
第2页 / 共7页
一级直线倒立摆matlab程序Word下载.doc_第3页
第3页 / 共7页
一级直线倒立摆matlab程序Word下载.doc_第4页
第4页 / 共7页
一级直线倒立摆matlab程序Word下载.doc_第5页
第5页 / 共7页
点击查看更多>>
下载资源
资源描述

一级直线倒立摆matlab程序Word下载.doc

《一级直线倒立摆matlab程序Word下载.doc》由会员分享,可在线阅读,更多相关《一级直线倒立摆matlab程序Word下载.doc(7页珍藏版)》请在冰豆网上搜索。

一级直线倒立摆matlab程序Word下载.doc

小车对摆杆水平方向作用力(N)(向左为正方向),’是其反作用力;

小车对摆杆竖直方向作用力(N)(向上为正方向),’是其反作用力;

U:

电动机经传动机构给小车的力,可理解为控制作用u’(向左为正方向);

摆杆重心的水平位置(m);

摆杆重心的竖直位置(m)。

1.1一级倒立摆的数学建模

定义系统的状态为[r,r,θ,θ]

经推导整理后可以达到倒立摆系统的牛顿力学模型:

(1)

(2)

因为摆杆一般在工作在竖直向上的小领域内θ=0,可以在小范围近似处理:

,则数学模型可以整理成:

(3)

(4)

系统的状态空间模型为

=+(5)

(6)

代人实际系统的参数后状态方程为:

=+(7)

(8)

1.2滑模变结构在一级倒立摆系统的应用

主要包括切换函数的设计、控制率的设计和系统消除抖振的抑制。

基于线性二次型最优化理论的切换函数设计,定义系统的优化积分指标是:

Q>

0,

本文采用指数趋近律:

,其中k和ε为正数。

将其代人S=Cx=0中,可以得到:

(9)

控制率为:

(10)

ε的选取主要是为了抑制系统的摩擦力和近似线性化所带来的误差和参数摄动等因素,从而使得系统具有良好的鲁棒性。

文中k=25,ε=0.8。

取变换矩阵T。

其中T=,

去Q*11=diag([30050350]),Q22=10

关于Riccati方程的解有MATLAB的lqr函数可以解出

二程序

%主程序:

直线一级倒立摆

clearall

closeall

globalCM0F

ts=0.02;

%采样时间

T=30;

%仿真时间

TimeSet=[0:

ts:

T];

para=[];

%options为解微分函数中的调整参数,reltol和abstol分别是设置相对误差和绝对误差

options=odeset('

RelTol'

1e-3,'

AbsTol'

[1e-31e-31e-31e-3]);

%options=[];

x0=[0.5,0.3,0,0];

%初始值

[t,xout]=ode45('

daolibai2eq'

TimeSet,x0,options,para);

%固定格式,子程序调用

%返回值

x1=xout(:

1);

x2=xout(:

2);

x3=xout(:

3);

x4=xout(:

4);

s=C

(1)*x1+C

(2)*x2+C(3)*x3+C(4)*x4;

%切换函数或切换面

%选择控制器

ifF==1

%fork=1:

1:

T/ts+1

M0=40;

%u(k)=-M0*sign(s(k));

u=-M0*sign(s);

%end

elseifF==2

beta=30;

delta=0;

fork=1:

u(k)=-beta*(abs(x1(k))+abs(x2(k))+abs(x3(k))+abs(x4(k))+delta)*sign(s(k));

end

end

%绘图

figure

(1);

plot(t,x1,'

r'

);

xlabel('

time(s)'

ylabel('

CartPosition'

figure

(2);

plot(t,x2,'

PendulumAngle'

figure(3);

plot(t,s,'

s'

figure(4);

plot(t,u,'

ylabel('

u'

end

%子程序

functiondx=DxnamicModel(t,x,flag,para)%自定义动态函数

%倒立摆经计算后模型

M=1.096;

m=0.109;

b=0.1;

l=0.25;

I=0.0034;

T=0.005;

g=0.98;

k22=-(I+m*l^2)*b/(I*(M+m)+M*m*l^2);

k23=m^2*g*l^2/(I*(M+m)+M*m*l^2);

k42=-m*l*b/(I*(M+m)+M*m*l^2);

k43=m*g*l*(M+m)/(I*(M+m)+M*m*l^2);

b12=(I+m*l^2)/(I*(M+m)+M*m*l^2);

b14=m*l/(I*(M+m)+M*m*l^2);

A=[0,1,0,0;

0,k22,k23,0;

0,0,0,1;

0,k42,k43,0];

b=[0;

b12;

0;

b14];

%Ackermann'

sformula

n1=-1;

n2=-2;

n3=-3;

C=[0,0,0,1]*inv([b,A*b,A^2*b,A^3*b])*(A-n1*eye(4))*(A-n2*eye(4))*(A-n3*eye(4));

s=C*x;

F=2;

elseifF==2

beta=30;

delta=0;

u=-beta*(abs(x

(1))+abs(x

(2))+abs(x(3))+abs(x(4))+delta)*sign(s);

%stateequation

dx=zeros(4,1);

f0=0.5;

ft=f0*sin(3*t);

dx=A*x+b*(u+ft);

三仿真结果

图2

图3

图4

图5

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 成人教育 > 成考

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1