1. 引言
倒立摆系统是一个非线性且不稳定的系统,是研究控制理论的经典实验装置。其结构简单、成本低廉的特点,使其成为进行控制理论教学及开展各种控制实验的理想实验平台,也是研究智能控制方法较为理想的实验装置 [1] 。倒立摆结合了控制理论、计算机控制等多个领域,其自身又是一个绝对不稳定、高阶次、多变量、强耦合的非线性系统,因此许多研究控制的人都把它当做经典的控制对象来研究。在欧美等发达国家的高等院校,它已成为必备的控制理论教学实验设备 [2] [3] [4] 。
1984年,Wattes首先研究了用LQR方法控制倒立摆 [5] 。1994年,北京航空航天大学张明廉教授提出“拟人智能控制理论”框架,利用了人工智能与自动控制理论的结合,它是由规约规则和动态定性推理系统组成 [6] 。这种理论从被控对象的物理模型出发,引入了规约的思想,在定性分析中融合了人的控制经验和知识,由规则直接形成控制方法,成功地实现三级倒立摆的实物控制。1995年,T.-H. Li等人利用两个并行的模糊控制来分别控制小车位置和摆杆角度,用实验证明了智能控制方法可以应用在倒立摆系统上 [7] 。1996年,张乃尧等人采用模糊双闭环的控制方案成功地实现了对直线一级倒立摆的稳定控制 [8] 。2002年,李洪兴教授采用变论域自适应模糊控制的控制方法,在世界上首次实现了四级直线倒立摆的稳定性控制。
以上各位学者的工作充分表明了研究倒立摆系统控制方法的重要性。本文在对直线倒立摆系统进行机理分析的基础上,建立了其完整的非线性模型和线性模型。利用MATLAB GUI开发出PID仿真平台,利用本仿真平台对PID的控制算法进行仿真并评估该控制方法应用到倒立摆系统的可行性。
2. 倒立摆的数学模型
2.1. 直线一级倒立摆简介
完整的倒立摆系统包括计算机、运动控制卡、伺服系统、倒立摆本体和光电码盘、反馈测量元件等几大部分,共同组成一个闭环系统。闭环系统由控制器、受控对象和反馈通路组成。在倒立摆系统中控制器为计算机,受控对象为小车与摆杆。如图1所示。
2.2. 模型的建立
忽略空气阻力及各种摩擦力,将倒立摆系统看成由小车和匀质刚性摆杆组成。系统内部各项参数见表1。
分析小车水平方向所受的合力,可得:

Figure 1. Linear inverted-pendulum system diagram
图1. 直线型倒立摆系统结构图

Table 1. System resulting data of standard experiment
表1. 标准试验系统结果数据
(1)
在摆杆水平方向的受力进行分析可得:
(2)
即:

将(2)代入(1)可得:
(3)
对摆杆进行竖直方向的受力分析得:
(4)
力矩平衡方程:
(5)
将(4)、(5)合并得:

设
为倒立摆系统的竖直平衡状态,
为角度偏差,
一般不超过20˚。即



用u来代表施加于小车上的力得:

通过Laplace变换可以得到系统的传递函数模型:

其中,
。代入数值可得系统传函的表达式:

3. PID控制器的建立
3.1. PID控制器设计MATLAB仿真
用MATLAB可以建立PID控制器的Simulink的模型仿真,既可以节省编程的工作量,也可以清楚直观的进行操作。当模拟运行遇到问题时,可以轻松改变仿真中的参数,完成对仿真系统的校正。如图2所示。
3.2. 页面模块
这里使用GUI来完成页面的设计。页面包含三个数值输入文本框(edit),分别对应KP、KI、Kd。一个按钮(pushbutton)作为程序的运行按钮;一个图像显示的窗口(axes)作为图像的输出窗口。使用者只需在KP、KI、Kd的文本框中输入想要仿真的数值然后单击上面的按钮即可进行仿真。
3.3. 界面的设计过程及设计结果
在GUI中设计页面,设计步骤如下:
① 首先,新建一个GUI,在界面编辑窗口中放入三个静态文本(text)从上到下以此命名为KP、KI、Kd。在它们的后边分别放一个输入文本框(edit)。在右侧空白的区域放一个大小合适的按钮(pushbutton),在下方的空白区域放一个图像输出窗口(axes)。
② 给三个输入文本框创建独立的回调函数,将程序运行时操作者输入的数值从上到下依次保存为m
函数中的变量P、I、D。作为PID控制器的系数带入Simulink中,并将按钮单击动作时触发运行事件。
③ 将Simulink框图中的输出out1与GUI中的
axes相连接,使得仿真生成的曲线图在GUI的界面中显示。程序界面如图3所示
本模拟过程由软件来实现,只需要利用计算机就可以完成对PID算法的模拟,减少了实验的成本并提高了实验效率。
4. PID控制参数设定及仿真
4.1. PID控制器设计MATLAB仿真
在Simulink的模型仿真中,双击Scope打开图像生成窗口。在PID控制器中输入KP、KI、Kd的系数
;
;
;单击运行曲线图如图4所示。

Figure 2. Simulation diagram of inverted-pendulum system in Simulink
图2. 倒立摆系统Simulink仿真结构图
从图4可以看出,控制曲线不收敛,因此增大控制量。将PID控制器系数改为
;
;
;曲线如图5所示。
为消除系统的振荡,增加微分控制参数Kd。将PID控制器系数改为
;
;
;曲线如图6所示。

Figure 4. PID response curve (KP = 1; KI = 1; Kd = 1)
图4. PID响应曲线(KP = 1; KI = 1; Kd = 1)

Figure 5. PID response curve (KP = 100; KI = 1; Kd = 1)
图5. PID响应曲线(KP = 100; KI = 1; Kd = 1)

Figure 6. PID response curve (KP = 100; KI = 1; Kd = 20)
图6. PID响应曲线(KP = 100; KI = 1; Kd = 20)
从PID控制器系统响应曲线可以看出,系统在KP,KI,Kd没有调整前是不稳定的。当
;
;
时系统经过3 s的波动达到稳定状态,此时稳态误差为0。此时调整微分系数Kd,可以有效减小系统超调量,使系统到达稳定时间减少为2 s。成功实现尽量少的时间达到稳定的目的。
4.2. PID控制实验
将参数
;
;
在实验室直线一级倒立摆上进行控制实验,发现倒立摆可以实现较好的稳定性,摆杆的角度在3.14 rad左右。但是PID 控制器并不能对小车的位置进行控制,小车会沿滑杆有稍微的移动。当施加干扰后系统仍可以较好的抵换外界干扰,在干扰停止作用后,系统能很快回到平衡位置。证明了在PID控制器上仿真出的参数在实际的直线一级倒立摆控制上与仿真结果大致相同。
5. 结论
本文从倒立摆的数学建模入手,在此基础之上基于MATLAB中Simulink的仿真建模。并使用GUI设计并建立PID控制器,对KP、KI、Kd的参数进行调整。通过生成的控制曲线来评估这一组参数的控制效果。将得到的参数在倒立摆系统上进行验证,减少了实验的时间与花费的精力。本课题经检验达到了预期的目标,取得了理想的结果。但平衡的时候出现的小幅的振荡等问题都有待于改善,今后会在单纯的PID控制中加入模糊控制,来进行PID控制器的优化设计。