APP下载

乒乓球捡取机器人的设计与实现

2022-10-12刘秀杰祝长生王安航李世钰

机械设计与制造 2022年10期
关键词:坐标系弹性乒乓球

刘秀杰,祝长生,王安航,李世钰

(山东科技大学智能装备学院,山东 泰安 271019)

1 前言

乒乓球运动深受人们喜爱。然而,当人们在场馆内训练时,常会有大量乒乓球掉落在地面,运动者只能一次次弯腰捡球,消耗大量体力和时间,相关的自动捡球设备较少,市场需求比较大。当前市场已有安东阳研究的主要是通过机械手等机械装置来捡球[1],该装置结构设计关节较多,控制起来比较复杂,且拾取效率较低。文献[2]研究的利用风扇吸力捡球设备,还有文献[3]所设计的用真空泵吸力来捡球的机械机构,这两种捡球结构,原理一样,都是利用吸力把球吸入容器内,需要安装专门的微型真空泵或者风扇,在吸球过程中,容易把运动场所内的垃圾吸入,不卫生,还有噪声。

针对以上情况,设计了一款存、储一体式乒乓球智能捡取机器人,通过单目视觉技术,实现了乒乓球智能捡取机器人自主移动行走、避障及乒乓球定位识别的功能,再由控制部分控制机械结构来完成乒乓球的拾取。解决了当前的捡球问题,满足市场需求。通过本自动捡球机器人的设计,为以后自动捡球设备提供技术创新与研发思路。

2 机械结构设计

根据乒乓球捡取功能要求,设计出该产品的机械结构,它主要由驱动结构、拾取结构、传动系统三部分组成。通过三部分机械结构的配合工作来实现乒乓球的有效捡取,最后根据每部分结构组装来确定设备的整体结构及外形尺寸,机器人的整体结构及内部透视图,如图1所示。外部结构主要由机器人底座1、拾取装置外桶2、拾取装置内桶3、支撑杆4、摄像头5、超声波传感器6、万向轮7、驱动轮8(左、右各一个)组成;机器人底盘内部装有齿轮驱动电机9、蓄能电池10、齿轮齿条传动结构11、主控制器12、霍尔传感器13、导柱14和驱动轮驱动电机15(左、右各一个)。机器人底座1通过导柱14与拾取装置外桶2相连,拾取装置内桶3装在拾取装置外桶2内,底盘上装有支撑杆4,用以支撑摄像头5,底盘下面装有两个驱动轮8和一个万向轮7,驱动轮8分别由两个驱动电机15带动,从而使底盘可以带动拾取装置运动。齿轮齿条机构11由驱动电机9带动,使拾取装置上下运动,完成捡球,上下位置点装有霍尔传感器13 来提取信号,将信号传递给STM32F103单片机12,从而控制电机正反转,使齿轮正转或反转来带动拾取装置上下运动,完成小球的拾取。该系统所需能量均有由蓄电池10来提供。

图1 机器人的总体机械结构及内部透视图Fig.1 Overall Mechanical Structure and Internal Perspective of the Robot

其具体工作过程如下:机器人在捡球工作之前,先由摄像头,拍摄工作场地图片,由视觉模块要先识别乒乓球并确定其三维位置,计算出球到机器之间的距离,并将该信号传输给单片机,再由控制系统控制驱动电机15转过一定的转数,从而使设备移动到乒乓球所在的位置,到达指定位置后,控制系统控制驱动电机9转动,带动齿轮转动,齿轮和齿条啮合,其中齿轮15固定,齿条向下运动,齿条与拾取装置外桶为一体,内桶装在外桶内,从而使拾取装置向下运动,运动到与地面接触,由于内桶下面装有一定间隔的弹性绳,在弹力作用下,将小球弹入桶内,从而完成球的拾取。拾取装置向下运动到与地面接触拾取球的同时,霍尔传感器向控制系统发出信号,再由控制系统控制电机9反转,带动齿轮齿条传动,使拾取装置向上运动,为下一次乒乓球的拾取做准备。

