智能捡球机器人的组成
北京四中机器人组制造的智能捡球机器人,依靠摄像头、红外传感器、光电传感器感知周围环境,综合运用PC图像识别、8051单片机编程、串口通信等技术,使机器人完全代替人在乒乓球运动员训练时一直捡球。
机器人对球工作范围的定位主要通过图像识别来完成。虽然题目叫“球检机器人”,但叫它“吸球机器人”更合适。因为“捡”的动作其实是靠风扇的负压来完成的。当乒乓球靠近吸球嘴时,一组光电传感器就会被触发。单片机感应到信号后,会启动风扇将集球盒内的空气抽出,乒乓球在气压的作用下被吸入集球盒内。除了负压吸球系统,机器人的硬件部分还包括:通过电磁继电器可调节仰角的摄像头,两套驱动DC电机,一台笔记本电脑,一个8051芯片,以及电路部分。
通过这两年加入机器人组所获得的经验,我们认为机器人能否实用,除了能顺利完成公式化的工作外,还应该能随机处理各种复杂的实际情况。为了在实用性上有所进步,除了通过图像识别技术对乒乓球进行精确定位,我们还在以下几个方面做了进一步的开发:
1.程序中创建了“数字墙”图形处理技术,机器人捡球的区域可以用丝带圈定。在每一步工作之前,机器人都会先判断自己是否走出了圈定的范围,如果是,就会自动回到圈内。这样做可以防止机器人走远去搜寻乒乓球。之所以称之为“数字墙”,是因为图形处理程序可以让机器人忽略渐暗带所圈定范围之外的所有物体,就好像在机器人面前筑起了一堵墙。“数字墙”技术是本作品最重要的创新和技术点。
2.我们在丝带的角上放了一个标有特殊颜色的浅底球盒。一旦机器人经过广泛搜索后认为圆圈内没有球,或者储球仓已满,它就会沿着丝带前进,最终找到纸盒,将球‘吐’入纸盒。
3.机器人前端有五个红外传感器和两个微动开关,由单片机时刻监控。一旦某个部件被触发,单片机立即调用相应的避障程序,从而实现机器人的受力。
4.为了满足各种场合的实际需要,我们在编程时设置了两种工作模式:第一种工作模式是启动后处于待机状态,只有当乒乓球出现在视野中时才会开始正常工作,捡球后再次进入待机状态,适用于场地小、乒乓球少的情况;在第二种工作模式下,没有待机状态,机器人会在开始和每次释放后继续大范围搜索场地,适用于场地大、乒乓球多的情况。
在具体使用中,你会看到智能捡球机器人的工作方式如下:如果设置为工作模式1,机器人启动后会先进入待机状态。在待机状态下,机器人会以“低头”和“抬头”的方式交替搜索附近和远处的乒乓球,一旦找到乒乓球,就进入正常工作状态。在正常工作状态下,PC机可以通过摄像头随时处理色带和乒乓球的位置和角度,向单片机发送转弯和前进的指令,单片机根据发送的协议完成各种工作。捡球时,“数字墙”程序可以计算出某个动作是否可能是机器人走出了丝带,一旦发现,就会让机器人走回丝带。当摄像头视野内没有乒乓球时,程序调用无球处理模块,机器人按照以下方式进行搜索:左转60度搜索-抬起摄像头再次搜索-右转60度再次搜索-回到原来的位置向前移动50 cm。如果靠近色带,根据与色带的角度选择最佳转向方向转向前进。如果在上述每个步骤中发现乒乓球,将立即执行捡球程序。当PC机记录的圈数达到四次时,机器人执行放球程序。首先机器人会前进到丝带附近,然后通过程序的处理,机器人会沿着丝带前进,直到看到纸盒的标记,机器人会原地转180度,然后倒车,直到看到另一个提示放球的标记,然后机器人会打开存球仓的后门,乒乓球会靠自身重力落入纸盒。完成工作后,两种工作模式会选择进入待机状态或者进入无球模块继续搜索。
智能捡球机器人可以看作是我们机器人团队成员两年来工作成果的一次全面展示。每个成员都为此付出了巨大的努力。通过这次经历,我们充分体会到了科研的艰辛,学以致用的满足,以及兴趣驱动的乐趣。可以说,无论比赛结果如何,我们都享受到了科研的快乐。