倒立摆实验报告文档格式.docx

上传人:b****3 文档编号:18433019 上传时间:2022-12-16 格式:DOCX 页数:34 大小:31.65KB
下载 相关 举报
倒立摆实验报告文档格式.docx_第1页
第1页 / 共34页
倒立摆实验报告文档格式.docx_第2页
第2页 / 共34页
倒立摆实验报告文档格式.docx_第3页
第3页 / 共34页
倒立摆实验报告文档格式.docx_第4页
第4页 / 共34页
倒立摆实验报告文档格式.docx_第5页
第5页 / 共34页
点击查看更多>>
下载资源
资源描述

倒立摆实验报告文档格式.docx

《倒立摆实验报告文档格式.docx》由会员分享,可在线阅读,更多相关《倒立摆实验报告文档格式.docx(34页珍藏版)》请在冰豆网上搜索。

倒立摆实验报告文档格式.docx

研究对象并通过传感器检测其可观测的输出,应用数学手段建立起系统的输入-输出关系。

机理建模就是在了解研究对象的运动规律基础上,通过物理、化学的知识和数学手段建立起系统内部的输入-状态关系。

,由于倒立摆本身是自不稳定的系统,实验建模存在一定的困难。

但是忽略掉一些次要的因素后,倒立摆系统就是一个典型的运动的刚体系统,可以在惯性坐标系内应用经典力学理论建立系统的动力学方程。

下面我们采用牛顿-欧拉方法建立直线型一级倒立摆系统的数学模型:

在忽略了空气阻力和各种摩擦之后,可将直线一级倒立摆系统抽象成小车和匀质杆组成的系统,如图所示:

我们不妨做以下假设:

M小车质量

m摆杆质量

b小车摩擦系数

l摆杆转动轴心到杆质心的长度

I摆杆惯量

F加在小车上的力

x小车位置

φ摆杆与垂直向上方向的夹角

θ摆杆与垂直向下方向的夹角(考虑到摆杆初始位置为竖直向下)

图是系统中小车和摆杆的受力分析图。

其中,N和P为小车与摆杆相互作用

力的水平和垂直方向的分量。

注意:

在实际倒立摆系统中检测和执行装置的正负方向已经完全确定,因而

矢量方向定义如图所示,图示方向为矢量正方向。

分析小车水平方向所受的合力,可以得到以下方程:

(3-1)

由摆杆水平方向的受力进行分析可以得到下面等式:

(3-2)

即:

(3-3)

把这个等式代入式(3-1)中,就得到系统的第一个运动方程:

(3-4)

为了推出系统的第二个运动方程,我们对摆杆垂直方向上的合力进行分析,

可以得到下面方程:

(3-5)

(3-6)

力矩平衡方程如下:

(3-7)

此方程中力矩的方向,由

l,故等式前面有负号。

合并这两个方程,约去P和N,得到第二个运动方程:

(3-8)

设θ=φ+π(φ是摆杆与垂直向上方向之间的夹角),假设φ与1(单位是弧

度)相比很小,即φ<

<

1,则可以进行近似处理:

用u来代表被控对象的输入力F,线性化后两个运动方程如下:

(3-9)

对式(3-9)进行拉普拉斯变换,得到

(3-10)

推导传递函数时假设初始条件为0。

由于输出为角度φ,求解方程组的第一个方程,可以得到:

如果令则有:

把上式代入方程组的第二个方程,得到:

整理后得到传递函数:

其中

设系统状态空间方程为:

方程组对,解代数方程,得到解如下:

整理后得到系统状态空间方程:

由(3-9)的第一个方程为:

对于质量均匀分布的摆杆有:

于是可以得到:

化简得到:

设则有:

另外,也可以利用MATLAB中tf2ss命令对(3-13)式进行转化,求得上述状

态方程。

实际系统的模型参数如下:

M小车质量1.096Kg

m摆杆质量0.109Kg

b小车摩擦系数0.1N/m/sec

l摆杆转动轴心到杆质心的长度0.25m

I摆杆惯量0.0034kg*m*m

把上述参数代入,可以得到系统的实际模型。

摆杆角度和小车位移的传递函数:

摆杆角度和小车加速度之间的传递函数为:

摆杆角度和小车所受外界作用力的传递函数:

以外界作用力作为输入的系统状态方程:

以小车加速度作为输入的系统状态方程:

注意事项:

在固高科技所有提供的控制器设计和程序中,采用的都是以

小车的加速度作为系统的输入,如果用户需要采用力矩控制的方法,可以参考以

上把外界作用力作为输入的各式。

五.系统的阶越响应分析

根据已经得到系统的状态方程,先对其进行阶跃响应分析,在

MATLAB中

键入以下命令:

clear;

A=[0100;

0000;

0001;

0029.40];

B=[0103]'

;

C=[1000;

0100];

D=[00]'

step(A,B,C,D)

可以看出,在单位阶跃响应作用下,小车位置和摆杆角度都是发散的。

六.频率响应分析(系统稳定性分析)

前面我们已经得到了直线一级倒立摆的物理模型,实际系统的

开环传递函数

为:

其中输入为小车的加速度V(s),输出为摆杆的角度Φ(s)。

在MATLAB下绘制系统的Bode图和奈奎斯特图。

在MATLAB中键入以下命令:

num=[0.02725];

den=[0.01021250-0.26705];

z=roots(num);

p=roots(den);

subplot(2,1,1)

bode(num,den)

subplot(2,1,2)

nyquist(num,den)

得到如下图所示的结果:

z=

Emptymatrix:

0-by-1

p=

5.1136

-5.1136

可以得到,系统没有零点,但存在两个极点,其中一个极点位于右半s平面,

根据奈奎斯特稳定判据,闭环系统稳定的充分必要条件是:

当ω从-∞到+∞变

化时,开环传递函数G(jω)沿逆时针方向包围-1点p圈,其中p为开环传递函数

在右半S平面内的极点数。

对于直线一级倒立摆,由奈奎斯特图我们可以看出,开

环传递函数在S右半平面有一个极点,因此G(jω)需要沿逆时针方向包围-1点一圈。

可以看出,系统的奈奎斯特图并没有逆时针绕-1点一圈,因此系统不稳定,

需要设计控制器来镇定系统。

七.具体控制方法

(一)双PID控制

直线一级倒立摆双PID控制实验

1.PID控制分析

经典控制理论的研究对象主要是单输入单输出的系统,控制器设计时一般需

要有关被控对象的较精确模型。

PID控制器因其结构简单,容易调节,且不需要

对系统建立精确的模型,在控制上应用较广。

对于倒立摆系统输出量为摆杆的角度,它的平衡位置为垂直向上的

况。

系统控制结构框图如下:

2.双PID实验控制参数设定及仿真。

在Simulinkzhong建立直线一级倒立摆模型

上下两个PID模块。

鼠标右键,选择“Lookundermask”打开模型

内部结构分别为:

双击第二个模块打开参数设置窗口

令kp=1.ki=0.kd=0

得到摆杆角度仿真结果

可看出控制曲线不收敛。

因此增大控制量。

令kp=-30.ki=0.kd=4.6.得

到如下仿

真结果

从上面摆杆角度仿真结果可看出,稳定比较好。

但稳定时间稍微有点长。

双击第一个模块打开参数设置窗

经多次尝试在此参数即kp=-7,ki=0,kp=-4.5情况下效果最好。

得到以下仿真结果

黄线为小车位置输出曲线,红线为摆杆角度输出曲线。

从图中可以看出,系统可以比较好的稳定。

稳定时间在稳定性不错。

3.双PID控制实验

打开直线一级倒立摆爽PID实时控制模块

2-3秒之间。

双击doublePID控制模块进入参数设置

把参数输入PID控制器。

编译程序,使计算机同倒立摆连接。

运行程序。

实验结果如下图所示

从图中可以看出,倒立摆可以实现比较好的稳定性。

(二)线性最优二次控制LQR

线性二次最优控制LQR控制实验

1线性二次最优控制LQR基本原理及分析

线性二次最优控制LQR基本原理为,由系统方程:

确定下列最佳控制向量的矩阵K:

u(t)=-K*x(t)

使得性能指标达到最小值:

式中Q——正定(或正半定)厄米特或实对称阵

R——为正定厄米特或实对称阵

图3-54最优控制LQR控制原理图

方程右端第二项是考虑到控制能量的损耗而引进的,矩阵Q和R

确定了误差和能量损耗的相对重要性。

并且假设控制向量u(t)是无约束的。

对线性系统:

根据期望性能指标选取Q和R,利用MATLAB命令lqr就可以得到反馈矩阵K的值。

K=lqr(A,B,Q,R)

改变矩阵Q的值,可以得到不同的响应效果,Q的值越大(在一定的范围之内),系统抵抗干扰的能力越强,调整时间越短。

但是Q不能过大

2.LQR控制参数调节及仿真

前面我们已经得到了直线一级倒立摆系统的比较精确的动力学

