Skip to content
ZoongBallPublic

About

A Dobot Magician powered system that uses computer vision to detect hand acupoints in real time and enables robotic simulation of acupuncture through intuitive GUI interaction.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

手部穴位识别与 Dobot 机械臂控制系统

本项目利用 MediaPipe 进行手部关键点检测,结合计算机视觉算法实时识别并标注手部穴位(如合谷、少商、关冲等)。通过单应性矩阵标定,将图像坐标映射到 Dobot Magician 机械臂的物理坐标,实现点击屏幕穴位即可控制机械臂进行定点触碰或治疗模拟。

主要功能

  • 实时穴位识别: 基于 MediaPipe Hands 识别手部骨骼,通过几何算法计算出 20+ 个常用穴位(包括指甲侧方穴位、指蹼穴位、手背穴位等)。
  • 坐标映射标定: 提供交互式标定工具,通过单应性矩阵 (Homography) 将摄像头图像坐标转换为机械臂空间坐标。
  • 点击控制: 在实时视频流中点击任意位置(或标注的穴位),机械臂将自动移动到该位置并执行下降触碰动作。

环境要求

  • Windows 操作系统 (需调用 Dobot DLL)
  • Python 3.8+ (建议)
  • 依赖库:
    • opencv-python
    • mediapipe
    • numpy
    • Pillow (可选,用于中文标签显示)

文件结构说明

  • real_time_acu_reg.py: 核心算法模块。包含 RightHandAcupoint 类,负责处理图像、解析手部关键点并计算所有穴位的屏幕坐标。
  • dobot_interface.py: 硬件控制模块。封装了 Dobot Magician 的底层 DLL 调用,提供连接、运动控制、报警处理等高级接口。
  • homography_calibration.py: 标定工具。引导用户进行“点击屏幕-拖动机械臂”的配对操作,生成坐标变换矩阵并保存为 calibration_matrix.json。
  • acupoint_clicker.py: 主程序。集成视觉识别与机械臂控制,加载标定文件,响应鼠标点击事件。
  • DobotDllType.py / DobotDll.dll: Dobot 官方提供的 Python 接口文件与动态链接库。

使用步骤

1. 硬件连接

确保 Dobot Magician 已连接电源与 USB,并处于开机状态。连接 USB 摄像头。

2. 坐标标定 (首次运行或位置变动后)

运行标定程序:

python homography_calibration.py

操作流程:

  1. 程序启动后,机械臂会自动移动到预设的“观测位置”。
  2. 在视频窗口中,点击一个清晰的特征点(如桌上的黑点或特定的标记)。
  3. 按住机械臂前臂上的 Unlock (解锁) 按钮,手动拖动机械臂,使笔尖精确接触刚才点击的物理位置。
  4. 松开按钮,按 空格键 确认记录该点对。
  5. 重复上述步骤至少 4 次(建议覆盖不同区域)。
  6. 按 c 键计算并保存标定矩阵。

3. 启动主程序

运行主程序进行穴位识别与交互:

python acupoint_clicker.py

操作流程:

  • 摄像头画面中将实时显示识别出的穴位(红点)及名称。
  • 使用鼠标点击画面中的任意红点(或任意位置)。
  • 机械臂将自动移动到目标位置上方,下降触碰,然后抬起并返回观测位置。

注意事项

  • 光线环境: 保持光线充足且均匀,避免强逆光,以保证 MediaPipe 手部识别的稳定性。
  • 机械臂安全: 在运行程序前,请确保机械臂工作范围内无障碍物。
  • 标定精度: 标定点的选取应尽量覆盖工作区域的四个角,以提高映射精度。摄像头与工作平面的相对位置一旦改变,必须重新标定。

About

A Dobot Magician powered system that uses computer vision to detect hand acupoints in real time and enables robotic simulation of acupuncture through intuitive GUI interaction.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages