一阶倒立摆控制系统设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计说明书
课程名称:控制系统课程设计设计题目:一阶倒立摆控制器设计院系:信息与电气工程学院班级:
设计者:
学号:
指导教师:
设计时间:2013年2月25日到2013年3月8号
课程设计(论文)任务书
指导教师签字:系(教研室)主任签字:
2013年3月5日
目录
一、建立一阶倒立摆数学模型 (4)
1. 一阶倒立摆的微分方程模型 (4)
2. 一阶倒立摆的传递函数模型 (6)
3. 一阶倒立摆的状态空间模型 (7)
二、一阶倒立摆matlab仿真 (9)
三、倒立摆系统的PID控制算法设计 (13)
四、倒立摆系统的最优控制算法设计 (23)
五、总结.................................................................................................. 错误!未定义书签。
六、参考文献 (29)
一、建立一阶倒立摆数学模型
首先建立一阶倒立摆的物理模型。在忽略空气阻力和各种摩擦之后,可将直线一级倒立摆系统抽象成小车和匀质杆组成的系统,如图1所示。
系统内部各相关参数定义如下:
M 小车质量
m 摆杆质量
b 小车摩擦系数
l 摆杆转动轴心到杆质心的长度
I 摆杆惯量
F 加在小车上的力
x 小车位置
φ摆杆与垂直向上方向的夹角
θ摆杆与垂直向下方向的夹角(考虑到摆杆初始位置为竖直向下)1.一阶倒立摆的微分方程模型
对一阶倒立摆系统中的小车和摆杆进行受力分析,其中,N和 P为小车与摆杆相互作用力的水平和垂直方向的分量。
图1-2 小车及摆杆受力图
分析小车水平方向所受的合力,可以得到以下方程:
(1-1)由摆杆水平方向的受力进行分析可以得到下面等式:
(1-2)即:
(1-3)把这个等式代入式(1-1)中,就得到系统的第一个运动方程:
(1-4)
为了推出系统的第二个运动方程,我们对摆杆垂直方向上的合力进行分析,可以得到下面方程:
(1-5)即:
(1-6)力矩平衡方程如下:
(1-7)由于所以等式前面有负号。
合并这两个方程,约去 P 和 N ,得到第二个运动方程:
(1-8)
设
,(φ是摆杆与垂直向上方向之间的夹角),假设φ <<1
弧度, 则可以进行近似处理:0)(
,sin ,1cos 2
=-=-=dt
d θφθθ。用u 代表被控对象的输入力F ,利用上述近似进行线性化得直线一阶倒立摆的微分方程为:
2. 一阶倒立摆的传递函数模型
对式(1-9)进行拉普拉斯变换,得:
注意:推导传递函数时假设初始条件为 0。
由于输出为角度φ,求解方程组的第一个方程,可得:
或
如果令错误!未找到引用源。,则有:
把上式代入方程组(2-1)的第二个方程,得:
(1-9)
(2-5)
(2-1)
(2-2)
(2-3)
(2-4)
整理后得到传递函数:
其中
。
3. 一阶倒立摆的状态空间模型
设系统状态空间方程为:
方程组(2-9)对x ..
解代数方程,得到解如下:
整理后得到系统状态空间方程:
摆杆的惯量为23
1
ml I ,代入(1-9)的第一个方程为:
(2-6)
(3-1)
(3-1)
(3-2)
(3-3)
得:
化简得:
设x u x x x ..
'
[],.
.
==φφ
则有:
4.实际系统的传递函数与状态方程
实际系统的模型参数如下:
M 小车质量 0.5 Kg m 摆杆质量 0.2 Kg
b 小车摩擦系数 0 .1N/m/se
c l 摆杆转动轴心到杆质心的长度 0.3m
I 摆杆惯量 0.006 kg*m*m
(3-4)
(3-5)
代入上述参数可得系统的实际模型。 摆杆角度和小车位移的传递函数:
摆杆角度和小车加速度之间的传递函数为:
摆杆角度和小车所受外界作用力的传递函数:
以外界作用力作为输入的系统状态方程:
以小车加速度为输入的系统状态方程:
二、一阶倒立摆matlab 仿真
实际系统参数如下,按照上面给出的例子求系统的传递函数、状态空间方程,并进行脉冲响应和阶跃响应的matlab 仿真。
(4-2)
(4-3)
(4-1)
(4-5)
M小车质量 1.096Kg
m摆杆质量 0.109Kg
b小车摩擦系数 0.1 N/m/sec
l摆杆转动轴心到杆质心的长度 0.25m
I摆杆惯量 0.0034 kg*m*m T采样时间 0.005秒
1.传递函数法
Matlab程序如下:
M=1.096;
m=0.109;
b=0.1;
I=0.0034;
g=9.8;
L=0.25;
q=(M+m)*(I+m*L^2)-(m*L)^2;
num=[m*L/q 0 0]
den=[1 b*(I+m*L^2)/q -(M+m)*m*g*L/q -b*m*g*L/q 0];
[r,p,k]=residue(num,den);
s=p;
得到传递函数的分子:
num =
2.3566 0 0
以及传递函数分母:
den =
1.0000 0.0883 -27.8285 -
2.3094 0
开环极点:
s =