39| 8
|
[项目] 【Arduino 动手做】SCARA国际象棋机器人(核心框架推荐) |
Arduino是一个开放源码的电子原型平台,它可以让你用简单的硬件和软件来创建各种互动的项目。Arduino的核心是一个微控制器板,它可以通过一系列的引脚来连接各种传感器、执行器、显示器等外部设备。Arduino的编程是基于C/C++语言的,你可以使用Arduino IDE(集成开发环境)来编写、编译和上传代码到Arduino板上。Arduino还有一个丰富的库和社区,你可以利用它们来扩展Arduino的功能和学习Arduino的知识。 Arduino的特点是: 1、开放源码:Arduino的硬件和软件都是开放源码的,你可以自由地修改、复制和分享它们。 2、易用:Arduino的硬件和软件都是为初学者和非专业人士设计的,你可以轻松地上手和使用它们。 3、便宜:Arduino的硬件和软件都是非常经济的,你可以用很低的成本来实现你的想法。 4、多样:Arduino有多种型号和版本,你可以根据你的需要和喜好来选择合适的Arduino板。 5、创新:Arduino可以让你用电子的方式来表达你的创意和想象,你可以用Arduino来制作各种有趣和有用的项目,如机器人、智能家居、艺术装置等。 ![]() ![]() |
项目描述 我之前做了一个$ 笛卡尔下棋机械臂$ - 并且还想制作一个 3D 打印的 SCARA 手臂下棋。 它的工作原理是这样的: 人类下白棋,下棋。这是由视觉识别系统检测到的。然后机器人思考,然后开始行动。 等等...... 也许这个机器人最新颖的地方是移动识别的代码。 因为人类的动作被视觉系统识别,所以不需要特殊的棋盘硬件(例如簧片开关或其他任何东西)。 USB 或 IP 摄像头安装在棋盘的正上方。 大多数代码在 Raspberry Pi(或其他 Linux 或 Windows)上运行,并使用 Arduino 代码进行反向运动和步进电机控制。 ![]() |
## 硬件构建 机器人的 3D 打印机文件可以按照“代码”下的链接中指定免费获得。pyBot 手臂被我修改为具有更长的手臂组件并使用迷你夹持器。Jjrobots 对硬件和机器人组装进行了很好的描述。我们不使用他们的抓手、电子设备或软件。 因此,我们有一个 Raspberry Pi(或其他 Linux 或 Windows)通过打印机电缆连接到 Arduino。Arduino 上有一个 Ramps 1.4 板,用于通过 A4988 电机驱动板驱动电机。 步进电机具有非常高的精度和可重复性。 作为 Arduino 的 USB 连接的替代方案,该代码支持使用 HC-05 的蓝牙(不是 BLE)。 ## 移动机器人的软件 所有 Raspberry Pi 代码都是用 Python 3 编写的。 因此,我们有了代码,它将移动棋子、拿走棋子、城堡、支持 en passant 等等。 国际象棋引擎是 Stockfish - 它可以击败任何人!“Stockfish 是世界上最强大的国际象棋引擎之一。它也比最好的人类国际象棋特级大师强得多。 我使用 chessfortherapy.co.uk 中的一些代码来验证人类的移动并与 Stockfish 交互。我用于识别人类移动和移动 SCARA 机械臂的代码与此交互。 我使用 chessfortherapy.co.uk 中的一些代码来验证人类的移动并与 Stockfish 交互。我用于识别人类移动和移动 SCARA 机械臂的代码与此交互。 在 Arduino 上,I$ Nverse Kinematics 公司$ de 用于正确移动各种电机,以便可以移动棋子。此代码基于 ftobler 为他的笛卡尔机器人编写的代码,并由我为 SCARA 机器人修改。 识别人体移动的软件 这与我为我的$ 笛卡尔国际象棋机器人$ 编写的代码完全相同,所以请看那里的描述。 ## 其他注意事项 如果棋盘的颜色与棋子的颜色相去甚远,则算法效果最佳!在我的机器人中,棋子是灰白色和哑光黑色的,棋盘是用彩色打印机在薄卡上手工制作的。可以在视频中看到。 棋盘应该光线充足且光线均匀,棋子的阴影最小。光线不应从棋盘或棋子反射回相机。需要一张坚固的桌子。 我的代码包含用于轻松校准相机的例程。提供了鱼眼失真校准,IP 摄像机更可能需要校准。如果 USB 相机放置得足够远,通常没有它就可以了。 机器人很容易手动校准。我们在每场比赛开始时都以向左伸出的手臂(如视频中所示),这可以通过肉眼轻松对齐。高度也可以调整到正确的高度。 ![]() |
相关说明 可指导资料:https://create.arduino.cc/projec ... -chess-robot-a45793 Arduino 代码位于 https://github.com/rpd123/Arduino-Firmware Python 代码位于 https://github.com/rpd123/chess-robot 它使用迷你抓手: 不需要 https://www.thingiverse.com/thing:4394894/files manipulator.stl 这是针对 pyBot 的修改版本。原文见: https://www.jjrobots.com/scara-robotic-arm-assembly-guide/ 我们这里有 pyBot stlfiles。与原来的变化是具有更长的柄1和替换的柄2(以及不同的夹具)。 钻穿轮毂并使用更长的螺钉 较长的刀柄1 需要 400 毫米的皮带。 注意:此修改适用于下棋,其中负载非常轻。 这种修改允许 shank2 右转回对付 shank1,从而允许机器人站在棋盘旁边并到达近处和远处的方格。 布线 Shank1 从肩部到肘部,shank2 从肘部到抓手。 连接: X 控制器到移动 shank2 的电机 Y 控制器到移动柄 1 的电机 Z 控制器到电机,使机器人垂直移动 在此图中 ![]() 控制器从左到右依次为 X、Y、Z。 ![]() |
附录 项目链接:https://projecthub.arduino.cc/ricpd/scara-chess-robot-8bd1b9 项目作者:ricpd 项目视频(4分钟):https://www.youtube.com/watch?v=ddsYWAB58ho Stockfish 国际象棋引擎:https://stockfishchess.org/download/linux/ 项目代码: Arduino 代码位于 https://github.com/rpd123/Arduino-Firmware Python 代码位于 https://github.com/rpd123/chess-robot SCARA国际象棋机器人手臂,3D打印文件:https://github.com/rpd123/SCARA#readme ![]() |
19.88 KB, 下载次数: 0
6 MB, 下载次数: 0
6 MB, 下载次数: 0
© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed