当前位置:文档之家› 现代控制理论大作业

现代控制理论大作业


2014-12-22
极点配置
2.白噪声输入下不同状态反馈矩阵K的响应曲线
2014-12-22
状态观测器设计
1.全维状态观测器
系统能观,故可以设计状态观测器。设置极点设为-2,-3,-4,-5
Matlab计算程序:
A = [0 1 0 0; 0 -0.0843 0.1502 0; 0 0 0 1.0000; 0 -0.0563 6.6437 0;] C=[1,0,0,0; 0,0,1,0; ] op=[-2,-3,-4,-5]; G=(place(A,C',op))‘;
后退(前倾)
2014-12-22
前进(纠正前倾)
4
控制对象分析与建模
忽略空气阻力后,可以将两轮平衡车抽象成小车 和匀质杆组成的系统,如下图所示:
图2 小车及摆杆受力分析
其中,M——小车质量 m——摆杆质量 b——小车的摩擦系数
自平衡车系统简图
摆杆的转动轴心到质 心的长度
l—— I——摆杆惯量 F——施加给小车的力 x——小车的位置 θ——摆杆与垂直向下方向的夹角 φ——摆杆与垂直向上方向的夹角
控制对象分析与建模
6.被控对象的输入力F用u表示,线性化后得到运动方程:
(6)
7.整理后得到系统状态空间方程:
(7)
2014-12-22
控制对象分析与建模
6.各物理量取以下数值,得到状态空间矩阵为: M=1.096kg l=0.25m m=0.109kg g=9.8m/s2 b=0.1N/(பைடு நூலகம்· s) 状态方程 I=0.034kg· m2
2014-12-22
极点配置
2.阶跃输入下不同状态反馈矩阵K的响应曲线
2014-12-22
极点配置
2.白噪声输入下不同状态反馈矩阵K的响应曲线。
Matlab计算程序:
figure y1= wgn(100,1,0); t= 1:100; sys = ss(A,B,C,D); lsim(sys,y1,t); sys1 = ss(A1,B,C,D); curve1=lsim(sys1,y1,t); sys2 = ss(A2,B,C,D); curve2=lsim(sys2,y1,t); sys3 = ss(A3,B,C,D); curve3=lsim(sys3,y1,t); figure; hold on; plot(curve1(:,1),'color','blue'); plot(curve2(:,1),'color','red'); plot(curve3(:,1),'color','green'); xlabel(‘时间(s)'); ylabel(‘位移(m)'); hold off figure; hold on; plot(curve1(:,2),'color','blue'); plot(curve2(:,2),'color','red'); plot(curve3(:,2),'color','green'); xlabel(‘时间(s)'); ylabel(‘摆动角度(rad)'); hold off
全维观测器方程:
反馈矩阵G:
G=[ 3.998, -0.003487 603.4, -2207.0 -0.8127, 9.917 -14.44, 55.45]
2014-12-22
进一步的工作
1.状态观测器设计 2.极点配置 3.Matlab仿真
2014-12-22
参考文献
1.赵勇.两轮不稳定机器人载体运动学及动力学变结构控制研究.西安电子科技大 学硕士论文.2007 2.茹斐斐.双闭环控制方法在两轮自平衡车中的应用研究.河南大学.2013
状态变量
控制变量
输出变量
2014-12-22
控制对象分析与建模
7.能控性和能观性分析:
M (b, Ab, A2b, A3b)
Matlab程序:
syms I m M l b g x fai; M=1.096;m=0.109;b=0.1;I=0.034;l=0.25;g=9.8; t=I*(M+m)+M*m*l^2; A=[0,1,0,0; 0,-(I+m*l^2)*b/t,m^2*g*l^2/t,0; 0,0,0,1; 0,-m*l*b/t,m*g*l*(M+m)/t,0;] B=[0;(I+m*l^2)/t;0;m*l/t;] C=[1,0,0,0; 0,0,1,0; ] Uc=ctrb(A,B) Vo=obsv(A,C) rankc=rank(Uc) ranko=rank(Vo) namid=eig(A)
2014-12-22
课题背景
两轮自平衡小车的左右轮共轴、独立驱动、整个车身质心基本位于车轮轴正上方, 通过车轮前后运动实现动态平衡,并且可以实现直立行走。作为人为驾驶的代步工具, 将会使得人们小范围、短距离的上班出行变得更加方便、灵活、环保。
2014-12-22
1
课题背景
双轮机器人属于动态稳定而静态不稳定的系统,本身具有多变量、非线性、 强耦合等特性,它能有效反映诸如稳定性、鲁棒性、随动性等控制理论中的关键 问题,对于学生掌握控制系统设计的基本方法十分有帮助,因而具有较大的研究 价值。
2014-12-22
6
控制对象分析与建模
1.分析小车在水平方向所受合力可得: (1) 2.分析摆杆在水平方向所受合力可得: (2) 3.把(2)式带入(1)式可得系统的第一个运动方程: (3) 4.对摆杆垂直方向受力分析可得: (4)
5.把(4)式带入(3)式可得系统的第二个运动方程:
(5)
2014-12-22
pole=[-1,-2,-3,-4]; K=place(A,B,pole) A1=A-B*K; pole=[-3,-4,-5,-6]; K=place(A,B,pole) A2=A-B*K; pole=[-8,-9,-10,-11]; K=place(A,B,pole) A3=A-B*K;
2014-12-22
2014-12-22
N C, CA, CA2 , CA3


计算结果:
rankc = 4 ranko = 4
结论: Rank(M)=4 系统完全能控 Rank(N)=4 系统完全能观
稳定性分析
运用Matlab解出矩阵A的特征值如下:
namid=eig(A) namid = 0 -0.0830 -2.5782 2.5769
2014-12-22
2
课题背景
左轮
系统工作原理
软件编码 电源
减速机构
左电机 AD 采样 滤波
Accelerometer gyroscope
驱动器1 MCU 驱动器2 右电机
遥控器
无线模块
软件编码 减速机构 右轮
2014-12-22
3
课题背景
系统工作原理
前进(后仰)
后退(纠正后仰)
由于车身是 不断变化,检 测、反馈就不 断随之变化, 动态地跟踪车 身的倾角状态, 使车身一直保 持平衡状态, 这就是动态自 平衡原理。
极点配置
2.阶跃输入下的响应
Matlab计算程序:
sys1 = ss(A1,B,C,D); curve1=step(sys1); sys2 = ss(A2,B,C,D); curve2=step(sys2); sys3 = ss(A3,B,C,D); curve3=step(sys3); figure; hold on; plot(curve1(:,1),'color','blue'); plot(curve2(:,1),'color','red'); plot(curve3(:,1),'color','green'); xlabel(‘时间(s)'); ylabel(‘位移(m)'); hold off figure; hold on; plot(curve1(:,2),'color','blue'); plot(curve2(:,2),'color','red'); plot(curve3(:,2),'color','green'); xlabel(‘时间(s)'); ylabel(‘摆动角度(rad)'); hold off
计算结果:
极点为[-1,-2,-3,-4]时: K1=[-4.3530 -9.1688 80.5406 31.3573] 极点为[-3,-4,-5,-6]时: K2=[-65.2954 -62.1306 321.1232 124.8984] 极点为[-8,-9,-10,-11]时: K3=[-1436.5 -613.5 3121.3 986.3]
传递函数:
阶跃输入的响应曲线 A的特征值中有一个零点和一个整根, 故系统的状态是不稳定的。
2014-12-22
极点配置
已知该系统不稳定,要使系统稳定,必须重新配置极点, 因为状态矩阵完全能控,所以可以采用状态反馈来使系统稳定。 通过设置不同的极点,可以得到不同的状态反馈矩阵,再通过比较不同输入下的响应 曲线的响应速度和稳定性,可以得出一组较好的极点以及状态反馈矩阵。 1.状态反馈矩阵K的计算 Matlab计算程序:
2014-12-22
5
控制对象分析与建模
忽略空气阻力后,可以将两轮平衡车抽象成小车 和匀质杆组成的系统,如下图所示:
图2 小车及摆杆受力分析
相关主题