APP下载

抗扰的板球控制系统的设计与应用

2019-05-27

计算机测量与控制 2019年5期
关键词:板球舵机控制算法

(大连大学 素质教育基地,辽宁 大连 116622)

0 引言

板球控制系统是典型的基于视觉图像识别的运动控制系统。通过执行机构(电机或气缸)控制平板倾斜角度,实现对板上小球运动位置和运动轨迹的精确控制。它涵盖了机器视觉、图像处理、运动控制、智能控制等多学科知识,并将其实现的自动化应用产品。专家学者多研究控制系统理论,但很少给出现实解决方案。板球系统是一个多变量,非线性控制对象,是球杆系统的二维扩展。作为一个具有两个自由度的机械控制系统,板球系统通常用于对动态系统的研究和在实验室进行经典控制理论和现代控制理论的控制过程中进行研究的平台。本系统设计是在边长为 70 cm 光滑的正方形平板上均匀分布着9个外径 3 cm 的圆形区域,其编号分别为 1~9 号,通过控制光滑平板的倾斜,使直径不大于2.5 cm的小球能在平板上按可设路径滚动,并实现任意可设坐标的定点停留,系统具有较强的抗干扰能力[1]。将从机械结构、电路控制系统及软件算法等方面[2],详细介绍板球控制系统的设计与实现过程[3]。

1 机械结构

板球控制系统的设计制作首先就要从机械结构入手。精良的机械结构不仅减少了控制过程中的机构误差造成的算法负担,是系统能够实现精确控制的基础,更能保障系统稳定运行。

1.1 整体结构

系统的机械结构主要分为两大部分,即摄像头支撑架和平板部分,两者是没有任何机械连接的摆嵌关系,可轻松拆分组合,不影响系统的正常运作。这是本系统机构的一大亮点,能分开装运,占空间小。整体结构如图1所示。

图1 整体结构

摄像头支撑架的主要作用是固定摄像头,故其结构没有严格要求,有龙门架式和悬臂梁式,只要能立稳不抖即可,本摄像头支撑架是由空心方铝管搭建的悬臂梁支撑架。而平板部分的机构要求较为严格,分为光滑平板,底座和舵机执行部件。光滑平板是边长为70 cm,厚为1.5 cm的雪弗板,雪弗板可与木材相媲美,强度好,不变形,能使平板的表面尽可能的保持水平不出现弧度。密度比木材小,自重轻,可以减轻舵机的负载量。底座上的挺柱通过自主设计3D打印的万向节与平板底中心连接,以中心点建立空间直角坐标系,可以很好的限制光滑平板的X方向移动,Y方向移动及Z方向移动和转动等四个自由度。为了使四自由度更有效限制,采用粗方形钢挺柱,抗弯扭性强,同时稳固性提高。舵机执行部件两个,垂直分布,用螺钉与底座固定,通过自主雕刻的摆臂连杆机构分别与平板底侧X,Y轴线上的一点连接,连接点皆用单向铰支座。这样两个舵机靠摆臂连杆传动实现可控的光滑平板X轴转动和Y轴转动,从而完成控制平板的倾斜角度。整体架构看起来灵活轻便,机构原理简单明了。

1.2 执行传动设计

执行部件主要由舵机及其传动件构成,如图2所示。

图2 执行传动部件

系统采用 MG995 舵机作为动力源,其金属外壳能提供较好的散热,金属齿轮强度高,啮合好,在高阻力、快冲击甚至堵转等情况下不易断齿,具有过流保护,在额定功率下,响应较快,精度够,能提供 13 kg的扭矩。因此在设计摆臂与连杆等传动件长度时,具有较广的范围,摆臂如果过长,抗阻性低,摆角弧线放大率高,虽反应速度快,但控制精度不够。反之,摆臂过短,抗阻性高,摆角弧线放大率低,虽控制精度够,但反应慢。连杆根据摆臂长度而定,主要是将摆臂的上下运动传递给平板使之倾斜,同时确保摆臂的摆角中心位于水平。综上,经过初步的理论计算,分别设计与制作了5组摆臂和连杆,除长度不同之外,外形也略有不同,分别安装后经过多次实验数据对比,最终确定能使控制比较精确且舵机载荷较小的摆臂长为50 mm,连杆长为100 mm。

2 电控设计

