基于视觉捕捉的网球自拾取机器人系统
2017-8-10 来源:江南大学 机械工程学院(江苏 无锡) 作者: 孙世俊 平雪良 曾庆钰 董涵清 官乐乐
摘 要: 为了规避网球比赛的风险,提高效率,开发了一套基于视觉捕捉的网球自动拾取机器人系统,由移动机器人平台搭载机械臂自由移动对散落在网球场地的网球进行侦测并拾取。采用基于 ARM 的硬件架构搭建移动机器人的控制系统平台,并通过网络控制接口与机器人平台上的图像采集与识别模块实现通信; 将视觉采集捕捉到的网球的位置信息传送给控制器,控制移动机器人移动定位,机械臂配合实现网球拾取。经模拟网球场运行证明设计方案可行,视觉的引入节省了大量的人力与时间。开发的网球自拾取机器人系统有很强的实用性,具有一定的推广意义。
关 键 词:移动机器人; 视觉捕捉; 网球识别定位; 机械臂
日常网球训练中,为了提高训练效果,减轻运动员和教练员的负担,在网球比赛中最大限度地规避球童受伤的风险,研究人员想到了用机器人来拾取网球。一般情况下,该技术主要包括以下内容:
①.机器人的路径规划。
路径规划技术是机器人控制技术研究中一个十分重要的问题,到目前为止,研究方法主要有传统方法和智能法 2 大类。传统的路径规划方法———自由空间法、图搜索法、删格解耦法和人工势场法等; 智能路径规划的方法———基于模糊逻辑的机器人路径规划和基于神经网络方法的机器人路径规划等[1-2]。
②.网球的定位问题,目前市场上机器人系统的目标定位多基于图像处理的方法[3-4],也有基于单目视觉的机器人定位方法[5],这些方法对图像处理的要求精度较高,算法也相对复杂,并不适用于普通工程技术人员的编程和操作,难以实现。
③.网球的抓取功能,目前市场上捡球机器人所采用的夹持器以虎钳式为主,夹持精度不高,运动效率低,而专业化的机械臂价格昂贵,功能多样化,可 以完 成 机 械臂在非特定环境下的自主抓取[6]。目前国内已有一部分可以拾取网球的机器人,但还没有基于真实环境的机型[7]; 现有的机器人采用的抓取方法主要以虎钳式为主,所用夹持器只有 2 ~ 3个自由度,自由度不高,作业半径小。国外现有的拾取网球机器人只能实现半自动化,无法独立自主找到散落的球并完成捡拾,而且因为体型过于庞大,无法运用于赛场。总体来说,国内外在通过移动平台捡拾网球上的技术还是不够成熟,提升空间很大,同时,它的市场前景又相当广阔[8]。针对以上存在的问题,本文在以往方法的基础上,改善网球自拾取过程的各个环节,提出一种基于视觉捕捉的网球自拾取方法,并设计整体方案,搭建物理样机,开发出一套造价低廉,控制精度较高,适用于市场的网球拾取机器人系统,即移动机器人与机械臂联合平台,并进行效果验证。
1. 总体方案设计
用机器人拾取网球,需要解决以下几个问题: ①机器人的路径规划问题; ②机器人定位问题,有了准确的定位,才能让移动机器人平台进行精确地导航; ③如何实现网球的抓取问题。目前国内的网球拾取机器人主要通过传感器获取网球的信息,利用嵌入式系统控制车身运动,搜寻网球并利用特殊的拾球机构拾取网球[9],拾取效率低,识别精度也不高。国外的网球拾取机器人功能结构复杂,造价昂贵,并不适用于市场的投放[10]。
本文利用一台全方位移动平台作为机器人框架的主体,系统利用红外传感器以及无刷电机的差速转动实现循迹,利用超声波传感器进行测距,并通过对收集到的数据信息进行处理与分析而实现避障,很好地解决了机器人的路径规划问题。针对机器人定位问题,本文采用图像识别模块作为定位传感器; 由于周围环境的杂色对机器人定位算法有一定的影响,通过分析几种常见的距离判断算法,经过实验,为机器人规划出一块确定的运动与识别区域实现了机器人的定位功能。针对网球的抓取,本文在移动机器人平台上搭载一个六自由度机械手( 为简化算法,本文只用了其中 3个自由度) ,根据图像识别模块得到的网球中心位置的 x,y 坐标值,计算出机械手各个关节抓取网球时需要转动的角度 θ,根据串口中读出的网球的宽度和高度计算出网球在图像中的面积,通过判断面积的大小,给机械臂发送抓取指令。具体方案如图 1 所示。
2 .视觉捕捉与抓取
2. 1 视觉捕捉机器视觉
由于精确、快速和可数字化等优点被广泛应用,其一般工作原理为: CCD 照相机摄取检测图象并转化为数字信号,再采用先进的计算机硬件与软件技术对图象数字信号进行处理,从而得到所需要的各种目标图象特征值,并由此实现模式识别、坐标计算、灰度分布图等多种功能。再根据其结果显示图象、输出数据、发出指令,配合执行机构完成位置调整、好坏筛选和数据统计等。
图 1 总体方案
Figure 1 Overall program
本文采用图像采集识别模块,该模块提供了 API函数供系统调用,通过识别网球的颜色( 灰度值) ,调用相应的函数可得到网球的宽度、高度、中心点的 x,y坐标。本文设定视窗捕捉范围 x 方向为 0 ~ 360 mm,y方向 0 ~ 200 mm,通过串口监视器可以观察到所获得的位置信息,如图 2 所示。
图 2 获得的位置信息
Figure 2 Position information obtained
2.2 自动抓取
图像处理后小车可以实现对网球的实时追踪。由于距离的不同,视野中各个网球的面积不是一个定值,网球与机器人距离较远时,计算得到的网球面积较小,距离较近时,计算得到的网球面积较大。通过计算识别得到网球的面积,同时判断小车与网球的距离,当网球面积达到设定值,调动机械手实现网球的抓取,如图3 ~ 4 所示。
图 3 抓取网球示意图
Figure 3 Crawl tennis schemati
图 4 运动原理图
Figure 4 Schematic of motion
3 .实验系统开发
3.1 硬件开发
为实现网球机器人在球场中的移动,本文参照自主研发的全方位移动平台,采用基于 ARM 的机器人控制硬件体系结构; 为了使机器人快速、准确地识别目标,采用高性能的图像采集识别模块; 网球抓取采用简易机械臂实现。机器人通过网络控制接口与移动平台上的图像采集与识别模块实现通信,将捕捉到的位置信息传输到系统控制移动平台,使机械臂实现移动定位和网球拾取。系统硬件主要由基于 ARM Cortex-M3 的 32 位微处理器 STM32F103ZET6 芯片组成,该芯片主频 72 MHz,拥有 256 k B Flash,48 k B SRAM,且外设资源丰富,拥有多种定时器,支持 SPI,I2C,USART,USB,CAN 等接口; 系统还选用 Pixy Cmu Cam5 图像识别模块并搭载了超声波传感器、红外传感器、蓝牙模块和 Wi Fi 控制模块等,机器 人 总 体 硬 件 结 构 如 图 5所示。
图 5 机器人硬件结构
Figure 5 Robot hardware structure
机器人移动平台选用两轮独立驱动方式,驱动电机为无刷直流电机,由 BLCD-5015A 驱动器控制,机械手选用 AREXX 的六自由度机械手,可实现多角度抓取( 本文仅用其中 3 个自由度; PixyCmuCam5 是一个开源的图像识别传感器,支持多物体多色彩的颜色识别,支持 SPI,I2C 等多种通信方式,其搭载的图像识别模块可以以 1 MB /s 的速度发送块 信息 给 ArduinoUNO 板,每秒可以发送超过6 000 个识别的物体或每帧 135 个被识别的物体。
3. 2 软件开发
本文软件的组成大体可以分为 3 个部分:
1) 基于 STM32 的移动机器人控制软件。主要解决机器人的路径规划、超声波壁障及 Wi Fi 和蓝牙控制等; 整个系统的工作模式是上位机通过 SPI 将无线模块 NRF24L01 接入 ARM 处理器,同时将摇杆 ADC 控制模块初始化。ARM 处理器可以对操作人员在液晶显示屏上输入的指令进行分析与识别,并将指令传送给下位,同时还可以通过 USART 串口与计算机通信。
2) 图像识别模块。通过 Pixy Cmu Cam5 摄像头可以直接获取网球的位置信息( 网球中心位置的 x 和 y坐标,被识别网球的宽度、高度) ,并将获取的信息通过 ISCP 通信端口发送到 Arduino IDE 开发板。
3) Arduino IDE 开发板与 STM32F103ZET6 芯片的通信。由于本文的 2 块开发板类型不同,故通过 ArduinoIDE 开发板的 TX,RX 通信端口实现 2 块板子的通信。图 6 为主程序流程图。
图 6 主程序流程图
Figure 6 Main program flow chart
3. 3 实验验证与分析
本文搭建了移动机器人样机,并在多种场合进行了测试,机器人可以精确地识别网球的位置并反馈给机械手; 在视野中如果没有发现网球,摄像头会自动调用子程序转动舵机寻找各个方位网球的位置,实现了网球的高效、精准地抓取,如图 7 ~ 8 所示。
图 7 成功捕捉到网球
Figure 7 Tennis successfully captured
图 8 实验室测试
Figure 8 Laboratory tests
虽然市面上已经出现网球捡拾机器人,但国内大多数是运用传感器进行识别,红外线进行定位,由于识别距离有限,响应速度有一定的延迟。国外运用高精度 CCD 摄像头进行识别的网球捡拾机器人,虽然精度高,但是价格昂贵,使用成本太高,不适合投入市场大量运用。而本文所搭建的机器人小车运用 的 PixyCmu Cam5 摄像头,价格适中,性价比高,并且可以做到快速识别。同时本文没有采用常规的真空吸取、依靠惯性等捡取网球的方式,而是运用了机械手,虽然增加了成本,但大大提高了捡球效率,可以高效而又精准地实现抓取动作。
4 .结语
本文设计开发的基于视觉捕捉的网球自动拾取机器人系统,解决了耗费人力资源而且人工捡球效率低的问题。在研究过程中,机器人的路径规划问题一直是一个难点。机器人在运行过程中有时会偏离运行轨迹,要提高机器人运动精度,需要软件和硬件协调配合,这在后期的工作中需要进一步加强。本系统具有广阔的应用前景,可以用在任意网球场地。经技术完善后,可以在标准化的网球场上的 4个角落放置 4 台机器人,组成一个捡拾网球的局域网系统,通过一个中央处理器计算整合,可高效而又准确地完成捡拾网球并退回原位等一系列动作。
参考文献:
[1] 张颖,吴成东,原宝龙. 机器人路径规划方法综述[J]. 控制工程,2003,10( 增刊 1) : 152 - 155
[2] 赵晓东,鲍方. 清洁机器人路径规划算法研究综述[J]. 机电工程,2013,30( 11) : 1440 - 1444.
[3] 张俊强,张华. 基于图像处理的移动机器人对目标的识别和定位[J]. 计算机测量与控制,2006,14( 5) : 673 - 675.
[4] 彭惠青,李海燕. 机器人视觉定位的图像处理[J]. 计算技术与自动化,2004,23( 1) : 74 - 76.
[5] 于乃功,黄灿,林佳. 基于单目视觉的机器人目标定位测距方法研究[J]. 计算机测量与控制,2012,20( 10) : 2654 - 2656.
[6韩峥,刘华平,黄文炳,等. 基于 Kinect 的机械臂目标抓取[J]. 智能系统学报,2013,8( 2) : 149 - 155.
[7] 席泽生. 网球场捡球机器人系统设计[J]. 机械制造与自动化,2012,41( 2) : 140 - 141.
[8] 唐莹. 智能网球拾取机器人的市场分析: 以创睿智能网球机器人有限公司为例[J]. 职业,2012( 17) : 148 - 149.
[9] 于刚,唐小川. 智能拾取网球机器人[C]/ /第二届全国大学生创新论坛论文集. 南京: 东南大学出版社,2009.
[10] MAO Yanbing. Design of tennis picking intelligent robot orientationsystem[J]. Machine building & automation,2009,38( 2) : 54.
投稿箱:
如果您有机床行业、企业相关新闻稿件发表,或进行资讯合作,欢迎联系本网编辑部, 邮箱:skjcsc@vip.sina.com
如果您有机床行业、企业相关新闻稿件发表,或进行资讯合作,欢迎联系本网编辑部, 邮箱:skjcsc@vip.sina.com
更多相关信息