1
板球系统设计及其控制算法的研究
摘要
本文介绍了一种基于视觉的板球控制系统,并重点讨论了其控制算法。该系统通过
摄像头采集小球的位置信息,计算得到小球的坐标,通过相应的算法来控制电机的运行。
用陀螺仪测量木板的倾斜角度,通过两个直线电机的运行来驱动木板的倾斜,从而驱动
小球滚动。其目的是实现小球的滚动控制以及轨迹追踪。其中涉及到的研究内容有:智
能控制、运动控制、图像处理等。
文中介绍了系统的整体结构与制作过程,详细讨论了其控制的算法的实现。对单片
程序的设计提出了独特的见解,并总结出了一种比较通用的单片程序开发框架。针对装
置的特点使用多组 PID,相互串联或并联使用来控制系统。对于实际制作和调试过程中所
遇到问题及解决方法进行了深入的探讨。
关键词
单片机;板球系统;串联 PID 控制;单片机程序通用框架;图像处理;电机控制
2
Design of Ball & Plate System and Research of Its Control
Arithmetic
Student: Zhan Kang, School of Physics & Information Engineering
Teacher: Qin Gong, School of Physics & Information Engineering
Abstract
This paper introduces a ball & plate system based on computer vision and discusses its
control algorithm. This system collects the location information of the ball through the camera,
and then calculates the coordinates of the ball, and controls the operation of the motor
through the corresponding algorithm. Using a gyroscope to measure the tilt angle of the board,
the tilt of the board is driven by the operation of two linear motors to drive the ball rolling.
The goal is to achieve the ball rolling control and track tracking. The research contents involved
include: intelligent control, motion control, image processing, etc.
This paper introduces the overall structure and production process of the system, and
discusses the realization of the control algorithm in detail. This paper presents a unique view
to the design of a single program and summarizes a common single - chip programming
framework. In order to control the system, multi-group PID is used, in series or in parallel for
the features of the device. The problems and solutions in the process of actual production and
debugging are discussed in depth.
Keywords
MCU; ball & plate system; series PID control; frame of MCU program; image processing;
motor control.
1
目 录
1 绪论 .....................................................................................................................................1
1.1 研究背景和意义 .......................................................................................................1
1.2 国内外研究现状 .......................................................................................................2
1.3 论文内容 ...................................................................................................................3
2 板球系统总体设计方案 .....................................................................................................4
2.1 系统总体结构构建 ...................................................................................................4
2.2 STM32 控制器..........................................................................................................5
2.3 动作执行单元 ...........................................................................................................6
2.3.1 电机的选择.....................................................................................................6
2.3.2 直线电机.........................................................................................................6
2.3.3 电机驱动模块.................................................................................................7
2.4 摄像头模块 ...............................................................................................................8
2.4.1 摄像头的选型.................................................................................................8
2.4.2 openMV 图像传感器模块 .............................................................................8
2.5 角度测量模块 ...........................................................................................................9
2.5.1 角度传感器的选择.........................................................................................9
2.5.2 MPU6050 六轴传感器.................................................................................10
3 板球系统程序设计 ...........................................................................................................11
3.1 板球控制系统的程序构架 .....................................................................................11
3.2 驱动模块的设计 .....................................................................................................12
3.2.1 openMV 驱动程序 .......................................................................................12
3.2.2 电机驱动程序...............................................................................................14
3.3 应用层程序设计 .....................................................................................................15
3.3.1 系统控制程序...............................................................................................15
3.4 总调度层程序设计 .................................................................................................16
3.4.1 前台时间调度...............................................................................................16
3.4.2 后台中断服务...............................................................................................18
4 板球系统控制算法 ...........................................................................................................19
4.1 板球系统物理模型 .................................................................................................19
4.2 PID 控制理论..........................................................................................................20
4.3 板球系统的 PID 控制.............................................................................................21
4.4 画圆算法的实现 .....................................................................................................22
5 系统调试与评价 ...............................................................................................................24
5.1 直线电机调试 .........................................................................................................24
5.2 平板水平的调试 .....................................................................................................24
5.3 系统联合测试 .........................................................................................................25
6 结论与展望 .......................................................................................................................27
致谢 ..........................................................................................................................................28
参考文献 ..................................................................................................................................29
1
1 绪论
1.1 研究背景和意义
板球控制系统是一个经典的自动控制系统。自上个世纪 80 年代以来就有很多国内
外学者对其做了各种研究。通过板球系统这一平台可以研究验证各种控制算法,然后将其
应用到生活中的各个地方。在实验室中学者设计研究自己板球系统,通过触觉传感器(触
摸板,电阻屏等),或者视觉传感器(摄像头等),来测量小球在平板上的坐标,然后通过计算该
坐标来控制电机等动力机械驱动平板倾斜,从而控制小球在平板上滚动。通过这样的装置
得到的研究成果可以应用到生活中的很多方面。例如对于小球位置的检测、预测,需要应
用计算机视觉及其相关算法,这可以应用到工业中,例如无人机的目标跟踪,或者是无人汽
车的行人检测。同样控制算法也可以应用到方方面面,当前工业机器人和消费级智能机器
的发展无一能离开自动控制算法。因此板球控制系统是一个很有价值的研究课题,也是一
个很好的研究和验证相关算法的平台。
今天计算机技术正在飞速发展,而计算机视觉一直以来都是计算机科学中的热门话
题,人们希望计算机有类似人眼一样看的功能,即使用摄像机和处理器代替人眼使计算机
能够有像人类那样能够对目标进行识别,分割,跟踪的功能。如果将计算机视觉与智能控
制相结合,计算机别能自行识别环境中的物体,从而根据设定的动作去操控执行机构,完成
相应的功能。这已经在工业、农业、制造业、军事上有广泛的应用。随着科学的发展,越
来越多的学者投入计算机视觉与智能控制相结合的研究。所以为了研究其理论的好坏,板
球系统被设计了出来。国内外不同学者设计了不尽相同的板球控制系统,因为板球系统自
身有强耦合、非线性等特征,成为了研究验证控制算法的一个理想的平台。
1.2 国内外研究现状
对于板球控制系统的研究,国内的一些研究状况如下:吉林大学的田彦涛教授和他的
研究生们研究设计了一种基于扩展卡尔曼滤波的状态观测器。该状态观测器能够实时分
析评估板球控制系统运行时小球运动过程中所受到的摩擦力,从而得到一系列与摩擦力
相关的因素,然后利用这些数据对摩擦力建立数学模型,最终设计了摩擦力补偿器对摩擦
力进行补偿。2009 年前后,将研究成果加入基于视觉的板球控制系统中加以验证,并且设
计了一套的参数自动调节自动控制方案,考虑到控制量可能受饱和特性限制,引入了约束
2
条件,然后利用遗传算法设计并优化模糊规则,从而有效地降低了自动控制中的位置偏差。
从 2000 年前后开始,清华大学自动化系针对板球控制系统的模糊控制方案进行了一系列
的研究,最终提出了一种多变量模糊控制方案。在此基础上设计了小球运动轨迹规划和目
标跟踪算法,并在利用计算机仿真作了检验。其后教研组设计并制作了自己的基于视觉的
板球控制系统物理仿真平台,并将研究成果应用于该平台,最终实现了对板球实验平台的
稳定控制。大连理工大学的李洪兴教授及其研究生在 simulink 环境下设计了变论域模
糊控制器,其仿真效果明显好于应用位置式 PID 和增量式 PID 的控制。最后他们将其应
用在了自己研发的仿真平台上,在小球对正方形和圆形的轨迹跟踪上取得了很好的控制
效果。中南大学张修如教授及其研究生也研究了板球控制系统的视觉系统,能够准确地获
取了小球的实际位置。台湾成功大学的 C.C.Ker 教授运用触摸板构建了板球实验平台,通
过触摸板来获取小球的位置,从而对实验装置进行控制。上海交通大学的学者研究开发了
台面球系统,其利用气缸伺服控制机构作为执行机构进行控制。多年来,国内很多大学都
设计了自己的板球控制系统物理仿真平台,其不再只是在 simulink 环境下进行的仿真实
验,并是在板球控制系统的实物平台上验证控制算法。
国外的一些研究的状况如下:伊朗德黑兰大学的 Carolucas 研究出了一套基于遗传内
插算法的模糊控制器,并在 CE151 板球实验平台上进行验证,取得了较为理想的结果,最终
实现了比较准确的小球的定位控制。美国伦斯勒理工学院也自主设计了板球系统,其使用
触摸面板来检测小球的坐标。设计了一套简化的系统线性数学模型。其利用状态反馈控
制器对系统进行实时控制,最终实现了小球的定位控制误差小于 5mm,跟踪圆轨迹的半径
误差小于 18mm,控制的运动速度误差小于 4.2mm/s。美国知名的控制理论方面的学者
Hauser.J 于 1992 年前后,对板球控制系统的输入输出变量运用线性化理论进行了局部线
性化处理,得到了简化后板球系统的线性化模型,并在实物仿真平台上获得了较为理想的
控制效果。韩国汉阳大学的学者设计了一种基于变结构自适应控制器,其核心控制原理是
分层 次的 模糊 CMAC 神经网络控 制, 该方 法实 现了 小球 的比 较精 确的 定位控制。
YUBAZAKIN 研究了一种动态单输入模糊规则群的控制方法,并将其应用在板球系统的椭
圆和圆形的轨迹跟踪控制上面,取得很好的控制效果。FANX 在特定的板球控制系统仿真
平台上研究了当环境不变的情况下,小球的运动轨迹的规划及跟踪问题,并取得了一定的
成果。