基于双闭环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 ,这样可得到完整的系统仿真结构如下图所 示:
基于双闭环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' )。
一级倒立摆【控制专区】系统设计
![一级倒立摆【控制专区】系统设计](https://img.taocdn.com/s3/m/7ef40b2cf46527d3240ce074.png)
基于双闭环PID控制的一阶倒立摆控制系统设计一、设计目的倒立摆是一个非线性、不稳定系统,经常作为研究比较不同控制方法的典型例子。
设计一个倒立摆的控制系统,使倒立摆这样一个不稳定的被控对象通过引入适当的控制策略使之成为一个能够满足各种性能指标的稳定系统。
二、设计要求倒立摆的设计要求是使摆杆尽快地达到一个平衡位置,并且使之没有大的振荡和过大的角度和速度。
当摆杆到达期望的位置后,系统能克服随机扰动而保持稳定的位置。
实验参数自己选定,但要合理符合实际情况,控制方式为双PID控制,并利用MATLAB进行仿真,并用simulink对相应的模块进行仿真。
三、设计原理倒立摆控制系统的工作原理是:由轴角编码器测得小车的位置和摆杆相对垂直方向的角度,作为系统的两个输出量被反馈至控制计算机。
计算机根据一定的控制算法,计算出空置量,并转化为相应的电压信号提供给驱动电路,以驱动直流力矩电机的运动,从而通过牵引机构带动小车的移动来控制摆杆和保持平衡。
四、设计步骤首先画出一阶倒立摆控制系统的原理方框图一阶倒立摆控制系统示意图如图所示:分析工作原理,可以得出一阶倒立摆系统原理方框图:一阶倒立摆控制系统动态结构图下面的工作是根据结构框图,分析和解决各个环节的传递函数!1.一阶倒立摆建模在忽略了空气流动阻力,以及各种摩擦之后,可将倒立摆系统抽象成小车和匀质杆组成的系统,如下图所示,其中: M :小车质量 m :为摆杆质量 J :为摆杆惯量 F :加在小车上的力 x :小车位置θ:摆杆与垂直向上方向的夹角 l :摆杆转动轴心到杆质心的长度根据牛顿运动定律以及刚体运动规律,可知: (1) 摆杆绕其重心的转动方程为(2) 摆杆重心的运动方程为得sin cos ..........(1)y x J F l F l θθθ=-2222(sin ) (2)(cos ) (3)x y d F m x l d td F mg m l d t θθ=+=-(3)小车水平方向上的运动为22..........(4)x d xF F M d t-=联列上述4个方程,可以得出一阶倒立精确气模型:()()()()()()()2222222222222222sin .sin cos cos cos .sin cos .lg sin cos J ml F ml J ml m l g x J ml M m m l ml F m l M m m m l M m J ml θθθθθθθθθθθθ⎧+++-⎪=++-⎪⎨+-+⎪=⎪-++⎩式中J 为摆杆的转动惯量:32ml J =若只考虑θ在其工作点附近θ0=0附近(︒︒≤≤-1010θ)的细微变化,则可以近似认为:⎪⎩⎪⎨⎧≈≈≈1cos sin 02θθθθ ⎪⎪⎩⎪⎪⎨⎧++-+=++-+=2..2222..)(lg )()()(Mml m M J mlF m m M Mml m M J g l m F ml J x θθθ 若取小车质量M=2kg,摆杆质量m=1kg,摆杆长度2 l =1m,重力加速度取g=2/10s m ,则可以得 一阶倒立摆简化模型:....0.44 3.330.412x F F θθθ⎧=-⎪⎨⎪=-+⎩即 G 1(s)= ; G 2(s)=一阶倒立摆环节问题解决!2.电动机驱动器选用日本松下电工MSMA021型小惯量交流伺服电动机,其有关参数如下:222()0.4()12() 1.110()s F s s x s s s s θθ-⎧=⎪-⎪⎨-+⎪=⎪⎩驱动电压:U=0~100V 额定功率:PN=200W 额定转速:n=3000r/min 转动惯量:J=3×10-6kg.m2 额定转矩:TN=0.64Nm 最大转矩:TM=1.91Nm 电磁时间常数:Tl=0.001s 电机时间常数:TM=0.003s经传动机构变速后输出的拖动力为:F=0~16N ;与其配套的驱动器为:MSDA021A1A ,控制电压:UDA=0~±10V 。
基于双闭环PID控制的一阶倒立摆控制系统设计
![基于双闭环PID控制的一阶倒立摆控制系统设计](https://img.taocdn.com/s3/m/b30bf4b9f18583d0496459e1.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 仿真实验 (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)检验系统的鲁棒性:将对象的特性做如下变化后,同样在单位阶跃输入下,检验所设计控制系统的鲁棒性能,列表比较系统的性能指标(最大超调量、调节时间、上升时间)。
基于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/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)检验系统的鲁棒性:将对象的特性做如下变化后,同样在单位阶跃输入下,检验所设计控制系统的鲁棒性能,列表比较系统的性能指标(最大超调量、调节时间、上升时间)。
一阶倒立摆系统的双闭环模糊控制方案范文
![一阶倒立摆系统的双闭环模糊控制方案范文](https://img.taocdn.com/s3/m/51e55c19c5da50e2524d7fbf.png)
系统仿真课程设计报告题目:一阶倒立摆系统的双闭环模糊控制方案专业、班级:自动本091班学生姓名:学号:0905404125指导教师:分数:2012 年 6 月9 日目录摘要: (2)一、引言 (2)二、设计目的 (3)三、设计要求 (3)四、设计原理 (3)五、设计步骤 (3)1、单级倒立摆系统的构成........................ 错误!未定义书签。
2、单级倒立摆的数学模型 (4)3、模糊控制器的设计 (6)3.1单阶倒立摆模糊控制的基本思路 (6)3.2隶属函数的定义 (6)3.3模糊控制器规则 (7)3.4解模糊 (8)4、仿真实验 (8)4.1MATLAB模糊逻辑工具箱 (8)4.2系统数字仿真模型的建立 (11)5、基于MATLAB的数字仿真结果 (12)六、结论 (13)七、感想和建议 (13)八、致谢 (14)九、参考文献 (15)摘要:通过对单阶倒立摆的双闭环的控制数学模型的分析,采用模糊控制理论对倒立摆的控制系统进行计算机仿真。
其中,内环控制倒立摆的角度,外环控制倒立摆的位置。
在Matlab环境下的仿真步骤包括:定义隶属函数及模糊控制规则集,解模糊。
结果表明,摆杆角度和小车位置的控制过程均具有良好的动态性能和稳定性能。
关键词:倒立摆;模糊逻辑控制;计算机仿真;MATLABAbstract:based on the ChanJie inverted pendulum double closed loop control mathematical model analysis, the fuzzy control theory of the inverted pendulum control system by computer simulation. Among them, the inner loop control the point of view of the inverted pendulum, outside loop control the position of the inverted pendulum. In the Matlab environment simulation steps include: definition membership function and fuzzy control rule sets, solution is fuzzy. The results show that, swinging rod Angle and the car position control process are good dynamic performance and stable performance.Keywords: inverted pendulum; Fuzzy logic control; The computer simulation; Matlab一、引言在人类自然科学的发展历史上,人们总是以追求事物的精确描述为目的来进行研究,并取得了大量的成果。
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控制方法1
![基于双闭环设计的一阶倒立摆PID控制方法1](https://img.taocdn.com/s3/m/193a7c20a31614791711cc7931b765ce05087a67.png)
基于双闭环设计的一阶倒立摆PID控制方法1摘要倒立摆控制是控制理论中的经典问题,双闭环控制方法在倒立摆控制中得到广泛应用,本文提出了一种基于双闭环设计的一阶倒立摆PID控制方法。
首先建立倒立摆的数学模型,选择控制器型号为PID控制器,并采用标准的Ziegler-Nichols方法进行控制器参数调节。
接着,设计了两级闭环控制系统:外环控制倒立摆的角度,内环控制电机输出的电压,以保证倒立摆稳定控制。
仿真结果表明,该控制器在扰动干扰下也能够实现稳定控制,具有较高的精度和稳定性。
关键词:双闭环,一阶倒立摆,PID控制,Ziegler-Nichols方法AbstractInverted pendulum control is a classic problem in control theory. The double closed-loop control method has been widely used in inverted pendulum control. This paper proposes a first-order inverted pendulum PID control method based on double closed-loop design. First, the mathematical model of the inverted pendulum is established, and the controller type is selected as PID controller. The standard Ziegler-Nichols method is used to adjust the controller parameters. Then, atwo-level closed-loop control system is designed: the outer loop controls the angle of the inverted pendulum, and the inner loop controls the voltage output of the motor to ensure stable control of the inverted pendulum. Simulation results show that the controller can achieve stable control even under disturbance interference, and has high accuracy and stability.Keywords: double closed-loop, first-order inverted pendulum, PID control, Ziegler-Nichols method一、引言倒立摆是一种在工业自动化控制、机器人自主导航、交通运输车辆控制等领域应用广泛的研究对象,其控制问题一直是研究的热点,也是控制理论中的经典问题。
基于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/e16e268083c4bb4cf6ecd171.png)
设计说明书
基于双闭环 PID 控制得一阶倒立摆控
制系统设计
姓
名:
学 号:
学 院:
专 业:
指导教师:务概述ﻩ错误!未定义书签。 1.1 设计概述.....................................错误!未定义书签。 1。2 要完成得设计任务: ..........................错误!未定义书签。
图7 编辑参数 8、在系统模型中,双击子系统模块,则会弹出一个新窗口,在新窗口中可以输入 m 与 L 得值,之后将会输入,如图 8 所示。
3 仿真验证
图 8 输入参数
3、1 实验设计
假定使倒立摆在(θ=0,x=0)初始状态下突加微小冲击力作用,则依据经验知,小 车将向前移动,摆杆将倒下。
4、封装之后如下图
图 3 封装
图 4 子系统建立 5、将精确模型 subsystem与简化模型subsystem1组合成以下系统以供验 证,注意add得符号就是++,不就是+—,网上其她得课设都就是错得。(输入信 号就是由阶跃信号合成得脉冲,幅值为 0。05,持续时间(step time)为 0.1s)、
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。
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/e9f764d726fff705cc170ade.png)
一.系统模型的建立如图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])*co s(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改就行了。
有两种实现的方法:一种是利用示波器观察如下图所示,另一种是采用绘图程序实现。
1)示波器实现如图6:图6示波器显示结果如图7所示图72)用程序实现:%Inerted pendulum%Model test in open loop%Signals recuperation%将导入到xy.mat中的仿真试验数据读出load xy.matt=signals(1,: ); %读取时间信号f=signals(2,: ); %读取作用力F信号x=signals(3,: ); %读取精确模型中的小车位置信号q=signals(4,: ); %读取精确模型中的倒摆摆角信号xx=signals(5,: ); %读取简化模型中的小车位置信号qq=signals(6,: ); %读取简化模型中的倒立摆摆角信号%Drawing control and x(t) response signals%画出在控制力的作用下的系统响应曲线%定义曲线的纵坐标、标题、坐标范围和曲线的颜色等特征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','YClor','k'); %定义曲线属性ht=line(t,x,'color','r','parent',axet); %连接时间-小车位置曲线ht=line(t,xx,'color','r','parent',axet); %连接时间-小车速度曲线ylabel('Evolution of the x position (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)'),gext('x (t) \rightarrow'),gtext ( '\leftarrow x''(t)')%drawing control and theta (t)response singalsfigure (2)hf=line (t, f (:));grid onxlabel('Time')ylabel('Force in N')axet=axes('Position',get (gca,'Position'),...'XAxisLocation','bottom',...'YAxisLocation','right','Color','None',...'XColor','k','YClor','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'' (t)in rad to a f (t)pulse of 0.1 N')gtext ( '\leftarrow f (t)'),gext('\theta (t) \rightarrow'),gtext ( '\leftarrow\theta ''(t)')在·m文件里写入如上程序,在运行该程序之前,先运行系统。
一级倒立摆课程设计--倒立摆PID控制及其Matlab仿真
![一级倒立摆课程设计--倒立摆PID控制及其Matlab仿真](https://img.taocdn.com/s3/m/37692e3e27d3240c8447ef7d.png)
一级倒立摆课程设计--倒立摆PID控制及其Matlab仿真倒立摆PID控制及其Matlab仿真学生姓名:学院:电气信息工程学院专业班级:专业课程:控制系统的MATLAB仿真与设计任课教师:2014 年 6 月 5 日倒立摆PID控制及其Matlab仿真Inverted Pendulum PID Control and ItsMatlab Simulation摘要倒立摆系统是一个典型的快速、多变量、非线性、不稳定系统,对倒立摆的控制研究无论在理论上和方法上都有深远的意义。
本论文以实验室原有的直线一级倒立摆实验装置为平台,重点研究其PID 控制方法,设计出相应的PID控制器,并将控制过程在MATLAB上加以仿真。
本文主要研究内容是:首先概述自动控制的发展和倒立摆系统研究的现状;介绍倒立摆系统硬件组成,对单级倒立摆模型进行建模,并分析其稳定性;研究倒立摆系统的几种控制策略,分别设计了相应的控制器,以MATLAB为基础,做了大量的仿真研究,比较了各种控制方法的效果;借助固高科技MATLAB实时控制软件实验平台;利用设计的控制方法对单级倒立摆系统进行实时控制,通过在线调整参数和突加干扰等,研究其实时性和抗千扰等性能;对本论文进行总结,对下一步研究作一些展望。
关键词:倒立摆;PID控制器;MATLAB仿真设计报告正文1.简述一级倒立摆系统的工作原理;倒立摆是一个数字式的闭环控制系统,其工作原理为:角度、位移信号检测电路获取后,由微分电路获取相应的微分信号。
这些信号经A/D转换器送入计算机,经过计算及内部的控制算法解算后得到相应的控制信号,该信号经过D/A变换、再经功率放大由执行电机带动皮带卷拖动小车在轨道上做往复运动,从而实现小车位移和倒立摆角位移的控制。
2.依据相关物理定理,列写倒立摆系统的运动方程;2lO1小车质量为M ,倒立摆的质量为m ,摆长为2l ,小车的位置为x ,摆的角度为θ,作用在小车水平方向上的力为F ,1O 为摆杆的质心。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
自动控制原理课程设计说明书基于双闭环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)检验系统的鲁棒性:将对象的特性做如下变化后,同样在单位阶跃输入下,检验所设计控制系统的鲁棒性能,列表比较系统的性能指标(最大超调量、调节时间、上升时间)。
倒摆长度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 = 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 =mL 23,小车质量M=1kg ,倒摆振子质量m ,倒摆长度2L ,重力加速度g=10m/s 2)将以上表达式导入函数。
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 一级倒立摆系统位置伺服控制系统方框图4.1内环控制器的设计内环采用反馈校正进行控制。
图14 内环系统结构图反馈校正采用PD控制器,设其传递函数为D2′(s)=K1s+K2,为了抑制干扰,在前向通道上加上一个比例环节D2(s)=K控制器参数的整定:设D2(s)的增益K=-20,则内环控制系统的闭环传递函数为令ξ= 0.7内环控制器的传递函数为:D2′(s)=0.175s+1.625内环控制系统的闭环传递函数为:W2(s)=64s2+11.2s+644.2外环控制器的设计外环系统前向通道的传递函数为:图12 外环系统结构图对外环模型进行降阶处理,若忽略W2(s)的高次项,则近似为一阶传递函数为:对模型G1(s)进行近似处理,则G1(s)的传递函数为:外环控制器采用PD形式,其传递函数为:D1(s)=K3(τs+1)采用单位反馈构成外环反馈通道,则D1′(s),则系统的开环传递函数为:采用基于Bode图法的希望特性设计方法,得K3=0.12,τ= 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所示图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 改变输入参数2、仿真实验的结果如图19所示:图19改变倒立杆质量和长度时系统仿真结果7结论结论:1、原系统在0.1N的冲击力下,摆杆倒下(θ由零逐步增大),小车位置逐渐增加,这一结果符合前述的实验设计,故可以在一定程度上确认该“一阶倒立摆系统”的数学模型是有效的。