APP下载

关于乒乓球捡球机器人的设计应用

2023-09-02刘骏豪赵韩宇王安浩彭子翔

中国科技纵横 2023年11期
关键词:树莓乒乓球机器

刘骏豪 赵韩宇 王安浩 彭子翔

(江苏大学,江苏镇江 212013)

1 绪论

1.1 作品背景和意义

乒乓球作为国球,越来越多的人喜欢打乒乓球,在乒乓球的学习中,发球是最基础最重要的一环,其中,发球和捡球的效率决定练习的时长。为了更快更好地练习,减少运动员在练习过程中繁重的捡球工作。通过对市场上捡球机器人的调查,捡球机器人都存在一些问题,如种类较多、速度较慢、成本较高、工作效率较低等。

因此,研究一款智能化乒乓球捡球机器人,能够自动拾取散落在球场上的乒乓球,可以在减少人力投入、提高训练效率等方面发挥重要的作用。

1.2 问题分析

捡球机器人利用传感器对目标物体进行识别,再利用目标物体的位置信息,进行轨迹规划,进而通过控制机器人实施捡球。为了解决这个问题,机器人通过树莓派收集传感器数据,采用深度强化学习算法[1],在学习的过程中,不断实时定位,小车选择出最优的路径规划,规避障碍物,快速运动到指定地点,同时机械臂运动可以更加准确地抓取目标乒乓球。通过深度学习算法,可以将小车运动最优化,机械臂的控制简单化,使整个捡球的稳定性、实用性及操作精度得到更好的保障。

2 机器人系统总体设计

2.1 系统运行逻辑框架

乒乓球捡球机器人的运行流程为:(1)经过系统的图像训练,在树莓派之中生成所需要抓取的乒乓球的模板帧。(2)图像识别模块在周围寻找相似的模板,并进行靠近。(3)机器人捡球系统的红外避障传感器开始检测是否有障碍物。当检测到障碍物时,红外传感器将信号传递给树莓派,树莓派控制运动模块做出相应运动并再次检测是否有障碍物存在。(4)到达所需要的模板帧处,当树莓派根据图像判别机器人当前的位置合适时,树莓派对抓取模块发出抓取命令,机器人抓取乒乓球并将其存储到机械爪旁的框中[2-3]。

2.2 机器人搭建

机器人以树莓派为核心模块,辅以摄像头作为机器视觉部分的接收,获取机器人身前的目标检测区域。以电机驱动车轮传动实现机器人运动方向的选择和规划,可基于树莓派赋予不同高低电平控制行动。在车前左右两端安装红外传感设备,保证避障系统可靠运行。在车身后端安装电源,前端安装机械臂,用以平衡机器本身的重量,保证机器重心稳固在可控范围内。

3 系统的硬件设计

捡球机器人的硬件部分主要为主控模块、下位机控制模块、摄像模块、抓取模块、运动模块及电源模块。

(1)主控模块:该模块是整个硬件系统的核心模块,需要对摄像头采集到的图像进行识别,然后集中处理,从强化学习模型中获取机器人下一步的执行状态,传输控制命令给树莓派开发板,让其控制机器人运动。

(2)在下位机控制模块的实际应用过程中,树莓派二代的开发板具有强大的扩展性,不仅集成了多种接口和充足的引脚,还自带MicroSD 端口、Camera 接口,可以使外界摄像头获取图片信息,同时还有10/100 自适应网卡和10/100 的RJ45 以太网接口、2 个USB2.0 接口等,在系统中自带了GPIO 端口的驱动,为开发者提供优良便捷的开发条件。并且其作为一款开源的ARM 开发板,其操作系统可以自行下载和烧录。在编程语言方面,树莓派开发板的操作系统能够完美支持Python 语言、Java、C 语言等多种常用的编程语言。

(3)摄像模块:该模块作为整个硬件系统的图像数据输入端,需要对环境中的乒乓球进行拍照并将原始的图像数据输入主控模块做进一步处理[4]。

一是成果质量因素的影响。科研成果本身质量的高低,以及成果所隐含的应用价值的大小直接影响到科研成果的转化程度。成果质量对转化的影响主要通过其是否易转化,可操作性和接受性体现出来。如图2所示:

(4)抓取模块:采用六自由度的LeArm 开源机械臂配套机械爪,机械爪的一边固定不动,机械臂采用运动学逆解,由机械爪舵机带动爪子进行乒乓球的抓取。同时对机械爪固定的一边进行改造,将机械爪固定一边的两根铜柱拆下来并加装一个存储乒乓球的框。这样可以借助另一边夹取乒乓球的惯性力,将乒乓球放入框中存储。

(5)运动模块:该模块是在一个电机驱动的小车上安装六自由度的机械臂,这样可以通过小车的运动到达目的地,然后机械臂实现抓取。

(6)电源模块:该模块作为整个硬件系统的供电端,需要为捡球机器人的下机位控制模块供电,此时采用的是12V 保护板电池组外加树莓派的电源驱动板给下位机供电。

4 系统的软件设计

基于系统的运行逻辑,在软件运行部分,则希望以高效准确的识别和轨迹动作为运行前提,在准确无误地识别和运行的过程中,能够在变化较为丰富、障碍环境较为复杂的场景中实现诸多功能。

4.1 乒乓球识别算法

对乒乓球的识别使用了MobileNetV3-YOLO v3 算法。该算法基于数据库机器学习,在收集足量的数据库样本的同时,覆盖足够多样的数据场景,提高识别乒乓球的准确度。本设计使用的数据库有800 张样本,样本基于环境光照、乒乓球颜色等指标进行区别收集[5]。

使用机器学习算法,能有效改善机器在复杂场景中对乒乓球的识别情况,在识别到乒乓球时,基于标准圆计算判断乒乓球的实际位置,方便后续机械臂抓取定点目标,具体计算方法如图1 所示[6]。

图1 物象成像距离估算

在得知焦距而不知道物体距离时,依照:

将标准乒乓球大小和YOLO 标签检测框获取的目标进行基础比对,按相似图像比例换算,可得到目标相对于机器本身的距离,即单目测距手段。但此方法针对偏移相机中心的物体会产生图像畸变,导致距离估算产生较大误差,由此,在识别算法得知目标后,机器会通过运动使目标处在相机的中心位置,减少畸变产生的误差,并且相较于抗畸变算法,其能更好地减少机器的算力需求,提高识别效率。

4.2 路径规划算法

对于复杂运行场景中随时可能出现移动障碍和光影的变化,路径规划算法在识别算法完成的基础上,以“最短直线为首要准则,绕行可运行为次要准则”,会不断尝试直行前往目标位置,而在面对障碍时,采取如下逻辑:机器人前端左右两边的红外传感器,检测到机器的左前方有障碍物出现,则向后倒车并右转避开障碍,检测到机器的右前方有障碍物出现,则向后倒车并左转避开障碍。为防止机器先前的检测目标丢失,机器会在确保左右红外检测器均指示无障碍时,回调转向参数,再次搜索目标,并继续依照识别逻辑进行检测。

4.3 抓取算法

在使用机械臂抓取目标时,基于识别算法的距离测算,产生物体基准坐标,运用机械臂的运动学逆解测算[7],获取合适的机械臂运动轨迹,抓取目标并进行收集。使用的机械臂形制为可视编程逻辑,在具体运用时,直接调用系统机械臂功能,输入待抓取目标坐标,即自动抓取目标。

5 功能测试

5.1 乒乓球识别测试

在乒乓球的识别测试过程中,识别准确率和效率作为主要基准,进行测试比对。在识别测试的环境中,以图像直达理想识别(所提供图片为树莓派摄像设备拍摄)和机器运行环境实际识别为比对对象,测试理想识别条件和实际识别条件是否会产生较大的差别。测试的具体参数指标为图像识别准确度和识别响应速度,以此来判断是否达到测试要求。根据图片信息测算的距离和实际照片拍照环境,测算距离误差是否在可接收范围内。

