基于双PID的旋转倒立摆控制系统设计与实现_刘二林

合集下载

采用双闭环PID控制及PSO算法的双足轮式倒立摆控制系统

采用双闭环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控制的一阶倒立摆控制系统设计姓名:学号:学院:专业:指导教师:2018年 1月目录1 任务概述 (3)1.1设计概述 (3)1.2 要完成的设计任务: (3)2系统建模 (4)2.1 对象模型 (4)2.2 模型建立及封装 (4)3仿真验证 (8)3.1 实验设计 (8)3.2 建立M文件编制绘图子程序 (9)4 双闭环PID控制器设计 (12)4.1内环控制器的设计 (12)4.2外环控制器的设计 (13)5 仿真实验 (14)5.1简化模型 (14)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控制的一阶倒立摆控制系统设计

基于双闭环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控制的一阶倒立摆控制系统设计

自动控制原理课程设计说明书基于双闭环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)检验系统的鲁棒性:将对象的特性做如下变化后,同样在单位阶跃输入下,检验所设计控制系统的鲁棒性能,列表比较系统的性能指标(最大超调量、调节时间、上升时间)。

基于RBF网络二级倒立摆系统PID控制

基于RBF网络二级倒立摆系统PID控制

基于RBF网络二级倒立摆系统PID控制
孙红兵;李生权;王瑜
【期刊名称】《微计算机信息》
【年(卷),期】2007(000)06S
【摘要】为解决传统PID控制SIMO系统的不足,提出在RBF网络辨识系统Jacobian阵基础上,引入kx-函数观测器的控制策略,实现PID控制参数的在线自整定。

根据PID控制系统与LQR控制系统传递函数阵的等效关系,得到PID控制器的初始kp、ki、kd,解决实物二级倒立摆在初始时刻扰动大,但对稳定性要求高的矛盾。

最后,仿真结果表明该方法使倒立摆系统具有快速性,稳态误差小,其控制效果要优于LQR控制,可实现二级倒立摆系统的稳定控制。

【总页数】3页(P72-74)
【作者】孙红兵;李生权;王瑜
【作者单位】淮阴师范学院电子与电气工程系,江苏淮安223001;安徽工业大学电气信息学院,安徽马鞍山243002;南京审计学院信息科学学院,江苏南京210017【正文语种】中文
【中图分类】TP273
【相关文献】
1.基于RBF神经网络二级倒立摆系统的PID控制 [J], 王宏楠
2.基于蚁群算法的倒立摆系统PID控制器设计 [J], 李巍巍;张海彪;王光辉;牛陆陆
3.基于LabWindows/CVI的直线一级倒立摆系统PID控制 [J], 唐小岚;邓焱;杜晓
4.基于BP网络二级倒立摆系统PID控制 [J], 彭军仕;张灵
5.基于RBF网络二级倒立摆系统PID控制 [J], 孙红兵;李生权;王瑜
因版权原因,仅展示原文概要,查看原文内容请购买。

基于双闭环PID控制的一阶倒立摆控制系统设计说明

基于双闭环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的旋转倒立摆控制系统设计与实现_刘二林

基于双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]。

倒立摆控制系统的设计

倒立摆控制系统的设计

倒立摆控制系统的设计倒立摆是一个常见的控制系统示例,用于探索倒立摆的控制理论和设计方法。

倒立摆是一个由一个可旋转的杆和一个质量可忽略不计的小球组成的系统。

通过控制杆的角度和角速度,可以使小球保持在直立的位置上,即实现倒立摆系统的控制。

首先,需要建立倒立摆的数学模型。

数学模型可以通过运动学和动力学方程来描述。

运动学方程描述摆杆角度和角速度之间的关系,动力学方程描述摆杆受到的力和加速度之间的关系。

根据数学模型可以得到系统的传递函数,即将输入信号映射为输出信号的数学表达式。

其次,通过对系统传递函数进行稳定性分析,选择合适的PID参数。

