Pico 比传统的 Pi 更注重控制。本项目充分发挥其控制力,结合传统树莓派的生态优势,打造西洋双陆棋AI游戏平台:图像识别棋盘、PC通信调用算法、IO口控制机械结构下棋。该平台可用于学习人工智能算法、机器学习以及机械臂和摄像头等硬件外围设备的使用。
1. 概述
Pi 的最新 Pico 基于其双核 Arm M0+ 芯片。对比可以发现,这款芯片相比于传统的树莓派,更倾向于单片机进行控制,凭借其丰富的外设IO和精致的结构,很难相信这也是树莓派系列。
该项目的思路是突出Pico的控制性能,同时继续利用树莓派现有的优良生态环境。构建西洋双陆棋AI对战系统,即:
(1)图像识别西洋双陆棋板;
(2)与PC通讯调用相关算法和库进行下一步计算;
(3)Pico通过IO控制机械结构,放置棋子,实现真正的人机博弈。
项目新颖性:
一方面,在软件编程方面,可以基于项目平台学习人工智能和深度学习相关的算法知识;另一方面,在硬件方面,可以学习IO控制机械臂、呼叫摄像头等外设的硬件知识和技能。该项目结合了软硬件,具有巨大的后续再开发和再学习潜力。
西洋双陆棋的算法比围棋的算法简单,还有更多现成的库可以参考。该项目相当于 Dog的微型版本。这听起来是不是很酷!
二、技术路线
1. 图像识别
目前,相机初步计划选择:相机(FIFO)。
相机集成度高,调用方便,具有一定的实际工程经验作为参考。相机的清晰度足以进行图像识别。
在算法方面,采用成熟的算子边缘检测和图像灰度处理。鉴于笔克资源有限,笔克目前被视为继电器或初步处理功能。主算法可以通过串行通信将数据传输到PC上位机,上位机在计算后会识别出五连棋棋子及其棋局的坐标。
2. 国际象棋算法
国际象棋算法以编程为基础,充分发挥其强大的能力和生态。最初,可以调用一些现有的西洋双陆棋算法来实现基本功能。
此外,在此基础上,可以添加AI算法和深度学习,在PC端训练西洋双陆棋AI,以计算下一步行动。这个过程可以发展到很高的程度,并且可以在后期长期不断优化和发展,并且可以作为学习工具。
最后,您可以在简单、中等、困难和具有挑战性的 AI 模式之间进行选择。
3.下棋执行
PC上位机计算出下一滴的位置坐标后,通过串口将信息传输给Pico。Pico通过IO端口控制机械臂的结构,并将西洋双陆棋放置在棋盘上的相应位置。
为了节约资源,保证落差的准确性,机械臂由X-Y二维动臂+放置臂两种结构组成
X-Y二维动臂采用2个步进电机,占用4个IO;
放置臂采用2个舵机,占用4个IO;
为了保证落棋的精度,提前输入并校准棋盘各坐标的位置(棋盘各坐标对应平面X-Y轴的两个步进电机的旋转)。
如有必要,可以使用相机来帮助识别跌落的位置,以提高跌落的准确性。形成闭环。
三、可行性和项目优势:
1、相机有使用经验,有大量现成材料;
2、机械臂的控制有项目经验供参考;
3.西洋双陆棋算法中可以参考的算法和材料很多,也可以调用相关的西洋双陆棋算法库。与墙相比,西洋双陆棋算法简单、可学习、可实施。
4、笔克的外设控制丰富:30*GPIO引脚,16*PWM通道,足以达到上述控制要求;树莓派及其基于开发的算法为算法的深度开发提供了强大的生态和资源,这是其他微控制器无法比拟的。
5、项目平台搭建好后,也是软硬件深度学习的平台。
(1)硬件:学习IO、机械臂控制(伺服控制、步进电机);串口通信等相关硬件知识。
(2)软件:除了笔克的片上编程外,您还可以学习深入的软件编程知识,例如上位机编程、编程、AI算法和机器学习。它是一个人工智能学习平台,可用于不断训练和打磨西洋双陆棋 AI 模型。
这是 Dog的微缩版,同时,它也是一个真正意义上的AI,可以和你下棋。