百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术分析 > 正文

迷你版阿尔法狗——基于"树莓派Pico"的五子棋AI对弈平台

liebian365 2024-10-14 22:13 7 浏览 0 评论

Pico相比于传统树莓派,更偏向控制。本项目充分发挥其控制,并结合传统树莓派生态优势,打造一个五子棋AI对弈平台:图像识别棋盘、PC通讯调用算法、IO口控制机械结构下棋。该平台可用来学习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 的外设控制丰富:30*GPIO管脚,16*PWM通道,足以实现上述的控制方面的要求;树莓派及其基于microPython开发为算法的深度开发提供了强大的生态和资源,是其他单片机不可比拟的。

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

(1)硬件方面:学习IO、机械臂控制(控制舵机、步进电机);摄像头调用;串口通讯等相关硬件知识。

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

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

相关推荐

快递查询教程,批量查询物流,一键管理快递

作为商家,每天需要查询许许多多的快递单号,面对不同的快递公司,有没有简单一点的物流查询方法呢?小编的回答当然是有的,下面随小编一起来试试这个新技巧。需要哪些工具?安装一个快递批量查询高手快递单号怎么快...

一键自动查询所有快递的物流信息 支持圆通、韵达等多家快递

对于各位商家来说拥有一个好的快递软件,能够有效的提高自己的工作效率,在管理快递单号的时候都需要对单号进行表格整理,那怎么样能够快速的查询所有单号信息,并自动生成表格呢?1、其实方法很简单,我们不需要一...

快递查询单号查询,怎么查物流到哪了

输入单号怎么查快递到哪里去了呢?今天小编给大家分享一个新的技巧,它支持多家快递,一次能查询多个单号物流,还可对查询到的物流进行分析、筛选以及导出,下面一起来试试。需要哪些工具?安装一个快递批量查询高手...

3分钟查询物流,教你一键批量查询全部物流信息

很多朋友在问,如何在短时间内把单号的物流信息查询出来,查询完成后筛选已签收件、筛选未签收件,今天小编就分享一款物流查询神器,感兴趣的朋友接着往下看。第一步,运行【快递批量查询高手】在主界面中点击【添...

快递单号查询,一次性查询全部物流信息

现在各种快递的查询方式,各有各的好,各有各的劣,总的来说,还是有比较方便的。今天小编就给大家分享一个新的技巧,支持多家快递,一次能查询多个单号的物流,还能对查询到的物流进行分析、筛选以及导出,下面一起...

快递查询工具,批量查询多个快递快递单号的物流状态、签收时间

最近有朋友在问,怎么快速查询单号的物流信息呢?除了官网,还有没有更简单的方法呢?小编的回答当然是有的,下面一起来看看。需要哪些工具?安装一个快递批量查询高手多个京东的快递单号怎么快速查询?进入快递批量...

快递查询软件,自动识别查询快递单号查询方法

当你拥有多个快递单号的时候,该如何快速查询物流信息?比如单号没有快递公司时,又该如何自动识别再去查询呢?不知道如何操作的宝贝们,下面随小编一起来试试。需要哪些工具?安装一个快递批量查询高手快递单号若干...

教你怎样查询快递查询单号并保存物流信息

商家发货,快递揽收后,一般会直接手动复制到官网上一个个查询物流,那么久而久之,就会觉得查询变得特别繁琐,今天小编给大家分享一个新的技巧,下面一起来试试。教程之前,我们来预览一下用快递批量查询高手...

简单几步骤查询所有快递物流信息

在高峰期订单量大的时候,可能需要一双手当十双手去查询快递物流,但是由于逐一去查询,效率极低,追踪困难。那么今天小编给大家分享一个新的技巧,一次能查询多个快递单号的物流,下面一起来学习一下,希望能给大家...

物流单号查询,如何查询快递信息,按最后更新时间搜索需要的单号

最近有很多朋友在问,如何通过快递单号查询物流信息,并按最后更新时间搜索出需要的单号呢?下面随小编一起来试试吧。需要哪些工具?安装一个快递批量查询高手快递单号若干怎么快速查询?运行【快递批量查询高手】...

连续保存新单号功能解析,导入单号查询并自动识别批量查快递信息

快递查询已经成为我们日常生活中不可或缺的一部分。然而,面对海量的快递单号,如何高效、准确地查询每一个快递的物流信息,成为了许多人头疼的问题。幸运的是,随着科技的进步,一款名为“快递批量查询高手”的软件...

快递查询教程,快递单号查询,筛选更新量为1的单号

最近有很多朋友在问,怎么快速查询快递单号的物流,并筛选出更新量为1的单号呢?今天小编给大家分享一个新方法,一起来试试吧。需要哪些工具?安装一个快递批量查询高手多个快递单号怎么快速查询?运行【快递批量查...

掌握批量查询快递动态的技巧,一键查找无信息记录的两种方法解析

在快节奏的商业环境中,高效的物流查询是确保业务顺畅运行的关键。作为快递查询达人,我深知时间的宝贵,因此,今天我将向大家介绍一款强大的工具——快递批量查询高手软件。这款软件能够帮助你批量查询快递动态,一...

从复杂到简单的单号查询,一键清除单号中的符号并批量查快递信息

在繁忙的商务与日常生活中,快递查询已成为不可或缺的一环。然而,面对海量的单号,逐一查询不仅耗时费力,还容易出错。现在,有了快递批量查询高手软件,一切变得简单明了。只需一键,即可搞定单号查询,一键处理单...

物流单号查询,在哪里查询快递

如果在快递单号多的情况,你还在一个个复制粘贴到官网上手动查询,是一件非常麻烦的事情。于是乎今天小编给大家分享一个新的技巧,下面一起来试试。需要哪些工具?安装一个快递批量查询高手快递单号怎么快速查询?...

取消回复欢迎 发表评论: