象棋机器人编程与硬件实现

本系列文章是由课题组的小作品记录而发的,共3个人一起完成,我只重点阐述我做的部分,其他人完成的,我只进行简要概述。
本章只做简介
工程代码放在此处:https://github.com/darkfan-cheese/Chinese-chess-robot
我们实现的效果是,在系统开机准备完成后,玩家走一步棋,点击界面的结束行棋,摄像头进行走棋识别,进行决策,抓取棋子行棋。

硬件准备

首先呢,肯定需要一个机械臂用于抓取棋子,一般淘宝上不到2k的基本够用了,我们使用的是幻尔售价2k的机械臂(含树莓派),这样的机械臂基本都是玩具,精度比较低,不过麻雀虽小,五脏俱全,足够了。有更合适的,那种3、4个自由度的,这样的更稳。

第二个硬件,则是摄像头,毕竟是需要进行拍摄棋盘的,这里最好再配一个架子,用来从棋盘顶部摄像。我们直接自己打印了一个架子,毕竟这样就稳很多了,之前用的组装的,对识别效果影响很大。

再有必须的硬件就是象棋与棋盘了,这只需要注意准备整个棋盘机械臂都能抓到的,棋盘我们后来自己画了个合适的。

另外我们还自己设计了一个界面,使用树莓派的显示器进行交互,这不是必须的。

从正上方拍摄的棋盘:

java象棋机器人算法 中国象棋机器人_团队开发

前期做的演示视频截图(棋盘还没换,最右边两列抓不到):

java象棋机器人算法 中国象棋机器人_python_02


我们的机械臂放在了一个小车上做为支架,任意就行,不要随便移动。