基于双PID的旋转倒立摆控制系统设计与实现_刘二林
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于双PID 的旋转倒立摆控制系统设计与实现
Design and implementation of rotary invert pendulum based on dual PID
刘二林1,姜香菊2
LIU Er-lin 1, JIANG Xiang-ju 2
(1. 兰州交通大学 机电工程学院,兰州 730070;2. 兰州交通大学 自动化与电气工程学院,兰州 730070)摘 要:设计了一款简易旋转倒立摆。对所设计的旋转倒立摆进行了分析,利用Lagrange方程建立了系统的数学模型。在MATLAB中,通过双PID控制模式对旋转倒立摆控制进行仿真,仿真结果与实际运行结果相符合。将MATLAB中的双PID控制算法移植到微控制器中,实现了对旋转倒立摆系统的控制。将系统实际运行参数通过串口上传至上位机,并在虚拟示波器中进行显示。实际运行结果表明所设计的双PID控制器能实现对旋转倒立摆的控制,系统稳定性好,鲁棒性好。
关键词:旋转倒立摆;数学模型;双PID控制器中图分类号:TP13 文献标识码:A 文章编号:1009-0134(2015)03(下)-0139-04Doi:10.3969/j.issn.1009-0134.2015.03(下).43
收稿日期:2014-12-02
基金项目:甘肃省高等学校科研项目(214117)
作者简介:刘二林(1977 -),男,河南人,讲师,硕士,研究方向为测控技术和智能控制。
0 引言
倒立摆是机器人技术、控制理论、计算机控制等多领域、多技术的有机结合,其控制系统本身是一个绝对不稳定、高阶次、多变量、强耦合的非线性系统,可以作为典型的控制对象对其进行研究。倒立摆的种类很多,有直线倒立摆、旋转倒立摆、平面倒立摆等。旋转倒立摆是三种形式的倒立摆中结构较简单的一种。相对于小车式的直线倒立摆而言,由于其将小车控制改为悬臂的旋转控制,其中间环节较少,机械结构较容易实现;但是其受力分析更加复杂,具有更大的非线性、不稳定及复杂性,对控制算法提出了更高的要求[1,2]。
论文中,采用直流电机,减速机构,微控制器,电机驱动芯片,1024线绝对式编码器等设计了一个一级旋转倒立摆;同时,利用拉格朗日方程对倒立摆进行了动力学分析,建立了系统完整的数学模型,并在MATLAB 中采用双PID 控制模式进行了控制器设计,并进行了仿真验证。最后,将设计的控制器移植到微控芯片中进行了实际测试,并将测试结果通过通讯模块上传至上位机进行了数据分析。结果表明,设计的系统机械结构合理,响应速度快,鲁棒性好。
1 旋转倒立摆基本结构
旋转倒立摆主要由倒立摆支撑机架、电机、减速装置、摆杆、旋臂、1024线位置式编码器、BT7960构成的H 桥电路及微控制器芯片组成。倒立摆结构框图及实物图如图1
所示。
(a) 倒立摆结构框图
(b) 倒立摆实物图
图1 倒立摆结构及实物图
在图1(b)中,旋转倒立摆的旋臂与减速器的输出轴联接,减速器由直流电机驱动[3,4],编码器1的齿轮与直流电机主轴齿轮啮合。通过获取编码器1的角度和角速度可以计算出旋臂的角度和角速度。编码器2安装在旋臂末端,且编码器2的旋转轴与旋臂的主轴平行;摆杆安装在编码器2的旋转轴上,摆杆轴线与编码器旋转轴垂直。系统中,旋臂只能以减速器动力输出轴为圆心做
水平旋转,摆杆只能以编码器2旋转轴为圆心在旋臂末端旋转轨迹的切面上做竖直旋转。
2 旋转倒立摆数学模型
对旋转倒立摆进行受力分析,建立广义坐标系。系统的简化模型如图2所示。利用拉格朗日方程建立系统的运动学微分方程[1,5~8]。
由图2可知,系统中摆杆与旋臂各有一个自由度,所以,可以取α和θ为广义坐标。则倒立摆系统的动能由四部分组成。
1234T T T T T =+++ (1)其中T 1为旋臂的转动动能,;T 2为摆
杆的转动动能,;T 3为摆杆沿X 轴方向运
动的动能,;T 4为摆杆沿Y 轴方向运动的动能,
。
因为α→0,所以sin α→0,cos α→1,将式1各项进行计算合并,并且对其进行线性化处理可得:
(2)
图2 系统简化模型
系统的广义力为:
,
;所以根据拉格朗日方程有:
(3)
(4)
由式(3)可得: (5)
式(5)中,T
o u t
为电机输出扭矩,。
由式(4)可得:
(6)
将式(4)、式(5)联立组成方程组,得到倒立摆系统线性化状态方程。
(7)
式(7)中:
以上各式中,参数的物理意义、数值及单位如表1
所示。
3 旋转倒立摆控制器设计
旋转倒立摆的控制目标是:使倒立摆摆杆稳定在正上方,摆杆角度α→0,旋臂角速度→0;或者使倒立摆在倒立的情况下匀速旋转。如果用传递函数对理想倒立摆系统进行分析,可以发现系统有一个极点在s 平面的右半平面,系统不稳定。系统如果希望达到α→0的目标,可以通过PID 控制器使系统的两个极点都位于s 平面的左半平面,则倒立摆系统稳定[9~12]。
通过分析,为了使摆杆和悬臂都稳定在期望的位置,对旋臂和摆杆使用PID 控制,在控制器中,PID 控制器1对倒立摆摆杆的角度α进行控制,控制器输出为正反馈;PID 控制器2对旋臂的角速度进行控制,控制器输出为负反馈。控制系统结构图如图6
所示。
图3 双PID 控制仿真系统结构图
在仿真过程中,取倒立摆模型的摆杆角度α的初始值为-0.175(约为10度),旋臂初始角度为0。取K p1=100,K d1=20,K i1=1.5,取K p2=2.2,K d2=0.08,K i2=0.01,PID2控制器输出的电压值限幅范围为:-5V ~+5V ,控制器总体输出的电压值限幅范围为:-10V ~+10V ,控制器输出部分的m 文件如下:
function sys=mdlOutputs(t,x,u)Out1=100*u(4)+20*u(5)+1.5*u(6);Out2=2.2*u(1)+0.08*u(2)+0.01*u(3);if Out2>5 Out2=5;elseif Out2<-5 Out2=-5;end
Out=Out1-Out2;if Out>10 Out=10;elseif Out<-10 Out=-10;end sys(1)=Out;
如果摆杆角度设定值为α=0,旋臂角速度设定值为=0,则仿真结果如图4
所示。
图4 α=0,=0时双PID 仿真曲线
通过仿真曲线图可以看出,倒立摆系统的摆杆会稳定的停留在α=0处,但是由于摆杆初始角度的存在,同时PID 控制器2控制的变量为摆杆的角速度,且=0;所以,旋臂会稳定在3rad 附近。这与实际控制过程相符合。
如果摆杆角度设定值为α=0,旋臂角速度设定值为=0.5,则仿真结果如图5所示。
通过仿真曲线可以看出,倒立摆旋臂会沿着设定的方向匀速旋转,摆杆的角度会略微偏离0角度,α≈2.1×10-3。这也与旋转倒立摆的实际运行曲线相符合。
4 旋转倒立摆实际运行数据分析
将Matlab 中的控制算法移植到微控制器中,通过虚拟示波器将摆杆的角度及旋臂的角速度传到上位机中。上位机虚拟示波器显示的波形图如图6所示。
图6中,纵坐标为角度和角速度,对于角度而言,其单位为:
表1 状态方程中各参数列表
符号物理意义数值单位d 旋臂长度0.60m m 1旋臂质量0.250kg L 摆杆长度0.28m m 2摆杆质量0.117kg g 重力加速度9.8m/s 2R m 电机电枢电阻3
Ωα摆杆与Y 轴的夹角rad θ旋臂的转角rad
η动力系统效率0.7k f 力矩系数0.008k g 齿数比11k m 反向电动势0.008C 1旋臂阻尼系数0.001C 2
摆杆阻尼系数
0.0005