| 姓名 | 学号 | 专业 |
|---|---|---|
| 高鹏 | 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就足够聪明了。
camera内是需要放进摄像头SD卡的文件chessboard.svg除外,这个是棋盘的图片,如果要完整部署的话需要把这个棋盘用A3大小彩印出来
chessmaster是STM32板子的工程文件,使用方法见下“部署方式”展示视频.mp4展示了项目基本信息和演示,这个文件太大了,在Github上是以LFS形式传的,所以还请除了老师之外的其他人不要clone我的整个项目,把我的每月仅有10G的LFS宽带留给老师。如果其他人需要看演示视频可以查看同济云盘。
https://yunpan.tongji.edu.cn/link/AA09B145CF68F64299AC94534BF85F459D
文件名:高鹏2453987_邵皓东2452307_余昊阳2453375.zip
有效期限:2027-07-01 00:11
提取码:N3h7
课题报告.pdf是课题报告,由ai辅助撰写,介绍了项目的主要技术点和做项目过程中遇到的问题及解决方案。
分别完成板端和摄像头端的部署
- 使用STM32CubeIDE打开
\chessmaster\.project,在IDE里build CM7和CM4两个项目;将板子的ST-Link调试器连上电脑;最后在IDE里分别右键CM4和CM7,选择Run as,然后点击你的板子就可以下载到板载flash里了。 - 使用OpenART mini摄像头(或者其他自带MCU且使用micropython的有UART口的摄像头,如OpenMVcamH7),把
camera下的除了chessboard.svg之外的所有文件拷进摄像头的SD卡里即可。 - 连接二者,将摄像头的UART口的TX接到STM32板子上的RX(MCU引脚PJ9, 丝印为D0),摄像头UART的RX(板子的TX)可以不用接,5V和GND随便找板子背后的一组5V和GND对应接上就行,我接的是CN8的5和6。 然后打开板子的开关就可以开始运行了。