模型,下面我们针对直线型一级倒立摆系统应用LQR法设计与调节控制器,控制摆杆保持竖直向上平衡的同时,跟踪小车的位置。

前面我们已经得到了直线一级倒立摆系统的系统状态方程:

应用线性反馈控制器,控制系统结构如下图。

图中R

是施加在小车上的阶跃输入,四个状态量x,x,φ,φ分别代表小车位移、小车速度、摆杆角度和摆杆角速度,输出y=[x,φ]’包括小车位置和摆杆角度。

设计控制器使得当给系统施加一个阶跃输入时,摆杆会摆动,然后仍然回到垂直位置,小车可以到达新的指定位置。

假设全状态反馈可以实现(四个状态量都可测),找出确定反馈控制规律的向量K。

在Matlab中得到最优控制器对应的K。

Lqr函数允许你选择两个参数——R和Q,这两个参数用来平衡输入量和状态量的权重。

最简单的情况是假设

R=1,Q=C’*C。

当然,也可以通过改变Q矩阵中的非零元素来

调节控制器以得到期望的响应。

其中,Q1,1代表小车位置的权重,而Q3,3是摆杆角度的权重,输入的权重R是1。

下面来求矩阵K,Matlab语句为K=lqr(A,B,Q,R)。

下面在MATLAB中

编程计算:

B=[0103]'

0010];

D=[00]'

Q11=1500;

Q33=300;

Q=[Q11000;

00Q330;

0000];

R=1;

K=lqr(A,B,Q,R);

Ac=[(A-B*K)];

Bc=[B];

Cc=[C];

Dc=[D];

T=0:

0.005:

5;

U=0.2*ones(size(T));

Cn=[1000];

Nbar=rscale(A,B,Cn,0,K);

Bcn=[Nbar*B];

[Y,X]=lsim(Ac,Bc,Cc,Dc,U,T);

plot(T,X(:

1),'

-'

);

holdon;

2),'

3),'

.'

4),'

legend('

cartpls'

'

cartspd'

pendang'

pendspd'

令Q1,1=1,Q3,3=1求得

K[-1-1.785525.4224.6849]

在Simulink中建立直线一级倒立摆的模型如下图所示:

“LQRController”为一封装好的模块,在其上单击鼠标右键,选择“Lookunder

mask”打开LQRController结构如下:

双击“MatrixgainK”即可输入控制参数:

点击执行仿真,得到如下仿真结果:

LQR控制的阶跃响应如上图所示,从图中可以看出,闭环控制系统响

应的超调量很小,但稳定时间和上升时间偏大,我们可以通过增大控

制量来缩短稳定时间和上升时间。

可以发现,Q矩阵中,增加Q11使稳定时间和上升时间变短,

并且使摆杆的角度变化减小。

经过多次尝试,这里取Q1,1=1500,Q3,3

=300,

则K=[-32.7298-23.825581.618214.7098]

输入参数,运行得到响应曲线如下:

从图中可以看出,系统响应时间有明显的改善,增大

Q1,1和

Q3,3,系统的响应还会更快,但是对于实际离散控制系统,过大的

控制量会引起系统振荡。

3.直线一级倒立摆LQR控制实验

打开直线一级倒立摆LQR实时控制模块

其中“LQRController”为LQR控制器模块,“RealControl”为实时控

制模块,双击“LQRController”模块打开LQR控制器参数设置窗口

如下:

在“LQRController”模块上点击鼠标右键选择“Lookundermask”打开模

型如下:

双击“RealControl”模块打开实时控制模块如下图:

其中“Pendulum”模块为倒立摆系统输入输出模块,输入为小车的速度“Vel”和“Acc”,输出为小车的位置“Pos”和摆杆的角度

“Angle”。

双击“Pendulum”模块打开其内部结构:

其中“SetCart’sAccandVel”模块的作用是设置小车运动的速度和加速度,GetCart’sPosition”模块的作用是读取小车当前的实际位置,“GetPend’sAngle”的作用是读取摆杆当前的实际角度。

2)运行程序,实验运行结果如下图所示:

其中图片上半部分为小车的位置曲线,下半部分为摆杆角度的变化曲线,从图中可以看出,小车位置和摆杆角度比较稳定。

控制效果很好。

在此实验中,R值固定,R=1,则只调节Q值,Q11代表小车位置的权重,而Q33是摆杆角度的权重,若Q33增加,使得θ的变化幅度减小,而位移r的响应速度变慢;

若Q11增加,使得r的跟踪速度变快,而θ的变化幅度增大。

