Skip to content

Latest commit

 

History

History
151 lines (95 loc) · 6.05 KB

README.md

File metadata and controls

151 lines (95 loc) · 6.05 KB

Universal Robot

This repository depends on olinrobotics/hiro. Please also clone that repository before compiling this package.

Build Status license - apache 2.0 License

support level: community

ROS-Industrial Universal Robot meta-package. See the ROS wiki page for compatibility information and other more information.

Installation

There are two different ways to install the packages in this repository. The following sections detail installing the packages using the binary distribution and building them from source in a Catkin workspace.

First set up a catkin workspace (see this tutorials).
Then clone the repository into the src/ folder. It should look like /path/to/your/catkin_workspace/src/universal_robot.
Make sure to source the correct setup file according to your workspace hierarchy, then use catkin_make to compile:

rosdep install --from-paths src --ignore-src -r -y
cd ~/catkin_make
catkin_make

Using apt (Ubuntu, Debian)

On supported Linux distributions (Ubuntu, up to 16.04 (Xenial), i386 and amd64) and ROS versions:

sudo apt-get install ros-$ROS_DISTRO-universal-robot

replace $ROS_DISTRO with hydro, indigo or kinetic, depending on which ROS version you have installed.

Building from Source

There are releases available for ROS Hydro, Indigo and Kinetic. However, for the latest features and developments you might want to build the packages from source.

NOTE: please prefer using the binary release (see previous section) over building from source where possible. Source installs will not be automatically updated by new package releases and require more work to setup.

The following instructions assume that a Catkin workspace has been created at $HOME/catkin_ws and that the source space is at $HOME/catkin_ws/src. Update paths appropriately if they are different on the build machine.

In all other cases the packages will have to be build from sources in a Catkin workspace:

cd $HOME/catkin_ws/src

# retrieve the sources (replace '$ROS_DISTRO' with the ROS version you are using)
git clone -b $ROS_DISTRO-devel https://github.com/ros-industrial/universal_robot.git

cd $HOME/catkin_ws

# checking dependencies (again: replace '$ROS_DISTRO' with the ROS version you are using)
rosdep update
rosdep install --rosdistro $ROS_DISTRO --ignore-src --from-paths src

# building
catkin_make

# activate this workspace
source $HOME/catkin_ws/devel/setup.bash

Usage

With real Hardware There are launch files available to bringup a real robot - either UR5 or UR10.
In the following the commands for the UR5 are given. For the UR10, simply replace the prefix accordingly.

Don't forget to source the correct setup shell files and use a new terminal for each command!

To bring up the real robot, run:

roslaunch ur_bringup xamyab_bringup.launch [left_robot_ip:=IP_OF_THE_ROBOT] [left_reverse_port:=REVERSE_PORT] [right_robot_ip:=IP_OF_THE_ROBOT] [right_reverse_port:=REVERSE_PORT] [limited:=true]

CAUTION:
Remember that you should always have your hands on the big red button in case there is something in the way or anything unexpected happens.

MoveIt! with real Hardware
Additionally, you can use MoveIt! to control the robot.
There exist MoveIt! configuration packages for both robots.

For setting up the MoveIt! nodes to allow motion planning run:

roslaunch xamyab_moveit_config xamyab_moveit_planning_execution.launch grippers:=GRIPPERS_CODE [limited:=true]

GRIPPERS_CODE:

  • 0 = No gripper
  • 1 = Gripper for left arm only
  • 2 = Gripper for right arm only
  • 3 = Grippers for both arms

For starting up RViz with a configuration including the MoveIt! Motion Planning plugin run:

roslaunch xamyab_moveit_config moveit_rviz.launch

NOTE: As MoveIt! seems to have difficulties with finding plans for the UR with full joint limits [-2pi, 2pi], there is a joint_limited version using joint limits restricted to [-pi,pi]. In order to use this joint limited version, simply use the launch file arguments 'limited'.

Usage with Gazebo Simulation
There are launch files available to bringup a simulated robot - either UR5 or UR10.
In the following the commands for the UR5 are given. For the UR10, simply replace the prefix accordingly.

Don't forget to source the correct setup shell files and use a new terminal for each command!

To bring up the simulated robot in Gazebo, run:

roslaunch ur_gazebo xamyab.launch grippers:=GRIPPERS_CODE [limited:=true]

GRIPPERS_CODE:

  • 0 = No gripper
  • 1 = Gripper for left arm only
  • 2 = Gripper for right arm only
  • 3 = Grippers for both arms

MoveIt! with a simulated robot
Again, you can use MoveIt! to control the simulated robot.

For setting up the MoveIt! nodes to allow motion planning run:

roslaunch xamyab_moveit_config xamyab_moveit_planning_execution.launch grippers:=GRIPPERS_CODE [limited:=true]

For starting up RViz with a configuration including the MoveIt! Motion Planning plugin run:

roslaunch xamyab_moveit_config moveit_rviz.launch

NOTE: As MoveIt! seems to have difficulties with finding plans for the UR with full joint limits [-2pi, 2pi], there is a joint_limited version using joint limits restricted to [-pi,pi]. In order to use this joint limited version, simply use the launch file arguments 'limited'.