一、概述

迷你版阿尔法狗——基于\"树莓派Pico\"的五子棋AI对弈平台_算法_落子 文字写作

树莓派最新推出的Pico,基于其双核Arm Cortex M0+芯片RP2040。
比拟可创造,这一颗芯片,相较于传统的树莓派,更倾向一个做掌握的MCU单片机,其丰富的外设IO,风雅的构造,很难让人相信这也是树莓派系列。

该项目的想法是想突出Pico的掌握性能,同时又连续发挥树莓派现有的优秀生态环境的上风,放开胆子,两个方面的上风相结合。
打造一个五子棋AI对战系统,即:

(1)图像识别五子棋盘;

(2)与PC通讯调用干系算法和库,打算下一步落子;

(3)Pico通过IO掌握机器构造,放置棋子,实现真正意义上的人机对弈。

项目新意:

一方面,在软件编程上,可以基于该项目平台学习人工智能、深度学习干系的算法知识;另一方面,在硬件方面,可以学习IO掌握机器臂、调用摄像头等外设方面的硬件知识和技能。
该项目软硬相结合,后续再开拓、再学习的潜力较大。

五子棋的算法较围棋大略,也有较多现成的库可参考。
该项目就相称于一个迷你版的阿尔法狗。
听起来是不是很酷!

二、技能路线

1、图像识别

目前摄像头初步操持选用:OV7670摄像头(FIFO)

该摄像头集成度高,调用很大略,且有一定的实际工程履历作为参考。
该摄像头清晰度做图像识别已经足够。

在算法方面,采取较为成熟的Ganny算子边缘检测和图像灰度处理。
鉴于Pico资源有限,目前考虑Pico作为一个中继或者是做初步处理的功能。
紧张算法可以通过串口通讯将数据通报给PC端上位机,上位机打算后识别五子棋棋子坐标及其棋局情形。

2.下棋算法

下棋算法基于Python编程,发挥 Python强大的能力及生态。
初步可调用现有的一些五子棋算法,实现基本功能。

更进一步地,可以在此根本上,加入AI算法和深度学习,在PC端演习出一个五子棋AI,打算下一步落子。
该过程可开拓程度较高,后期可长久持续的优化开拓,可作为一个学习工具。

终极可以实现对弈对手难道选择:大略、中等、困难、寻衅AI等模式。

3.下棋实行

PC上位机打算得到下一步落子的位置坐标后,将信息通过串口传到Pico。
Pico通过IO口掌握机器臂构造,在棋盘相应位置放置五子棋。

为节省资源和担保落子的准确性,机器臂采取X-Y二维移动臂+放置臂两个构造组成

X-Y二维移动臂采取2个步进电机,占用4个IO;

放置臂采取2个舵机,占用4个IO;

为担保落子的准确性,提前输入并校准棋盘各坐标的位置(棋盘各坐标对应平面X-Y轴两个步进电机的迁徙改变量)

如有必要,可采取摄像头赞助识别落子位置,增加落子准确性。
形成闭环。

三、可行性与项目上风:

1.OV7670摄像头有利用履历,并有大量的现成资料;

2.机器臂的掌握有项目履历可参考;

3.五子棋算法有较多可参考的算法和资料,以及有干系的五子棋算法库可通过Python调用。
相对付围墙,五子棋算法大略,可学习性和实现性较强。

4.Pico 的外设掌握丰富:30GPIO管脚,16PWM通道,足以实现上述的掌握方面的哀求;树莓派及其基于microPython开拓为算法的深度开拓供应了强大的生态和资源,是其他单片机不可比拟的。

5.该项目平台打造之后,也是一个深入软硬件学习的平台。

(1)硬件方面:学习IO、机器臂掌握(掌握舵机、步进电机);摄像头调用;串口通讯等干系硬件知识。

(2)软件方面:除了Pico的片上编程之外,还能学习上位机编程、Python编程、AI算法、机器学习等深度的软件编程知识。
是一个人工智能的学习平台,可以用来不断演习和打磨五子棋AI模型。

这是一个迷你版的阿尔法狗,同时也是真正意义上和你面对面下棋的AI。