基于双闭环PID控制的一阶倒立摆控制系统设计
一阶倒立摆双闭环PID控制实验报告
![一阶倒立摆双闭环PID控制实验报告](https://img.taocdn.com/s3/m/e9c92230a6c30c2258019e03.png)
姓名:戴鹏指导老师:胡立坤成绩:学院:电气工程学院专业:自动化班级:自093------年------月-------日实验内容:基于双闭环PID控制的一阶倒立摆控制器的设计与验证实验其他组员:黄育尚【实验时间】 2013年1月18日星期五【实验地点】综合楼702【实验目的】1.理解一阶倒立摆的工作机理及其数学模型的建立及简化的方法;2.通过对一阶倒立摆的建模,掌握使用Matlab/Simulink软件对控制系统的建模方法;3.通过对一阶倒立摆控制系统的设计,理解和掌握双闭环PID控制系统的设计方法;4.掌握双闭环PID控制器参数整定的方法;5.掌握Simulink子系统的创建方法;6.理解和掌握控制系统设计中稳定性、快速性的权衡以及不断通过仿真实验优化控制系统的方法。
【实验原理】本实验的被控对象为固高公司的倒立摆实验系统,一阶倒立摆的结构原理图如图1所示,一阶倒立摆系统的组成框图如图2所示。
一阶倒立摆精确模型如图3所示。
一阶倒立摆系统包括计算机、运动控制卡、伺服机构、倒立摆本体和光电码盘几大部分,组成了一个闭环系统。
光电码盘1 将小车的位移、速度信号反馈给伺服驱动器和运动控制卡,摆杆的位置、速度信号由光电码盘反馈给控制卡。
计算机从运动控制卡中读取实时数据,确定控制决策(小车向哪个方向移动、移动速度、加速度等),并由运动控制卡来实现该控制决策,产生相应的控制量,使电机转动,通过皮带带动小车运动,保持摆杆平衡。
运运运运运运运运运运运运运运运运运运运运运运运运运运1运运运运运运运运运2图1 一阶倒立摆的结构原理图图2 一阶倒立摆系统的组成框图图3 一阶倒立摆精确模型2一阶倒立摆系统建模,系统在平衡点附近近似模型为:2222222222()()()()()()()()()I ml bm gl I ml uI M m Mml I M m Mml I M m Mml mlbmgl M m mluI M m Mml I M m Mml I M m Mml x x x φφφ••••••-++=++++++++-+=++++++++实际系统的模型参数如下: M 小车质量 1.096 Kg m 摆杆质量 0.109 Kgb 小车摩擦系数 0 .1N/m/secl 摆杆转动轴心到杆质心的长度 0.2 5m I 摆杆惯量 0.0034 kg*m*m把上述参数代入,可以得到系统的实际模型。
控制系统仿真实验一
![控制系统仿真实验一](https://img.taocdn.com/s3/m/cc54a0ad284ac850ad02429a.png)
2.0 s 2 40 2.0 1 (20) 1.6 2 (KP2 KD2S ) s 40 64 2 s 64 K D 2 s 64 K P 2 40
0.4s 2 10 10 G1 ( s) 2 2 s s 近似条件为 c min(2.52,1.58) 1.58
17
3.3 双闭环PID控制器设计 (二)外环控制器的设计
2 控制器设计 下图为系统外环前向通道上传递函数的等效过程 ,我 们可以将外环系统设计成典型Ⅱ型的结构形式 。
2 仿真结果
我们还可以改变倒立摆系统的部分参数来检验系统是否具有一定 的鲁棒性。例如,我们将倒立摆的摆杆质量改为1.1kg,此时的仿真 结果如下图所示。从仿真结果可见:控制系统仍能有效的控制其保 持倒摆直立并使小车移动到指定位置。
23
3.4 仿真实验
2 仿真结果 为了进一步验证控制系统的鲁棒性能,并便于进行比较, 我们不妨改变倒立摆的摆杆质量和长度多作几组试验,部分实验 结果如下所示。可见,所设计的双闭环PID控制器在系统参数 的一定变化范围内能有效的工作,保持摆杆直立并使小车有效 定位,控制系统具有一定的鲁棒性。
X r ( s)
D1 ( s)
K p ( s 1)
W2 ( s)
(s)
G1 ( s )
X ( s)
D1 ( s )
K=1
19
3.3 双闭环PID控制器设计 (二)外环控制器的设计
2 控制器设计
根据典型Ⅱ型系统设计方法,确定外环调节器的两个参数
为 K P 0.12, 1 ,这样可得到完整的系统仿真结构如下图所 示:
控制工程课程设计
![控制工程课程设计](https://img.taocdn.com/s3/m/17f505d333d4b14e8524687a.png)
正文:
一、引言
倒立摆是典型的快速、多变量、非线性、绝对不稳定系统。
倒立摆系统是自动控制理论中比较典型的控制对象,许多抽象的控制理论概念如系统稳定性、可控性和系统抗干扰能力等,都可以通过倒立摆系统直观地表现出来,因此它成为了自动控制理论研究的一个较为普遍的研究对象。倒立摆系统作为一个被控对象,是快速、多变量、开环不稳定、非线性的高阶系统,必须施加十分有力的控制手段才能使之稳定。事实上,人们一直在试图寻找不同的控制方法来实现对倒立摆的控制,以便检查或说明该方法对严重非线性和绝对不稳定系统的控制能力。
基于双闭环PID控制的一阶倒立摆控制系统设计
设计者:赵卜锐
班级:电076
学号:40750566
指导教师:付冬梅
基于双闭环PID控制的一阶倒立摆控制系统设计
摘要:本文针对单级倒立摆系统的平衡控制问题进行了研究。倒立摆控制是一个经典的控制平衡课题。作为一个自然不稳定系统,倒立摆一直被用作实时控制系统实验的控制设备。倒立摆的稳定控制相当困难,通过对它的研究不仅可以解决控制中的理论问题,而且在控制过程中可以有效反映控制中的关键问题。首先建立倒立摆的模型,然后进行模型验证,通过分析模型的性能,进行PID控制器的设计,然后运用Matlab的Simulink来进行仿真,通过一次次的修改参数来达到良好的性能要求。最后又对鲁棒性进行了验证,得出该控制系统具有鲁棒性。
根据上面的计算公式
,修改摆杆质量m和摆杆长度L的数值来进行仿真。
【1】摆杆长度不变而质量变化时的仿真图
【2】摆杆质量不变而长度变化时的仿真图
结论
通过改变摆杆质量和摆杆长度对系统进行仿真,由图可以看出所设计的双闭环PID控制系统的参数在一定范围内变化时仍能有效地工作,保持摆杆直立,并使小车有效定位,说明该控制系统具有一定的鲁棒性。
基于双闭环PID控制的一阶倒立摆控制系统设计
![基于双闭环PID控制的一阶倒立摆控制系统设计](https://img.taocdn.com/s3/m/79087e07ce84b9d528ea81c758f5f61fb736280c.png)
基于双闭环PID控制的一阶倒立摆控制系统设计一阶倒立摆是一种常见的控制系统,它由一个旋转臂和一个悬挂在旋转臂末端的摆杆组成。
控制目标是使摆杆保持垂直位置并保持在指定的角度范围内。
本文将基于双闭环PID控制设计一阶倒立摆控制系统,并对其进行详细的分析和讨论。
首先,我们需要明确控制系统的结构。
一阶倒立摆控制系统可以分为两个闭环:内环和外环。
内环用于控制旋转臂的角度,并将输出作为外环的输入。
外环用于控制摆杆的角度,并根据测量的摆杆角度和设定的目标角度来调整内环的输入。
在进行控制系统设计之前,我们需要先建立一阶倒立摆的数学模型。
假设倒立摆的质量集中在摆杆的一端,摆杆的长度为L,质量为m,摩擦系数为b,重力加速度为g。
通过应用牛顿第二定律,可以得到如下动力学方程:mL²θ¨ + bLθ˙ + mgLsinθ = u其中,θ是旋转臂的角度,u是旋转臂的扭矩。
为了简化方程,我们进行恒定参数修正和线性化处理,得到线性方程:θ¨ + 2ξωnθ˙ + ωn²θ = kru其中,ξ是阻尼比,ωn是无阻尼自然频率,kr是旋转臂的增益。
接下来,我们将按照以下步骤设计基于双闭环PID控制的一阶倒立摆控制系统:1.内环设计:-选择合适的内环闭环控制器类型。
对于一阶倒立摆,可以选择PID控制器。
-根据倒立摆的特性和性能要求,选择合适的PID参数。
可以使用试错法、经验法、系统辨识等方法进行参数调整。
-将PID控制器的输入设置为旋转臂角度误差,输出为旋转臂的扭矩。
2.外环设计:-选择合适的外环闭环控制器类型。
对于一阶倒立摆,可以选择PID控制器。
-根据倒立摆的特性和性能要求,选择合适的PID参数。
-将PID控制器的输入设置为摆杆角度误差,输出为旋转臂的角度设定值。
3.进行系统仿真和调试:-使用MATLAB等仿真工具建立一阶倒立摆的数学模型,并将设计的控制器与模型进行集成。
-调整控制器的参数,以满足性能指标和系统稳定性的要求。
基于双闭环PID控制的一阶倒立摆控制系统设计
![基于双闭环PID控制的一阶倒立摆控制系统设计](https://img.taocdn.com/s3/m/e3fa6de076c66137ee0619fd.png)
自动统造本理课程安排证明书籍之阳早格格创做鉴于单关环PID统造的一阶倒坐晃统造系统安排姓名:教号:教院:博业:指挥西席:2018年1月目录1 任务概括2错误!未定义书签。
1.2 要完毕的安排任务:22系统修模32.1 对于象模型32.2 模型修坐及启拆43仿真考证53.1 真验安排53.2 修坐M文献体例画图子步调54 单关环PID统造器安排7错误!未定义书签。
错误!未定义书签。
5 仿真正在验8错误!未定义书签。
5.2 仿真正在验96 考验系统的鲁棒性96.1 编写步调供系统本能指标96.2 改变参数考证统造系统的鲁棒性117 论断12附录121任务概括如图1 所示的“一阶倒坐晃统造系统”中,通过检测小车位子与晃杆的晃动角,去适合统造启动电效果拖能源的大小,统造器由一台工业统造估计机(IPC)完毕.图1一阶倒坐晃统造系统那是一个借帮于“SIMULINK启拆技能——子系统”,正在模型考证的前提上,采与单关环PID统造规划,真止倒坐晃位子伺服统造的数字仿真正在验.1.2 要完毕的安排任务:(1)通过表面分解修坐对于象模型(本量模型),并正在本面举止线性化,得到线性化模型;将本量模型战线性化模型动做子系统,并举止启拆,将倒坐晃的振子品量m战倒晃少度L动做子系统的参数,不妨由用户根据需要输进;(2)安排真验,举止模型考证;(3)一阶倒坐晃系统为“自不宁静的非最小相位系统”.将系统小车位子动做“中环”,而将晃杆晃角动做“内环”,安排内化与中环的PID统造器;(4)正在单位阶跃输进下,举止SIMULINK仿真;(5)编写画图步调,画造阶跃赞同直线,并编程供解系统本能指标:最大超调量、安排时间、降下时间;(6)考验系统的鲁棒性:将对于象的个性搞如下变更后,共样正在单位阶跃输进下,考验所安排统造系统的鲁棒本能,列表比较系统的本能指标(最大超调量、安排时间、降下时间). 倒晃少度L稳定,倒坐晃的振子品量m从1kg分别改形成1.5kg、2kg、2.5kg、0.8kg、0.5kg;倒坐晃的振子品量m稳定,倒晃少度L从0.3m分别改形成0.5m、0.6m、0.2m、0.1m.2系统修模2.1 对于象模型一阶倒坐晃的透彻模型的状态圆程为:若只思量θ正在其处事面= 0附近的细微变更,那时不妨将模型线性化,那时不妨近似认为:一阶倒坐晃的简化模型的状态圆程为:2.2 模型修坐及启拆上边的图是透彻模型,下边的是简化模型.图2模型考证本理图2、由状态圆程可供得:Fcn:(4/3*u[1]+4/3*m*l*sin(u[3])*power(u[2],2)-10*m*sin(u[3] )*cos(u[3]))/(4/3*(1+m)-m*power(cos(u[3]),2))Fcn1:(cos(u[3])*u[1]+m*l*sin(u[3])*cos(u[3])*power(u[2],2)-1 0*(1+m)*sin(u[3]))/(m*l*power(cos(u[3]),2)-4/3*l*(1+m)) Fun2:(4*u[1]-30*m*u[3])/(4+m)Fun3:(u[1]-10*(1+m)*u[3])/(m*l-4/3*l*(1+m))(其中J =,小车品量M=1kg,倒晃振子品量m,倒晃少度2L,沉力加速度g=10m/)将以上表白式导进函数.3、如下图框选后采用createsubsystem图3启拆4、启拆之后如下图图4子系统修坐5、将透彻模型subsystem战简化模型subsystem1拉拢成以下系统以供考证,注意add的标记是++,不是+-,网上其余的课设皆是错的.(输进旗号是由阶跃旗号合成的脉冲,幅值为0.05,持绝时间(step time)为0.1s).图5系统模块启拆6、鼠标左打子系统模块,正在模块窗心选项中采用Mask->edit mask,则弹出如下窗心.图6增加参数7、面打左边菜单栏的edit,增加参数m战L,注意prompt 中的m战L意义是之后对于话框中的提示词汇,而name中的m战L是要被prompt中输进的值导进的变量,如果name 中挖错了,那么之后的值将无法导进.图7编写参数8、正在系统模型中,单打子系统模块,则会弹出一个新窗心,正在新窗心中不妨输进m战L的值,之后将会输进,如图8所示.图8输进参数3仿真考证3.1 真验安排假定使倒坐晃正在(θ=0,x=0)初初状态下突加微弱冲打力效率,则依据体味知,小车将背前移动,晃杆将倒下.3.2 修坐M文献体例画图子步调图9画图子步调(提示:附录中有子步调便当大家Ctrl+c(^_^),上边不过为了便当对于照).1、正在系统模型中,单打子系统模块,则会弹出一个新窗心,正在新窗心中输进m战l值,面打OK并运止,如图10所示.图10 输进参数2、如图树坐tofile模块的参数,Variablename的名字便是M 步调中的函数名,那里如果不是signals的话步调是无法运止的.Save format要采用Array,果为步调是按数组形式调与变量的,不采用Array的话运止步调会出现“索引超出矩阵维度”的过失.图11 tofile参数树坐3、运止M文献步调,真止该步调的截止如图8所示.图12 模型考证仿真截止从中可睹,正在0.1N的冲打力下,晃杆倒下(θ由整逐步删大),小车位子渐渐减少,那一截止切合前述的真验安排,故不妨正在一定程度上确认该“一阶倒坐晃系统”的数教模型是灵验的.共时,由图中也不妨瞅出,近似模型正在0.8s往日与透彻模型非常交近,果此,也不妨认为近似模型正在一定条件下不妨表白本系统模型的本量.4 单关环PID统造器安排一级倒坐晃系统位子伺服统造系统如图13所示.图13 一级倒坐晃系统位子伺服统造系统圆框图内环采与反馈矫正举止统造.图14 内环系统结构图反馈矫正采与PD统造器,设其传播函数为,为了压造搞扰,正在前背通讲上加上一个比率关节=K 统造器参数的整定:设的删益K=-20,则内环统造系统的关环传播函数为内环统造器的传播函数为:内环统造系统的关环传播函数为:中环系统前背通讲的传播函数为:图12 中环系统结构图对于中环模型举止落阶处理,若忽略的下次项,则近似为一阶传播函数为:对于模型举止近似处理,则的传播函数为:中环统造器采与PD形式,其传播函数为:采与单位反馈形成中环反馈通讲,则,则系统的启环传播函数为:采与鉴于Bode图法的期视个性安排要领,得,τ= 0.87,与τ= 1,则中环统造器的传播函数为图13 系统仿真结构图5 仿真正在验1、根据已安排佳的PID统造器,可修坐图14系统,树坐仿真时间为10ms,单打运止.那个仿真是为了便于明白.图14 SIMULINK仿真框图2、新修M文献,输进以下下令并运止%将导进到PID.mat中的仿真考查数据读出load PID.matt=signals(1,:);q=signals(2,:);x=signals(3,:); %drawing x(t) and thera(t) response signals%画小车位子战晃杆角度的赞同直线figure(1)hf=line(t,q(:));grid onxlabel ('Time (s)')axis([0 10 -0.3 1.2])ht=line(t,x,'color','r');axis([0 10 -0.3 1.2])title('\theta(t) and x(t) Response to a step input')gtext('\leftarrow x(t)'),gtext('\theta(t) \uparrow')真止该步调的截止如图15所示图15 仿真截止5.2 仿真正在验注意,图中子系统为简化模型而不是粗稀模型(MMP网上的写的粗稀模型,调了佳暂才创造).图16 SIMULINK仿真框图图17系统仿真截止图6 考验系统的鲁棒性考验系统的鲁棒性:将对于象的个性搞如下变更后,共样正在单位阶跃输进下,考验所安排统造系统的鲁棒本能,列表比较系统的本能指标(最大超调量、安排时间、降下时间).6.1 编写步调供系统本能指标新修pid.m文献,输进以下下令并保存load PID.matclct=signals(1,:);x=signals(2,:);q=signals(3,:);figure(1)hf=line(t,q(:));grid onaxis([0 10 -0.3 1.2])ht=line(t,x,'color','r');r=size(signals); e=r(1,2);C=x(1,e); %得到系统末值y_max_overshoot=100*(max(x)-C)/C %超调量估计r1=1;while (x(r1)<0.1*C)r1=r1+1; end r2=1;while (x(r2)<0.9*C)r2=r2+1;endx_rise_time=t(r2)-t(r1) %降下时间估计s=length(t);while x(s)>0.98*C&&x(s)<1.02*Cs=s-1;endx_settling_time=t(s) %安排时间估计C1=q(1,e);[max_y,k]=max(q);q_max_overshoot=max(q)-C1%超调量估计q_rise_time=t(k) %降下时间估计s=length(t);while q(s)>-0.02&&q(s)<0.02s=s-1;endq_settling_time=t(s) %安排时间估计6.2 改变参数考证统造系统的鲁棒性倒晃少度L稳定,倒坐晃的振子品量m从1kg分别改形成1.5kg、2kg、2.5kg、0.8kg、0.5kg;倒坐晃的振子品量m 稳定,倒晃少度L 从0.3m 分别改形成0.5m、0.6m、0.2m、0.1m.正在单位阶跃输进下,考验所安排系统的鲁棒性.1、改变输进参数并运止,再运止pid.m文献,得到赞同直线及本能指标,记录表1图18 改变输进参数表1 本能坐标比较2、仿真正在验的截止如图19所示:图19改变倒坐杆品量战少度时系统仿真截止7 论断论断:1、本系统正在0.1N的冲打力下,晃杆倒下(θ由整逐步删大),小车位子渐渐减少,那一截止切合前述的真验安排,故不妨正在一定程度上确认该“一阶倒坐晃系统”的数教模型是灵验的.考证据验中,通过透彻模型与简化模型比较,从图中不妨瞅出,0.8s往日利害常交近,果此,也不妨认为近似模型正在一定条件下不妨表白本系统模型的本量.2、通过单关环PID 统造的系统,能跟随给定并宁静下去,且θ末值为0使晃杆不倒.证明PID统造灵验.3、改变倒坐晃的晃杆品量m战少度L.从图11中不妨瞅出,正在参数变更的一定范畴内系统脆持宁静,统造系统具备一定的鲁棒性.附录q=signals(4,: ); %读与透彻模型中倒晃晃角旗号xx=signals(5,: ); %读与简化模型中的小车位子旗号qq=signals(6,: ); %读与简化模型中倒坐晃晃角旗号figure(1) %定义第一个图形hf=line(t,f(:)); %连交时间-效率力直线grid on;xlabel('Time(s)') %定义横坐标ylabel('Force(N)') %定义纵坐标axis([0 1 0 0.12]) %定义坐标范畴axet=axes('Position',get(gca,'Position'),...'XAxisLocation','bottom',...'YAxisLocation','right','color','none',...'XColor','k','YColor','k');%定义直线属性ht=line(t,x,'color','r','parent',axet);%连交时间-小车位子直线ht=line(t,xx,'color','r','parent',axet);%连交时间-小车速度直线ylabel('Evolution of the xposition(m)') %定义坐标称呼axis([0 1 0 0.1]) %定义坐标范畴title('Response x and x''in meter to a f(t) pulse of 0.1 N' )%定义直线题目称呼gtext ('\leftarrow f (t)'),gtext ('x (t) \rightarrow') , gtext (' \leftarrow x''(t)')figure (2)hf=line(t,f(:));grid onxlabel('Time')ylabel('Force(N)')axet=axes('Position',get(gca,'Position'),...'XAxisLocation','bottom',...'YAxisLocation','right','color','none',...'XColor','k','YColor','k');ht=line(t,q,'color','r','parent',axet);ht=line(t,qq,'color','r','parent',axet);ylabel('Angle evolution (rad)')axis([0 1 -0.3 0])title('Response \theta(t)and \theta'' in rad to a f(t) pulse of 0.1 N' )。
基于双PID的旋转倒立摆控制系统设计与实现
![基于双PID的旋转倒立摆控制系统设计与实现](https://img.taocdn.com/s3/m/c7d69c072e60ddccda38376baf1ffc4ffe47e2fd.png)
基于双PID的旋转倒立摆控制系统设计与实现
刘二林;姜香菊
【期刊名称】《制造业自动化》
【年(卷),期】2015(000)006
【摘要】设计了一款简易旋转倒立摆。
对所设计的旋转倒立摆进行了分析,利用Lagrange方程建立了系统的数学模型。
在MATLAB中,通过双PID控制模式对旋转倒立摆控制进行仿真,仿真结果与实际运行结果相符合。
将MATLAB中的双PID控制算法移植到微控制器中,实现了对旋转倒立摆系统的控制。
将系统实际运行参数通过串口上传至上位机,并在虚拟示波器中进行显示。
实际运行结果表明所设计的双PID控制器能实现对旋转倒立摆的控制,系统稳定性好,鲁棒性好。
【总页数】4页(P139-142)
【作者】刘二林;姜香菊
【作者单位】兰州交通大学机电工程学院,兰州730070;兰州交通大学自动化与电气工程学院,兰州730070
【正文语种】中文
【中图分类】TP13
【相关文献】
1.基于STM32的单级旋转倒立摆控制系统的设计与实现 [J], 王立谦
2.基于PID双闭环的旋转倒立摆控制系统 [J], 佟远;张莎
3.基于双PID的风板控制系统的设计与实现 [J], 田德永
4.基于双PID控制的温度控制系统的设计与实现 [J], 袁鑫;薛霖霖;郑都民;王如刚;赵力
5.基于MFC的旋转倒立摆上位机控制系统设计与实现 [J], 陶翔翔;范硕;王志明因版权原因,仅展示原文概要,查看原文内容请购买。
一阶直线倒立摆双闭环PID控制仿真报告
![一阶直线倒立摆双闭环PID控制仿真报告](https://img.taocdn.com/s3/m/1229cc2f43323968011c92f8.png)
目录摘要 (2)一、一阶倒立摆系统建模 (3)1、对象模型 (3)2、电动机、驱动器及机械传动装置的模型 (4)二、双闭环PID控制器设计 (5)1、仿真验证 (6)2、内环控制器的设计 (9)3、系统外环控制器设计 (12)三、仿真实验 (15)1、绘图子程序 (15)2、仿真结果 (16)四、结论 (18)摘要本报告旨在借助Matlab 仿真软件,设计基于双闭环PID 控制的一阶倒立摆控制系统。
在如图0.1所示的“一阶倒立摆控制系统”中,通过检测小车的位置与摆杆的摆动角,来适当控制驱动电动机拖动力的大小,控制器由一台工业控制计算机(IPC )完成。
图0.1 一阶倒立摆控制系统分析工作原理,可以得出一阶倒立摆系统原理方框图:图0.2 一阶倒立摆控制系统动态结构图本报告将借助于“Simulink 封装技术——子系统”,在模型验证的基础上,采用双闭环PID 控制方案,实现倒立摆位置伺服控制的数字仿真实验。
一、一阶倒立摆系统建模1、对象模型如图1.1所示,设小车的质量为m 0,倒立摆均匀杆的质量为m ,摆长为2l ,摆的偏角为θ,小车的位移为x ,作用在小车上的水平方向的力为F ,O 1为摆角质心。
θxyOFF xF x F yF yllxO 1图1.1 一阶倒立摆的物理模型根据刚体绕定轴转动的动力学微分方程,转动惯量与角加速度乘积等于作用于刚体主动力对该轴力矩的代数和,则 1)摆杆绕其中心的转动方程为θθθcos sin y l F l F J x-= (1-1) 2)摆杆重心的水平运动可描述为)sin (22x θl x dtd m F += (1-2)3)摆杆重心在垂直方向上的运动可描述为)cos (22y θl dtd m mg F =- (1-3)4)小车水平方向上的运动可描述为220dtxd m F F x =- (1-4)由式(1-2)和式(1-4)得F ml x m m =⋅-⋅++)sin (cos )(20θθθθ (1-5) 由式(1-1)、(式1-2)和式(1-3)得θθθsin g cos 2ml x ml ml J =⋅++ )( (1-6) 整理式(1-5)和式(1-6),得⎪⎪⎩⎪⎪⎨⎧++-+-⋅+⋅=-++-⋅+++=))((cos sin )(cos sin cos cos ))((cos sin sin )()(x 2022202222220222222m l J m m l m m l m m l m F m l l m m m m l J g l m m l J lm F m l J θθθθθθθθθθθθ(1-7) 以上式1-7为一阶倒立摆精确模型。
基于PID的倒立摆控制系统设计
![基于PID的倒立摆控制系统设计](https://img.taocdn.com/s3/m/a0ea225a11a6f524ccbff121dd36a32d7375c712.png)
基于PID的倒立摆控制系统设计摘要:倒立摆(Inverted Pendulum)控制系统设计是控制理论教学中的一种典型的实验对象,具有很高的教学和科研价值。
本文基于PID控制算法,设计一个倒立摆控制系统,对倒立摆进行控制。
首先介绍了倒立摆系统模型和其动力学方程,然后详细介绍PID控制算法的原理和设计方法,并将其应用于倒立摆系统中,进行控制器的设计。
最后,通过MATLAB/Simulink软件进行系统仿真,并对仿真结果进行分析和讨论。
研究结果表明,PID控制算法能够有效地控制倒立摆系统,并且具有良好的控制性能和稳定性。
一、引言倒立摆控制系统是一种实验教学中常见的控制对象,其模型简单、控制复杂度适中,具有很高的教学和科研价值。
倒立摆系统被广泛应用于控制理论教学、控制算法研究以及控制系统设计等领域。
PID控制是一种常用的控制算法,具有简单、易实现、稳定性好等特点。
因此,本文将基于PID控制算法设计一个倒立摆控制系统,对倒立摆进行控制。
二、倒立摆系统模型和动力学方程倒立摆系统由一个竖直放置的杆和一个可沿杆轴线做直线运动的摆组成。
根据杆的位置和速度,可以得到倒立摆的状态变量,进而得到系统的动力学方程。
本文采用小角度近似,假设杆的运动范围很小,可以将其近似为线性系统,动力学方程可以表示为:$$(M+m)l\ddot{\theta}-ml\ddot{x}\cos(\theta)+m\sin(\theta)g=0$$$$\ddot{x}-\ddot{\theta}l=0$$其中,M为杆的质量,m为摆的质量,l为杆的长度,g为重力加速度,x为摆的位置,$\theta$为杆的倾斜角度。
三、PID控制算法原理和设计方法PID控制算法是一种基于误差信号的反馈控制算法,由比例控制、积分控制和微分控制三部分组成。
比例控制根据当前误差的大小进行控制;积分控制用于消除系统的稳态误差;微分控制用于预测误差的变化趋势,提高系统的响应速度和稳定性。
基于双闭环PID控制的一阶倒立摆控制系统设计
![基于双闭环PID控制的一阶倒立摆控制系统设计](https://img.taocdn.com/s3/m/443b5c1131b765ce05081497.png)
自动控制原理课程设计说明书基于双闭环PID控制的一阶倒立摆控制系统设计姓名:学号:学院:专业:指导教师:2018年 1月目录1 任务概述 (3)1.1设计概述 (3)1.2 要完成的设计任务: (4)2系统建模 (4)2.1 对象模型 (4)2.2 模型建立及封装 (5)3仿真验证 (9)3.1 实验设计 (9)3.2 建立M文件编制绘图子程序 (9)4 双闭环PID控制器设计 (12)4.1内环控制器的设计 (13)4.2外环控制器的设计 (13)5 仿真实验 (15)5.1简化模型 (15)5.2 仿真实验 (16)6 检验系统的鲁棒性 (18)6.1 编写程序求系统性能指标 (18)6.2 改变参数验证控制系统的鲁棒性 (19)7 结论 (22)附录 (22)1 任务概述1.1设计概述如图1 所示的“一阶倒立摆控制系统”中,通过检测小车位置与摆杆的摆动角,来适当控制驱动电动机拖动力的大小,控制器由一台工业控制计算机(IPC)完成。
图1 一阶倒立摆控制系统这是一个借助于“SIMULINK封装技术——子系统”,在模型验证的基础上,采用双闭环PID控制方案,实现倒立摆位置伺服控制的数字仿真实验。
1.2 要完成的设计任务:(1)通过理论分析建立对象模型(实际模型),并在原点进行线性化,得到线性化模型;将实际模型和线性化模型作为子系统,并进行封装,将倒立摆的振子质量m和倒摆长度L作为子系统的参数,可以由用户根据需要输入;(2)设计实验,进行模型验证;(3)一阶倒立摆系统为“自不稳定的非最小相位系统”。
将系统小车位置作为“外环”,而将摆杆摆角作为“内环”,设计内化与外环的PID控制器;(4)在单位阶跃输入下,进行SIMULINK仿真;(5)编写绘图程序,绘制阶跃响应曲线,并编程求解系统性能指标:最大超调量、调节时间、上升时间;(6)检验系统的鲁棒性:将对象的特性做如下变化后,同样在单位阶跃输入下,检验所设计控制系统的鲁棒性能,列表比较系统的性能指标(最大超调量、调节时间、上升时间)。
PID控制的一阶倒立摆控制系统设计
![PID控制的一阶倒立摆控制系统设计](https://img.taocdn.com/s3/m/dff872561fd9ad51f01dc281e53a580216fc50af.png)
基于双闭环PID控制的一阶倒立摆控制系统设计一、设计目的倒立摆是一个非线性、不稳定系统,经常作为研究比较不同控制方法的典型例子。
设计一个倒立摆的控制系统,使倒立摆这样一个不稳定的被控对象通过引入适当的控制策略使之成为一个能够满足各种性能指标的稳定系统。
二、设计要求倒立摆的设计要求是使摆杆尽快地达到一个平衡位置,并且使之没有大的振荡和过大的角度和速度。
当摆杆到达期望的位置后,系统能克服随机扰动而保持稳定的位置。
实验参数自己选定,但要合理符合实际情况,控制方式为双PID控制,并利用MATLAB进行仿真,并用simulink对相应的模块进行仿真。
三、设计原理倒立摆控制系统的工作原理是:由轴角编码器测得小车的位置和摆杆相对垂直方向的角度,作为系统的两个输出量被反馈至控制计算机。
计算机根据一定的控制算法,计算出空置量,并转化为相应的电压信号提供给驱动电路,以驱动直流力矩电机的运动,从而通过牵引机构带动小车的移动来控制摆杆和保持平衡。
四、设计步骤首先画出一阶倒立摆控制系统的原理方框图一阶倒立摆控制系统示意图如图所示:分析工作原理,可以得出一阶倒立摆系统原理方框图:一阶倒立摆控制系统动态结构图 F 面的工作是根据结构框图,分析和解决各个环节的传递函数!1•一阶倒立摆建模在忽略了空气流动阻力,以及各种摩擦之后,可将倒立摆系统抽象成小车和 匀质杆组成的系统,如下图所示, 其中:M :小车质量 m :为摆杆质量J :为摆杆惯量F :加在小车上的力 x :小车位置。
:摆杆与垂直向上方向的夹角l :摆杆转动轴心到杆质心的长度根据牛顿运动定律以及刚体运动规律, (1) 摆杆绕其重心的转动方程为J 0=F/sin 0-F/cos 0(1)yx'/(2) 摆杆重心的运动方程为d 2=m-d 2t工业控制计算机电动机驰动器一阶倒立摆—Lb D 购*.—dl卜DI ⑸J bD I 即可知: (x +1sin 0)(l cos0)d 2t(3) 小车水平方向上的运动为d 2x d 2t联列上述4个方程,可以得出一阶倒立精确气模型:J +ml 2)F +mlG +ml 2)(M +m )-m 2/2cos 20+m )m lgsin 0ml 2)""若只考虑e 在其工作点附近e=0附近(-10°<0<10。
基于双闭环PID控制的一阶倒立摆控制系统设计说明
![基于双闭环PID控制的一阶倒立摆控制系统设计说明](https://img.taocdn.com/s3/m/d18ecf92a1c7aa00b42acb4a.png)
自动控制原理课程设计说明书基于双闭环PID控制的一阶倒立摆控制系统设计姓名:学号:学院:专业:指导教师:2018年 1月目录1 任务概述 (2)1.1设计概述 (2)1.2 要完成的设计任务: (2)2系统建模 (3)2.1 对象模型 (3)2.2 模型建立及封装 (3)3仿真验证 (8)3.1 实验设计 (8)3.2 建立M文件编制绘图子程序 (8)4 双闭环PID控制器设计 (11)4.1环控制器的设计 (12)4.2外环控制器的设计 (12)5 仿真实验 (14)5.1简化模型 (14)5.2 仿真实验 (15)6 检验系统的鲁棒性 (17)6.1 编写程序求系统性能指标 (17)6.2 改变参数验证控制系统的鲁棒性 (18)7 结论 (21)附录 (21)1 任务概述1.1设计概述如图1 所示的“一阶倒立摆控制系统”中,通过检测小车位置与摆杆的摆动角,来适当控制驱动电动机拖动力的大小,控制器由一台工业控制计算机(IPC)完成。
图1 一阶倒立摆控制系统这是一个借助于“SIMULINK封装技术——子系统”,在模型验证的基础上,采用双闭环PID控制方案,实现倒立摆位置伺服控制的数字仿真实验。
1.2 要完成的设计任务:(1)通过理论分析建立对象模型(实际模型),并在原点进行线性化,得到线性化模型;将实际模型和线性化模型作为子系统,并进行封装,将倒立摆的振子质量m和倒摆长度L作为子系统的参数,可以由用户根据需要输入;(2)设计实验,进行模型验证;(3)一阶倒立摆系统为“自不稳定的非最小相位系统”。
将系统小车位置作为“外环”,而将摆杆摆角作为“环”,设计化与外环的PID控制器;(4)在单位阶跃输入下,进行SIMULINK仿真;(5)编写绘图程序,绘制阶跃响应曲线,并编程求解系统性能指标:最大超调量、调节时间、上升时间;(6)检验系统的鲁棒性:将对象的特性做如下变化后,同样在单位阶跃输入下,检验所设计控制系统的鲁棒性能,列表比较系统的性能指标(最大超调量、调节时间、上升时间)。
基于双闭环PID控制的一阶倒立摆控制系统设计
![基于双闭环PID控制的一阶倒立摆控制系统设计](https://img.taocdn.com/s3/m/1b6a11bd195f312b3169a5e7.png)
本科生课程设计题目:基于双闭环PID控制的一阶倒立摆控制系统设计姓名:学号:系别:电气工程系专业:电气工程和自动化年级: 07级指导教师:2010 年 4 月28 日目录1、系统模型的建立………………………………………………… 3.2、模型验证……………………………………………….………. 4.3、设计的内外环的PID控制器………………………………………10.4、SIMULIN仿真…………………………………………………... 13.5、检测系统的鲁棒性………………………………………………16.6、遇到问题…………………………………………………………19.7、心得体会…………………………………………………………..20.8、结论…………………………………...…………………………21.9、参考文献…………………………………………………………..22.一.系统模型的建立如图01所示的“一阶倒立摆控制系统”中,设计一个能通过检测小车的位置和摆杆的摆动角,来适当控制电动机驱动力的大小的控制系统。
图011)对模型的理论分析建立一阶倒立摆的精确模型(实际模型)如下所示:2).点进行线性化后得到(近似模型):若只考虑摆角在工作点等零附近的细微变化,这是可以将模型线性化,得到近似模型,将J=m(l^2)/3,M=1kg代入即可得到要求的关于参数m、l的模型,让后再进行线性化表达式在模型验证中。
二.模型验证1)子系统的建立实际模型图1Fcn:(((4*m*(l^2))/3)*u[1]+l*m*((4*m*(l^2))/3)*sin(u[3])*(u[2]^2)-10*(m^2)*(l^2)*sin(u[3])*cos(u[3]))/(((4*m*(l^2))/3)*(1+m)-(m^2)*(l^2)*power(cos(u[3]),2))Fcn1:(m*l*cos(u[3])*u[1]+(m^2)*(l^2)*sin(u[3])*cos(u[3])*(u[2]^2)-10*(1+m)*m*l*sin(u[3]))/(( m^2)*(l^2)*power(cos(u[3]),2)-(1+m)*(4*m*(l^2))/3)线性模型图2Fcn2:(30*(1+m*u[2]-3*u[1])/(l*(4+m)Fcn3:(5*u[1]-30*m*u[2])/(4+m)做完以上之后点击鼠标左键不放对图形进行选定,接着右击creat subsystem如下图所示:图32)模型的封装:倒立摆的振子质量m和倒摆长度L作为子系统的参数:图4双击函数模块:图5欲改变其中的任一个参数只要点击其中二者之一的函数方块就行,在其中的m,l改就行了。
4.2 基于双闭环PID控制的一阶倒立摆控制系统设计
![4.2 基于双闭环PID控制的一阶倒立摆控制系统设计](https://img.taocdn.com/s3/m/32a4842f647d27284b735130.png)
系统建模与仿真
4.2 基于双闭环PID控制的一阶倒立摆控制系统设计
内环控制器设计
角度内环对象为一非线性的自不稳定系统,故拟采用 “反馈校正”。
D(s)
r (s)
G2 (s)
K
Ks
D2 ( s )
(s)
采用PD结构的 反馈控制器可 使系统结构简 单,使原自不 稳定的系统稳 定。
系统建模与仿真
系统建模与仿真
4.2 基于双闭环PID控制的一阶倒立摆控制系统设计
2) 不同摆杆长度
所设计的双闭环PID控制器在系统参数的一定变化范围内能有效的工 作,保持摆杆直立并使小车有效定位,控制系统具有一定的鲁棒性。
系统建模与仿真
4.2 基于双闭环PID控制的一阶倒立摆控制系统设计
5 结论
1. 本节从理论上证明了所设计的“一阶直线倒立摆”双闭环PID 控制方案是可行的;
Simulink子系统
模型的封装
将复杂系统变的简洁,可读性强
系统建模与仿真
4.2 基于双闭环PID控制的一阶倒立摆控制系统设计
模型验证
封装模型
精 确 模 型
线 性 化 模 型
系统建模与仿真
4.2 基于双闭环PID控制的一阶倒立摆控制系统设计
仿真实验:
在0.1N的冲击力作用下,摆杆倒下,小车位置逐渐增加;这一结果符合前 述的实验设计,故可以认为该“一阶倒立摆系统”的数学模型是有效的。
内环: 2 W
K K sG 2 ( S ) 1 K K sG 2 ( S ) D 2 ( S ) 64 s 64 K D 2s 64 K P 2 40
2
系统建模与仿真
4.2 基于双闭环PID控制的一阶倒立摆控制系统设计
基于PID控制的一级倒立摆系统的研究
![基于PID控制的一级倒立摆系统的研究](https://img.taocdn.com/s3/m/80e4a74dcd1755270722192e453610661ed95a32.png)
基于PID控制的一级倒立摆系统的研究一级倒立摆系统是控制理论中常用的一个实验模型,它能够很好地展示PID控制器的性能和效果。
本文将介绍一级倒立摆系统的建模过程、PID控制器的设计以及实验结果和分析。
一、一级倒立摆系统的建模为了进行控制系统设计,首先需要对一级倒立摆系统进行建模。
可以利用动力学方程来描述一级倒立摆系统的行为。
设系统的输入为电机的扭矩τ,输出为杆的角度θ。
根据牛顿第二定律,可以得到如下的动力学方程:mL²θ¨ + mgsinθL = τ其中,m是摆的质量,L是摆的长度,g是重力加速度,θ¨是杆的角加速度。
将动力学方程进行线性化,得到如下形式:θ¨=(g/L)θ+(τ/(mL²))这是一个二阶常微分方程,可以通过PID控制器进行控制。
二、PID控制器的设计PID控制器是一种经典的控制器,由比例、积分和微分三部分组成。
PID控制器的输出和输入之间的关系如下:u(t) = Kp e(t) + Ki ∫e(t)dt + Kd de(t)/dt其中,u(t)是控制器的输出,e(t)是控制误差,Kp、Ki和Kd分别是比例、积分和微分增益。
利用PID控制器,可以将控制器的输出u(t)作为电机的扭矩输入τ,实现对杆角度θ的控制。
具体的PID参数选择需要根据实际情况和控制要求进行调整和优化。
三、实验结果和分析通过实验,可以得到一级倒立摆系统的实际响应曲线。
利用PID控制器对系统进行控制,将杆保持在倒立状态。
实验结果显示,PID控制器可以有效控制一级倒立摆系统。
通过调整PID参数,可以调节系统的稳定性、响应速度和抗干扰性能。
总结本文基于PID控制,对一级倒立摆系统进行了研究。
通过建模和控制器设计,实现了对杆角度的控制。
实验结果证明了PID控制器在一级倒立摆系统中的良好性能和效果。
未来的研究可以进一步探索其他控制算法在一级倒立摆系统中的应用,以及优化控制器参数的方法。
PID控制的一阶倒立摆控制系统设计
![PID控制的一阶倒立摆控制系统设计](https://img.taocdn.com/s3/m/28e690ab18e8b8f67c1cfad6195f312b3169ebf1.png)
PID控制的一阶倒立摆控制系统设计一阶倒立摆是一种基本的控制系统,在工业及自动化领域有广泛的应用。
PID控制是一种常用的控制算法,可以有效地控制系统的输出,使其稳定在期望值附近。
本文将介绍如何设计一个PID控制器来控制一阶倒立摆。
一阶倒立摆是一个简化的倒立摆系统,由一个质量为m的小球通过一个无摩擦杆连接到一个固定支撑点上。
系统的输入是杆的角度,输出是小球的位置。
我们的目标是通过调节杆的角度来控制小球的位置。
首先,我们需要建立一阶倒立摆的动力学方程。
根据牛顿第二定律和杆的力学特性,可以得到以下方程:m * x'' = m * g * sin(theta) - k * x' + u其中,x是小球的位置,theta是杆的角度,u是控制输入,k是杆的阻尼系数,g是重力加速度。
为了简化问题,我们可以假设杆的阻尼系数k为零,即忽略杆的阻尼。
此外,我们可以将上述方程转换为状态空间方程形式,可以得到以下方程:x'=vv' = g * sin(theta) + u / m其中,v是小球的速度。
接下来,我们需要设计PID控制器来控制系统的输出。
PID控制器由比例项(P项)、积分项(I项)和微分项(D项)组成。
PID控制器的输出可以通过以下公式计算:u = Kp * e + Ki * ∫e + Kd * de/dt其中,e是系统的误差(期望值与实际值之差),Kp、Ki和Kd分别是比例项、积分项和微分项的系数。
在一阶倒立摆控制中,我们可以将系统的误差定义为小球的位置与期望位置之差。
因此,可以将控制器的输出计算公式改写为:u = Kp * (x_d - x) + Ki * ∫(x_d - x) + Kd * d(x_d - x) / dt 其中,x_d为期望位置。
接下来,我们需要调整PID控制器的参数,以使系统稳定在期望位置附近。
调整参数的方法包括手动调整和自动调整。
手动调整需要根据经验和观察来选择参数,而自动调整可以通过一些专门的调参算法来实现,例如Ziegler-Nichols方法和遗传算法等。
PID控制的一阶倒立摆控制系统设计
![PID控制的一阶倒立摆控制系统设计](https://img.taocdn.com/s3/m/4b33d749ba68a98271fe910ef12d2af90342a842.png)
PID控制的一阶倒立摆控制系统设计一阶倒立摆控制系统是一种常见的控制系统,通过PID控制器对倒立摆系统进行稳定控制,使其在一定的时间内达到平衡位置。
本文将详细介绍一阶倒立摆控制系统的设计流程和方法。
1.引言一阶倒立摆控制系统是一类具有非线性动力学特性的控制系统。
其基本结构包含一个摆杆和一个摆杆在垂直方向上运动的小车。
该控制系统的目标是通过调节小车的运动,使摆杆能够在垂直方向上保持平衡。
为了实现这个目标,我们需要设计一个有效的控制方案,并使用PID控制器对系统进行控制。
2.模型建立首先,我们需要建立一阶倒立摆系统的数学模型。
假设摆杆的长度为L,摆杆与水平线的夹角为θ,小车与水平线的位置为x,小车与水平线的速度为v。
根据牛顿运动定律和平衡条件,可以得到如下模型:m*x'=m*a=F(1)M*x'' = -F*l*sin(θ) - b*v (2)I*θ'' = F*l*cos(θ) - M*g*l*sin(θ) (3)其中,m是小车的质量,M是摆杆的质量,l是摆杆的长度,b是摩擦系数,g是重力加速度,I是摆杆的转动惯量。
将式(3)对时间t求导得到:I*θ''' = -b*l*θ' - M*g*l*cos(θ) (4)3.控制设计为了设计PID控制器,我们需要首先将系统模型线性化。
可以将非线性的动力学模型近似为线性模型,并在静态平衡点附近进行线性化。
静态平衡点是系统的平衡位置,满足以下条件:x=0,v=0,θ=0,θ'=0。
我们可以对系统模型进行泰勒级数展开,保留一阶项,得到如下线性化模型:m*x'=F(5)M*x''=-F*l*θ(6)I*θ''=F*l(7)经过线性化,系统的动力学模型变为了一组线性微分方程。
接下来,我们使用PID控制器对系统进行控制。
4.PID控制器设计PID控制器由比例项、积分项和微分项组成,用于校正系统输出与目标值之间的差异。
一阶倒立摆双闭环PID控制实验报告
![一阶倒立摆双闭环PID控制实验报告](https://img.taocdn.com/s3/m/7209d71c2bf90242a8956bec0975f46527d3a768.png)
一阶倒立摆双闭环PID控制实验报告一、实验目的1. 学习并掌握一阶倒立摆原理及其数学模型;2. 了解反馈控制理论,学习PID控制原理及其在一阶倒立摆控制中的应用;3. 熟悉MATLAB/Simulink软件的使用,能够建立一阶倒立摆的模型,并进行控制仿真。
二、实验原理一阶倒立摆是指在一根杆上挂一个质量小于杆的质量的小球,通过控制杆上电动机的电流来控制小球的倾斜角度,实现倒立控制。
2. 数学模型根据机械臂的动力学方程,可以得到一阶倒立摆的状态方程:其中,θ为小球倾斜的角度,M为电机的转矩,l为杆的长度,g为重力加速度,J为小球和杆组成的转动惯量。
3. PID控制PID控制是目前最常用的控制方法之一,包括比例控制、积分控制和微分控制。
PID控制器的控制对象通常是一个差值,由控制器在比例、积分和微分的作用下不断调整输出,使差值达到期望设定值。
其中,比例作用是根据误差的大小进行调整,积分作用是积累误差从而消除静差,微分作用是根据误差的变化率进行调整,消除系统震荡和过冲。
三、实验步骤1. 建立模型首先建立一阶倒立摆的模型,输入电机的转矩,输出小球的倾斜角度。
模型如下所示:2. 设计控制器在模型基础上,设计PID控制器,控制小球的倾斜角度达到预定值。
3. 进行仿真四、实验结果根据一阶倒立摆的数学模型,建立了如下图所示的Simulink模型:输入变量为电机的转矩M,输出变量为小球的倾斜角度θ。
根据反馈控制理论和PID控制原理,设计了如下的PID控制器:其中,Kp、Ki和Kd分别为比例、积分和微分增益。
利用上述模型和控制器进行仿真,得到了小球的倾斜角度随时间的变化曲线如下图所示:可以看出PID控制器在控制小球倾斜方面表现良好,小球在稳态时达到了预定角度,并在稳定范围内波动。
五、结论1. 本次实验成功建立了一阶倒立摆的数学模型;。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
自动控制原理课程设计说明书基于双闭环PID控制的一阶倒立摆控制系统设计姓名:学号:学院:专业:指导教师:2018年 1月目录1 任务概述 (3)1.1设计概述 (3)1.2 要完成的设计任务: (4)2系统建模 (4)2.1 对象模型 (4)2.2 模型建立及封装 (5)3仿真验证 (9)3.1 实验设计 (9)3.2 建立M文件编制绘图子程序 (9)4 双闭环PID控制器设计 (12)4.1内环控制器的设计 (13)4.2外环控制器的设计 (13)5 仿真实验 (15)5.1简化模型 (15)5.2 仿真实验 (17)6 检验系统的鲁棒性 (18)6.1 编写程序求系统性能指标 (18)6.2 改变参数验证控制系统的鲁棒性 (19)7 结论 (22)附录 (22)1 任务概述1.1设计概述如图1 所示的“一阶倒立摆控制系统”中,通过检测小车位置与摆杆的摆动角,来适当控制驱动电动机拖动力的大小,控制器由一台工业控制计算机(IPC)完成。
图1 一阶倒立摆控制系统这是一个借助于“SIMULINK封装技术——子系统”,在模型验证的基础上,采用双闭环PID控制方案,实现倒立摆位置伺服控制的数字仿真实验。
1.2 要完成的设计任务:(1)通过理论分析建立对象模型(实际模型),并在原点进行线性化,得到线性化模型;将实际模型和线性化模型作为子系统,并进行封装,将倒立摆的振子质量m和倒摆长度L作为子系统的参数,可以由用户根据需要输入;(2)设计实验,进行模型验证;(3)一阶倒立摆系统为“自不稳定的非最小相位系统”。
将系统小车位置作为“外环”,而将摆杆摆角作为“内环”,设计内化与外环的PID控制器;(4)在单位阶跃输入下,进行SIMULINK仿真;(5)编写绘图程序,绘制阶跃响应曲线,并编程求解系统性能指标:最大超调量、调节时间、上升时间;(6)检验系统的鲁棒性:将对象的特性做如下变化后,同样在单位阶跃输入下,检验所设计控制系统的鲁棒性能,列表比较系统的性能指标(最大超调量、调节时间、上升时间)。
倒摆长度L不变,倒立摆的振子质量m从1kg分别改变为1.5kg、2kg、2.5kg、0.8kg、0.5kg;倒立摆的振子质量m不变,倒摆长度L从0.3m分别改变为0.5m、0.6m、0.2m、0.1m。
2系统建模2.1 对象模型一阶倒立摆的精确模型的状态方程为:若只考虑θ在其工作点 = 0附近的细微变化,这时可以将模型线性化,这时可以近似认为:一阶倒立摆的简化模型的状态方程为:2.2 模型建立及封装上边的图是精确模型,下边的是简化模型。
图2 模型验证原理图2、由状态方程可求得:Fcn:(4/3*u[1]+4/3*m*l*sin(u[3])*power(u[2],2)-10*m*sin(u[3])*cos(u[3] ))/(4/3*(1+m)-m*power(cos(u[3]),2))Fcn1:(cos(u[3])*u[1]+m*l*sin(u[3])*cos(u[3])*power(u[2],2)-10*(1+m)*s in(u[3]))/(m*l*power(cos(u[3]),2)-4/3*l*(1+m))Fun2:(4*u[1]-30*m*u[3])/(4+m)Fun3:(u[1]-10*(1+m)*u[3])/(m*l-4/3*l*(1+m))(其中J =,小车质量M=1kg,倒摆振子质量m,倒摆长度2L,重力加速度g=10m/)将以上表达式导入函数。
3、如下图框选后选择create subsystem图3 封装4、封装之后如下图图4 子系统建立5、将精确模型subsystem和简化模型subsystem1组合成以下系统以供验证,注意add的符号是++,不是+-,网上其他的课设都是错的。
(输入信号是由阶跃信号合成的脉冲,幅值为0.05,持续时间(step time)为0.1s)。
图5 系统模块封装6、鼠标右击子系统模块,在模块窗口选项中选择Mask->edit mask,则弹出如下窗口。
图6 添加参数7、点击左边菜单栏的edit,添加参数m和L,注意prompt中的m和L意思是之后对话框中的提示词,而name中的m和L是要被prompt中输入的值导入的变量,如果name中填错了,那么之后的值将无法导入。
图7 编辑参数8、在系统模型中,双击子系统模块,则会弹出一个新窗口,在新窗口中可以输入m和L的值,之后将会输入,如图8所示。
图8 输入参数3仿真验证3.1 实验设计假定使倒立摆在(θ=0,x=0)初始状态下突加微小冲击力作用,则依据经验知,小车将向前移动,摆杆将倒下。
3.2 建立M文件编制绘图子程序图9 绘图子程序(提示:附录中有子程序方便大家Ctrl+c (^_^),上边只是为了方便对照)。
1、在系统模型中,双击子系统模块,则会弹出一个新窗口,在新窗口中输入m和l值,点击OK并运行,如图10所示。
图10 输入参数2、如图设置to file模块的参数,Variable name的名字就是M程序中的函数名,这里如果不是signals的话程序是无法运行的。
Save format要选择Array,因为程序是按数组形式调取变量的,没有选择Array的话运行程序会出现“索引超出矩阵维度”的错误。
图11 to file参数设置3、运行M文件程序,执行该程序的结果如图8所示。
图12 模型验证仿真结果从中可见,在0.1N的冲击力下,摆杆倒下(θ由零逐步增大),小车位置逐渐增加,这一结果符合前述的实验设计,故可以在一定程度上确认该“一阶倒立摆系统”的数学模型是有效的。
同时,由图中也可以看出,近似模型在0.8s以前与精确模型非常接近,因此,也可以认为近似模型在一定条件下可以表达原系统模型的性质。
4 双闭环PID控制器设计一级倒立摆系统位置伺服控制系统如图13所示。
图13 一级倒立摆系统位置伺服控制系统方框图4.1内环控制器的设计内环采用反馈校正进行控制。
图14 内环系统结构图反馈校正采用PD控制器,设其传递函数为,为了抑制干扰,在前向通道上加上一个比例环节 = K控制器参数的整定:设的增益K = -20,则内环控制系统的闭环传递函数为令ξ= 0.7内环控制器的传递函数为:内环控制系统的闭环传递函数为:4.2外环控制器的设计外环系统前向通道的传递函数为:图12 外环系统结构图对外环模型进行降阶处理,若忽略的高次项,则近似为一阶传递函数为:对模型进行近似处理,则的传递函数为:外环控制器采用PD形式,其传递函数为:采用单位反馈构成外环反馈通道,则,则系统的开环传递函数为:采用基于Bode图法的希望特性设计方法,得,τ= 0.87,取τ= 1,则外环控制器的传递函数为图13 系统仿真结构图5 仿真实验5.1简化模型1、根据已设计好的PID控制器,可建立图14系统,设置仿真时间为10ms,单击运行。
这个仿真是为了便于理解。
2、图14 SIMULINK仿真框图3、新建M文件,输入以下命令并运行%将导入到PID.mat中的仿真试验数据读出load PID.matt=signals(1,:);q=signals(2,:);x=signals(3,:); %drawing x(t) and thera(t) response signals%画小车位置和摆杆角度的响应曲线figure(1)hf=line(t,q(:));grid onxlabel ('Time (s)')axis([0 10 -0.3 1.2])ht=line(t,x,'color','r');axis([0 10 -0.3 1.2])title('\theta(t) and x(t) Response to a step input')gtext('\leftarrow x(t)'),gtext('\theta(t) \uparrow')执行该程序的结果如图15所示1.41.210.80.60.40.2012345678910图15 仿真结果5.2 仿真实验注意,图中子系统为简化模型而不是精密模型(MMP网上的写的精密模型,调了好久才发现)。
图16 SIMULINK仿真框图012345678910 00.20.40.60.811.21.4图17系统仿真结果图6 检验系统的鲁棒性检验系统的鲁棒性:将对象的特性做如下变化后,同样在单位阶跃输入下,检验所设计控制系统的鲁棒性能,列表比较系统的性能指标(最大超调量、调节时间、上升时间)。
6.1 编写程序求系统性能指标新建pid.m文件,输入以下命令并保存load PID.matclct=signals(1,:);x=signals(2,:);q=signals(3,:);figure(1)hf=line(t,q(:));grid onaxis([0 10 -0.3 1.2])ht=line(t,x,'color','r');r=size(signals); e=r(1,2);C=x(1,e); %得到系统终值y_max_overshoot=100*(max(x)-C)/C %超调量计算r1=1;while (x(r1)<0.1*C)r1=r1+1; end r2=1;while (x(r2)<0.9*C)r2=r2+1;endx_rise_time=t(r2)-t(r1) %上升时间计算s=length(t);while x(s)>0.98*C&&x(s)<1.02*Cs=s-1;endx_settling_time=t(s) %调整时间计算C1=q(1,e);[max_y,k]=max(q);q_max_overshoot=max(q)-C1 %超调量计算q_rise_time=t(k) %上升时间计算s=length(t);while q(s)>-0.02&&q(s)<0.02s=s-1;endq_settling_time=t(s) %调整时间计算6.2改变参数验证控制系统的鲁棒性倒摆长度L不变,倒立摆的振子质量m从1kg分别改变为1.5kg、2kg、2.5kg、0.8kg、0.5kg;倒立摆的振子质量m 不变,倒摆长度L 从0.3m 分别改变为0.5m、0.6m、0.2m、0.1m。
在单位阶跃输入下,检验所设计系统的鲁棒性。
1、改变输入参数并运行,再运行pid.m文件,得到响应曲线及性能指标,记录表1图18 改变输入参数x θx θx θ10.314.11550.1251 5.6095 4.01 1.2605 1.33331.50.310.24580.1649 4.1058 3.33380.773 1.485720.38.35060.1962 5.7144 4.75580.6862 1.51692.50.315.45010.11967.4006 4.0793 1.2632 1.32770.80.317.27280.11668.0565 4.3415 1.3468 1.31540.50.311.98320.1551 5.2784 3.8402 1.1323 1.428610.512.02450.1693 5.6026 3.5867 1.2342 1.475210.615.16320.11027.1334 4.1097 1.3124 1.336310.216.23280.09737.5863 4.2172 1.2786 1.326410.1 5.17990.61494.1058 3.33380.773 1.4857振子质量倒摆长度对象参数性能指标最大超调量调节时间上升时间表1 性能坐标比较2、 仿真实验的结果如图19所示:图19改变倒立杆质量和长度时系统仿真结果7结论结论:1、原系统在0.1N的冲击力下,摆杆倒下(θ由零逐步增大),小车位置逐渐增加,这一结果符合前述的实验设计,故可以在一定程度上确认该“一阶倒立摆系统”的数学模型是有效的。