2.1 机械结构受力分析

由于桶与导柱的接触点是不断变化的,我们研究桶在运动某一瞬时点的情况,圆桶上的受力情况,如图2所示。

图2 桶的受力分析图Fig.2 Stress Analysis Diagram of Bucket

首先建立空间坐标系(o-x-y-z),由静力学方程所得式(1):

式中:G—圆桶的重力(已知);Fz—齿轮给齿条的切向力;Fr—径向力;fd、Fd—导柱与圆桶间的摩擦系数和滑动摩擦力。

再由补充式(2)所示:

α=20°,齿轮齿条的啮合角为20°;

以式(3)作为依据,确定所选用电机的型号和规格。

2.2 拾取装置内桶设计

该结构在设计时要解决三个问题,第一是底部弹簧绳的穿孔与分布问题;第二,弹性绳变形量的确定;第三,与外桶的连接问题。由于乒乓球为40mm,质量为2.7g,具有体积小、质量轻的特点[2]。捡球装置利用弹性绳的弹性以及弹性形变恢复的能力将小球弹入桶内。当拾取桶向下运动时,当球与弹性绳接触开始,弹性绳发生形变,直到桶底部到达地面位置时,即弹性绳卡在球的直径三分之一处,小球拾取瞬时效果图,如图3所示。

图3 小球拾取瞬时效果图Fig.3 Instant Effect Picture of Small Ball Picking

取此瞬时研究小球的受力,球的受力分析,如图4所示。由弹性力学胡克定律所得式(4):

又由于Δx1=Δx2=Δx,所以,F1=F2=F.

F1可以分解成Fx1和Fz1;F2可以分解成Fx2和Fz2,由此建立空间坐标系(o1-x1-y1-z1)。由静力学方程所得式(5):

式中:F1、F2—球两侧受到左、右两边弹性绳的弹力;G—球的重力;K—弹性绳弹性系数为;Δx1、Δx2—左右两侧弹性绳的形变量;r—为乒乓球半径。

从而确定弹性绳间隔和弹性绳的变形量Δx和相邻的弹性绳间距L,L要小于乒乓球的直径,大约在(17~30)mm时,拾取效果较好。由于选择弹性绳材料不同,弹性系数不同,所求出的变形量也不同。内桶与外桶的连接主要靠内桶和外桶底部设计有三个均布的锥形面联结。最后,设计出了乒乓球收集与储存一体的桶式结构,如图4所示。

图4 球的受力分析图Fig.4 Force Analysis Diagram of Ball

3 控制系统设计

该设计使用STM32F103单片机作为控制核心,利用摄像头拍摄场地图片,将信息传递给图像处理单元,获取乒乓球的空间位置,计算出球到机器人之间的距离;同时,将信息传递给控制系统,再由控制系统控制驱动电机带动捡球设备移动到目标位置;最后,通过拾取机械装置对乒乓球实现有效捡取。在运行过程中通过超声波传感器监测周围环境,实现自动避障[4];霍尔传感器提取桶下移位置信息[16],将此信息传递给控制系统[5-7],由控制系统控制电机9反转,使拾取装置向上运动;稳压模块进行降压和稳压操作以获得所需的电压。其控制系统结构,如图5所示。

图5 机器人控制系统结构图Fig.5 Structure Diagram of Robot Control System

3.1 电机选型及电机驱动电路设计

在对技术参数(例如:发动机驱动的机器人的承载能力,运行扭矩、速度和功率)分析计算的基础上,通过在机器人的机械结构中添加减速装置,进一步改善了直流电动机选择和运行扭矩。最后,确定直流电动机型号为:Y4566RS。

选用L298N用作电动机驱动,它可以控制电机正向、反向转动以及速度控制,可以同时驱动两个直流电动机,具有良好的启动性能和高启动转矩。该驱动器可以通过PWM波传输接口,然后控制电动机的速度,电动机驱动电路,如图6所示。

