基于双PID的旋转倒立摆控制系统设计与实现_刘二林
采用双闭环PID控制及PSO算法的双足轮式倒立摆控制系统
Abstract
In order to solve the feet-wheeled inverted pendulum’s stability control problem, a control system of a feet-wheeled inverted pendulum based on double closed-loop PID controller combined with particle swarm optimization is proposed. In addition, we designed a cost function related to the control effect to increase the stability of the control system. Under matlab simulation conditions, stable control of the feet-wheeled inverted pendulum was achieved. Experimental results showed that after tuning, the step response of the controller parameters was better than that of the original parameters with the rise time and the settling time was shorter than that of the non-tuning PID controller. This algorithm has been applied to a vertical intelligent search-identify-sampling system based on the area CCD, showing the availability of the PSO-PID controller.
基于双闭环PID控制的一阶倒立摆控制系统设计
基于双闭环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控制的一阶倒立摆控制系统设计姓名:学号:学院:专业:指导教师: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控制的一阶倒立摆控制系统设计姓名:学号:学院:专业:指导教师: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控制的一阶倒立摆控制系统设计姓名:学号:系别:电气工程系专业:电气工程和自动化年级: 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控制的一阶倒立摆控制系统设计
内环控制器设计
角度内环对象为一非线性的自不稳定系统,故拟采用 “反馈校正”。
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 的旋转倒立摆控制系统设计与实现Design and implementation of rotary invert pendulum based on dual PID刘二林1,姜香菊2LIU 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]。
简易旋转倒立摆及控制系统的设计与实现 简易旋转倒立摆及控制装置——直流电机
简易旋转倒立摆及控制系统的设计与实现摘要系统主要由倒立摆系统的机械结构、数据采集系统、单片机控制系统、电机及其驱动系统和电源系统等五大部分组成。
系统的软硬件设计都采用模块化设计思想。
构建了系统的机械结构部分,包括旋臂、摆杆和步进电机。
详细介绍了传感器电路、单片机最小系统、电机驱动电路、控制电路和外围电路的设计,采用角度传感器SCA60C和模数转换器MCP3221构成了采样及ADC模块电路。
主控芯片采用Silicon公司的C8051F340,根据接收的传感器信号计算控制律,并通过单片机产生控制输出,采用直流电机驱动芯片L298N将控制信号施加于执行电机以控制电机及驱动模块。
在对系统数学模型进行分析的基础上,利用PID控制方法,结合ADC数据采集模块,实现了位置型PID控制算法。
设计中采用软硬件结合的抗干扰技术,提高了系统的可靠性。
最后对系统进行了整体测试,测试结果表明,系统性能能达到题目规定的相关要求,并提出了优化和改进措施。
关键词:旋转倒立摆;PID控制算法;控制系统;单片机1. 系统方案旋转倒立摆的结构如图1所示。
根据题目的设计要求,电动机A固定在支架B上,通过转轴F 驱动旋转臂C旋转。
摆杆E通过转轴D固定在旋转臂C的一端,当旋转臂C在电动机A驱动下作往复旋转运动时,带动摆杆E在垂直于旋转臂C的平面作自由旋转。
图1 旋转倒立摆结构示意图旋转式倒立摆的机械结构主要包括旋臂、摆杆、直流电机以及角度传感器部分。
其中直流电机为执行机构,可由专门的电机驱动芯片L298N驱动。
旋臂和摆杆之间由角度传感器连接,摆杆可绕旋臂在垂直平面内转动。
旋臂和摆杆的角位移信号由角度传感器测量得到,作为系统的输入量送入到控制器中,根据一定的算法计算得到控制律并转化为电压信号提供给驱动芯片,来驱动直流电机转动,从而带动旋臂在水平面内旋转,最终实现控制摆杆直立的效果。
旋转倒立摆控制系统结构如图2所示。
在系统中,可通过倾角传感器的反馈获得自由摆末端被控对象的位移,控制驱动模块实时读取传感器反馈的数据,确定控制决策(包括电机的转动方向、转动速度、转动角度等),同时控制模块通过处理器内部的控制算法实现该控制决策,产生相应控制量。
基于能量和 LQR 的 Furuta 摆系统控制研究及仿真
基于能量和 LQR 的 Furuta 摆系统控制研究及仿真姜香菊;刘二林【摘要】针对由驱动臂和一个未驱动摆杆组成的欠驱动 Furuta 摆系统,设计了基于能量的起摆控制器和 LQR 状态跟随器。
控制任务是将未驱动摆杆稳定在上方不稳定点的同时,使驱动臂稳定。
首先对 Furuta 摆进行基于能量的起摆控制,然后根据能量的多少切换至稳摆控制。
仿真结果表明:基于能量的起摆控制与 LQR 控制相结合,稳定性好,起摆成功率高。
将程序移植并用上位机显示运行结果,数据表明了控制算法的合理性和有效性。
%A swing-up controller and a LQR controller are presented for an under-actuated Furuta pendulum,which consists of an actuated arm and an under-actuated pendulum.The control target is to bring the pendulum to the upper unstable equilibrium position and to converge the arm on the zero position.The whole control process consists two parts.The first control process is to swing up the pole from the under position to the upper position,and the second process is to sta-bilize the pendulum to its upper unstable equilibrium point using LQR controller.The simulation results illustrate the better effectiveness of the method.The data showed on the upper computer indicates that the approach has the stable and robust responses in the actual system.【期刊名称】《兰州交通大学学报》【年(卷),期】2016(035)004【总页数】5页(P60-64)【关键词】Furuta 摆;欠驱动;能量控制;起摆;LQR【作者】姜香菊;刘二林【作者单位】兰州交通大学自动化与电气工程学院,甘肃兰州 730070;兰州交通大学机电工程学院,甘肃兰州 730070【正文语种】中文【中图分类】TP273Furuta摆首先由Furuta给出,因而称为Furuta摆,也称为旋转倒立摆.Furuta摆与两轮平衡车系统一样,均为欠驱动机械系统[1].Furuta摆的实物图如图1所示,主要由Furuta支撑机架、电机、减速装置、摆杆、旋臂、1024线位置式编码器、BT7960构成的H桥电路及微控制器芯片组成.其中,Furuta摆的旋臂与减速器的输出轴联接,减速器由直流电机驱动,编码器1的齿轮与直流电机主轴齿轮啮合.通过获取编码器1的角度和角速度可以计算出旋臂的角度和角速度.编码器2安装在旋臂末端,且编码器2的旋转轴与旋臂的主轴平行;摆杆安装在编码器2的旋转轴上,摆杆轴线与编码器旋转轴垂直.系统中,旋臂只能以减速器动力输出轴为圆心做水平旋转,摆杆只能以编码器2旋转轴为圆心在旋臂末端旋转轨迹的切面上做竖直旋转[2-3].文中Furuta摆的控制目标为:将摆杆从自然下垂的初始状态摆起,并使摆杆垂直倒立在旋臂上方;而后系统根据设定要求使旋臂按照一定的速度带动摆杆匀速旋转.该控制任务包括起摆控制和运动控制两个部分.在实际控制过程中,起摆控制和运动控制要密切配合,以保证起摆的成功率和运行的稳定性.文中研究的这种控制方式类似于两轮平衡车的运动控制,该研究有较强的现实意义[4].对倒立摆进行受力分析,建立广义坐标系.系统的简化模型如图2所示.利用拉格朗日方程建立系统的运动学微分方程.由图2可知,系统中摆杆与旋臂各有一个自由度,所以,可以取α 和θ为广义坐标.则Furuta摆系统的动能由四部分组成[5].其中:T1为旋臂的转动动能,2;T2为摆杆的转动动能,2;T3为摆杆沿X轴方向运动的动能,;T4为摆杆沿Y轴方向运动的动能,α.因为α→0,所以sin α→0,cos α→1,将式(1)各项进行计算合并,并且对其进行线性化处理可得:.系统的广义力为.所以根据拉格朗日方程有由式(3)可得.其中:Tout为电机输出扭矩,.由式(4)可得将式(5)、式(6)联立组成方程组,得到Furuta摆系统线性化状态方程其中;;;C=[0 1 0 0];u为模型输入,也即电机的输入电压,其中:N1= -0.224 6,N2=2.969 7,N3=-0.008 7,N4=-0.679 5,N5=95.454 5,N6=-0.278 3,N7=4.887 3,N8=4.363 6.以上各式中,参数的物理意义、数值及单位见表1.如果将图2所示的XOY坐标系旋转180°,使Y轴正向朝下,则Furuta摆模型变为单摆模型.反而言之,如果将图2其他部分不变,将重力加速度的方向改变,也即将g变为-g,不稳定的Furuta摆数学模型将变为稳定的单摆数学模型.单摆的线性化状态方程见式(7)..2.1 单摆起摆能量控制算法基于图2所示的XOY坐标平面,建立针对单摆的坐标系如图3所示.以摆杆自由下垂时为0势能点,则在最上端不稳定平衡点时摆杆的势能为Eg=m2gL,如果在最上端不稳定平衡点的动能为0,可达到起摆的最优效果.根据能量守恒原理,只要测得摆杆的能量等于或者接近于Eg,则Furuta摆系统能顺利起摆. 根据单摆的动力方程可得单摆的能量为动能与势能之和:对式(9)求导,并将式(8)带入可得以上各式中,J为摆杆的转动惯量;U为旋转点切向加速度.U与cos α)同号,能量E增加;U与cos α)异号,能量E减少.U的数值与电机输入电压u在一定范围内成线性关系.通过控制Furuta摆系统的输入电压,可以控制摆杆的起摆能量.同时,当=0或者时,系统不可控,能量无法增加.确定控制算法为.在具体应用时,K 在程序中由(Eg-E)的数值确定.控制器在范围内有效,超过范围,控制器输出为0[6-7].2.2 单摆起摆仿真分析论文建立单摆的线性化数学模型时,将sinα、cosα作了线性化处理.仿真仅可在一定程度上反映能量的增减.令模型中的初始角度α=0.53 rad,分别令K=1.3,K=0,K=-1.3,利用确定的起摆控制算法进行仿真实验,仿真结果见图4.从仿真结果可以看出,当K为正值时,在受控状态下,摆角峰值逐渐增加,也即能量不断增加;当K为负值时,在受控状态下,摆杆摆动一次即停留在0 rad处,也即能量很快被消耗殆尽;当K为0时,控制器不起作用,摆杆自由振荡,由于系统自身所具有的风阻等因素,能量被逐渐消耗,角度很快趋于0 rad.以上仿真结果验证了控制算法的正确性.3.1 控制算法设计根据现代控制理论,设状态反馈控制律的形式为U=-k×x.在本模型中,由于x是四维状态变量;所以, K=[k1,k2,k3,k4],K的取值要满足使线性二次型最优性能指标J最小.其中:u不受限制;Q是半正定常数矩阵;R为正定常数矩阵.求得状态反馈矩阵K=-R-1BTP,P为满足代数Riccati方程的唯一正定对称解[8-9].代数方程为Q和R确定后,利用Matlab便可以求得状态反馈矩阵K,调整对角矩阵Q中的参数,也即各输入量的权重,便可以在仿真时得到期望的效果.该LQR最优控制可以使系统从任意初始状态返回到平衡状态(0状态).为了使系统能跟踪设定值,定义误差向量e(t)=yr(t)-y(t),引入偏差的积分,则).引入增广系统:其中:A、B、C同前面Furuta摆数学模型中的A,B,C.对增广系统的可控性进行分析,系统能控.设计基于LQR的状态跟随控制器如图5[10-11]所示.3.2 运动控制仿真分析在M文件中,取取 R=[0.05],KI=30.通过Matlab进行计算K=[-0.044 7 -16.772 9 420.065 7 42.897 6].同时根据基于能量控制的的起摆控制原理,起摆后根据动能与势能的关系切换至LQR的控制方案如图6a所示.按照传统的起摆控制模式,如根据×cos α)规律进行起摆控制,然后根据α是否达到临界值切换至LQR的控制方案仿真结果如图6b所示.从控制结果对比可以明显看出,基于能量的控制切换思路要明显优于基于角度的控制切换思路.将Matlab中的能量起摆控制算法和LQR稳摆控制算法移植到微控制器中.通过虚拟示波器将摆杆的角度及旋臂的角速度传到上位机中.上位机虚拟示波器显示的摆杆摆起至稳定波形图如图7所示.图7中,纵坐标为角度和角速度,对于角度而言,其单位为6.13×10-3 rad,因为编码器为1 024线编码器,所以倒立时角度显示值为512.对于摆杆角速度而言,其单位为0.378 7 rad/s.分析图7,在Furuta摆系统起摆之初,系统角度为0 rad,在基于能量的起摆控制方式下,系统震荡起来,在震荡2次以后,系统角度及角速度达到Furuta摆稳摆控制要求,系统进入Furuta摆LQR稳摆控制模式,Furuta摆摆杆被稳定控制在倒立位置.利用拉格朗日方程建立Furuta摆系统完整的线性化状态方程,针对基于能量控制的算法研究了Furuta摆的起摆问题,同时利用LQR状态跟随控制器对Furuta摆模型进行稳摆控制.通过仿真发现,起摆可以看作是向Furuta摆输入能量的过程,Furuta摆摆杆摆起后的能量对稳摆控制影响很大,能量过大和过小都能使Furuta 摆失稳.基于能量的起摆控制较常规起摆控制有更好的稳定性.实测结果也表明了基于能量和LQR的Furuta摆控制对电源功率要求更小,系统起摆过程更稳定,更节能.【相关文献】[1] 高丙团,张晓华,陈宏钧.基于快速起摆的Fututa 摆切换控制系统[J].控制与决策,2008,32(11):1277-1280,1285.[2] 苟君年,汪丽娟,顾桂梅.简易旋转倒立摆的双闭环控制设计[J].兰州交通大学学报,2015,34(3):87-90.[3] 张朝阳,魏晓赟,王少峰.基于52单片机的旋转倒立摆的研究与设计[J].廊坊师范学院学报:自然科学版,2014,14(4):49-52.[4] 黄南晨,吴刚,王永,等.基于DSP的旋转倒立摆控制系统[J].中国科学技术大学学报,2002,32(3):340-346.[5] 宋君烈,肖军,徐心和.倒立摆系统的Lagrange方程建模与模糊控制[J].东北大学学报:自然科学版,2004,23(4):333-337.[6] 姜倩,管凤旭.旋转式倒立摆的镇定和摆起控制[J].哈尔滨商业大学学报:自然科学版,2007,23(3):232-234.[7] 潘笑,肖书书,张俊,等.倒立摆摆起的能量控制算法仿真及研究[J].微计算机信息,2008,24(31):261-262.[8] 张欣.单级旋转倒立摆的二次型最优控制研究[J].电脑开发与应用,2011,24(12):28-29,32.[9] Ding H S,Li Y P,Mao J Q, et al.Dynamic switching control for the swing-up and stabilizing control of the Furuta pendulum[C]// 2006 1st IEEE Conference on Industrial Electronics and Applications.Singapore:IEEE Press, 2006:1-5.[10] Carlos A I,Juan H A.Stabilization of the Furuta pendulum based on Lyapunov function[J].Nonlinear Dynamics,2007,49(1):1-8.[11] 江晨,王富东.旋转式倒立摆系统的算法研究及仿真[J].工业控制计算机,2010,23(5):54-56.。
一种采用双pid串级控制的双轮自平衡车的研制
摘 要一种采用双PID串级控制的双轮自平衡车的研制双轮自平衡车因其动力学系统同时具有多变量,非线性,不稳定,强耦合等特性,在研究各种控制方法等方面是较为领先的领域,所以双轮自平衡车的发展引起了人们广泛的关注。
双轮自平衡车可以用倒立摆模型进行分析,因其系统极其不稳定,务必要用强效巧妙的控制方法才能维持其稳定。
系统整体上主要由姿态传感子系统、CPU处理子系统、驱动子系统三部分构建而成,其中获取精确的姿态信息以及将获得数据进行融合和处理的算法决定了自平衡车的优劣。
其原理是自平衡车通过姿态传感器(MPU6050)高频率实时检测运行情况,将所采集的俯仰角和角度及加速度变化率传输给CPU,经由CPU融合处理并输出调整姿态的指令,从而驱动电动机使两个轮的转速发生相应的改变,实现车体平衡以及加速和减速的目的。
本文研制了一种采用双PID串级控制的双轮自平衡车,系统以STM32最小系统为核心板,采用运动处理传感器MPU6050实时检测角速度以及角度,并通过互补滤波的方式进行数据融合,用于减小传感信号温度漂移的影响,同时使自平衡车即使受到很大的外界干扰(如推拉、震动、颠簸等)也能够快速进行调整。
系统通过串级PID(Proportion Integration Differentiation)算法进行车体的控制,通过PD(Proportion Differentiation)控制使得车身能够直立运行,通过安装在直流电机上的测速码盘实时反馈电机转速和方向,并通过PI(Proportion Integration)控制来控制车身的速度。
该双轮自平衡车运用TB6612FNG电机驱动系统,调节PWM输出的占空比来改变电机的转速。
系统通过LM2940以及ASM1117子系统作为电源驱动,准确的转换电压并对STM32和电机供电。
最后对系统进行控制参数的调整和优化,最终实现让双轮自平衡车直立平衡运行的目标。
关键词:双轮平衡车,PID控制,互补滤波,姿态检测ABSTRACTDeveloping of a dual-wheel self-balancing vehicle using double PID cascade controlThe dual-wheeled self-balancing vehicle is a leading field in the research of various control methods because of its dynamic system of multi-variable, nonlinear, unstable and strong coupling, so the development of self-balancing two-wheeled vehicles has attracted widespread attention.The dual-wheel self-balancing vehicle can be analyzed by using inverted pendulum model. The system is extremely unstable, so it is important to use a effective method to maintain its stability. The system is mainly composed of three parts: attitude sensing subsystem, CPU processing subsystem and driving subsystem. The accurate attitude information and the algorithm which gets the data to be fused and processed determine the performance of self-balancing vehicle. The self-balancing vehicle detects operating conditions through the real-time high-frequency sensor (MPU6050), the collected pitch angle and acceleration rate of change is transmitted to the CPU, CPU fusion processing and output adjustment attitude commands, which drive the motor to make two wheels' speed change to achieve the purpose of acceleration, deceleration and balancing the body.In this paper, a dual-wheel self-balancing vehicle using double PID cascade control is developed. Using STM32 as the cord board and motion detection sensor(MPU6050)detects angular velocity and angle in real time. And performing data fusion by complement filter to reduce the influence of the temperature drift of the sensing signal. At the same time, even if the self-balancing vehicle suffers from great external interference (Push and pull, vibration, bump, etc.) can also be quickly adjusted. The system controls the vehicle body through the Proportion Integration Differentiation (PID) algorithm. By the control of PD (Proportion Differentiation), the vehicle body can be erected. The speed and direction of the motor are fed back in real time by the speed encoder installed on the DC motor. And using the control of Proportion Integration(PI) to control the body speed. The TB6612FNG driving system of motor is used in the self-balancing dual-wheel vehicle, and the motor speed is changed by adjusting the PWM output duty cycle. The system is powered by the LM2940 and the ASM1117 subsystem, which can convert voltage accurately, power theSTM32 and the motor. Finally, two-wheeled self-balancing vehicle upright balance operation is achieved by adjusting and optimizing the control parameters.Keywords:a auto-balancing vehicle with two wheels, PID control, Complementary filter, attitude detection目 录摘 要 (I)ABSTRACT (II)第一章 绪论 (1)1.1研究背景及意义 (1)1.2国内外研究现状 (1)1.2.1国外现状 (1)1.2.2国内现状 (5)1.3本文主要内容及章节内容 (6)第二章 平衡车系统原理分析 (7)2.1控制系统任务分析 (7)2.2平衡车数学模型 (8)2.2.1 平衡车的受力分析 (8)2.2.2平衡车的运动微分方程 (11)2.3 串级PID在平衡控制和速度控制中的应用 (12)2.3.1 PID算法简介 (12)2.3.2 PID算法在平衡控制中的应用原理 (14)2.3.3 PID算法在速度控制中的应用原理 (14)2.3.4 串级PID的原理及在系统中的应用 (15)2.4基于互补滤波的数据融合 (16)2.5本章小结 (16)第三章 系统硬件电路设计 (17)3.1 单片机最小系统STM32F103C8T6 (18)3.2系统电源模块 (19)3.3 运动处理传感器模块 (20)3.4电机驱动电路 (21)3.5编码器电路 (23)3.6底板综合设计 (24)3.7系统遥控电路设计 (26)3.7.1 单片机STC89C52 (26)3.7.2 无线收发器模块NRF24L01 (27)3.7.3 液晶显示模块12864 (28)3.8本章总结 (29)第四章 系统软件程序设计 (30)4.1主程序框架与初始化 (30)4.2 数据采集 (32)4.2.1.输入信号采集函数 (32)4.2.2.捕获电机脉冲函数 (32)4.3互补滤波数据融合算法 (33)4.4 串级PID控制 (33)4.4.1直立PD控制 (33)4.4.2速度PI控制 (34)4.5电机PWM输出 (36)4.6程序优化 (37)4.7本章小结 (37)第五章 系统调试 (38)5.1系统开发平台 (38)5.2姿态检测系统调试 (39)5.3控制系统PID参数的整定 (41)5.3.1直立PD控制参数调试 (41)5.3.2速度PI控制参数调试 (41)5.4本章小结 (42)第六章 总结与展望 (43)6.1总结 (43)6.2展望 (43)参考文献 (44)作者简介及攻读硕士期间发表的论文 (46)致 谢 (47)第一章 绪论1.1研究背景及意义近年来,双轮自平衡车的发展势头迅猛主要有以下两个原因,其一是它的实用性很强,可以应用到绝大多数领域,其二是支撑搭建双轮自平衡车的理论体系逐渐完善,技术手段日益先进,如数据获取更简单有效,数据处理更科学精确。
利用PID算法实现倒立摆控制
利用PID算法实现倒立摆控制#include<reg52.h>#include<stdio.h>#define uchar unsigned char#define uint unsigned int#define THC0 0xf8#define TLC0 0xcD //2msunsigned char code Duan[]={0x3F, 0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};//共阴极数码管,0-9段码表unsigned char Data_Buffer[8]={0,0,0,0,0,0,0,0};uchari=0;sbitAddSpeed=P1^1;sbitSubSpeed=P1^2;sbit PWM_FC=P1^0;int e ,e1 ,e2 ; //pid偏差float uk ,uk1 ,duk ;//pid输出值float Kp=5,Ki=10,Kd=1.9;//pid控制系数int out=0;uintSpeedSet=1000;uintcnt=0;uintInpluse=0,num=0;//脉冲计数uintPWMTime=100;// 脉冲宽度unsigned char arry[];voidSendString(uintch);void PIDControl(); //PID控制void SystemInit(); //系统初始化void delay(uchar x);void PWMOUT(); //PWM输出void SetSpeed(); //速度设置voidSegRefre();/**************主函数************/void main(){SystemInit();while(1){SetSpeed();SegRefre();PWMOUT();}}void PIDControl() //pid偏差计算{e=SpeedSet-num;duk=(Kp*(e-e1)+Ki*e+Kd*(e-2*e1+e2))/50; //+Kd*(e-2e1+e2) uk=uk1+duk;out=(int)uk;if(out>1000){out=1000;}else if(out<0){out=0;}uk1=uk;e2=e1;e1=e;PWMTime=out;}void delay(uchar x){uinti,j;for(i=x;i>0;i--)for(j=50;j>0;j--);}void PWMOUT(){if(cnt<PWMTime){PWM_FC=1;}else{PWM_FC=0;}if(cnt>1000) cnt=0;}voidSystemInit(){TMOD=0X21; //t1用来串口t2定时TH0=THC0;TL0=TLC0;TH1=0xC0;TL1=0XC0;ET1=1;ET0=1;TR0=1;TR1=1;EX0=1; //中断0用来测量转速IT0=1;EA=1;e =0;e1=0;e2=0;}voidSetSpeed(){if(AddSpeed==0){delay(200);if(AddSpeed==0){SpeedSet+=100;if(SpeedSet>9999){SpeedSet=9999;}}}if(SubSpeed==0){delay(200);if(SubSpeed==0){SpeedSet-=100;if(SpeedSet<0) SpeedSet=0;}}}void SegRefre() //显示刷新{Data_Buffer[0]=SpeedSet/1000;Data_Buffer[1]=SpeedSet%1000/100;Data_Buffer[2]=SpeedSet%100/10;Data_Buffer[3]=SpeedSet%10;Data_Buffer[4]=num/1000;Data_Buffer[5]=num%1000/100;Data_Buffer[6]=num%100/10;Data_Buffer[7]=num%10;}void int0() interrupt 0{Inpluse++;}void t0() interrupt 1{static unsigned char Bit=0;//静态变量,退出程序值保留static unsigned int time=0;static unsigned intaa=0;TH0=THC0;TL0=TLC0;aa++;if(aa==50){aa=0;flag0=1;}Bit++;time++; //转速测量周期if(Bit>8) Bit=0;P0=0xff;P2=Duan[Data_Buffer[Bit]];switch(Bit){case 0:P0=0X7F;break;case 1:P0=0XBF;break;case 2:P0=0XDF;break;case 3:P0=0XEF;break;case 4:P0=0XF7;break;case 5:P0=0XFB;break;case 6:P0=0XFD;break;case 7:P0=0XFE;break;}if(time>100){time=0;num=Inpluse*15*5;Inpluse=0;PIDControl();}}void timer_1() interrupt 3{cnt++; //cnt越大占空比越高2.5Khz }。
一阶倒立摆双闭环PID控制实验报告
一阶倒立摆双闭环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. 本次实验成功建立了一阶倒立摆的数学模型;。
基于模糊控制的旋转型双支点倒立摆系统
b— on v re e d l m y t m.Th i i ti e tdp n uu s se p n eMATL / i l k smu ain r s l h w h t h t o AB S mu i i lto e u t s o t a eme h d n s t
ZHANG u x a , , M A e , BAIYu ZH ANG Sh — i 12 Yu 1 , Chu — i n x
( . c o lo e h nis 1 S h o fM c a c ,Dain Unv ri fTe h oo y,Dain 1 6 2 ,Chn la iest o c n lg y la 1 0 4 ia; 2 S h lo e h to cEngn ei g,Ch n c u ie st fTeh oo y,Ch ng h n 1 0 1 ,Chn ) . c o fM c ar ni ie rn a g h n Unv ri o c n lg y a eu 3 0 2 ia
—
Vo 8 No 1 L2 。 .
M a  ̄2 07 t 0
基 于模 糊 控 制 的旋 转 型双 支 点倒 立摆 系统
张 淑 霞 , 一 一马 跃 白 羽 , 张春 喜 ,
(. 1 大连 理 工 大 学 机 械 长 春 工 业大 学 机 电 工程 学 院 , 林 长 春 104 . 吉 101) 3 0 2
基于PID双闭环的旋转倒立摆控制系统
基于PID双闭环的旋转倒立摆控制系统
佟远;张莎
【期刊名称】《测控技术》
【年(卷),期】2016(035)008
【摘要】针对倒立摆多变量、非线性和强耦合性等特性,设计并制作了基于PID双闭环的旋转倒立摆控制系统.以STM32控制器为主控核心,光电编码器为传感器,搭建了系统的硬件部分.软件部分主要包括起摆算法和稳摆算法,起摆算法基于能量补偿,稳摆算法采用PID双闭环.在系统实物上的实验结果验证了系统控制方案的可行性和良好的控制性能.
【总页数】4页(P85-88)
【作者】佟远;张莎
【作者单位】中国地质大学(武汉)自动化学院,湖北武汉 430000;中国地质大学(武汉)机械与电子信息学院,湖北武汉 430000
【正文语种】中文
【中图分类】TP23
【相关文献】
1.基于Smith-PID的数字PCR检测仪液路双闭环比值控制系统的设计 [J], 陈庆明;刘经龙;李冬梅
2.基于卡尔曼滤波和双闭环PID控制的平衡车控制系统设计 [J], 李泽宇
3.基于双PID的旋转倒立摆控制系统设计与实现 [J], 刘二林;姜香菊
4.基于双闭环PID模糊算法的玉米精量排种控制系统设计 [J], 陈黎卿;解彬彬;李兆
东;杨路;陈永新
5.基于双闭环变积分PID的中频弯管机控制系统的研究 [J], 冯晓;严静;樊占全因版权原因,仅展示原文概要,查看原文内容请购买。
基于PID算法的旋转倒立摆系统设计
基于PID算法的旋转倒立摆系统设计王红【期刊名称】《大众科技》【年(卷),期】2014(000)010【摘要】Rotational inverted pendulum system, multivariable high-order strong-coupling instable naturally, is a nonlinear control system. The main assignment is to design rotational inverted pendulum system based on SCM and PID algorithm. By PID algorithm control, the rotational inverted pendulum can reach inverted equilibrium state fast and bears a certainanti-interference ability.%倒立摆系统本身是一个非线性控制系统,具有多变量、高阶次、强耦合以及严重不稳定的特点。
主要任务是设计一个基于PID算法的旋转倒立摆控制系统,利用单片机运用PID算法对系统进行控制,能够使旋转倒立摆的摆杆快速达到倒立平衡状态并具有一定的抗干扰能力。
【总页数】3页(P25-27)【作者】王红【作者单位】青岛工学院,山东胶州 370281【正文语种】中文【中图分类】TP273【相关文献】1.基于闭环控制算法和PID优化算法的智能小车软件系统设计 [J], 李碧月;2.基于闭环控制算法和PID优化算法的智能小车软件系统设计 [J], 李碧月3.基于双PID的旋转倒立摆控制系统设计与实现 [J], 刘二林;姜香菊4.基于PID算法的旋转倒立摆实验教学平台研究 [J], 千承辉;胡鹤;孙慧慧;刘鸿石;白杨5.基于改进粒子群算法的旋转倒立摆PID参数整定 [J], 贺迟来;徐晓龙;钟晓伟;张业宝;李嘉颖因版权原因,仅展示原文概要,查看原文内容请购买。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于双PID 的旋转倒立摆控制系统设计与实现Design and implementation of rotary invert pendulum based on dual PID刘二林1,姜香菊2LIU 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)中,To 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;endOut=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.00053.14159÷512=6.13×10-3rad式中512为π所对应的分度值。
对于旋臂角速度而言,其单位为:3.14159÷512÷2.7÷(6×10-3)=0.3787rad/s 式中,512为π所对应的分度值,2.7为传感器齿轮与旋臂齿轮的齿数比,6×10-3为数据监测周期,周期单位为秒。
分析图6(a)可知,运行过程中,倒立摆摆杆一直在震荡,震荡中心线偏离计算中心0,这与倒立摆实际重心与传感器采样中心不重合有关,倒立摆摆动幅度大约在-6.13×10-2~+0.183rad 之间。
倒立摆旋臂速度有突变,这与电机齿轮与减速齿轮之间的间隙较大有关。
这都是在制作实物时的结构不对称造成的。
将摆杆处增加一高14cm ,重量60g 的重物,倒立摆运行波形图见图6(b)。
由图6(b)可以看出,摆杆的高度及质量变化后,倒立摆运行依然正常,且系统更稳定。
5 结束语论文的创新点在于:1)利用1024线绝对式编码器及其相关电子元件设计了一款简易旋转倒立摆。
2)根据旋转倒立摆的实物,建立了与实际系统相符合的数学模型,并通过MATLAB 用双PID 控制器对模型进行了控制仿真。
3)通过上位机,对实际运行数据进行了采集;通过数据分析,论述了仿真中的数据与实际运行结果差异的原因;并通过实验验证了所设计控制器的良好性能。
参考文献:[1] 吴爱国,张小明,张钊.基于Lagrange 方程建模的单级旋转倒立摆控制[J].中国工程科学,2005,7(10):11-15.[2] S.Awtar,N.King,T.Allen,I.Bang,M.Hanan,D.Skidmore,K.Craig.Inverted pendulum systems: rotary and arm-driven-a mechatronic system design case study[J].Mechatronics,2002,(12):357-370.[3] 张朝阳,魏晓赟,王少峰.基于52单片机的旋转倒立摆的研究和与设计[J].廊坊师范学院学报(自然科学版),2014,14(4):49-52.[4] Du Gaixin,Huang Nanchen, Wu Gang. The rotational inverted-pendulum based on DSP controller[A].Proc of the 4th World Congress on Intelligent Control and Automation[C].China Shanghai,2002,7(4):3101-3105.[5] 宋君烈,肖军,徐心和.倒立摆系统的Lagrange 方程建模与模糊控制[J].东北大学学报(自然科学版),2004,23(4):333-337.[6] 张欣.单级旋转倒立摆的二次型最优控制研究[J].电脑开发与应用,2011,24(12):28-29,32.[7] 丛爽,张冬军,魏衡华.单级倒立摆三种控制方法的对比研究[J].系统工程与电子技术,2001,23(11):47-50.[8] 姜倩,管凤旭.旋转式倒立摆的镇定和摆起控制[J].哈尔滨商业大学学报(自然科学版),2007,23(3):232-234.[9] 江晨,王富东.旋转式倒立摆系统的算法研究及仿真[J].工业控制计算机,2010,23(5) :54-56.[10] 陈进,王冠凌,邢景虎.单级倒立摆的PID 和模糊控制对比研究[J].自动化与仪器仪表,2009,1423(2):17-18.[11] 曹敏,徐凌桦. 单神经元PID 算法在倒立摆控制系统中的应用[J].微计算机信息,2009,25(1-1):70-71.[12] 杨平,徐春梅,曾婧婧,蒋式勤,彭道刚.PID 控制在倒立摆实时控制系统中的应用[J].微计算机信息(测控自动化)2006,22(7-1):83-85.图5 α=0,=0.5时双PID仿真曲线(a)无干扰情况下的测量数据(b) 加干扰情况下的测量数据图6 倒立摆运行波形图。