diff --git a/README.md b/README.md index 3d12688e25f3ac67414bd5c8bf5c71cb0e9737ae..d3464abca4bf1461ebcd106ac913a7cc93c37781 100644 --- a/README.md +++ b/README.md @@ -1,63 +1,92 @@ universal_robot -=============== +====== 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 -To check that the package works with a UR5, set up a catkin workspace and clone the repository into the src/ folder. It should look like ~/catkin_ws/src/universal_robot. Don't forget to source the setup file ($ source ~/catkin_ws/devel/setup.*sh), then use catkin_make to compile. +__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. -The following will show the commands needed to bringup either REAL or SIMULATED robots. -Both robots (ur5 and ur10) can be used in the same way. Simply replace the prefix accordingly. -For each command use a new terminal (don't forget to source the setup shell files)! +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. -To bring up the REAL robot, run: +--- -```roslaunch ur_bringup ur5_bringup.launch robot_ip:=IP_OF_THE_ROBOT reverse_port:=REVERSE_PORT``` +__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. -To bring up the SIMULATED robots, run: +Don't forget to source the correcct setup shell files and use a new terminal for each command! -```roslaunch ur_gazebo ur5.launch``` +To bring up the real robot, run: + +```roslaunch ur_bringup ur5_bringup.launch robot_ip:=IP_OF_THE_ROBOT [reverse_port:=REVERSE_PORT]``` A simple test script that moves the robot to predefined positions can be executed like this: -```roscd ur_driver; ./test_move.py``` +```rosrun ur_driver test_move.py``` -BEWARE: -Remember that you should always have your hands on the big red button in case there is something in the way, or anything unexcpected happens. +CAUTION: +Remember that you should always have your hands on the big red button in case there is something in the way or anything unexcpected happens. +__MoveIt! with real Hardware__ +Additionally, you can use MoveIt! to control the robot. +There exist MoveIt! configuration packages for both robots. -Additionally, you can use MoveIt! to control the robot. -For setting up the MoveIt! nodes to allow motion planning with the REAL robot, run: +For setting up the MoveIt! nodes to allow motion planning run: ```roslaunch ur5_moveit_config ur5_moveit_planning_execution.launch``` -For setting up the MoveIt! nodes to allow motion planning with the SIMULATED robot, run: +For starting up RViz with a configuration including the MoveIt! Motion Planning plugin run: -```roslaunch ur5_moveit_config ur5_moveit_planning_execution.launch sim:=true``` +```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.: -In order to be able to use RViz to trigger Planning Request using the MoveIt! Plugin for RViz, run: +```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``` ```roslaunch ur5_moveit_config moveit_rviz.launch config:=true``` -NOTE: -As MoveIt! seems to have difficulties with finding plans for the UR with joint limits [-2pi, 2pi], there is a joint_limited version using joint limits [-pi,pi]. In order to use this joint limited version, simply use the launch file arguments 'limited': -```roslaunch ur_bringup ur5_bringup.launch limited:=true robot_ip:=IP_OF_THE_ROBOT reverse_port:=REVERSE_PORT``` +--- -OR +__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. -```roslaunch ur_gazebo ur5.launch limited:=true``` +Don't forget to source the correcct setup shell files and use a new terminal for each command! -```roslaunch ur5_moveit_config ur5_moveit_planning_execution.launch limited:=true``` +To bring up the simulated robot in Gazebo, run: -OR +```roslaunch ur_gazebo ur5.launch``` -```roslaunch ur5_moveit_config ur5_moveit_planning_execution.launch limited:=true sim:=true``` + +__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: ```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.: + +```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```