【2022研电赛】安谋科技企业命题一等奖:基于EAIDK-610的中国象棋机器人对弈系统
创始人
2024-01-17 04:47:13

本文为2022年第十七届中国研究生电子设计竞赛安谋科技企业命题一等奖作品分享,参加极术社区的【有奖活动】分享2022研电赛作品扩大影响力,更有丰富电子礼品等你来领!

基于EAIDK-610的中国象棋机器人对弈系统

参赛单位:西安邮电大学
指导老师:张恒山 赵凤
参赛队员:许家璇 高瑞 李永恒

作品简介

中国象棋是中华传统文化中最具有代表性的文化遗产,其历史源远流长。由于中国象棋具有很强的竞技性、益智性与娱乐性,在国内拥有大量的专业人士及业余爱好者。目前在市面上存在很多可在手机或电脑上运行的象棋软件,但老年人在使用电子产品方面普遍存在障碍,长期面对显示器也会对青少年的视力产生不良影响,因此我们团队将中国象棋与计算机视觉、人工智能、自动控制原理等技术相结合,实现一款可以与人对弈的中国象棋机器人,让更多人认识并学习这一文化瑰宝。

基于EAIDK-610的中国象棋机器人对弈系统由桌面式机械臂、磁性棋盘及棋子、STM32下位机控制系统、 EAIDK-610 开发套件组成。当用户走棋完成后,EAIDK-610通过摄像头采集棋局图像,获取玩家的走棋路线,并运行Elephantfish象棋搜索算法计算一步最优应对策略,下位机通过逆运动解算及梯形加减速算法控制机械臂快速移动棋子,完成一次对弈过程,并给予相应的语音提示。目前机器人已经实现了常规开局、残局对弈及语音提示功能,正在加入机器摆棋、棋局破解、语音对话等功能。该机器人体积小巧、响应速度快,功能丰富,用户体验将远远优于象棋软件及同类型的棋类机器人。

作品全貌

机械设计

机器人使用桌面式SCARA机械臂,参考T站模型链接:Desktop SCARA robot by YANG\_GT - Thingiverse

基于EAIDK-610的中国象棋机器人对弈系统3D模型,使用SolidWorks2016创建,非标件(橙色零部件)使用3D打印制作。

链接:https://pan.baidu.com/s/1wNpXbhwf3dRBQvftsIE5Qg
提取码:234k

下位机电路

AltiumDesigner16工程文件:

链接:https://pan.baidu.com/s/1I3_ZuyW63Es_l4B93szx8A
提取码:juro

下位机的主要功能是机械臂的运动控制,除此之外还有简单的人机交互界面(一个OLED显示屏,两个按键)、语音模块控制、与上位机的通信。

其中主控使用的是STM32F103C8T6,机械臂采用42步进电机驱动,驱动器是A4988,主控与驱动器之间使用光耦隔离。机械臂末端电磁铁使用一个H桥驱动,语音模块使用的是SYN6288,可通过串口接收文字,解码后播放语音。

STM32资源分配如下:

I/O引脚功能使用到的系统资源
PA0主臂电机脉冲输出TIM2
PB0副臂电机脉冲输出TIM3
PB8Z轴电机脉冲输出TIM4
PA9,PA10程序下载调试USART1
PC13程序运行指示滴答时钟
PB3,PB4电磁铁控制普通I/O
PB5蜂鸣器普通I/O
PB13主臂电机方向控制普通I/O
PB12副臂电机方向控制普通I/O
PB14Z轴电机方向控制普通I/O
PB15三轴电机使能控制普通I/O
PA2,PA3上位机通信USART2
PB10,PB11SYN6288语音模块USART3
PB6,PB7OLED屏I2C(软件模拟)
PA13,PA14SWD下载调试接口SWD
PA4,PA5,PA6,PA7预留SPI接口SPI(硬件)
PA11,PA12用户按键普通I/O

下位机程序设计

下位机源码下载地址(Keil5):

链接:https://pan.baidu.com/s/1bUcL7kNskY2Asv6L1yjL6w
提取码:if84

下位机的主要功能是机械臂的运动控制,包括两部分:逆运动解算电机加减速控制

SCARA机械臂为三轴,正运动指的是已知每个轴的角度,这时候机械臂的姿态就唯一确定了,其末端执行器的xyz坐标也确定了。在象棋对弈过程中需要控制机械臂移动到棋盘的某个坐标,逆运动解算就是根据输入的xyz坐标计算出机械臂每个轴的角度。

由于机械臂使用的是步进电机,主控向步进电机驱动器发送一个脉冲,步进电机就转动一个步距角,步进电机实际的运动方式是按照步距角“抖动”旋转,因此如果脉冲频率变化过快,比如在起动或刹车时,会产生丢步或过冲现象,机械臂运动便会出现误差。对电机加入一个加减速过程能够有效避免这种情况,合适的加速过程也能让步进电机运动至更高的速度,加快走棋速度,减少玩家等待时间。在象棋机器人中使用的是简单的梯形加减速,即根据每个轴旋转的角度、设置的加速度、最大速度三个参数来规划电机的加减速过程,可分为能加到最大速度(vt图像为梯形)和不能加到最大速度(vt图像为三角形)两种情况。

上位机开发

上位机代码链接:https://github.com/STM32xxx/Chinese-chess-robot-upper-computer.git

上位机包括四个部分:

  1. 界面:显示摄像头处理结果,输出调试信息
  2. 象棋搜索算法:运行Elephantfish象棋搜索算法
  3. 图像处理:使用OpenCV及级联分类器识别棋子的位置及类别
  4. 串口通讯:负责上位机和下位机的通信

界面

象棋搜索算法

基于开源象棋算法Elephantfish进行改进,参考如下。

elephantfish: 一个只有124行的中国象棋引擎

图像处理

对于棋子位置的识别通过霍夫圆检测就可以完成,再通过文字区域的色块阈值来判断出棋子的颜色(红/黑),这样就可以完成常规开局对弈。因为象棋开局时每个棋子的位置是固定的,因此只需要判断出玩家走棋前后哪个棋子位置发生变化就可以判断出玩家走棋路线,但对残局对弈无能为力。

残局对弈在开局时不光要识别出棋子的位置,还要识别出是什么棋子。因此先采集各类棋子的图片,使用级联分类器训练出棋子分类模型,在残局对弈开始阶段确定每个棋子的位置及类别,之后的对弈都可参考常规开局。

视频展示

https://www.bilibili.com/video/BV1gt4y1u7NA​www.bilibili.com/video/BV1gt4y1u7NA

相关内容

热门资讯

北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
阿西吧是什么意思 阿西吧相当于... 即使你没有受到过任何外语培训,你也懂四国语言。汉语:你好英语:Shit韩语:阿西吧(아,씨발! )日...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...