一、概述
树莓派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。
Linux 与 Unix的区别
朱立南出任联想控股总裁:柳传志最佳接班人吗
美能四探针电阻测试仪为您提供高效的产业化测量技术
上海地铁松江新城站景观照明工程即将完成
工业应用的自然语言理解和结构化知识
基于双核Arm Cortex M0+RP2040硬件开发
钙钛矿太阳能电池技术在稳定性方面实现了突破
【科普】什么是晶圆级封装
北方最大ITO靶材基地?淄博先导薄膜项目一期投产
互联网医疗让生活更加方便
iPhone 11/12不附赠充电头,该如何买充电头最划算?
iphone14有没有指纹解锁
48V-12V的DC/DC转换器电路原理,48V-12VDC-DCPOWER CONVERTER
电路设计基础知识——电容
友达光电于斯洛伐克新建欧洲制造据点,强化全球布局
魅族MX7什么时候上市?魅族MX7最新消息:魅族MX7外观、配置基本出炉,比魅族pro7还要惊艳你不期待?
SwitchLite正式发布 售价199美元
dfrobot七彩音乐旋转木马木质拼装互动模型简介
布线技巧一:网线回顾与基础
锐龙9 3900曝光 相比于锐龙9 3900X功耗从105W大幅降低至65W