最终计算得出,在实际场景下,受树莓派摄像机拍摄图像和数据传输设备的影响,实际识别较理想识别稍有延迟,延迟差平均为0.8s,理想识别时间处于2.3s,实际识别处于3.1s,但识别精度不会产生较大误差,均保持在识别准确度83%且标注准确度79%左右。而距离算法产生的估算结果和实际距离相比,误差也在2cm 内,机械臂的抓取范围大于乒乓球本身,其误差也在可接受范围内。

5.2 抓取测试

抓取测试则是在准确识别乒乓球目标后,从抓取响应速度和抓取准确度两种层面收集数据并作分析,所有待抓取目标均位于机器人身前。在树莓派开始识别目标到目标成功抓取的流程中,其响应时长为30±5s。而机器人对于乒乓球能以8/10 的比例完成抓取工作,无法抓取则出现在距离判断误差较大或场景明暗跨度较大的场景中。考虑到机械臂在部分场景中的局限性和机器功耗问题,将爪子和机器人本身进行对比,爪子能更快抓取目标且更具宽容度,其响应时长为18±3s,以9/10 的比例完成抓取工作。

5.3 测试总结和分析

在完成如上测试后,测试结果均达到理想设计条件,且将机器投放至实际环境中测试,可以发现机器在路径算法上也满足设计条件,且抓取动作除角落目标外,均能以合理姿势完成捡球工作。在复杂光线处,亦可保证抓取准确性。

6 结语

本文首先就本作品设计的背景和意义进行了阐述,同时对本作品设计过程中可能会遇到的问题进行了分析。其次,在总述本作品总体设计的基础上分述了本作品的硬件设计和软件设计。同时,展示了乒乓球捡球机器人的功能测试,包括乒乓球识别测试、机器人抓取测试,以及全流程实际场景测试。

本文设计的乒乓球捡球机器人,共有4 个模块,分别是小车运动模块、识别跟踪模块、机械手臂抓取模块和智能避障模块。作为乒乓球捡球机器人的大脑,树莓派为这4 个模块高度协同、自动化的实现提供了保障,其中应用的技术主要有高斯滤波、Canny 边缘检测、霍夫圆检测、颜色特征提取、脉宽调制技术等。

本文设计的乒乓球捡球机器人不需要预先设定运动路线,而是根据乒乓球定位信息自动规划最佳的运动轨迹,能够独立自主地完成乒乓球的拾取工作,因而应用前景广阔。

本文设计的乒乓球捡球机器人还存在一定的缺陷,为进一步完善和优化其性能,使其能够更高效地完成捡球工作,还需在以下方面开展进一步的研究。

(1)设计中的乒乓球收集装置较小,一次能够收集的乒乓球数量有限,为使其更具实际应用意义,在实际应用场景中,可以适当扩大其收集装置的容量。

(2)本文设计的乒乓球捡球机器人的4 个轮子没有延展特性,灵活性不强,在崎岖路段容易发生侧翻,为使其能够应用于一些特殊的场景,可以改用履带轮或麦克纳姆轮。

(3)本文设计的乒乓球机器人通过机械手臂进行乒乓球的抓取,故工作效率较低,且对乒乓球位置的精度要求高,在实际应用场景中,可以采用滚动式捡球装置来代替机械手臂工作,这种装置对乒乓球的位置精度要求不高,且一次能够捡起多个乒乓球,拾球效率高。

猜你喜欢

树莓乒乓球机器
机器狗
乒乓球悬浮术
机器狗
跳舞的乒乓球
乒乓球瘪了怎么办
基于树莓派的骑行智能头盔设计
未来机器城
靠拢的乒乓球
基于树莓派的远程家居控制系统的设计
响应面法优化红树莓酒发酵工艺