Skip to content

Integrated Design and Implementation of a Vision-based Robotic Arm System Configured on ROS Environment for DOBOT Magician

License

Notifications You must be signed in to change notification settings

lw404-ai/ROS-Dobot-Vision

Repository files navigation

基于ROS的视觉机械臂系统综合设计与实现

智能机器人设计与实践
|-- Calibration_Coordinates.txt   # 储存机械臂校准坐标的文件
|-- Calibration_Results.npz       # 摄像头标定结果参数的文件
|-- Camera_Calibration.py         # 摄像头标定的代码文件
|-- Coordinate_Transformation.py  # 机械臂的坐标校准与给定坐标准换的代码文件
|-- Goal.cpp                      # dobot机械臂执行功能指令的代码文件
|-- Main.py                       # 物块坐标捕获并转换为机械臂坐标并实现功能的代码文件
|-- Target_Coordinates            # 内含物块的机械臂坐标与功能标定
|-- run.sh                        # 起始运行文件
|-- ReadMe.md                     # 阅读文档
`-- Appendix
    |-- test.jpg
    |-- Calibration_board.pdf
    `-- Coordinate_paper.pdf

1 directory, 12 files

项目说明

一、摄像头标定方案

  • Camera_Calibration.py:在此文件中我们构建了一组功能和算法,可以通过对摄像头拍摄的图像进行处理和分析,从而得到摄像头的内参和畸变参数,进而实现摄像头的校准 Alt text

二、机械臂的坐标校准与给定坐标转换

  • Coordinate_Transformation.py:在摄像头采集图像之后并读取物体中心点坐标,在此程序里进行坐标转换,首先进行坐标映射,转换到坐标纸平面的坐标,最后运用矩阵方程将坐标纸平面坐标换算成机械臂视角的坐标
  • Main.py:获取掩膜,对物块进行分析获取物块的位置信息 Alt text

三、使用ROS框架进行机械臂控制

  • 基于OpenCV进行物块坐标捕获并转换为机械臂坐标
  • 通过ROS框架,编写Python脚本配合C++语言的Dobot-API
  • 实现全部物块执行码垛到指定点依据物块颜色进行分拣指定物块移动到指定点的目标功能 Alt text

1.执行全部物块码垛到指定点

Alt text

2.依据物块颜色进行分拣

Alt text

3.指定物块移动到指定点的目标功能

Alt text

四、部署代码文件使用说明:

△注意:

  • 以下步骤均在Ubuntu16.04+ROS Kinetic环境下部署,请配置好dobot环境,开启roscore以及dobot初始化

  • 默认运行使用存在的标定文件Calibration_Results.npz,如需要进行重新标定则运行Camera_Calibration.py

1.自动化脚本文件运行

提示:

  • ROS_CV_CODE 文件夹复制到虚拟机桌面目录下,即:/home/用户名/Desktop/ROS_CV_CODE
  • 如遇到 /r 问题请运行命令 dos2unix run.shdos2unix run.sh 即可
  1. ROS_CV_CODE 目录下运行终端输入 ./run.sh 命令即可

2.手动配置文件运行

提示:username 均需要替换成当前使用的用户名

  1. ROS_CV_CODE 文件夹复制到虚拟机桌面目录下,即:/home/username/Desktop/ROS_CV_CODE
  2. 修改 Goal.cpp 文件内第159行将 username 修改为你的当前用户名
  3. 将文件夹内的 Goal.cpp 文件放置到 /home/username/dobot_ws/src/dobot/src/ 并编写 CMakeLists.txt 文件(添加文件配置)
  4. 在 ***dobot_ws ***目录下进行 catkin_make
  5. shell 终端运行 python Main.py 命令开始执行程序

About

Integrated Design and Implementation of a Vision-based Robotic Arm System Configured on ROS Environment for DOBOT Magician

Resources

License

Stars

Watchers

Forks

Packages

No packages published