串级PID算法在滚球控制系统中的应用

2020-06-19 07:50徐涢基肖城钢李婷龚明陈芳
现代电子技术 2020年9期

徐涢基 肖城钢 李婷 龚明 陈芳

摘  要: 针对传统滚球控制系统控制精度不高、控制速度较慢的特点,设计了一款运行速度快、定位精度高、机械结构稳定的滚球控制系统。该系统由STM32控制器、OV7670摄像头模块、6221MG数字舵机、触摸屏模块、电源模块及亚克力板等组成。摄像头采集小球实时位置信息,采用内环速度PID及外环位置PD算法组成的串级PID算法,系统将当前小球位置信息与设定位置相比较,计算出理想PWM占空比,驱动舵机控制平板摆动,使小球按指定方式運动。经测定,该系统控制效果良好。与单环PID控制系统相比,具有控制精度较高,控制时间更短的优势,且具有较强的抗干扰性和鲁棒性。

关键词: 滚球控制系统; 串级PID算法设计; 占空比计算; 平板摆动控制; 系统控制效果; 运动数据分析

中图分类号: TN876?34; TH89; TP214                文献标识码: A               文章编号: 1004?373X(2020)09?0122?04

Application of cascade PID algorithm in ball rolling control system

XU Yunji, XIAO Chenggang, LI Ting, GONG Ming, CHEN Fang

(Institute of Technology, East China Jiaotong University, Nanchang 330100, China)

Abstract: Since the traditional ball rolling control system is of low control precision and slow control speed, a ball rolling control system with fast operation speed, high positioning precision and stable mechanical structure is designed. The system is composed of the controller STM32, the camera module OV7670, the digital servo 6221MG, the touch screen module, the power module and the acrylic board. In the system, the camera is used to collect the real?time position information of the ball, the current position information of the ball is compared with the set position information for the calculation of the ideal duty ratio of PWM (pulse width modulation) by taking the cascade PID (proportion integral derivative) algorithm consisting of the inner loop speed PID algorithm and the outer loop position PD algorithm, and the servo is driven to control the swing of plate, so that the ball moves in a specified way. The test results show that the control effect of the system is good. In comparison with the single?loop PID control system, the system is of higher control precision, shorter control time and powerful anti?interference performance and robustness.

Keywords: ball rolling control system; cascade PID algorithm design; duty ratio calculation; plate swing control; system control effect; motion data analysis

0  引  言

滚球控制系统是一个基于视觉控制的典型二维非线性控制系统[1?2]。本系统在传统滚球控制系统的机械基础上进行改进。给舵机活动关节加上轴承,采用3D打印舵机固定架、串级PID(Proportion Integral Derivative)算法,相比于单环PID[2],其响应快、精度高。外环控制小球的位置,使小球快速到达目的坐标;内环控制小球的速度,在小球到达目标点附近时使小球的速度迅速降为0。

本设计设置两个任务:

任务一:控制小球从任一区域出发,快速到达另一任意区域并稳定停下;

任务二:控制小球以平板中心为圆心做圆周运动。

1  机械结构及工作原理

滚球控制系统模型如图1所示。

本系统的平板选用400 mm×400 mm×4 mm的白色亚克力板,如图1所示,平板上圆形区域1~区域9分别对应于主控板触摸屏上区域1~区域9。通过触摸屏选择任务后,摄像头检测小球图像信息送到MCU(Micro Control Unit)处理后得到小球的位置坐标与速度,利用串级PID算法计算出实际值与理想值的偏差量,输出理想的PWM(Pulse Width Modulation)给舵机,控制舵机带动平板摆动,使小球完成指定运动。

2  硬件结构及关键部件

滚球控制系统的硬件结构如图2所示。

3  算法及软件设计

3.1  串级PID算法[2?9]

串级PID控制结构示意图[3]如图3所示。

PID的一般形式为[3]:

[u(t)=KP?err(t)+1TI?0terr(t)dt+TD?derr(t)dt+u(0)                                                                                 (1)]

