murtazabasu / Coordinating-Two-UR5-Robots-for-a-Pick-and-Place-Task

Two UR5 Robots are coordinated where one robot gets the object by detecting using a camera sensor and

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Coordinating Two UR5 Robots for a pick and place task

This repository shows the coordination between two UR5 robots in ROS and Gazebo where one is the master and the other is the slave. Both the master and the slave uses the Robotiq85 gripper for grasping and are attached with a camera sensor for detecting the objects. The master robot detects the object placed at the starting position using the camera and brings it close to the slave robot. The slave robot detects the object from the master's gripper and grasps it. Finally the slave robot brings the object at the final position. The master and slave robot performs three functionalities:

  1. Object detection using the camera sensor (ur5_vision_master.py) and (ur5_vision_slave.py)

  2. Motion planning using python moveit_commander interface (motion_planning_master.py) and (motion_planning_slave.py).

  3. Grasping action using the GripperActionController (send_gripper_master.py) and (send_gripper_slave.py)

  • Video demo: Simulation video on Youtube

  • How to cite this repository:

      Khuzema Basuwala. M, Coordinating two UR5 robots for a pick and place with Robotiq85 Grippers, 
      (2020), GitHub repository, https://github.com/murtazabasu/Coordinating-Two-UR5-Robots-for-a-Pick-and-Place-Task.git
    
    

Criterion for using this repository:

  • This project was tested on Ubuntu 18.04 with ROS Melodic.
  • Make sure you have installed Python2.7 and some useful libraries/packages, such as Numpy, cv2, etc.
  • Install ROS Melodic, Gazebo, universal robot, Moveit, RViz.
  • This repo was created with the workspace name as catkin_ws3/src
  • Assuming your workspace is named as catkin_ws3, download the repository to catkin_ws3/src/
    $ cd catkin_ws3/src
    $ git clone https://github.com/murtazabasu/Coordinating-Two-UR5-Robots-for-a-Pick-and-Place-Task.git
    

Under the catkin_ws3/src there are three directories:

  1. robotiq for the robotiq85 gripper
  2. univesal_robot for the ur5 robot models and moveit configuration files
  3. ur5_notebook for the launch files and the python scripts
  • Build the code under directory catkin_ws3/,
    $ catkin_make
    $ source devel/setup.bash  
    
  • Run the code with ROS and Gazebo
    $ roslaunch ur5_notebook initialize.launch 
    
    The motion planning and the gripper nodes for both the master and the slave can be initialized in the above launch file itself (uncomment the lines at the bottom) or each script can be made to run individually on seperate terminals.

References

About

Two UR5 Robots are coordinated where one robot gets the object by detecting using a camera sensor and


Languages

Language:Python 53.4%Language:C++ 41.0%Language:CMake 5.7%