ur-robotiq-integrated-driver

Python wrapper for the Universal Robots ROS driver with Robotiq gripper support.

https://github.com/robotic-vision-lab/ur-robotiq-integrated-driver

Science Score: 52.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
    Organization robotic-vision-lab has institutional domain (rvl.uta.edu)
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.8%) to scientific vocabulary

Keywords

moveit robotics robotiq robotiq-2f-85-gripper ros ros-humble ros-industrial universal-robots ur5e
Last synced: 6 months ago · JSON representation ·

Repository

Python wrapper for the Universal Robots ROS driver with Robotiq gripper support.

Basic Info
  • Host: GitHub
  • Owner: robotic-vision-lab
  • License: apache-2.0
  • Language: Python
  • Default Branch: public-release
  • Homepage:
  • Size: 49.3 MB
Statistics
  • Stars: 11
  • Watchers: 3
  • Forks: 1
  • Open Issues: 1
  • Releases: 0
Topics
moveit robotics robotiq robotiq-2f-85-gripper ros ros-humble ros-industrial universal-robots ur5e
Created about 4 years ago · Last pushed almost 2 years ago
Metadata Files
Readme License Citation

README.md

UR Robotiq Integrated Driver

This repository provides Python 3 packages designed for ROS 2 Humble to control the Robotiq 2F gripper attached to Universal Robot (UR) robot arms using the toolport available on the robot arms' wrist.

System Requirements

:warning: Only e-Series robots are capable of using the tool port!

You must complete the following steps before using this repository:

  1. Remove any Robotiq related URCap present on the robot controller via the teach pendant.
  2. Complete the robot side setup as instructed by ur_robot_driver documentation.

Quick Start

  1. Clone the repository

console user@host:~$ git clone https://github.com/robotic-vision-lab/UR-Robotiq-Integrated-Driver.git

  1. Run the Docker container

```console user@host:~/UR-Robotiq-Integrated-Driver$ ./docker/run.sh

root@cb0ae6649502:/# ```

  1. Build the ROS 2 workspace inside the Docker container

console root@host:~/colcon_ws# apt-get update root@host:~/colcon_ws# rosdep update root@host:~/colcon_ws# rosdep install --from-paths src --ignore-src -r -y root@host:~/colcon_ws# colcon build --symlink-install root@host:~/colcon_ws# source install/setup.bash

  1. Set the robot parameters

bash export UR_IP= # robot IP address e.g., 192.168.1.199 export UR_HOSTNAME= # robot network hostname e.g., ur-20224536182 export UR_TYPE= # ur robot type, one of [ur3, ur3e, ur5, ur5e, ur10, ur10e, ur16e, ur20, ur30] export REVERSE_IP= # host (your PC) IP address e.g., 192.168.1.99

  1. Start ur_robot_driver with tool communication enabled

console root@host:~/colcon_ws# ros2 launch ur_robot_driver ur_control.launch.py ur_type:=$UR_TYPE robot_ip:=$UR_IP reverse_ip:=$REVERSE_IP use_tool_communication:=true

UR_HOSTNAME may be used instead of UR_IP if your network resolves it.

REVERSE_IP is needed when using a docker container on Windows, where --network host is unavailable and only needed when you are running external_control.

  1. Start rvl_ur_robotiq_driver controller node

In a new terminal, run the following commands:

console user@host:~$ docker exec -it rvl-ur-robotiq-container bash root@host:~/colcon_ws# source install/setup.bash root@host:~/colcon_ws# ros2 run rvl_robotiq_driver robotiq_controller

:spiral_notepad: NOTE: Verify that the gripper is powered and the gripper status LED is on and is solid blue. This means that the driver has successfully established communication with the gripper. If the LED is not on or is red, please see the Troubleshooting section.

  1. Activate the gripper via provided service

In a new terminal, run the following commands:

