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.tflitelabels_color.txt:棋子识别的分类模型与标签
  • move.py:机械臂抓取与放置动作代码
  • main.py:本历程的主程序,负责流程调度与按键交互
  • Robot_Arm.py:机械臂控制模块
  • 场景地图(PDF):请将地图打印为 A4 纸并放置于桌面作为棋盘参考

3. 夹具说明

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

4. 场景准备

  1. 将机械臂放置于地图方框中央,机械臂底座与方框对齐:

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

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

5. OpenMV 代码调试与校准

  1. chess.pycolor_model.tflitelabels_color.txtmove.pymain.py 复制到 OpenMV 的 SD 卡目录,运行 main.py

  2. 摄像头视角调整:上电运行并复位机械臂后,按下 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 个白棋并放置到指定方格

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、落子流程等可参见三子棋教程中的详细说明,如识别不准或按键抖动问题亦请参考三子棋章节的故障排查方法。

results matching ""

    No results matching ""