板球控制系统除了要有良好的机械结构外,还要有出色的电控设计,使整个系统充满活力,系统电控设计框图如图3所示。电控设计包括硬件电路和软件程序,其中硬件电路是电控设计的基础,而软件程序则是电控设计的核心,两者相结合才能实现可控,稳定和高精度的板球控制系统。

图3 电控设计框架

2.1 系统电路

硬件电路主要由单片机控制系统、人机交互模块、摄像头视觉模块、电源模块和舵机执行模块等构成。单片机最小系统以恩智浦(NXP)半导体公司32位的MK60DN512ZVLQ10单片机为主控芯片。运行频率高达100 MHz、嵌套向量中断控制器、 512KB片内Flash、16路通道DMA、多路16位ADC、多路PWM波通道、100多个通用I/O口等等,完全能够满足本控制系统所需要的所有功能模块。

电源模块采用开关电源模块,由市电降压为12 V再转为直流电,输出电流6 A。再由电路板上的LM2941-6 V,LM240-5 V,AMS1117-3.3 V等低压差线性稳压芯片分别稳出6 V、5 V和3.3 V等电压源为各个模块供电,焊接多个多值电容,电源模块注重滤波防噪。因电机在启动或堵转的时候瞬时电流都比较大,峰值能达到3A以上,因此要求系统必须有足够稳定的输出电流。电机驱动电路选择IR2104与IRFP4368组合,IR2104芯片是H桥驱动芯片,耐压值较高能够达到几百伏,通过单片机输出的PWM信号转化为电压信号进行控制。驱动管选用高频、高速、超大电流MOS管IRFP4368,其最高电流可以达到200A以上,能很好的保证系统稳定运行。板球控制系统的中摄像头离平板高度约100 cm左右,支撑架上摄像头与被摄物体距离跟拍摄效果有一定的距离关系。摄像头的高度越高,采集的角度越大,容易出现杂波等失真。高度越低,虽然失真率低,但采集的角度小,不足以将整个平板均采集出来。综合考虑,选用OV5116作为视觉采集模块。它由模拟灰度摄像头和信号硬件二值化电路组成,主要识别捕捉滚球在平板上的坐标,故将球与平板各涂黑白两色即可区分。OV5116模拟灰度摄像头视频信号中包括了多种同步信号及脉冲信号,利用LM1881芯片将只需要的灰度图像信号从中分离出来。灰度图像信号在由双路运放芯片AD8032构成的模拟信号反向比较器电路处理转化成黑白二值图像信号,可直接用普通I/O口读取图像,大大减少了单片机资源的占用,通过调节可变电位器即可对图像二值化阈值进行微调,电路如图4所示。

图4 硬件二值化

拨码开关、按键和OLED液晶电路可组成人机交互部分,通过按键和拨码开关可对程序参数进行修改并重新存储在单片机的片内Flash中,而液晶用于显示变量和图像,方便了系统的脱机调试。

2.2 建立数学模型

小球在平板上的运动并不是乱七八糟毫无规律的,涵盖着速度、加速度、动能等等数学与力学的知识,是有一定强大的理论依据的。为方便对板球的控制算法设计,运用所学的知识作适当推理,以拉格朗日方程描述物体的运动,其功能相当于牛顿第二定律,建立了与拉格朗日问题相关的简单数学模型:广义动量对时间的变化率等于系统广义力和拉格朗日力之和[4]。

(i=1,2,3…,n)

平板上的小球具有动能和势能,具有广义坐标和广义速度,符合拉格朗日方程。

小球有两个移动方向、三个旋转(可以忽略);平板有两个旋转方向[7]。此系统主要确定与控制4个自由度[6]:球的位置坐标和平板倾斜角。

小球的动能包括其自身的转动动能和在平板上的平移动能[8]:

小球在运动过程中没有滑动,从而:

将两公式合并,得出小球平移动能:

平板的动能包括其自身的转动动能和小球绕平板支撑点的转动动能:

将两公式合并,得出平板的动能:

选择坐标原点为零势能点,则平板势能为零,小球势能Vb为:

Vb=mg(xsinα+ysinβ)

于是得到拉格朗日函数:

为描述小球在板上的运动情况,可解出小球的加速度与板的倾斜角度和角速度的关系:

还可以解出平板倾斜的动力学受外部驱动力和小球位置与速度的影响:

2.3 控制算法

