基于串级PID和复合滤波算法板球控制系统设计
2020-06-09李玉衡徐夏怡宫瑶易映萍姚磊
李玉衡 徐夏怡 宫瑶 易映萍 姚磊
摘 要: 本文设计了一种基于串级PID算法和复合滤波的板球控制系统,通过多级错频获取速度差和位置差,并复合滑窗滤波和低通滤波算法,给出了以小球速度差为内环,位置偏差为外环的双闭环平衡控制策略,在simulink平台搭建了仿真模型并进行研究,同时利用J-Scope调试软件进行实际效果波形检测,结果表明本文设计应用的串级PID算法相对于经典单闭环位置式PID算法稳定性更强,系统稳态误差越小,添加复合滤波后,系统抖动明显减弱,位置控制更加精确,增强了板球控制系统实时控制动态响应效果。
关键词: 板球平衡;串级PID;复合滤波;多级错频
中图分类号: TP273.4 文献标识码: A DOI:10.3969/j.issn.1003-6970.2020.02.001
【Abstract】: In this paper, a cricket control system based on cascade PID algorithm and composite filter is designed. The velocity difference and position difference are obtained through multi-stage cross-frequency, and the composite sliding window filter and low-pass filter algorithm are used to give a double closed-loop balance control strategy with small ball velocity difference as the inner loop and position deviation as the outer loop. The simulation model is built and studied on simulink platform. At the same time, the actual effect waveform is detected by J-Scope background debugging software. The results show that the cascade PID algorithm designed and applied in this paper is more stable than the classical single closed-loop position PID algorithm, and the smaller the steady-state error of the system is. After adding composite filtering, the system jitter is significantly reduced, the position control is more accurate, and the real-time control dynamic response effect of cricket control system is enhanced.
【Key words】: Cricket balance; Cascade PID; Composite filtering; Multistage frequency error
0 引言
采用經典PID控制算法来控制板球控制系统,整个系统动态性能较差,为了更准确控制小球运动过程的速度以及最终稳定位置,本文首先采用串级PID的核心控制算法,对速度和位置精准控制;其次,通过多级错频,分时处理,使得系统调控过程更稳定;最后,采用滑窗和低通滤波二者结合,捕获计算误差时采用滑窗滤波,产生控制信号输出时采用低通滤波方案,能有有效兼顾快速处理与稳定精准控制的关系,达到良好的控制效果。
1 系统运动学模型
如图1为板球系统运动学模型。本设计以板球平台为基础,系统通过控制平板倾斜,令小球能够在平板上完成各种运动控制要求。平板下方安装了两个舵机,舵机正反转可以使平板两自由度倾斜,小球可沿XY两方向运动。在此模型基础上对小球进行物理受力分析,在忽略板面摩擦前提下,小球受重力mg和板面支持力FN,其合力提供了小球沿板面运动的加速度。小球位置由摄像头实时捕获,某个时间内运动的位移,运动速度构成一个二阶运动系统模型。综上所述,板球系统平台可以根据摄像头反馈回的坐标进行物理参数计算,调节电机并对小球位置和运动状态进行有效控制。
2 控制系统结构及工作原理
板球平衡控制系统的框架如图2所示,由电源模块,摄像头模块,主控模块,机械结构模块构成,利用主控器件对电机控制,带动机械结构运动,摄像头作为传感器进行反馈,达到系统动态平衡。
3 系统软件设计
3.1 主流程图
主体设计原理图如图3所示,主体软件设计流程图如图4所示,系统利用OpenMv摄像头进行坐标实时采集传输,采用STM32F4系列单片机进行数据处理,串口usart2接收坐标,定时器进行位置和速度差的计算,并输出舵机对应占空比参数,舵机旋转,使板面倾斜,小球发生运动,产生新的位置坐标,摄像头再次采集传输新的坐标,进行循环控制。
3.2 串级PID控制算法
系统采用速度内环、位置外环的双闭环控制模式,原理如图5所示,在平衡控制过程中,摄像头实时捕捉小球位置,主控系统及时计算出位置差作为外环信息进行PID控制,根据物理运动及数学微分知识实时计算误差率作为内环调节参量,进行内部速度闭环控制。系统进一步根据以上误差量和误差率调节PWM的占空比从而控制电机转向和转速,在保证小球在平衡状态下,进一步优化其准确性和稳定性的良好控制效果。
3.3 位置采集处理算法
捕获小球位置坐标需要摄像头,为了适应板球平衡控制系统实时控制的要求,采用OpenMV摄像头,相比于常用的Ov系列摄像头,OpenMV摄像头集成性能好,图像处理速率快,抗干扰能力强,采用图像识别算法,利用python语言编程,达到坐标反馈目的。其位置采集处理流程如图6所示,采集图像后,选择灰度化处理,并提取感兴趣区域(即板面区域),并设定相应的灰度阈值和色块限制参数,找到小球的轮廓,进行检测和调整,最终获得小球中心坐标。
3.4 多级错频处理设计
多级错频处理设计流程图如图7所示,出于对位置和速度不同控制要求的考虑,将系统周期分成采样周期,运算周期,控制周期三个先后等级错频处理,程序中开通周期为200 us的微秒定时器来捕获位置,开通周期为500 us的微秒定時器计算位置误差量,开通周期为10 ms的毫秒定时器计算位置误差率即速度,最后开通周期为20 ms的毫秒定时器对输出PWM的占空比进行配置,达到多级错频的分层处理结构。相比于采样运算控制结合在一起的控制算法,本设计能够同时快速准确地控制速度和位置。
3.5 复合滤波算法设计
由于系统在运行过程中存在很大的抖动问题,常常会使调节量忽高忽低,造成小球稳定性差,易导致超调量增大,发生跑出摄像头视野范围无法继续控制的问题,因此需要添加滤波算法,消除抖动很大的控制部分,使控制输出变得平缓且有规律,保证系统的稳定性。在实际应用中,有时既要消除大幅度的脉冲干扰,又要做到数据平滑。因此需要结合不同滤波算法优劣性进行复合滤波。
本设计分别采用滑窗滤波和低通滤波两种方法进行效果对比,结合两种滤波方法优劣性,得出复合滤波的方法。滑窗滤波利用数据移动求均值的方法,能够以阶梯形式将原来数据进行平滑整合,滤除效果较好,但控制过程中会产生迟滞现象,对于实时性要求很强的系统会产生一定的不利影响;一阶低通滤波具有通低阻高的特性,其算法公式为:
Y(n)=αX(n) + (1-α)Y(n-1)
式中:α=滤波系数;X(n)=本次采样值;Y(n-1)=上次滤波输出值;Y(n)=本次滤波输出值。该方法采用本次采样值与上次滤波输出值进行加权,得到有效滤波值,使得输出对输入有反馈作用。但低通滤波存在参数难以调节,对于较大调整也会进行滤除,导致系统有时控制量不够,控制缓慢等问题。
本例中采用两者复合的方式,设计流程图如图8所示。在捕获计算位置和速度误差时采用滑窗滤波,尽量保存位置信息完整性,而产生控制信号输出时采用低通滤波,能有有效兼顾快速处理与稳定精准控制的关系,达到良好的控制效果。
4 仿真研究
利用simulink搭建两种PID仿真模型如图9所示。
两种PID控制算法下的仿真波形对比如图10和图11所示,如图所示从图中可知,在相同条件下,串级PID在时间t=15 s时已达到平衡,而经典PID在接近t=20 s时才能达到平衡,其超调量也比串级PID的更大。
5 实验研究
为了验证理论研究和仿真研究的正确性,本文搭建了板球控制系统实验平台,对板球系统实际控制的稳定性,快速性和准确性等性能指标,进行了实验研究。
同时为了方便测试,在边长为30 cm的板面上用黑色记号笔均匀标注了9个外径2 cm的圆形区域,编号为区域1至区域9,并在OpenMv摄像头固定视角下获取9个区域中心坐标,编号及中心坐标划分如图12所示。测试时控制小球运动到指定区域,方便验证系统准确性。
5.1 板球控制系统性能指标测试实验研究
为测试板球控制系统的快速性和准确性,进行如下几个运动控制实验。实验内容以及测试结果如数据表1至表3所示。根据实验1所得表格1分析可知,将小球放在平板区域2上,对于串级PID系统,小球稳定时间仅需1.54秒,比经典PID系统用时更短,说明这种串级PID系统稳定性更好;根据实验2所得表格2分析可知,小球从区域1至4暂停再到区域5是一个动态平衡过程,小球在区域4的暂停会影响系统的状态,相对于经典PID系统,串级PID系统停留的两个位置都更接近设定的目标位置,总耗时更短,这说明串级PID系统的动态性能指标以及快速性,准确性都优于经典PID系统;根据实验3所得表格3分析可知,从区域1到区域9是长距离运动控制,对于系统稳定性,响应快速性,对于超调量的抑制能力,根据位置及时调节状态的实时性能要求很高,串级PID系统最终稳定位置更精确,耗时更短,因此它的综合性能指标更好。
板球控制系统性能指标测试实验内容如下:
滚球控制系统工作,将小球置于平板区域2上,记录小球稳定在该区域时间。实验数据如表1所示。
控制小球从区域1进入区域4,在区域4停留2秒,随后再进入区域5,记录总时间。实验数据如表2所示。
控制小球从区域1进入区域9,记录最终稳定位置及用时。实验数据如表3示。
结论:串级PID系统在稳定性,快速性,准确性,动态响应特性等方面的综合性能均优于经典PID系统,更适合操控板球控制系统。
5.2 应用复合滤波算法的系统稳定实验研究
复合滤波方法与单一滤波方法对应后台及仿真曲线比较如图13至16所示。各图中抖动较多的曲线表示滤波前,较平缓的表示滤波后。其中图13为单一低通滤波算法产生的控制输出量波形图,由后台波形图分析可以看出,单一低通滤波对系统信息采集输出的完整性保护较差,滤除了一部分有用的控制信号。图14为单一滑窗滤波算法产生的控制输出量波形图,可以看出滑窗滤波存在延迟性,不利于系统实时控制。图15为混合滤波之后的混合错频滤波控制输出量波形图,可以看出复合滤波设计保护了大部分有用控制信息,也使波形变得更加平滑,最终得到图16所示的理想控制条件下小球位置变化曲线,其中水平基准线表示目标平衡位置,上下两条曲线分别表示XY方向的位置变化动态曲线。可以看出,最终控制的效果接近阻尼比为0.56的理想控制系统特性。
6 结论
本文对基于传统位置式PID控制的控制算法进行了优化,设计了一种基于串级PID算法和复合错频滤波的板球控制系统,分别对串级PID算法,实验结果表明优化后新型板球平衡系统在稳定性,快速性,准确性方面都有了很大的提升,控制过程更加平缓,抖动和超调明显减少,能够达到更加优越的控制效果。
参考文献
范云飞, 任小洪, 袁文林. 基于并联PID 的四旋翼飞行控制策略设计[J]. 软件, 2015, 36(4): 37-39.
张辉, 孙国强. 基于核相关滤波的自适应目标跟踪算法[J]. 软件, 2018, 39(4): 208-213.
李雪莲. 基于MATLAB的PID参数调整方法的仿真研究[J]. 机电技术, 2011, 34(1):4-6.
刘志强, 孙怀远, 宋晓康. 基于机器视觉的药品包装滤波算法实现[J]. 软件, 2018, 39(9): 93-96.
孟祥宾, 朱军, 李紫豪, 等. 多重自适应卡尔曼滤波 PMLSM 无传感控制[J]. 软件, 2018, 39(8): 18-23.
王赛男, 邢冬梅. 基于MATLAB 的小波阈值滤波与应用[J]. 软件, 2015, 36(10): 102-104.
张敏, 徐启华. 基于改进BP 的神经网络模型参考自适应控制[J]. 软件, 2015, 36(7): 118-123.
刘明. 计算机技术应用下的电气自动化控制系统设计分析[J]. 软件, 2018, 39(6): 170-173.
王聪兴, 刘宝亮. 一种基于图像处理的表面故障裂纹检测系统[J]. 软件, 2018, 39(5): 144-150.
江超. 基于OpenCV 的实时动态手势检测研究[J]. 软件, 2015, 36(6): 114-119.
胡武扬, 段富海, 董科锐. 基于LabVIEW 的舵机自动加载测试系统软件设计[J]. 软件, 2015, 36(5): 24-29.
巩梦岩, 孟青, 程思强, 等. 基于 STM32 的四旋翼自主投靶飛行器[J]. 软件, 2018, 39(11): 116-11.