式中:err([t])是实际值与设定值的偏差;[u(0)]是偏差为0时系统的输出;[KP]是比例常数;[TI]是积分时间常数;[TD]是微分时间常数。由于实际的控制系统是离散化模型,故需将连续系统离散化。假设采样间隔为[T],输入量为in([t]),输出量为out([t]),则在第[k]时刻:

偏差为:

[err(t)=in(t)-out(t)] (2)

积分环节为:

[0terr(t)dt≈Δt?err(k)+err(k+1)+err(k+2)+…+err(k+n)=T?k=0nerr(k)] (3)

微分环节为:

[d[err(t)]dt≈err(k)-err(k-1)Δt=err(k)-err(k-1)T] (4)

由式(2)~式(4)可得PID的离散表达式:

[u(k)=KP?err(k)+TTI?k=0nerr(k)+TDT?err(k)-err(k-1)] (5)

则PID的离散表达式可写为:

[u(k)=KP?err(k)+KI?k=0nerr(k)+KD?err(k)-err(k-1)] (6)

式中:[KI=KP?TTI];[KD=KP?TDT]。

由式(6)可看出,系统的输出与最近的两次偏差有关,此PID為位置型离散化PID。系统采用串级位置型离散化PID,外环控制小球位置、内环控制小球速度。其中,位置环的输出与时间之比作为速度环的反馈量。

[Vactual=KP?err(k)+KI?k=0nerr(k)+KD?err(k)-err(k-1)Δt] (7)

式中:[err(k)]是当前位置误差;[err(k-1)]为小球上一次位置误差;[Δt]为摄像头检测小球两次实际坐标点的时间差;[Vactual]为小球实际速度。

3.2  主程序设计

系统主程序流程如图4所示。

系统初始化的主要内容:处理器输入输出口、OV7670、显示屏、触摸屏、舵机以及定时器中断2。

3.3  串级PID算法设计[3?4]

为了简化处理的复杂度,将小球的[x]坐标与[y]坐标分开处理。下面以[y]坐标为例,给出串级PID在程序中的表现形式。

[Se=Ss-Sy] (8)

[Si=e=0Se] (9)

[Sd=Se-Se-1] (10)

[So=Psp×Se+Psi×Si+Psd×Sd] (11)

[Ve=Vs-Vy] (12)

[Vi=e=0Ve] (13)

[Vd=Ve-Ve-1] (14)

[Vo=Pvp×Ve+Pvi×Vi+Pvd×Vd+146.5] (15)

式中:[Ss],[Sy],[Se]分别为小球[y]轴方向的位置设定值、位置实际值、位置误差;[Si],[Sd],[Se-1],[So]分别为小球[y]轴方向的位置总误差(积分量)、位置误差变化率(微分量)、上一次位置误差、位置输出值;[Psp],[Psi],[Psd]分别为[y]轴方向的位置比例、积分、微分常数;[Vs],[Vy],[Ve]分别为[y]轴方向的速度设定值、实际值、误差值,其中,[Vy=SoΔt];[Vi],[Vd],[Ve-1],[Vo]分别为[y]轴方向的速度误差积分值、速度偏差值、上一次速度误差值、速度输出值;[Pvp],[Pvi],[Pvd]分别为[y]轴方向的速度比例、积分、微分常数;146.5为亚克力板水平时舵机PWM对应的速度初始调整值。

3.4  定位子程序设计

小球定位任务:控制小球从区域1出发,在30 s之内到达区域9,使小球按最近的路线运动,快速到达区域9,并稳定停下。定位子程序流程如图5所示。

3.5  圆周运动程序设计

小球圆周运动任务[2?3]:控制小球以区域5为圆心做圆周运动,要求小球以固定半径稳定画圆,且保持小球不掉下。

圆周运动流程如图6所示。

[t=t0tp] (16)

[α=2πt] (17)

[x=x0+r?sin α] (18)

[y=y0+r?cos α] (19)

式中:[t0]为计算小球目标坐标的时间间隔;[tp]为小球滚动周期;[t]为小球滚动周期的归一化值;[α]为[2π]的归一化值;[r]为小球运动半径;([x0,y0])为小球圆心坐标。