当给系统施加一个阶跃输入后,得到系统的响应结果。

从响应曲线可明显看出是否满足系统所要达到的性能指标要求。

通过这样反复不断的试凑,选取能够满足系统动态性能要求的Q和R。

(三)直线二级倒立摆

直线两级倒立摆由直线运动模块和两级倒立摆组件组成。

6.1系统物理模型

为简化系统,我们在建模时忽略了空气阻力和各种摩擦,并认为摆杆为刚体。

二级倒立摆的组成如图6-1所示:

图6-1直线两级倒立摆物理模型倒立摆参数定义如下:

m1摆杆1的质量

m2摆杆2的质量

m3质量块的质量

l1摆杆1中心到转动中心的距离

l2摆杆2中心到转动中心的距离

θ1摆杆1与竖直方向的夹角

θ2摆杆2与竖直方向的夹角

F作用在系统上的外力

利用拉格朗日方程推导运动学方程:

拉格朗日方程为:

L(q,q)=T(q,q)-V(q,q)

其中L为拉格朗日算子,q为系统的广义坐标,T为系统的

动能,V为系统的势能。

其中i=1,2,3,,n,fi为系统在第i个广义坐标上的外力,

在二级倒立摆系统中,系统的广义坐标有三个广义坐标,分别为x,

θ1,θ2。

首先计算系统的动能:

其中Tm,Tm1,Tm2,Tm3分别为小车的动能,摆杆1的动能,摆杆

2的动能和质量块的动能。

小车的动能:

Tm1=Tm1'

+Tm2'

'

其中Tm1'

Tm2'

分别为摆杆1的平动动能

和转动动能。

Tm2=Tm2'

其中Tm2'

分别为摆杆2的平动动能

对于系统,设以下变量:

xpend1摆杆1质心横坐标;

yangle1摆杆1质心纵坐标;

xpend2摆杆2质心横坐标;

yangle2摆杆2质心纵坐标;

xmass质量块质心横坐标;

ymass质量块质心纵坐标;

又有:

由于系统在θ1,θ2广义坐标下没有外力作用,所以有:

在Mathematics中计算以上各式。

因其余各项为0,所以这里仅列举了k12、k13、k17、k22、k23、k27

等7项,得到结果如下:

6.2系统可控性分析

系统状态矩阵A,B,C,D如下:

利用MATLAB计算系统状态可控性矩阵和输出可控性矩阵的秩:

得到结果如下:

或是通过MATLAB命令ctrb和obsv直接得到系统的可控性和可

观测性。

运行的到:

可以得到,系统状态和输出都可控,且系统具有可观测性。

6.3直线两级倒立摆MATLAB仿真

在MATLABSimulink中建立直线两级倒立摆的模型:

其中“State-Space”模块为直线两级倒立摆的状态方程,双击模块打开模型:

“Controller”模块为控制器模块,在“Controller”模块上单击鼠标右键,选择“Lookundermask”打开模型内部结构:

其中“MatrixGainK”为反馈矩阵。

双击“Controller”模块打开其参数设置窗口:

先设置参数为“1”。

“Disturbance”模块为外界干扰模块,其作用是给系统施加一个阶跃信号,点击

“”运行模型进行开环系统仿真。

得到运行结果如下:

从仿真结果可以看出,系统发散,为使系统稳定,需要对其添加

控制器。

6.4LQR控制器设计及仿真

给系统添加LQR控制器,添加控制器后的系统闭环图如下图所

示:

下面利用线性二次最优控制LQR方法对系统进行控制器的设

clc;

k12=86.69;

k13=-21.62;

k17=6.64;

k22=-40.31;

k23=39.45;

k27=-0.088;

a=[000100;

000010;

000001;

000000;

0k12k13000;

0k22k23000];

b=[0001k17k27]'

c=[100000;

010000;

001000];

d=[0;

0;

0];

q11=1;

q22=1;

q33=1;

q=[q1100000;

0q220000;

00q33000;

000000;

000000];

r=1;

k=lqr(a,b,q,r)

aa=a-b*k;

b=b*k

(1);

sys=ss(aa,b,c,d);

t=0:

0.01:

[y,t,x]=step(sys,t);

plot(t,y(:

g'

t,y(:

r'

3));

gridon

运行得到以下结果:

LQR控制参数为:

K=[173.818-83.9412.01624.2791-13.036]

得到仿真结果如下:

可以看出,系统稳定时间过

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

当前位置:首页 > 医药卫生 > 基础医学

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

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