图6 电机驱动电路图Fig.6 Motor Drive Circuit Diagram

3.2 电源模块设计

电源为系统中的单片机、电机、其驱动装置以及避障系统等提供所需的电源。电源电压有12V和5V两个电压值,该系统使用12V锂电池作为电源。需要进行降压和稳压操作以获得所需的电压,通常使用电压稳定芯片7812和7805以获得分别为12V和5V的稳定电压。设计电路,如图7所示。

图7 电源模块设计电路图Fig.7 Power Module Design Circuit Diagram

3.3 超声波避障系统设计

超声模块的实物,如图8所示。该原理及其在捡球机器人中的应用[4,16]如下:提供大于10μS的脉冲激活信号,该模块将发送八个40kHz周期电平并检测回波。当检测到回声信号时,将输出高回声信号。脉冲宽度由单片机计时器计算,回波信号的脉冲宽度与测得的距离成正比。因此,可以根据发送信号和接收回波信号之间的时间间隔来计算距离,如式(7)所示。

图8 超声波模块实物图Fig.8 Physical Drawing of Ultrasonic Module

式中:L—测试距离,m;T—高电平时间,s;V—声速(340M/S)。

单片机收到计算出的距离,数字信号用于激活电信号到电机驱动模块的传输,从而使捡球机器人可以实现停止、前进、后退、左转、右转等动作,并通过预处理的微控制器完成智能拾球机器人的避障过程。

3.4 控制系统总电路设计

机器人控制系统主要由视觉识别模块、电机驱动模块、避障模块、电源四部分组成,在综合考虑机器人的分辨能力、反应速度等指标后,确定了对主控芯片的选型,主控芯片STM32F103的电路原理图,如图9所示。

图9 主控芯片原理图Fig.9 Schematic Diagram of Main Control Chip

其中主控芯片PC10,PC11引脚作为串口发送与接收端口分别连接摄像头STM32H743 芯片的PA1,PA2 引脚;主控芯片PD12-PD15引脚连接两个如图6所示的L298N电机驱动电路;主控芯片PA0-PA3等引脚功能复用为定时器编码器模式与直流电机的编码器相连接;主控芯片PA6,PA7引脚功能复用为定时器3通道1和通道2分别与超声波模块的发射端和接收端连接。电源模块通过电压稳定芯片得到5V和12V电压,分别给主控单片机和直流电机供电,如图7所示。

3.5 捡球机器人软件系统设计

软件设计包括摄像头图像处理程序设计、运动控制系统程序设计。其中摄像头图像处理的程序设计是在Openmv-ide开发调试环境下采用Python编程实现的,运动控制系统的设计是在Keil uvision 5 MDK开发调试环境下采用C语言编程实现的,其软件系统流程图,如图10所示。

图10 捡球机器人软件系统流程图Fig.10 Software System Flow Chart of Ball Picking Robot

4 视觉识别与定位

捡球机器人进行捡球工作之前,要先识别乒乓球并确定其三维位置,对乒乓球的识别和定位[9-10,14-15],考虑到成本和计算时间的问题,最后确定选用单目摄像头来完成乒乓球的识别与定位,其工作流程,如图11所示。

图11 图像处理工作流程图Fig.11 Image Processing Flow Chart

首先利用MATLAB 软件仿真,再用样机验证。利用Python软件处理MATLAB 仿真处理过程,如图12 所示。先利用Open-MV没获取乒乓球的图像,如图12(a)所示,系统先对图像差分处理,处理后的图像,如图12(b)所示;再进行中值滤波处理,去除图像或其他信号中的噪声,处理后的图象,如图12(c)所示;然后,通过对图像腐蚀膨胀处理,去除图像中的干扰点和干扰线,处理后的图象,如图12(d)所示;紧接着用连通域法处理图像,找出最大面积,处理后的图像,如图12(e)所示;先用Canny 算子边缘检测,提取图像的边缘,如图12(f)所示;再用Hough变换算法找取圆,处理后的图像,如图12(g)所示;最后求取平均质心,如图12(h)所示。