console user@host:~$ docker exec -it rvl-ur-robotiq-container bash root@host:/# cd /root/colcon_ws root@host:~/colcon_ws# source install/setup.bash root@host:~/colcon_ws# ros2 service call /robotiq/activate std_srvs/srv/Trigger At this point, you should see the gripper cycle through its activation sequence by fully closing then fully opening its fingers. The gripper is now ready to receive commands.

⚠️ WARNING: This is an example usage container, and the run command includes the --rm flag, which means that the container will be deleted after exiting the container. If you want to keep the container, remove the --rm flag from the run command.

Provided Services and Topics

Topics

/robotiq/joint_states /robotiq/status

Services

/robotiq/activate /robotiq/auto_close/fragile /robotiq/auto_close/medium /robotiq/auto_close/soft /robotiq/auto_close/strong /robotiq/auto_open/fragile /robotiq/auto_open/medium /robotiq/auto_open/soft /robotiq/auto_open/strong /robotiq/reactivate /robotiq/request_status /robotiq/set_opening /robotiq/set_position

You can use ros2 topic info and ros2 service info to get more information about each topic and service. Alternatively, rqt have plugins that can be used to inspect topics and call services, though this would require you to enable GUI from the Docker container, which is not in the scope of this repository. This feature can still be accessible if you have ROS 2 Humble on your host machine.

Citation

If you find this code useful, then please consider citing our work.

You can use the "Cite this repository" feature under About section for automatic generation of APA and BibTex references.

Cite this repository

A raw BibTex entry is also provided below:

bibtex @software{tram2023ur, author={Tram, Minh}, title={{UR-Robotiq Integrated Driver}}, url={https://github.com/robotic-vision-lab/UR-Robotiq-Integrated-Driver}, version={1.0.0}, year={2023} }

Troubleshooting

1. Gripper is not powered (No status LED)

  • Check physical connection between the gripper and the toolport on the robot arm.
  • Check that the robot is not in E-Stop or Power Off state.

2. Status LED is RED

  • Make sure that the RS-485 URCap is installed and enabled on the robot controller.
  • Make sure that the ur_robot_driver launch command has use_tool_communication:=true argument and correct robot IP address.
  • Make sure that the gripper controller node is running and is not reporting any errors.

3. Status LED is BLUE but gripper is not responding to commands

  • Restart the gripper controller node.

References

Owner

  • Name: Robotic Vision Laboratory
  • Login: robotic-vision-lab
  • Kind: organization
  • Location: Arlington, TX

The University of Texas at Arlington

Citation (CITATION.cff)

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: RVL UR-Robotiq Integrated Driver
message: >-
  If you use this software, please cite it using these
  metadata.
type: software
authors:
  - given-names: Minh
    family-names: Tram
    email: minh.tram@mavs.uta.edu
    affiliation: >-
      The University of Texas at Arlington - Robotic Vision
      Laboratory
  - given-names: William
    family-names: Beksi
    email: william.beksi@uta.edu
    affiliation: >-
      The University of Texas at Arlington - Robotic Vision
      Laboratory
repository-code: >-
  https://github.com/robotic-vision-lab/UR-Robotiq-Integrated-Driver
abstract: >-
  This repository provides Python 3 packages designed for
  ROS 2 Humble to control the Robotiq 2F gripper attached to
  Universal Robot (UR) robot arms using the toolport
  available on the robot arms' wrist.
keywords:
  - Universal Robot
  - Robotiq
  - ROS 2 Humble
  - ros
  - robotic
  - gripper
  - driver
license: Apache-2.0
version: 1.0.0
date-released: '2023-10-05'

GitHub Events

Total
  • Issues event: 1
  • Watch event: 2
  • Issue comment event: 1
Last Year
  • Issues event: 1
  • Watch event: 2
  • Issue comment event: 1

Dependencies

docker/Dockerfile docker
  • osrf/ros humble-desktop-full-jammy build
colcon_ws/src/rvl_robotiq_driver/setup.py pypi
  • setuptools *