APP下载

基于图像识别的智能对弈机器人的设计与实现

2019-08-23周欣欣燕泽昊王广发

电子技术与软件工程 2019年13期
关键词:电磁铁图像识别棋子

文/周欣欣 燕泽昊 王广发

机器人技术是备受当今世界关注的前沿课题。近年来,机器人技术取得了巨大发展,已经对许多国家的国民经济和人民生活产生了重大影响。很多青少年都有做事精神不集中的问题,而老年人也有记忆力衰退,老年痴呆等问题。而下棋不仅可以提高他们的专注力,在观察对手状态的时候,也能提高记忆力、创造力和逻辑思维能力。因此,本文设计了一个关于井字棋的基于图像识别的智能对弈机器人。

1 总体设计方案

本系统的工作流程为:通过摄像头拍摄整个棋盘,在树莓派上使用OpenCV视觉库对图像进行处理,识别棋盘中的几何图形,运行博弈算法,解算AI落子位置。通过串口将指令发送给单片机MK60,实现主机与单片机MK60的通信。单片机通过PWM波控制机械臂,用电磁铁吸取棋子放到指定位置。智能对弈机器人系统结构和整体装置见图1和图2。

2 系统实现

2.1 电路实现

硬件部分主要由单片机核心电路、舵机驱动电路、电磁铁驱动电路、电源管理电路组成。

单片机电源管理电路由电源芯片LM2940-5.0和TPS7333级联组成。LM2940-5.0是输出电压固定的低压差三端稳压器,内含多种保护电路。TPS7333集成的精密电源电压监控器可对稳压器的输出电压进行监控,输出电流最大为500mA。单片机通过周期为 20ms 的 PWM 波驱动舵机转动指定角度。由于舵机的供电电压变化范围为 4~6.7V,为了使得舵机稳定工作,且电源电压得以统一,共使用两个LM2576构造5V 稳压电源给四个舵机供电。LM2576具有完善的保护电路,最大输出电流为3A。系统采用继电器控制电磁铁的开关,实现了对棋子的吸放。为防止电磁铁的电压反冲造成单片机的损坏,使用了一块光耦隔离芯片连接单片机与电磁铁。

2.2 软件实现

2.2.1 图像采集

树莓派通过usb免驱动摄像头采集图像,搭配Ubuntu操作系统及OpenCV视觉库对图像进行处理。OpenCV作为一个开源的计算机视觉开发包,有 400 多个免费的图像处理函数,覆盖了机器视觉的大多应用领域。

2.2.2 图像识别

我们运用机器学习KNN算法解决方框和棋子外形的识别问题。识别策略为先识别棋盘各个方框,然后再识别所在方框内的棋子的几何图案,由此得出棋盘布局。该方法在定类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别。通过欧氏距离计算对象间距离来作为各个对象之间的非相似性指标,避免了对象之间的匹配问题。在具体实现上,我们从采集的多个经过预处理的的二值图像,剪裁成20*20的图片,每个图案的样本数量为100~200张不等。

2.2.3 博弈处理

进行图像识别后,读出对手棋子位置,并采用博弈树极大极小值Alpha-Beta剪枝搜索算法计算落子位置。Alpha-Beta剪枝算法是基于极大极小搜索算法的。极大极小搜索策略是考虑双方对弈若干步之后,从可能的步中选一步相对好的走法来走,在有限的搜索范围内进行求解,可以理解为规定一个有限的搜索深度。

2.3 机械臂实现

机械臂主要由舵机、支架、碳纤杆、电磁铁组成。先将两个高压数字舵机CLS6036HV搭建为一个云台,利用碳纤杆连接数字舵机S-D5,考虑到机械臂的长度和重量,末端使用小型模拟SG90舵机连接电磁铁。本平台通过同时控制不同的舵机从而操控机械臂实现物体的搬运。

3 结语

随着人类生活水平的提高,各种类型的机器人需求随之出现,目前几乎已经渗透到生活的各个方面。本文针对使用在陪护娱乐方面的机器人进行了研究和系统开发,设计了一个能与孩子或老人对弈,具有陪护、启发智商、防止老年痴呆等多种功能的基于OpenCV图像识别的智能对弈机器人。本文设计的智能对弈机器人能够完成自主运行,达到实际控制要求。本方案在图像信息的处理、机械臂结构和游戏的多样性有改进和提升的空间,适用与老人与儿童,具有一定的社会经济效益。

图1:系统整体结构

图2:系统整体装置

猜你喜欢

电磁铁图像识别棋子
JB/T 10159—2019《交流本整湿式阀用电磁铁》解读
棋子多少颗
磁悬浮小车电磁铁优化设计
一种电磁铁吸取减速顶调整垫的工具
摆棋子
有趣的棋子
基于Resnet-50的猫狗图像识别
高速公路图像识别技术应用探讨
图像识别在物联网上的应用
图像识别在水质检测中的应用