PID控制器由比例项、积分项和微分项组成,可以通过调整这三个参数来实现系统的控制。

比例项用于调整响应速度,积分项用于消除稳态误差,微分项用于抑制震荡。

根据系统的稳定性分析,可以选择合适的PID参数。

然后,进行PID控制器的仿真和调整。

通过将PID控制器连接到倒立摆系统并进行仿真,在仿真中可以观察系统的响应和稳定性。

如果系统的响应不理想,可以通过调整PID参数来改善系统的性能。

最后,实施实际的控制系统,并进行参数调优。

将设计好的PID控制器实施到实际的倒立摆系统中,通过不断调整PID参数,观察系统的响应和稳定性,以达到设计要求。

此外,还可以采用其他控制策略进行倒立摆控制系统的设计。

模糊控制方法利用模糊推理和模糊集合来实现系统的控制,可以处理非线性和模糊的系统。

模型预测控制方法则利用建立系统动态模型进行优化预测,以实现更精确的控制。

在设计控制系统时,还需考虑实际应用中的实时性、鲁棒性和可扩展性等因素。

倒立摆控制系统的设计是一个综合技术问题,需要结合系统的特点和实际应用要求来进行综合设计。

总结起来,倒立摆控制系统的设计包括建立数学模型、选择控制策略和参数、仿真和调整PID控制器、实施及参数调优等步骤。

通过合理的设计和优化,可以实现倒立摆系统的稳定控制。

在实际应用中,还需考虑系统的实时性、鲁棒性和可扩展性等因素,对控制系统进行综合设计和优化。

倒立摆实验报告(PID控制)

倒立摆实验报告(PID控制)

专业实验报告3. 实验装置直线单级倒立摆控制系统硬件结构框图如图1所示,包括计算机、I/O设备、伺服系统、倒立摆本体和光电码盘反馈测量元件等几大部分,组成了一个闭环系统。

图1 一级倒立摆实验硬件结构图对于倒立摆本体而言,可以根据光电码盘的反馈通过换算获得小车的位移,小车的速度信号可以通过差分法得到。

摆杆的角度由光电码盘检测并直接反馈到I/O设备,速度信号可以通过差分法得到。

计算机从I/O设备中实时读取数据,确定控制策略(实际上是电机的输出力矩),并发送给I/O设备,I/O设备产生相应的控制量,交与伺服驱动器处理,然后使电机转动,带动小车运动,保持摆杆平衡。

图2是一个典型的倒立摆装置。

铝制小车由6V的直流电机通过齿轮和齿条机构来驱动。

小车可以沿不锈钢导轨做往复运动。

小车位移通过一个额外的与电机齿轮啮合的齿轮测得。

小车上面通过轴关节安装一个摆杆,摆杆可以绕轴做旋转运动。

系统的参数可以改变以使用户能够研究运动特性变化的影响,同时结合系统详尽的参数说明和建模过程,我们能够方便地设计自己的控制系统。

图2 一级倒立摆实验装置图上面的倒立摆控制系统的主体包括摆杆、小车、便携支架、导轨、直流伺服电机等。

主图7 直线一级倒立摆PD控制仿真结果图从上图可以看出,系统在1.5秒后达到平衡,但是存在一定的稳态误差。

为消除稳态误差,我们增加积分参数Ki,令Kp=40,Ki=60,Kd=2,得到以下仿真结果:图8 直线一级倒立摆PID控制仿真结果图从上面仿真结果可以看出,系统可以较好的稳定,但由于积分因素的影响,稳定时间明显增大。

双击“Scope1”,得到小车的位置输出曲线为:图9 施加PID控制器后小车位置输出曲线图由于PID 控制器为单输入单输出系统,所以只能控制摆杆的角度,并不能控制小车的位置,所以小车会往一个方向运动,PID控制分析中的最后一段,若是想控制电机的位置,使得倒立摆系统稳定在固定位置附近,那么还需要设计位置PID闭环。

