2 人机对弈的实现的技术框架

本文介绍了如何构建人机对弈系统,通过机器人替代对手进行棋类游戏。利用摄像头监控棋盘,结合高算力的五子棋软件作为机器人思考引擎。机器人运动控制涉及坐标标定和程序编写,而机器视觉部分使用Halcon进行图像处理,确保准确识别棋盘状态。通过TCP/IP通讯协议实现上位机与机器人控制器的交互。
摘要由CSDN通过智能技术生成

用机器人替代对手

要想实现人机对弈,也就是将机器人变成对手,那么我们需要先分析对手的特点。很简单。
首先,对手有手,能够取子,也能够落子;
于是,通过与机器人通讯,修改机器人的数字寄存器,即R寄存器,R[1]表示用户坐标系的X坐标值,R[2]表示用户坐标系的Y坐标系,即落子点,这些都是落子点的坐标,为了简化,取子点的坐标为固定点。
其次,对手有眼睛,能够看清楚局势;
于是,采用微软的lifecam studio摄像头来监视真实棋盘,在电脑端用winapi实现游戏棋盘的监视(截图)。
最后,对手有聪明的大脑,能够思考。
状况1,电脑端的游戏棋盘有(8,8,黑子)、(8,9,白子),真实棋盘棋盘有(8,9,白子),显然,真实棋盘缺少(8,8,黑子),那么,机器人需要在(8,8)坐标放置黑子,此时机器人动作,代表对手落子。
状况2,电脑端的游戏棋盘有(8,8,黑子),真实棋盘棋盘有(8,8,黑子)、(8,9,白子),显然,游戏棋盘缺少(8,9,黑子),那么,需要在电脑游戏棋盘(8,8)坐标放置白子,此时鼠标自动动作,代表我们落子。

高算力的五子棋软件

能够实现五子棋算法的软件有很多,甚至有很多都是开源的,在github上有很多,csdn上也有不少。在这里,笔者不想在算法上做过多的思考,直接用到了可谓是五子棋终极版的软件,用来做为机器人的思考引擎。原官网www.bf92.com已经挂了,https://www.crsky.com/soft/14176.html可以下载。
![在这里插入图片描述](https://img-blog.csdnimg.cn/在这里插入图片描述

机器人的运动控制

机器人的运动控制需要设计到用户坐标系的标定、工具坐标系的标定,用户坐标系即真实棋盘的坐标系,一般设于左下角;工具坐标系即吸盘的坐标系,标定成功后,得出其与机器人法兰盘中心点坐标系的位姿,包括X,Y,Z,W,P,R六个参数。随后还要需要编写机器人程序,包括取子子程序,落子子程序,以及主函数,主函数包括两个参数,用Ar寄存器,其中Ar[1]表示用户坐标系的X坐标的偏移倍数,Ar[2]表示用户坐标系Y坐标的偏移倍数。
以上相当于机器人端的程序,那么在上位机端也需要编写对应的程序,笔者编写了一个调试程序,可以用作独立的机器人的运动控制验证实验,从而让读者能够掌握原理,举一反三。调试程序充当客户端,机器人充当服务器,使用TCP/IP的通讯协议,那么需要在机器人端配置好IP地址,如192.168.0.1,调试软件则需配置IP为同一网段的IP,如192168.0.10。调试软件可以连接到机器人控制器,可以直接修改机器人的数字寄存器R,然后复制给AR寄存器,从而得以机器人的(在棋盘用户坐标系中)运动控制。

机器视觉

机器视觉软件,使用的是halcon。其功能强大,可以满足绝大部分的工程实践应用。在笔者的人机对弈实现项目中,相机倾斜着拍摄棋盘,所以需要用到投影变换,以改变视角从倾斜到垂直。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晨鹿视觉工程师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值