4  数据分析[9]

为研究方便,统一小球实际坐标点与小球像素坐标点。小球在400 mm×400 mm×4 mm平板上的物理坐标与小球像素坐标点(显示屏的显示区域大小为240×240个像素点)按如下关系进行转换:

[物理坐标=(400240)×像素坐标] (20)

将绘制的实际曲线与理想曲线进行对比,分析系统的控制效果。

4.1  小球定点数据分析[9]

设定小球的出发点为区域1,其像素坐标点为(56,56),目标点为区域9,其像素坐标点为(195,195),由式(20)可得区域1、区域9的物理坐标点分别为(93.33,93.33),(325,325)。

分别取小球横坐标、纵坐标在同一图中绘制曲线,如图7所示。经分析可得:小球在[A]到[B]段处于区域1、[B]到[C]段处于运动状态、在[C]点时到达区域9、[C]点到[D]点小球处于区域9、小球从区域1到区域9的时间远小于15 s,且小球在[x]轴坐标与[y]轴坐标的重合度高,说明小球的运动接近直线(见图7中[BC]段)。经计算可得:小球停在区域1和区域9时与设定值的最大误差点分别为(90,93.33),(323.33,321.67)。

故小球在區域1的相对误差为:

[93.33-9093.33×100%=3.57%]

在区域9的相对误差为:

[325-321.67325×100%=1.02%]

综上分析可知,小球从区域1的出发在30 s内到达区域9,运动轨迹接近直线且误差在允许范围内。

4.2  小球圆周运动数据分析[9]

在小球定点任务中,设定圆周运动的圆心为区域5,其像素坐标点为(127,125)。故根据式(20)可得区域5的物理坐标点为(211.7,208.3)。根据小球一系列坐标绘制曲线,如图8所示。

经计算知,小球做圆周运动的最大误差在点[d](279.4,181.2),故对应的实际物理半径为:

[279.4-211.72+181.2-208.32=72.98 mm]

小球理想圆周运动半径此处设置为76 mm,故相对误差为:

[76-72.9876×100%=3.974%]

相对误差小于5%,满足设计要求。

5  结  论

串级PID相比典型的PID算法控制更精准、稳定,系统内环为速度环,外环为位置环,实现了控制平板上小球的定点功能,实现控制小球在平板上做圆周运动功能,定点准确,画圆误差较小,最大相对误差小于等于3.974%,控制效果良好。系统在测试过程中存在着受光干扰的情况,由于平板边缘与背景环境存在像素突变的情况,在平板边缘也存在干扰像素的影响,数据处理时需要对二值化图像进行去除边缘干扰处理。本文的研究理论与方法在模式识别、人工智能、机器人路径规划等方面有一定的应用价值。

参考文献

[1] 吴立军,梁伟,李清波,等.基于STM32F103单片机的板球控制系统设计[J].西安文理学院学报,2018,21(3):48?52.

[2] 郝伟,张宏立.板球系统的反演自适应动态滑模控制[J].电子技术应用,2018,44(7):139?140.

[3] 徐涢基,方平,李娜,等.神经元PID在风力摆控制系统中的应用[J].自动化仪表,2018,39(5):49?51.

[4] 马娅婕,彭攀来,刘国庆,等.基于梯度下降法和双环PID的四旋翼飞行器的研究与设计[J].现代电子技术,2017,40(18):11?14.

[5] 荆学东,潘翔.基于四元数的四轴飞行器姿态控制[J].现代电子技术,2018,41(16):116?119.

[6] 马小雨.模糊PID复合控制算法的有效改进[J].现代电子技术,2016,39(4):153?155.

[7] 喻学涛.机械手臂转角自动控制器设计与改进[J].现代电子技术,2017,40(18):107?109.

[8] 周晓华,张银,王荔芳,等.无刷直流电机调速系统模糊神经元PID控制[J].现代电子技术,2017,40(23):140?143.

[9] 管雪梅,张卢军,樊粉霄.预测模糊PI控制的反激变换器设计与仿真[J].现代电子技术,2019,42(2):9?13.