(参考资料)基于模糊+PID+的二级倒立摆控制器的设计

(参考资料)基于模糊+PID+的二级倒立摆控制器的设计
2.2.1 模糊控制原理.................................................................................10 2.2.2 模糊控制器的组成及功能.............................................................. 10 2.3 本章小结................................................................................................. 12 第三章 直线二级倒立摆数学模型的建立及分析..............................................13 3.1 直线二级倒立摆的数学模型的推导...................................................... 13 3.1.1 建立非线性数学模型...................................................................... 13 3.1.2 模型线性化处理..............................................................................18 3.2 直线二级倒立摆的稳定分析.................................................................. 21 3.3 本章小结................................................................................................. 22

基于模糊控制的旋转型双支点倒立摆系统

基于模糊控制的旋转型双支点倒立摆系统
f rt e du u s s e i fe tve o he p n l m y t m s e f c i . Key wor s:i ve t d p n l ;o i lc ntol u z on r l d n r e e du um ptma o r ;f z y c t o ;T- de. S mo 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算法实现倒立摆控制

利用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 }。

基于单片机实现的二级倒立摆控制系统

基于单片机实现的二级倒立摆控制系统

基于单片机实现的二级倒立摆控制系统马帅旗;鲍存会【摘要】倒立摆控制系统是一个典型的多阶次、强耦合的时变复杂系统,并且系统阶次高,且存在一定的非线性因素,使得倒立摆系统难以用精确数学模型描述.用经典法设计控制器存在较大的局限性.分析倒立摆控制系统的运动模态,根据人控制倒摆的经验,得到倒立摆系统的控制规律.并利用MCS-52单片机对倒立摆实施控制,实验结果表明该方法控制精度高,能满足预期目的.【期刊名称】《现代电子技术》【年(卷),期】2006(029)020【总页数】2页(P130-131)【关键词】倒立摆;模态;单片机;数字模型【作者】马帅旗;鲍存会【作者单位】陕西理工学院,工业自动化重点实验室,陕西,汉中,723003;陕西理工学院,工业自动化重点实验室,陕西,汉中,723003【正文语种】中文【中图分类】TP2倒立摆控制系统是一个高阶次、多变量、非线性的自然不稳定控制系统,是一个典型的控制问题,其原理适用于火箭发射、机器人关节、航天仪器对接等控制问题,因此倒立摆实验装置的开发对研究控制理论有较大的实践意义。

在此系统上校验系统的稳定性、可控性、收敛速度、系统抗干扰能力等指标一目了然,容易为试验人员提供直观的感觉。

但由于倒立摆的数学模型难以用精确的数学模型描述,难以用常规的控制理论方法进行控制。

所以本文采用不依赖系统的数学模型,不受线性与非线性的约束的拟人智能控制算法。

根据人控制倒立摆的经验,在89C52单片机上实现对二级倒立摆系统稳定控制。

1 倒立摆结构倒立摆系统由小车、皮带、驱动电机、一级摆杆、二级摆杆、一个位移传感器、2个角度传感器组成,二级摆和一级摆之间、一级摆和小车之间通过同轴的角度传感器连接在一起,力矩电机的正反转控制而皮带的左右移动,而皮带驱动停放在导轨上的小车左右移动,力矩电机的皮带轮轴上安装一个角度传感器,用来测量小车的偏离中心的位移。

系统控制的目标是通过单片机控制小车左右移动来实现二级倒立摆系统稳定地站立在竖直位置。

基于双闭环PID控制的一阶倒立摆控制系统设计

基于双闭环PID控制的一阶倒立摆控制系统设计

自动统造本理课程安排证明书籍之阳早格格创做鉴于单关环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' )。

基于能量和 LQR 的 Furuta 摆系统控制研究及仿真

基于能量和 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.。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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 倒立摆运行波形图。

相关文档
最新文档