基于视觉位置检测的板球系统

[复制链接]

1

主题

1

帖子

3

积分

一粒轻沙

Rank: 1

积分
3
楼主
查看: 3095回复: 0 发表于 2019-8-2 13:06:50   只看该作者
本帖最后由 林中xin1125 于 2019-8-2 13:09 编辑

作者:黄佳遥   马茗萱   朱桐
来源:《电子技术与软件工程》 2017 年第 24 期
         摘   要
         本文以基于摄像头识别的板球控制系统为研究对象,使得小球能在平板上的指定位置停留,并按照指定轨迹运动。首先进行板球系统平台机械结构部分的搭建,进而进行小球位置识别的算法设计与 PID 参数整定。将采集到的图像进行预处理操作,随后运用霍夫圆变换算法找到小球位置,并将采集到的小球位置传入 STM32 系列的单片机主控系统。通过对系统参数的不断调整,使得整个系统具有较好的跟踪效果与鲁棒性。
         【关键词】板球系统  PID 控制   霍夫圆变换

         板球控制系统研究起始于上世纪八十年代末期,对于板球系统的研究可以分为两个阶段,第一阶段是在 SIMULINK 环境下建立数学模型,进行仿真;第二阶段是研发板球控制系统,从而在实物平台上验证相关控制算法。随着科学技术的发展,对于板球系统的研究也越来越深入。由于小球在平板上的运动无固定轨道约束,所以要靠电机带动板的运动来控制小球的运动。这一运动的随机性加上板与球之间摩擦力及空气阻力的影响,使得在平板上控制小球按照一定轨迹去运动变得富有挑战而有意义。

        1  总体设计方案
         板球系统主要由控制器、舵机、平板、小球和摄像头等部分构成。利用搭载 STM32F7 系列处理器的 OpenMV 摄像头解决方案对小球之于平板的位置图像进行处理,获取小球相对于平板的位置坐标并将相关数据传入主控制器。主控制器通过整定之后的 PID 参数来调节和控制舵机的运动,抬升或下降平板位置,从而控制小球在平板上的运动。

        2  硬件结构
        2.1  机械结构
         采用两个舵机组成电机组,同样,将两个舵机固定在支柱上,通过支架与顶板固定连接。具体构造如图  1  机械结构示意图所示。
         舵机的主要组成部分为伺服电机,其中包含伺服电机控制电路和减速齿轮组。舵机含有伺服电机没有的减速齿轮组。限位舵机靠输出轴下面的电位器来确定舵机转向角度。通过脉冲调制 PWM 信号就可以控制舵机。主控系统可以轻松地输出该信号。

         在制定支架连接过程中,我们选取的杆之间的连接角度为 90 度。因为在实际测量中,以 90 度固定,则当支架连接位置为 180 度,即水平时,与其连接的顶板向上偏移约为 7 度。实验证明,该角度可以较好的控制小球运动,既不会因为角度过大导致小球快速滚落跌下顶板,也不会因为角度过小而使小球运动过慢。值得注意的是,舵机的转轴位置需设置在板球系统的中心轴线上,并且转动中心需与板球平面中心轴相差 90 度,否则将会使板球系统在运动时产生较大程度的摇摆,直接降低了系统的精确度。
         平板抬升角度与舵机的转动角度有关,具体计算公式如下:
         其中 α 为抬升角, θ 为舵机转角, l 杆为撑杆长度, r 为舵机转盘半径, R 为平板边长的一半。具体标注如图  2  平板旋转角度示意图所示。

        2.2  主控系统
         主控系统与所有其他的模块进行连接,主控系统将摄像头传回来的数据进行处理,并将数据和控制信号传递到相关子系统进行相应动作响应,并及时反馈给主控系统本身。
         主控系统选用 STM32F765VI 系列单片机。 CPU 最高主频 216MHz ,可达 2MB 闪存 Flash 和 512Kb SRAM , 3 个 12 位精度 ADC 控制器和 2 个 12 位 DA 控制器。 18 个定时器,支持 SWD 、 JTAG 工具调试。处理速度快,且使用 OpenMV 整体解决方案后可使用 MicroPython 进行编程,极大地提高了开发效率。

        2.3  摄像头
         摄像头选用 OV7725 系列产品。 OV7725 感光元件在 80FPS 下可以处理 640*480 8-bit 灰度或者 320*240 16bit RGB565 彩色图像,可以利用 2.8mm 焦距镜头进行调焦。对于小面积的板球系统而言其精度完全足够。

        3  霍夫圆变换算法
         霍夫圆变换和霍夫线变换算法大体相似。在直角坐标系中,需要用三个变量来表示,即圆心坐标以及圆的半径,将其表示为待定空间 C :。
         由于板球系统中的小球与平板之间颜色差异通常较大,且板面光滑洁净,因此在将采集到的帧图像进行 Canny 算法处理之后,即可得到小球的圆边缘。之后再利用霍夫梯度法求解图像的梯度矩阵,从而得到边缘的坐标值,并将其与待定空间 C 作比对。如果待检测点距离中心点距离为半径 R ,那么它将被视作圆的边缘点而被保留下来。迭代之后即可得到具体的坐标位置和中心点的坐标。

        5  结语
         板球系统作为一个非线性动力学系统,对其控制算法和检测算法的研究具有重要意义。对于板球系统的研究与应用可以推广到一类非线性控制系统中去。本文基于视觉的板球控制系统,通过摄像头采集帧图像,运用相关图像处理算法获取小球的中心位置信息并传递给主控系统,主控系统进行 PID 控制及参数整定进一步控制小球的运动,使得整个系统具有较好的跟踪性和鲁棒性。


快速回复 返回顶部 返回列表