控制算法的软件程序分为人机交互初始化、图像采集、坐标获取、控制算法和控制量输出,其中前几部分较为简单,而控制算法才是系统电控设计的关键所在,并且与机械结构有所联系,在此将单独对本系统的控制算法作研究。通过数学模型的简单分析,控制算法的设计就很简单了。

2.3.1 控制思路

小球要想在水平板上静止不动,那么平板必须处于水平位置。当要控制小球从甲位置滚到乙位置停止时,其理想的运动现象 做简要分解,如图5所示,可对小球从起始位置运动到目标位置的六个特征时间点进行粗略分析,小球是:静止→加速滚动→匀速滚动→减速滚动→静止,而平板则是:水平→正向倾斜→水平→反向倾斜→水平。

图5 六时刻状态

上述平板的运动调节过程是根据小球的当前位置实施调整的,球偏离目标越远平板倾斜的角度越大,球离目标越近,虽然平板倾斜的角度越小,但平板调整的频率增高。可以看出小球的滚动是平板以其水平位置为基础的增减倾斜实现的。由于小球在光滑平板上滚动,滑动摩擦力小,加上舵机灵敏性的局限,系统难以在开环控制状态下实现对小球的控制。因此,引进了具有滚球位置坐标实时反馈的PID闭环控制算法,闭环结构框图如图6所示。

图6 闭环控制结构框图

通过对各式PID算法的尝试,本板球控制系统最终采用位置式PID控制算法,通过调节出合理的PID的算法参数,闭环效果明显,系统能实现快反应、高稳态和高精度控制。

在完成目的任务之前小球在板上是一直运动的,摄像头采集与处理的图像信号会有一定的延迟,为了减小误差并快速准确的预测小球的运动位置,减少平板角度的调整频率和角度,使用经典的卡尔曼滤波算法的递推预估,不断的对小球的位置进行采集->预测->更新->采集->预测-更新。

2.3.2 算法控制过程

相较于摄像头到平板的距离,平板的倾斜幅度过小可以忽略不计,图像几乎不产生畸变,因此图像处理和控制算法不用考虑三维模型中小球的坐标及轨迹,完全可以当作二维平面处理。以平板中心建立二维直角坐标系,为了方便控制,运用正交分解法,将小球的滚动分解为X,Y两个方向的分运动,并且分别单独采用PID算法闭环控制,如图7所示。

图7 平面运动分解

即将实时捕捉到的小球坐标(X0,Y0),与目标位置的坐标(X,Y)相减,其中X轴坐标的偏差△X用于X轴闭环控制,经过PID调节得出X轴的增量±PWM占空比,再与平板X轴向水平位置PWM占空比相加,控制量输出给控制平板X轴向倾斜的舵机,完成对小球X轴向分运动的控制。同理,Y轴的闭环控制亦是如此。

平板的水平监测是通过x、y两个方向的舵机的转角决定的。系统上电自检时,除了要对摄像头进行初始化及板中心点定位之外,需要监测x和y两个舵机当前的转角对应的PWM值,存储在flash中,作为平板水平的基准值,记为舵机中值。最终的PID调节只有两个舵机转角达到此值时,平板必然水平。

2.3.3 算法参数调节

PID控制器是由比例环节(placeP)、积分环节(placeI)和微分环节(placeD)组成。以下是PID控制器实际控制的部分核心C语言程序:

signed long int Servo_PIDControl(struct PID *pid)

{

signed long local_error = 0;

signed long local_derror = 0;

pid->local_Ref = Set_Mid_Servo;

local_error = pid->local_Ref - pid->local_FeedBack;

if ((local_error < local_DEADLINE) && (local_error > -local_DEADLINE))

{ ; }// 不执行PID调节

else // 执行位置PID调节

{

local_derror = local_error - pid->local_PreError;

// 计算微分项偏差

pid->local_PreIntegral += local_error;

// 存储当前积分偏差

pid->local_PreError = local_error;

// 存储当前偏差

pid->local_PreU = pid->placeP * local_error + pid->placeI * pid->local_PreIntegral + pid->placeD * local_derror; // 位置PID算法

if (pid->local_PreU >= local_MAX)

{ // 防止调节溢出

pid->local_PreU = local_MAX;

}

else if (pid->local_PreU <= local_MIN)

{

pid->local_PreU = local_MIN;

}

}

return(pid->local_PreU / 1000);

}

