RobotArm OpenMV 机械臂 — 24 年电赛 E 题教程
视频教程参考:星瞳科技 OpenMV - RobotArm机械臂 24 年电赛 E 题教程!
1. 简介
本教程演示如何使用 OpenMV 摄像头配合机械臂,完成 2024 年全国大学生电子设计竞赛 E 题相关任务。
项目代码库:OpenMV-Robot-Arm-Project-Problem E of the 2024
2. 所需文件与资源
本历程包含以下文件:
chess.py:三子棋解算代码(用于判断走棋与胜负)color_model.tflite与labels_color.txt:棋子识别的分类模型与标签move.py:机械臂抓取与放置动作代码main.py:本历程的主程序,负责流程调度与按键交互Robot_Arm.py:机械臂控制模块- 场景地图(PDF):请将地图打印为 A4 纸并放置于桌面作为棋盘参考

3. 夹具说明
本例程使用电磁铁夹具(具体夹具更换教程请参考三子棋教程视频):

4. 场景准备
将机械臂放置于地图方框中央,机械臂底座与方框对齐:

将棋盘放置于 A4 纸九宫格上方:

棋子摆放说明:白棋放左侧,黑棋放右侧:

5. OpenMV 代码调试与校准
将
chess.py、color_model.tflite、labels_color.txt、move.py、main.py复制到 OpenMV 的 SD 卡目录,运行main.py。摄像头视角调整:上电运行并复位机械臂后,按下
7号按键进入摄像头校准模式。若识别框出现偏移,请参考下列参数进行微调:
# 九宫格参数配置
distance = 50 # 九宫格中每个方格的间距(像素)
block = 32 # 每个检测区域的边长(像素)
ShiftX = 27 # 九宫格整体在 X 轴的偏移量(像素)
ShiftY = -3 # 九宫格整体在 Y 轴的偏移量(像素)
调整以上 4 个参数,使检测框与棋盘九宫格对齐:

6. 程序运行说明(电赛题各问触发键)
E题第1问
- 运行
main.py,按1键执行 24 年电赛第 1 问。
E题第2问
运行
main.py,按2键执行 24 年电赛第 2 问:- 第 1 个黑棋:按
0-9任意一个按键,机械臂抓取第 1 个黑棋并放置到指定方格 - 第 2 个黑棋:按
0-9任意一个按键,机械臂抓取第 2 个黑棋并放置到指定方格 - 第 1 个白棋:按
0-9任意一个按键,机械臂抓取第 1 个白棋并放置到指定方格 - 第 2 个白棋:按
0-9任意一个按键,机械臂抓取第 2 个白棋并放置到指定方格
- 第 1 个黑棋:按
E题第3问
将棋盘旋转 45°,运行
main.py,按3键执行 24 年电赛第 3 问:- 按
0-9选择方格并抓取/放置第 1 与第 2 个黑棋与白棋,流程与问题 2 类似
- 按
E题第4问
运行
main.py,按4键执行 24 年电赛第 4 问;再次按下
0-9中任意一个按键,为第一颗黑棋选择第一步方格。

E题第5问
- 运行
main.py,按5键执行 24 年电赛第 5 问。

E题第6问
运行
main.py,按6键执行 24 年电赛第 6 问:- 再次按下
0-9中任意一个按键,为第一颗黑棋选择第一步方格 - 用户下白棋后,机械臂移动一个黑棋
- 用户按键告知机械臂用户走棋完毕
- 机械臂自动将黑棋移回原位
- 再次按下

7. 核心说明与问题解决
本例程基于三子棋示例,在原有功能基础上添加了电赛题所需的新任务和流程。核心逻辑与识别方案、棋盘 ROI、落子流程等可参见三子棋教程中的详细说明,如识别不准或按键抖动问题亦请参考三子棋章节的故障排查方法。