[发明专利]一种人机对弈五子棋机器人控制方法在审
申请号: | 201610863757.2 | 申请日: | 2016-09-29 |
公开(公告)号: | CN106426165A | 公开(公告)日: | 2017-02-22 |
发明(设计)人: | 党宏社;张超;刘芳芳;王晓庄;侯金良 | 申请(专利权)人: | 陕西科技大学 |
主分类号: | B25J9/16 | 分类号: | B25J9/16 |
代理公司: | 西安智大知识产权代理事务所61215 | 代理人: | 段俊涛 |
地址: | 710021 陕西省*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 一种人机对弈五子棋机器人控制方法,首先,通过相机获取棋盘图像,并计算得到每个棋子放置点的坐标;其次通过相机获取当前图像,判断若有连成五个的白色棋子,则白方获胜,游戏结束;若没有,则获取人移动棋子之后的图像,判断若有连成五个的黑色棋子,则黑方获胜,游戏结束;若没有,则将两幅图像的对应位置的像素值相减,得到移动棋子的图像,并得到移动棋子坐标,将坐标信息送给机器人并利用下棋算法做判断,移动下一个棋子,并进行循环操作;本发明具有检测速度快、准确度高的特点。 | ||
搜索关键词: | 一种 人机 对弈 五子棋 机器人 控制 方法 | ||
【主权项】:
一种人机对弈五子棋机器人控制方法,其特征在于,具体实施步骤如下:Step 1、通过相机(3)拍照获取整个空棋盘(2)的图像,获得棋盘四个顶点的坐标,即为A(x1,y1),B(x2,y2),C(x3,y3),D(x4,y4),并计算得到棋盘的边长为L=x2‑x1;假设人为黑色棋子,机器人(1)为白色棋子,且人为先下者;Step 2、标准五子棋棋盘为15*15的正方形,共有225个交叉点,因此棋盘格的边长为a=L/16;棋盘(2)中任意一点的坐标为(x1+n*a,y1+m*a),n为棋子所在列数,m为棋子所在行数;Step 3、通过相机(3)进行拍照获取当前图像,记为Image 1;Step 4、对Image 1检测判断在横向、纵向、斜方向是否有连成五个的白色棋子;若有,则白方获胜,游戏结束;若没有,则进行Step 5;Step 5、等待人移动一个棋子之后,通过相机(3)拍照获取当前图像,并进行预处理,记为Image2;Step 6、对Image 2检测判断在横向、纵向、斜方向是否有连成五个的黑色棋子;若有,则黑方获胜,游戏结束;若没有,则进行Step 7;Step 7、将Image 2图像上的第k个点的灰度值I2(k)与Image 1图像上的第k个点的灰度值I1(k)对应相减得到I(k):I(k)=I2(k)‑I1(k);Step8、将像素值I(k)与阈值σ进行比较,若I(k)≥σ,则像素值G(k)=0;若I(k)<σ,则G(k)=255,得到二值化图像Image 3,图像中只有人移动了的黑色棋子:G(k)=0I(k)≥σ255I(k)<σ;]]>Step 9、计算Image 3在区间[y1,y3]和[x1,x2]的垂直和水平像素灰度积分函数分别为V(x)和H(y),I(x,y)为Image 3中像素点的灰度值:V(x)=Σy1y3I(x,y);]]>H(y)=Σx1x2I(x,y);]]>Step 10、找到V(x)的极大值点即为棋子的横坐标x0,找到H(y)的极大值点即为棋子的纵坐标y0,并利用公式求出黑色棋子所在的列n=(x0‑x1)/a和行m=(y0‑y1)/a;Step 11、根据棋子位置(n,m)和下棋算法,得出最佳落子位置(p,q),并利用公式计算出最佳落子的坐标(x1+p*a,y1+q*a),记为Position 2,并传送给机器人(1);Step 12、机器人(1)利用吸盘在棋子盒里吸起一个白色棋子,放到Position 2处;Step 13、放置完成后,机器人(1)移动到初始位置Position 0处;再循环进行Step 3,直到游戏结束。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于陕西科技大学,未经陕西科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610863757.2/,转载请声明来源钻瓜专利网。