位置式PID控制算法是由单片机输出的控制量直接去控制执行机构,这个控制量与执行机构的位置是一一对应。由于此控制算法是全量输出,每次输出均与过去的状态有关,计算时要对过去进行累加;而且单片机输出的控制量对应的是执行机构的实际位置,如遇外因导致控制量的大幅度变化,会引起执行机构位置的大幅度变化,造成严重的后果。因而系统采用输出控制量增量的增量式PID。单片机控制系统采用恒定的采样周期,一旦确定了placeP、placeI 、placeD,只要使用前后三次测量值的偏差,即可求出控制增量。

它能将两个不相关的数学变量建立起联系,类似函数关系中的映射,以坐标的偏差为控制器的输入,则可输出控制舵机的PWM占空比。采用经验法对参数进行调节。比例系数placeP:将小球与目标点的坐标偏差进行放大,使偏差的数量级符合占空比的数量级。比例系数由小逐渐加大,当平板出现震荡为止,则placeP值取当前值的80%;积分系数placeI:消除系统的稳态误差,提高无差度,但在位置式闭环控制中的作用不大,故placeI值取placeP值的5%;微分系数placeD:具有预见性,能预见小球运动趋势并超前控制,在小球还没到达目标位置时,通过小球的滚动速率,可提前减速,故placeD值由小往大加,直到小球减速正好停于目标位置为止。同样的,PID算法参数的调节也是X轴、Y轴分别调节,由于系统基本上是理想对称的,所有在X、Y方向上的闭环控制参数基本一致。

3 测试结果与分析

3.1 测试方法

根据系统要求,控制光滑平板的倾斜角度使滚球能在平板上按可设路径滚动,并实现任意可设坐标的定点停留。测量小球从起点位置到达目标位置的时间,同时测量小球在从起始位置出发到达目标位置的过程,其路径的偏差,还有小球实际停留位置与目标位置的偏差。所以测试仪器有秒表和直尺,多次记录测试结果。由于测量时需要小球的位置痕迹,但有色的痕迹对摄像头造成巨大干扰,所以将小球沾水浸湿,这样小球的运动轨迹呈一透明的水印,即可测量有对摄像头无干扰。

3.2 测试结果

表1 小球完成从同一位置出发至目标位置并静止的时间

(s)

表2 小球停留静止后其实际位置与目标位置的偏差 (mm)

3.3 测试分析

通过测试的所得结果,放置小球从同一位置出发至目标位置并停留静止的时间大约在5秒左右,小球停留静止后其实际位置与目标位置的偏差基本在0~3 mm之间,小球从同一起始点出发到目标位置的过程中,其实际运动轨迹与理论要求的轨迹偏差也是在0~3 mm之间。由于摄像头的像素不是很高,图像不可能不含噪点及外界因素的存在,精度受到一定的干扰,但是各项精度基本上符合理论计算和理论预计,证明了PID控制算法[9]设计的参数可优化性和调节性,达到设计要求。

表3 小球从同一起始点出发到目标位置其实际运动轨迹与理论要求的轨迹偏差 (mm)

4 结束语

本系统在机械的结构设计制作上提高了精度控制、硬件电路设计上提高了控制简易化、软件算法设计上以拉格朗日理论为基础简化了控制算法。在机械方面的结构设计制作有许多创新进步之处,特别是摄像头支架与平板的分体式和执行机构的传动上的设计等。控制算法应用了位置PID和双PID控制策略及调参方法等具有工程实际意义,为板球控制系统理论与技术的发展具有积极的作用。通过团队协作,及机电经验知识实现了这集机械设计制作,软硬件电子控制于一身的机电一体化高精度板球控制系统。本设计获2017年大学生电子设计竞赛全国一等奖。

猜你喜欢

板球舵机控制算法
关于我国板球项目后备人才培养体系建立的初步研究
基于模型预测控制算法的智能密度控制系统在选煤厂的应用
直升机某型舵机自动测试系统设计分析
基于Backstepping的非线性无人船航向控制算法
Quora:What Is the Saddest Truth about Life
基于dsPIC单片机的飞艇舵机控制实现
ABS自动优化控制算法及应用
基于非线控制算法的三相感应异步电机设计
超音速舵机保护器
板球运动在普通高校的发展探究