倒立摆系统实验设计报告.doc
《倒立摆系统实验设计报告.doc》由会员分享,可在线阅读,更多相关《倒立摆系统实验设计报告.doc(30页珍藏版)》请在三一文库上搜索。
1、 第 1 页 学生实验报告 课程名称课程名称: : 倒立摆系统课程设计倒立摆系统课程设计 组号:组号: 7 7 姓名:姓名: 学号:学号: 邮箱:邮箱: 20102010 年年 1111 月月 1111 1 1 日日 第 2 页 目录 倒立摆系统的构成.3 单级倒立摆数学模型的建立.3 传递函数 .6 状态空间方程 .6 系统 MATLAB 仿真和开环响应.7 稳定性与可控性分析11 控制器设计12 基于状态反馈的控制算法设计与仿真 LQR 12 极点配置法 .16 PID 控制算法 19 实验结果及与仿真结果的对比分析29 感想和建议30 第 3 页 倒立摆系统的构成倒立摆系统的构成 图图
2、1 倒立摆系统的组成框图倒立摆系统的组成框图 如图 1 所示为倒立摆的结构图。系统包括计算机、运动控制卡、伺服机构、倒立摆本 体和光电码盘几大部分,组成了一个闭环系统。光电码盘 1 将小车的位移、速度信号反馈 给伺服驱动器和运动控制卡,摆杆的位置、速度信号由光电码盘 2 反馈回控制卡。计算机 从运动控制卡中读取实时数据,确定控制决策(小车向哪个方向移动、移动速度、加速度 等) ,并由运动控制卡来实现该控制决策,产生相应的控制量,使电机转动,带动小车运动, 保持摆杆平衡。 单级倒立摆数学模型的建立单级倒立摆数学模型的建立 在忽略了空气流动,各种摩擦之后,可将倒立摆系统抽象成小车和匀质杆组成的系统
3、, 如下图 2 所示 第 4 页 图图 2 单级倒立摆模型示意图单级倒立摆模型示意图 那我们在本实验中定义如下变量: M 小车质量 (本实验系统 0.5 Kg) m 摆杆质量 (本实验系统 0.2 Kg) b 小车摩擦系数 (本实验系统 0.1 N/m/sec) l 摆杆转动轴心到杆质心的长度(0.3 m) I 摆杆惯量 (0.006 kg*m*m) F 加在小车上的力 x 小车位置 摆杆与垂直向上方向的夹角 摆杆与垂直向下方向的夹角(考虑到摆杆初始位置为竖直向下) 下面我们对这个系统作一下受力分析。下图 3 是系统中小车和摆杆的受力分析图。其 中,和为小车与摆杆相互作用力的水平和垂直方向的分
4、量。 NP 注意:在实际倒立摆系统中检测和执行装置的正负方向已经完全确定,因而矢量方向 定义如图,图示方向为矢量正方向。 图图 3 倒立摆模型受力分析倒立摆模型受力分析 第 5 页 分析小车水平方向所受的合力,可以得到等式: 应用 Newton 方法来建立系统的动力学方程过程如下: 分析小车水平方向所受的合力,可以得到以下方程: NxbFxM 由摆杆水平方向的受力进行分析可以得到下面等式: )sin( 2 2 lx dt d mN 即 sincos 2 mlmlxmN 把这个等式代入上式中,就得到系统的第一个运动方程: (1)FmlmlxbxmMsincos)( 2 为了推出系统的第二个运动方
5、程,我们对摆杆垂直方向上的合力进行分析,可以得到 下面方程: cossin )cos( 2 2 2 mlmlmgP l dt d mmgP 即: 力矩平衡方程如下: INlPlcossin 注意:此方程中力矩的方向,由于,故等式sinsin,coscos, 前面有负号。 合并这两个方程,约去和,由得到第二个运动方程:PN 2 3 1 mlI (2)cossin 2 3 4 xmlmglml 设(是摆杆与垂直向上方向之间的夹角) ,假设与 1(单位是弧度)相 比很小,即1,则可以进行近似处理:,。用来1cossin0)( 2 dt d u 代表被控对象的输入力,线性化后两个运动方程如下:F (3
6、) umlxbxmM xgl )( 3 4 第 6 页 传递函数传递函数 对方程组(3)进行拉普拉斯变换,得到 (4) )()()()()( )()()( 3 4 22 22 sUssmlssbXssXmM ssXsgssl 注意:推导传递函数时假设初始条件为 0。 由于输出为角度,求解方程组(4)的第一个方程,可以得到 )( 3 4 )( 2 s s g lsX 把上式代入方程组(4)的第二个方程,得到 )()()( )( )( )( )( 2 2 2 2 2 sUssmlss s g ml mlI bss s g ml mlI mM 整理后得到传递函数: s q bmgl s q mglm
7、M s q bml s s q ml sU s 23 2 3 4 4 2 )( )( )( 其中 )()( 22 mlmlImMq 状态空间方程状态空间方程 系统状态空间方程为 DuCXy BuAXX 方程组(3)对解代数方程,得到解如下: , x 第 7 页 u lmMlmM mMg x lmM b u mMmM mg x mM b x xx )4( 3 )4( )(3 )4( 3 )4( 4 )4( 3 )4( 4 整理后得到系统状态空间方程: u lmM mM x x lmM mMg lmM b mM mg mM b x x )4( 3 0 )4( 4 0 0 )4( )(3 )4( 3
8、 0 1000 0 )4( 3 )4( 4 0 0010 u x x x y 0 0 0100 0001 系统系统 MatlabMatlab 仿真和开环响应仿真和开环响应 实际系统参数如下,求系统的传递函数、状态空间方程,并进行脉冲响应和阶跃响应 的 Matlab 仿真。 M 小车质量 1.096 Kg m 摆杆质量 0.109 Kg b 小车摩擦系数 0 .1N/m/sec l 摆杆转动轴心到杆质心的长度 0.2 5m I 摆杆惯量 0.0034 kg*m*m F 加在小车上的力 x 小车位置 摆杆与垂直方向的夹角 T 采样频率0.005 秒 注意:在进行实际系统的 Matlab 仿真时,请
9、将采样频率改为实际系统的采样频率。 传递函数: 第 8 页 在 Matlab 中,拉普拉斯变换后得到的传递函数可以通过计算并输入分子和分母矩阵来 实现。求系统传递函数的 m-文件内容如下: M = 1.096; m = 0.109; b = 0.1; I= 0.0034; g = 9.8; l = 0.25; q = (M+m)*(I+m*l2)-(m*l)2; %simplifies input num = m*l/q 0 den = 1 b*(I+m*l2)/q -(M+m)*m*g*l/q -b*m*g*l/q t = 0 : 0.01 : 5; impulse ( num , den
10、, t ) axis ( 0 1.1 0 70 ) 执行上面的文件,就可以求出系统传递函数的分子与分母多项式的 Matlab 表示: num = 2.3566 0 den = 1.0000 0.0883 -27.8285 -2.3094 可以得到系统开环脉冲响应的曲线如下: 第 9 页 00.20.40.60.81 0 10 20 30 40 50 60 70 Impulse Response Time (sec) Amplitude 图图 4 4 系统开环脉冲响应曲线系统开环脉冲响应曲线 状态空间法: 状态空间法可以进行单输入多输出系统设计,(从实验二开始,我们将尝试同时对摆杆 角度和小车位
11、置进行控制)。为了更具挑战性,给小车一个阶跃输入信号,设计指标如下: 小车位置 x 和摆杆角度 的稳定时间小于 5 秒; 位置 x 的上升时间小于 0.5 秒; 摆杆角度的超调量小于 20 度(0.35 弧度) 。 下面,我们用 Matlab 求出系统的状态空间方程各矩阵,并仿真系统的开环阶跃响应。 在这里同样给出了一个 m-文件,执行这个文件,Matlab 将会给出系统状态空间方程的 A,B,C 和 D 矩阵,并可以绘出在给定输入为一个 0.2 m 的阶跃信号时系统的响应曲线。 M = 1.096; m = 0.109; b = 0.1; I= 0.0034; g = 9.8; l = 0.
12、25; p = I*(M+m)+M*m*l2; %denominator for the A and B matricies 第 10 页 A = 0 1 0 0; 0 -(I+m*l2)*b/p (m2*g*l2)/p 0; 0 0 0 1; 0 -(m*l*b)/p m*g*l*(M+m)/p 0 B = 0; (I+m*l2)/p; 0; m*l/p C = 1 0 0 0; 0 0 1 0 D = 0; 0 T=0:0.005:10; U=0.2*ones(size(T); Y,X=lsim(A,B,C,D,U,T); plot(T,Y) axis(0 2.5 0 100) 执行该 m
13、 文件,可以求出系统的状态空间 A、B、C、D 矩阵,得到开环系统阶跃响应 的曲线。 A = 0 1.0000 0 0 0 -0.0883 0.6293 0 0 0 0 1.0000 0 -0.2357 27.8285 0 B = 0 0.8832 0 2.3566 C = 1 0 0 0 0 0 1 0 D = 第 11 页 0 0 1 00.511.522.5 0 10 20 30 40 50 60 70 80 90 100 图图 5 5 倒立摆状态空间开环系统阶跃响应曲线倒立摆状态空间开环系统阶跃响应曲线 图中,实线是摆杆角度响应曲线,虚线是小车位置响应曲线。 稳定性与可控性分析稳定性与
14、可控性分析 我们先看一看系统的稳定性,将数据代入状态方程中,利用 matlab 程序可以求出系统 的零极点。源代码如下: M = 1.096; m = 0.109; b = 0.1; I= 0.0034; l = 0.25; a b c d=wer_ss(M,m,b,l);%自己编写的函数,建立模型之用,具体程序见下面 sysc=ss(a,b,c,d); sysd=c2d(sysc,0.005); da db dc dd=ssdata(sysd); z p gain=ss2zp(da,db,dc,dd,1) z = -0.9999 -0.9999 1.0275 1.0000 + 0.0000i
15、 第 12 页 0.9733 1.0000 - 0.0000i p = 1.0000 0.9996 1.0285 0.9723 gain = 1.0e-004 * 0.1113 0.3338 wer_ss 源程序: function a b c d=wer_ss(M,m,b,l) a=0 1 0 0;0 -4*b/(4*M+m) 3*m*9.8/(4*M+m) 0;0 0 0 1;0 - 3*b/(4*M+m)*l) 3*9.8*(M+m)/(4*M+m)*l) 0; b=0;4/(4*M+m);0;3/(4*M+m)*l); c=1 0 0 0;0 0 1 0; d=0;0 由得到的 p(极
16、点)可知,有的极点在单位圆外,所以可知原系统是不稳定的。 同样,我们可以利用 matlab 来得到系统的能控性,源代码如下: ud=ctrb(da,db); rank(ud) ans = 4 由得到的 rank(ud)的值可知,原系统的能控性矩阵为 4,所以我们可知原系统是能 控的。 控制器设计控制器设计 基于状态反馈的控制算法设计与仿真基于状态反馈的控制算法设计与仿真 LQR 由理论分析知,可以设计基于最优控制的状态调节器,使系统闭环稳定。 设状态反馈调节律的形式为 )()(kxKku r 通过使性能指标函数 )()()()()()( 2 1 )()( 2 1 1 0 kukRkukXkQk
17、XNPXNXJ r T N k r TT 为最小,根据在附录 1 中我们所介绍的求得 第 13 页 GkPHHKPHRK TT rr ) 1() 1( 1 其中 P 由下列黎卡提方程获得 GkPHHkPHRHkPGGkPGQkPTT r TT r ) 1() 1() 1() 1()(1 其中,分别用来对状态向量 x(k),控制向量 u(k)引起的性能度量的相对重要性 r Q r R 进行加权。在实际运算中我们运用 Matlab 控制系统工具箱中的“dlqr”函数直接进行运算。 利用 dlqr 函数,我们需要提供两个权值矩阵:Q、R。通常我们取 R=1,而对于 Q 我 们只能通过不断的凑取来得到
18、。源代码如下: R=1; Q=10 0 0 0;0 0 0 0;0 0 1 0;0 0 0 0 Q = 10 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 T=0.005; syse k=wer_lqr(da,db,dc,dd,Q,R,T);%wer_lqr 是自己定义的函数,具体见下面程序 x0=0.05;0;0.0175;0; t=0:0.005:10; y x1=initial(syse,x0,t); plot(t,y(:,1),red,t,y(:,2),blue) wer_lqr 源程序: function sysresult k=wer_lqr(da,db,dc,dd,
19、Q,R,T); %sysresult k=wer_lqr(da,db,dc,dd,Q,R,T); k S e=dlqr(da,db,Q,R); G=da-db*k; sysresult=ss(G,db,dc,dd,T); 我们已开始的 Q 为:Q1=10 0 0 0;0 0 0 0;0 0 1 0;0 0 0 0;结果得到的图为图 6; Q2 取为:Q=100 0 0 0;0 0 0 0;0 0 10 0;0 0 0 0;结果得到的图为图 7; 通过比较,我们发现当 Q11、Q33 比值一定时,取大的值时系统的响应速度加快,但 是超调加大;反之则响应变慢但是超调减小。 第 14 页 01234
20、5678910 -0.01 0 0.01 0.02 0.03 0.04 0.05 位 位 位 位 位 位 图图 6 Q1 响应图响应图 012345678910 -0.01 0 0.01 0.02 0.03 0.04 0.05 位 位 位 位 位 位 图图 7 Q2 响应图响应图 在左右权衡之间,我们最终选取了: Q=300 0 0 0;0 0 0 0;0 0 30 0;0 0 0 0 此时的响应曲线如图 8,而 k 值为: k = 第 15 页 -16.6147 -12.4226 56.5909 10.2444 012345678910 -0.01 0 0.01 0.02 0.03 0.04
21、 0.05 位 位 位 位 位 位 图图 8 最优的响应曲线最优的响应曲线 此时的单位阶跃响应曲线为图 9: 012345678910 -0.07 -0.06 -0.05 -0.04 -0.03 -0.02 -0.01 0 0.01 0.02 位 位 位 位 位 位 图图 9 单位阶跃响应曲线单位阶跃响应曲线 从仿真效果来看,零状态响应和单位阶跃响应都符合要求。 第 16 页 极点配置法极点配置法 采用极点配置法设计多输出的倒立摆系统的控制方案。可以用完全状态反馈来解决, 控制摆杆和小车的位置。 图 10 是控制系统的示意图。 图图 10 控制系统框图控制系统框图 假定所有的状态变量都可以测量
22、和反馈,可以证明:若所研究的系统是状态完全可控 的,那么,利用状态反馈的方法,经过适当的状态反馈增益矩阵,就可以把闭环系统的极 点配置到任何期望的位置。 设开环控制系统的离散状态方程为: x(k+1) = Gx(k) + Hu(k) 其中,假设系统是状态完全可控的 x(k) 为在第 k 次采样时刻的状态矢量(n 维矢量) u(k) 为在第 k 次采样时刻的控制信号(标量) G = nn 矩阵 H = n1 矩阵 设极点配置的控制律形式为 )()(kxKku p 式中是状态反馈增益矩阵(矩阵) ,于是该系统就成为一个闭环控制系统。其 p K n1 闭环状态方程为 )()() 1(kxHKGkx
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 倒立 系统 实验设计 报告
链接地址:https://www.31doc.com/p-2052460.html