智能制造
网球自动回收机器人的设计

发布于:2024-01-21 21:29:43  来源:智能制造  点击量:14次

  作者:胡凤源(桂林电子科技大学电子工程与自动化学院,广西桂林 541004)

  :在专业的网球训练或者比赛结束后,需要专人对球进行回收,不仅浪费体力、增加了相应的人力成本,且捡球的效率低下,容易遗漏。本项目旨在代替人工,对网球进行全自动化的回收,节约人力、物力和时间成本,提高网球和羽毛球的训练效率。机器人先通过摄像头采集图像,接着进行基于机器视觉的目标检测、网球识别和定位,最后根据定位结果结合PID(Proportion Integration Differentiation)运动控制算法精准控制移动机器人回收网球。此外,机器人配有蓝牙模块,能够直接进行手动遥控控制。

  近年来随着人工智能技术的迅速发展与逐步的提升,服务型机器人慢慢的开始在生活中大范围的应用。迎宾机器人、扫地机器人、家教机器人等一系列服务型机器人已经在生活实践中取得了巨大成功。因此,人工智能技术与运动相互结合, 既满足了现代智慧城市的规划,又能使人们的生活变得更便利。网球运动是一项优美而充满竞技性的体育运动,其特有的魅力让世人喜爱。网球和高尔夫球一起享有“贵族运动”之称。在网球训练时,训练完成的场地内有大量网球有必要进行回收以便于训练使用以及场地的清洁,而且不被及时回收的地面上的网球还有可能被人不小心踩踏而发生滑倒。

  网球回收装置作为网球训练中常常使用到的工具,方便人们进行网球的回收。目前,市面上的网球回收机器装置相对较少,而且大部分都是手动的网球回收装置,本项目设计了一款网球自动回收机器人,能够最终靠摄像头对网球进行仔细的检测、定位以实现自动移动回收网球的功能,无需人工操控,具有回收效率高、方便快捷等优点。

  结合本项目的开发需求,画出了该机器人的原理框图,如图1 所示。本项目采用了模块化、一体化的设计思想,架构灵活、联合性高,能较大幅度地缩减电路板的体积。其中OpenMV 摄像头模块用于实时采集场地画面图像信息,完成对网球的识别定位,并通过串口将有关信息传输给嵌入式主控板。嵌入式主控板在接收到来自OpenMV 的信息后,将位置信息转化成运动轨迹,通过TB6612 电机驱动芯片驱动减速电机, 结合位置式PID 算法精确控制运动。执行机构为用于网球回收的滚轮,由两路减速电机负责推动。四路超声波大多数都用在规避障碍,分别安装在左前方、右前方、左后方和右后方,在遇到障碍时阻止机器人继续行进。霍尔传感器将电机的转速通过A、B 相的形式反馈给主控,主控使用两个硬件正交编码器进行解码,从而得到电机的转速,形成闭环电机控制管理系统。使用自制手机APP 能够最终靠蓝牙模块对机器人进行手动控制。供电电源采用航模电池,安全性能好、容量大、体积小,能很好地保证机器人的正常运行。

  本机器人嵌入式主控芯片采用STM32F429ZGT6,该芯片是一款基于ARM Cortex-M4 内核的高性能微控制器,带有180 MHz CPU,内部带有DSP、FPU 和正交编码器等资源。

  网球的识别定位通过摄像头采集图像信息实现,一般的摄像头仅能进行图像的采集,无法对图像做处理,OpenMV 是一款开源嵌入式视觉处理模块,可以轻轻松松完成机器视觉应用,可通过Python 脚本语言进行开发。OpenMV 搭载有STM32H743II ARM Cortex M7处理器, 其系统频率高达480 MHz, 拥有1 MBRAM,2 MB fl ash 闪存。OpenMV 模块默认摄像头配置为OV5640 感光元件处理2 592×1 944(5MP) 图像,在QVGA(320×240) 及以下分辨率时大多数简单算法可运行25~50 FPS。经过多方面考虑我们最终选择OpenMV作为视觉模块以定位网球与车身。

  避障模块使用的是超声波模块,使用超声波进行测距,测量精度最小能够达到2 mm,测量范围0.02~4 m,能够很好的满足使用需求。避障模块通过计算机器人与物体之间的距离进行避障。

  使用减速电机作为小车动力,通过读取霍尔传感器获得反馈进行PID 控制,以保证车轮转速的稳定,通过左右两电机的差速产生扭矩以实现转向功能。为避免发生意外,在小车周围使用四路超声波进行避障,以免发生撞车事故。

  蓝牙模块采用HC-05 蓝牙模块,HC-05 是一款高性能主从一体蓝牙串口模块,可以手机配对,该模块支持非常宽的波特率范围:4 800~1 382 400,可以很方便与单片机进行连接,使用非常灵活、方便。

  采用航模电池进行供电,电机驱动电源由电池提供,主控供电使用DC-DC 降压芯片tps5430 将电池电压转换为5 V 输出,再由线 V。

  回收机械结构常见为采用垂直压力和滚动压力两种,结合本装置的驱动特点使用滚动压力的传统网球回收轮做改造,依靠滚动压力与摩擦力将网球压入轮内,以达到回收网球的功能。

  如图2 所示,该机器人由主控、摄像头、驱动电机、蓝牙模块、超声波避障模块和回收机械装置组成。

  图3 是主程序流程图。机器人开启后,先会对视野前方进行网球识别,如果识别到单个网球,就将网球坐标与视野中心差值进行PID 计算,控制PWM 驱动电机进行移动进而对网球进行回收。当视野中有多个网球时进行多目标过滤优先回收距离最近的网球,当正前方视野没有网球后将缓慢旋转一圈检查场地,如果识别到网球将接着来进行回收,没检验测试到网球则将进入休眠模式,通过蓝牙能够直接进行手动控制。

  摄像头并非垂直对地面进行俯拍,是以一定角度对地面进行图像采集,如此会导致地面图像的投影在摄像头中发生梯形畸变,要进行梯形透视变换。梯形透视变换是将图片投影到一个新的视平面,是3D世界转换到2D图像的一种方式。通用的变换公式为:

  所以,给定透视变换对应的四对像素点坐标,即原图的坐标和变换后的坐标,联立公式可求得透视变换矩阵;反之,给定透视变换矩阵,即可对图像或像素点坐标完成透视变换。

  摄像头拍摄的图片作为图像数据来源,影响着后续各个处理步骤。因此要完成拍摄物体空间点到照片成像点之间的几何变换。即从世界坐标系的三维坐标转化到图像二维坐标中,从而获得所需要的参数。世界坐标系通过刚体变换和平移转换到相机坐标系,相机坐标系通过透视投影转换到图像像素坐标系,图像坐标系再转换成像素坐标系。坐标系间转换如图4 所示。

  式(3)为像素坐标与世界坐标的变换公式,右侧第一个矩阵为相机内参数矩阵,第二个矩阵为相机外参数矩阵。

  网球识别使用OpenMV 的IDE 的阈值选择工具,先对网球的颜色阈值进行获取,采用了Python 进行编程。图像框内在网球颜色阈值内的圆形目标标记外接矩形框,并将圆形目标中点与画面中点的差值供给控制MCU。

  当视野中出现两个及以上网球时,要对网球进行多目标过滤和多目标接近识别。找到轮廓后,将轮廓面积即小球在视野面积按从大到小排序,投影面积越大说明小球与机器人之间的距离越近,优先回收距离近的网球。

  网球的回收由两个电机驱动回收机械装置滚动前进产生的滚动压力以及摩擦力实现。

  为了实现对网球的准确、快速回收,主控芯片采用PID算法对I/O口输出的PWM波进行调制,主控芯片根据网球坐标与视野中心坐标的差值,进行PID控制器的计算,计算出最佳的PWM 占空比。通过设置定时器中断参数产生相同占空比的PWM 波对电机进行转速控制,通过对两个电机的转速差以及转向调节能轻松实现装置的前进、后退以及旋转。通过蓝牙能够正常的使用手机对机器人进行手动控制移动。

  在调试与测试过程中,发现最初采用亚克力搭建的连接结构薄弱,较容易形变。实测中,由于长时间使用,导致变形严重。所以,连接结构使用树脂材质进行重新打印。而且双轮驱动由于回收机械装置整体较大,旋转并不流畅,最好使用履带轮。PID 控制器的参数有必要进行多次调整和测试才可以做到较好的回收效果,积分I 的作用是消除静态误差,但是I 的存在可能会引起系统的震荡。实际中只使用了PD 调节,调节偏差快速变化时使调解量在最短的时间内得到强化调节,增大比例系数P,将加快系统的响应。但是过大的比例系数会使系统有较大的超调,并产生振荡,导致机器人抖动剧烈。

  本项目基于STM32 单片机和OpenMV 实现了网球的自动回收功能。经过测试,该机器人能够在网球场进行地面网球的回收,最终实物图如图5 所示。结合传统网球回收机械结构与机器人技术进行了创新设计,本系统运行高效稳定,具有很强的实用性。未来是机器人的时代,机器人将会更具独立性、更高效、更加智能,然而我们也将在机器人发展道路上进行更加深入、更加广阔的研究,力求为科学技术进步和发展作出贡献。

  [4] 刘火良,杨森.单 片机与嵌入式:STM32库开发实战指南[M].北京:机械工业出版社,2013.

  [6] 高宏伟.计算机双目立体视觉[M].北京:电子工业出版社,2012.