图12 乒乓球定位识别过程图Fig.12 Table Tennis Positioning and Recognition Process Chart

系统通过以上计算求取图像的质心,从而确定乒乓球在空间中的具体位置,再通过单目视觉成像原理,单目视觉成像原理图,如图13所示。求取球的中心位置到机器人之间的距离L[11-13]。

图13 单目视觉测距原理图Fig.13 Schematic Diagram of Monocular Vision Ranging

由图13 所示,(o-x0-y0-z0)为空间坐标系,(Oc-x1-y1-z1)为摄像机坐标系,(O'-x2-y2)为图像坐标,(O0-u-v)为像素坐标,由坐变转换后,求出像素中球心O"在空间坐标系下的坐标,球心O"像素坐标与空间坐标系的转换关系式(8)所示:

式中:u、v—像素坐标系中的像素坐标;f—相机焦距,是校准参数;Dxdy—像素坐标系中x轴和y轴方向上每个像素的物理尺寸;u0v0—显示坐标系,点坐标系中原点的坐标;ax=f/dx,ay=f/dy—分别是使用像素宽度和高度做单位时的焦距长度;—它与摄像机的内部结构有关,称为摄像机的内部参数;RT—表示相机相对于空间坐标系的位置和方向,并称为相机的外部参数。

将单目视觉测距原理图转换成二维图,如图14所示。球的半径r已知,像素坐标系中的r"在空间坐标系下的值可由式(8)求得,f是摄像机标定参数,由几何关系式(9)可求得d:

图14 小孔成像原理二维图Fig.14 Two Dimensional Diagram of Pinhole Imaging Principle

再由三角形原理,如图15所示。求出距离的球到摄像机的水平距离L,如式(10)所示:

图15 三角形原理图Fig.15 Triangle Diagram

式中:h—摄像机距离地面的距离(已知)。

通过式(10)求取乒乓球到机器人之间的距离,再由控制系统控制电机ZY4566RS转过一定的转数,从而使设备移动到乒乓球所在的位置,再由控制系统控制拾取装置上、下移动将球拾取。

5 实物模型测试

通过以上机械结构、控制系统、视觉识别与定位三部分的设计,最终完成了智能捡球机器人的实物模型,如图16所示。

机器人装配时,首先对摄像头的安装角度进行设定,设定捡球机器人摄像头安装角度为45°,在机器人前方不同方向位置放置若干乒乓球,如图17(a)所示。启动机器人,观察机器人拾球动作的执行与效果,检查机器人在找不到球的情况下的动作执行,捡球过程,如图17(b)~图17(h)所示。实际运行测试结果表明,机器人可以顺利完成捡球动作,捡球效率比较高。

图17 智能捡球机器人捡球过程图Fig.17 Process Diagram of Intelligent Ball Picking Robot

6 结论

基于单目视觉技术乒乓球智能拾取机器人,采用移动平台搭载四自由度的机械捡取装置,以STM32F103为控制核心,控制拾取装置上、下运动,利用存储一体拾取装置上的弹性绳的弹力来实现捡球。它具有视觉定位功能,能定位、跟踪乒乓球在空间中的准确位置;具有自动避障功能,可控性强。通过实物模型的测试表明,该机器人结构简单、运动灵活,成本低,捡球的效率高。它为自动捡球机的设计提供技术创新与研发思路,后续设计考虑采用双目来代替单目以提高球的定位准确性,采用新的图像处理算法来实现复杂背景下的乒乓球的检测与跟踪。

猜你喜欢

坐标系弹性乒乓球
乒乓球悬浮术
例谈“动碰动”一维对心弹性碰撞模型的处理方法
独立坐标系椭球变换与坐标换算
为什么橡胶有弹性?
为什么橡胶有弹性?
极坐标系中的奇妙曲线
注重低频的细节与弹性 KEF KF92
乒乓球瘪了怎么办
三角函数的坐标系模型
求坐标系内三角形的面积