Skip to content
Snippets Groups Projects
README.md 3.95 KiB
Newer Older
Shaun Edwards's avatar
Shaun Edwards committed
universal_robot
Felix Messmer's avatar
Felix Messmer committed
======
Shaun Edwards's avatar
Shaun Edwards committed

[ROS-Industrial](http://wiki.ros.org/Industrial) universal_robot meta-package. See the [ROS wiki](http://wiki.ros.org/universal_robot) page for compatibility information and other more information.

Shaun Edwards's avatar
Shaun Edwards committed
This repository provides ROS support for the universal robots.  This repo holds source code for all versions > groovy.  For those versions <= groovy see: hg https://kforge.ros.org/ros_industrial/universal_robot
karlyeurl's avatar
karlyeurl committed

karlyeurl's avatar
karlyeurl committed

Felix Messmer's avatar
Felix Messmer committed
__Installation from Source__  
There are releases available for ROS Hydro and ROS Indigo. However, for the latest features and developments you might want to install from source.
karlyeurl's avatar
karlyeurl committed

Felix Messmer's avatar
Felix Messmer committed
First set up a catkin workspace (see [this tutorials](http://wiki.ros.org/catkin/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.  
ipa-fxm's avatar
ipa-fxm committed

Felix Messmer's avatar
Felix Messmer committed
---
ipa-fxm's avatar
ipa-fxm committed

Felix Messmer's avatar
Felix Messmer committed
__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.
ipa-fxm's avatar
ipa-fxm committed

Felix Messmer's avatar
Felix Messmer committed
Don't forget to source the correct setup shell files and use a new terminal for each command!   
ipa-fxm's avatar
ipa-fxm committed

Felix Messmer's avatar
Felix Messmer committed
To bring up the real robot, run:

```roslaunch ur_bringup ur5_bringup.launch robot_ip:=IP_OF_THE_ROBOT [reverse_port:=REVERSE_PORT]```
ipa-fxm's avatar
ipa-fxm committed

A simple test script that moves the robot to predefined positions can be executed like this:

Felix Messmer's avatar
Felix Messmer committed
```rosrun ur_driver test_move.py```
ipa-fxm's avatar
ipa-fxm committed

Felix Messmer's avatar
Felix Messmer committed
CAUTION:  
Felix Messmer's avatar
Felix Messmer committed
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.
ipa-fxm's avatar
ipa-fxm committed


Felix Messmer's avatar
Felix Messmer committed
__MoveIt! with real Hardware__  
Additionally, you can use MoveIt! to control the robot.  
There exist MoveIt! configuration packages for both robots.  
ipa-fxm's avatar
ipa-fxm committed

Felix Messmer's avatar
Felix Messmer committed
For setting up the MoveIt! nodes to allow motion planning run:
ipa-fxm's avatar
ipa-fxm committed

ipa-fxm's avatar
ipa-fxm committed
```roslaunch ur5_moveit_config ur5_moveit_planning_execution.launch```
ipa-fxm's avatar
ipa-fxm committed

Felix Messmer's avatar
Felix Messmer committed
For starting up RViz with a configuration including the MoveIt! Motion Planning plugin run:
ipa-fxm's avatar
ipa-fxm committed

Felix Messmer's avatar
Felix Messmer committed
```roslaunch ur5_moveit_config moveit_rviz.launch config:=true```


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', i.e.:  
ipa-fxm's avatar
ipa-fxm committed

Felix Messmer's avatar
Felix Messmer committed
```roslaunch ur_bringup ur5_bringup.launch limited:=true robot_ip:=IP_OF_THE_ROBOT [reverse_port:=REVERSE_PORT]```

```roslaunch ur5_moveit_config ur5_moveit_planning_execution.launch limited:=true```
ipa-fxm's avatar
ipa-fxm committed

ipa-fxm's avatar
ipa-fxm committed
```roslaunch ur5_moveit_config moveit_rviz.launch config:=true```
ipa-fxm's avatar
ipa-fxm committed


Felix Messmer's avatar
Felix Messmer committed
---
ipa-fxm's avatar
ipa-fxm committed

Felix Messmer's avatar
Felix Messmer committed
__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.
ipa-fxm's avatar
ipa-fxm committed

Felix Messmer's avatar
Felix Messmer committed
Don't forget to source the correct setup shell files and use a new terminal for each command!   
ipa-fxm's avatar
ipa-fxm committed

Felix Messmer's avatar
Felix Messmer committed
To bring up the simulated robot in Gazebo, run:
ipa-fxm's avatar
ipa-fxm committed

Felix Messmer's avatar
Felix Messmer committed
```roslaunch ur_gazebo ur5.launch```
ipa-fxm's avatar
ipa-fxm committed

Felix Messmer's avatar
Felix Messmer committed

__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 ur5_moveit_config ur5_moveit_planning_execution.launch sim:=true```

For starting up RViz with a configuration including the MoveIt! Motion Planning plugin run:
ipa-fxm's avatar
ipa-fxm committed

ipa-fxm's avatar
ipa-fxm committed
```roslaunch ur5_moveit_config moveit_rviz.launch config:=true```
ipa-fxm's avatar
ipa-fxm committed

Felix Messmer's avatar
Felix Messmer committed
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', i.e.:  

```roslaunch ur_gazebo ur5.launch limited:=true```

```roslaunch ur5_moveit_config ur5_moveit_planning_execution.launch sim:=true limited:=true```

```roslaunch ur5_moveit_config moveit_rviz.launch config:=true```