Skip to content

GaoPeng415/ChessMaster

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

《嵌入式系统》课程大作业ChessMaster

小组成员

姓名 学号 专业
高鹏 2453987 人工智能
邵皓东 2452307 人工智能
余昊阳 2453375 自动化

项目介绍

这是一个下棋的智能体,通过OpenART mini摄像头接收棋盘信息,在STM32H747XI的Cortex7上推理,将最好的下法返回显示在屏幕上。

设想使用场景为:A与B对弈,A执白棋使用该板子,B执黑棋,对弈时A在AI的帮助下,B每下一手后通过显示屏读取当前最好下法,就可以轻松战胜B啦。

展示视频里两次对弈,第一次开启搜索步数为2,虽然AI反应很快但是笨笨的,都被我打败了;第二次长局时开了搜索步骤为4,最终我也是不敌AI。搜索深度的限制可以在.\chessmaster\CM7\Core\Src\gomoku_mcu.c中修改GOMOKU_MAX_DEPTH后修改.\chessmaster\CM7\Core\Src\gomoku_uart_shell.c中的

static int ai_depth = 4;

不过随着搜索步数增长ai虽然会更聪明,但是用时会指数增长,且再往后边际收益不高,ai_depth=4就足够聪明了。

文件说明

  1. camera内是需要放进摄像头SD卡的文件
    • chessboard.svg除外,这个是棋盘的图片,如果要完整部署的话需要把这个棋盘用A3大小彩印出来
  2. chessmaster是STM32板子的工程文件,使用方法见下“部署方式”
  3. 展示视频.mp4展示了项目基本信息和演示,这个文件太大了,在Github上是以LFS形式传的,所以还请除了老师之外的其他人不要clone我的整个项目,把我的每月仅有10G的LFS宽带留给老师。如果其他人需要看演示视频可以查看同济云盘。

https://yunpan.tongji.edu.cn/link/AA09B145CF68F64299AC94534BF85F459D

文件名:高鹏2453987_邵皓东2452307_余昊阳2453375.zip

有效期限:2027-07-01 00:11

提取码:N3h7

  1. 课题报告.pdf是课题报告,由ai辅助撰写,介绍了项目的主要技术点和做项目过程中遇到的问题及解决方案。

部署方式

分别完成板端和摄像头端的部署

  1. 使用STM32CubeIDE打开\chessmaster\.project,在IDE里build CM7和CM4两个项目;将板子的ST-Link调试器连上电脑;最后在IDE里分别右键CM4和CM7,选择Run as,然后点击你的板子就可以下载到板载flash里了。
  2. 使用OpenART mini摄像头(或者其他自带MCU且使用micropython的有UART口的摄像头,如OpenMVcamH7),把camera下的除了chessboard.svg之外的所有文件拷进摄像头的SD卡里即可。
  3. 连接二者,将摄像头的UART口的TX接到STM32板子上的RX(MCU引脚PJ9, 丝印为D0),摄像头UART的RX(板子的TX)可以不用接,5V和GND随便找板子背后的一组5V和GND对应接上就行,我接的是CN8的5和6。 然后打开板子的开关就可以开始运行了。

About

同济大学《嵌入式系统》课程大作业,ChessMaster五子棋人机对弈系统。小组成员:高鹏2453987,邵皓东2452307,余昊阳2453375。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages