【2022研电赛】安谋科技企业命题一等奖:基于EAIDK-610的中国象棋机器人对弈系统
本文为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 |
PB8 | Z轴电机脉冲输出 | TIM4 |
PA9,PA10 | 程序下载调试 | USART1 |
PC13 | 程序运行指示 | 滴答时钟 |
PB3,PB4 | 电磁铁控制 | 普通I/O |
PB5 | 蜂鸣器 | 普通I/O |
PB13 | 主臂电机方向控制 | 普通I/O |
PB12 | 副臂电机方向控制 | 普通I/O |
PB14 | Z轴电机方向控制 | 普通I/O |
PB15 | 三轴电机使能控制 | 普通I/O |
PA2,PA3 | 上位机通信 | USART2 |
PB10,PB11 | SYN6288语音模块 | USART3 |
PB6,PB7 | OLED屏 | I2C(软件模拟) |
PA13,PA14 | SWD下载调试接口 | 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
上位机包括四个部分:
- 界面:显示摄像头处理结果,输出调试信息
- 象棋搜索算法:运行Elephantfish象棋搜索算法
- 图像处理:使用OpenCV及级联分类器识别棋子的位置及类别
- 串口通讯:负责上位机和下位机的通信
界面
象棋搜索算法
基于开源象棋算法Elephantfish进行改进,参考如下。
elephantfish: 一个只有124行的中国象棋引擎
图像处理
对于棋子位置的识别通过霍夫圆检测就可以完成,再通过文字区域的色块阈值来判断出棋子的颜色(红/黑),这样就可以完成常规开局对弈。因为象棋开局时每个棋子的位置是固定的,因此只需要判断出玩家走棋前后哪个棋子位置发生变化就可以判断出玩家走棋路线,但对残局对弈无能为力。
残局对弈在开局时不光要识别出棋子的位置,还要识别出是什么棋子。因此先采集各类棋子的图片,使用级联分类器训练出棋子分类模型,在残局对弈开始阶段确定每个棋子的位置及类别,之后的对弈都可参考常规开局。
视频展示
https://www.bilibili.com/video/BV1gt4y1u7NAwww.bilibili.com/video/BV1gt4y1u7NA
【2022研电赛】安谋科技企业命题一等奖:基于EAIDK-610的中国象棋机器人对弈系统相关推荐
- 【2022研电赛】安谋科技企业命题三等奖:基于自主跟随的无人结账一体化购物车
本文为2022年第十七届中国研究生电子设计竞赛安谋科技企业命题三等奖作品分享,参加极术社区的[有奖活动]分享2022研电赛作品扩大影响力,更有丰富电子礼品等你来领! 基于自主跟随的无人结账一体化购物车 ...
- 【2022研电赛】商业计划书赛道上海市一等奖:基于多目标排序预测控制的SL-qZSI光伏储能系统
本文为2022年第十七届中国研究生电子设计竞赛商业计划赛道上海赛区一等奖作品兼全国三等奖分享,参加极术社区的[有奖活动]分享2022研电赛作品扩大影响力,更有丰富电子礼品等你来领! 团队介绍 参赛单位 ...
- 【2022研电赛】商业赛华南区二等奖:Aurora:智能输液监测系统
本文为2022年第十七届中国研究生电子设计竞赛商业计划赛道华南赛区二等奖作品分享,参加极术社区的[有奖活动]分享2022研电赛作品扩大影响力,更有丰富电子礼品等你来领! 团队介绍 参赛单位:广西科技大 ...
- 2022 极术通讯-安谋科技迎来发展新机遇
导读:极术通讯引入行业媒体和技术社区.咨询机构优质内容,定期分享产业技术趋势与市场应用热点 芯方向 • MCU性能加速跑,为AIoT而生的Arm Cortex-M85到底有多强? 本文是集微网对安谋科 ...
- 【2022研电赛】商业计划书赛道华南区二等奖:基于机器视觉的智能驾驶辅助系统
本文为2022年第十七届中国研究生电子设计竞赛商业计划赛道华南赛区二等奖作品分享,参加极术社区的[有奖活动]分享2022研电赛作品扩大影响力,更有丰富电子礼品等你来领! 团队介绍 参赛单位:广西科技大 ...
- 2022 极术通讯-安谋科技“星辰”STAR-MC2处理器初探
导读:极术社区推出极术通讯,引入行业媒体和技术社区.咨询机构优质内容,定期分享产业技术趋势与市场应用热点. 芯方向 安谋科技"星辰" STAR-MC2处理器初探 本文为极术公开课回 ...
- 【2022研电赛】兆易创新杯全国二等奖:自动驾驶汽车路面目标智能检测系统
本文为2022年第十七届中国研究生电子设计竞赛兆易创新杯全国二等奖作品分享,参加极术社区的[有奖活动]分享2022研电赛作品扩大影响力,更有丰富电子礼品等你来领! 团队介绍 参赛单位:Guangxi ...
- 【2022研电赛】技术赛华南区一等奖:基于改进GoogLeNet的瘢痕色泽和血管分布评估系统
本文为2022年第十七届中国研究生设计大赛技术赛道华南赛区一等奖作品介绍,参加极术社区的[有奖活动]分享2022研电赛作品扩大影响力,更有丰富电子礼品等你来领! 团队介绍 参赛单位:广西科技大学 参赛 ...
- 【2022集创赛】安谋科技杯三等奖:基于ARM处理器的无线SoC设计
本篇文章是2022年第六届全国大学生集成电路创新创业大赛安谋科技杯三等奖作品分享,参加极术社区的**[有奖征集]分享你的2022集创赛作品,秀出作品风采**活动. 团队介绍 参赛单位:厦门大学 队伍名 ...
- 2022 极术通讯-安谋科技参与起草的PSA相关物联网终端安全标准介绍(电信终端产业协会发布)
首发极术社区.如对Arm相关技术感兴趣,欢迎私信 aijishu20加入技术微信群.导读:极术通讯引入行业媒体和技术社区.咨询机构优质内容,定期分享产业技术趋势与市场应用热点. 芯方向 • 安谋科技参 ...
最新文章
- 《LeetCode力扣练习》第39题 组合总和 Java
- Apache将整合Google Wave功能
- Sphinx+MySQL5.1x+SphinxSE+mmseg
- 移动端手机火狐浏览器全屏插件
- Oracle01877,Cognos错误:RQP-DEF-0177 执行操作“sqlOpenResult”(状态为“-28”)时出错...
- 分布式服务框架原来与实践 读书笔记一
- “加密解密专区”的“滚动”广告太老了
- 科学使用Live2D的方法
- MySQL影院管理系统_数据库三级项目(电影院管理系统)
- 【Qt编程】基于Qt的词典开发系列二--本地词典的设计
- 解决Word文档被锁,无法复制的问题
- 发布一个水晶报表的通用类:CrystalHelper
- 每日一个Linux命令之man命令
- 2015Astar百度之星初赛 1001 超级赛亚ACMer
- vggface2人脸识别数据集
- matlab 更换坐标轴_科学网—【Matlab】坐标轴的设置 - 叶瑞杰的博文
- 互联网日报 | 蔚来汽车股价年内涨幅近十倍;小米成立可穿戴部;恒大物业拟12月2日港交所上市...
- linux 查看硬盘信息
- 入坑QT3之安装之后的系统环境配置和程序打包过程------主要是程序打包之后出现各种文件缺失问题
- 利用python获取自己的qq群成员信息!