diff --git a/README.md b/README.md new file mode 100644 index 0000000..de27f4c --- /dev/null +++ b/README.md @@ -0,0 +1,14 @@ +# UR_RTDE_Driver +This repository contains the new **ur_rtde_driver** and a couple of helper packages, such as: + + * **controller_stopper**: A small external tool that stops and restarts ros-controllers based on + the robot's state. This can be helpful, when the robot is in a state, where it won't accept + commands sent from ROS. + * **ur_calibration**: Package around extracting and converting a robot's factory calibration + information to make it usable by the robot_description. + * **ur_controllers**: Controllers introduced with this driver, such as speed-scaling-aware + controllers. + * **ur_rtde_driver**: The actual driver package. + +Please see the individual packages for further information. Especially the [README of the +ur_rtde_driver](ur_rtde_driver/README.md) serves as an entry point to get everything running. diff --git a/ur_rtde_driver/README.md b/ur_rtde_driver/README.md index 74ad276..c3efad3 100644 --- a/ur_rtde_driver/README.md +++ b/ur_rtde_driver/README.md @@ -1,3 +1,46 @@ # ur_rtde_driver This driver is forked from the [ur_modern_driver](https://github.com/ros-industrial/ur_modern_driver). + +It works for all CB3 and eSeries robots and uses the RTDE interface for communication, whenever possible. + +## Features + * **Factory calibration** of the robot inside ROS to reach Cartesian + targets precisely. + * **Realtime-enabled** communication structure to robustly cope with the 2ms cycle time of the eSeries. To use this, compile and run it on a kernel with the `PREEMPT_RT` patch enabled. (TODO: Write tutorial on how to compile a realtime kernel for Ubuntu) + * Transparent **integration of the teach-pendant**. Using the URCaps system, a program is running + on the robot that handles control commands sent from ROS side. With this, the robot can be + **paused**, **stopped** and **resumed** without restarting the ROS driver. + This will in the future also enable, the usage of ROS-components as a part of a more complex UR-program + on the teach pendant. This is currently not yet supported, as we are still missing to exit + control from ROS side. Expect this to come in future releases. + * Use the robot's **speed-scaling**. When speed scaling is active due to safety constraints or the + speed slider is used, this gets correctly handled on the ROS side, as well slowing down + trajectory execution accordingly. **Note**: Due to the speed scaling interface, other controllers + than the scaled controllers provided, currently cannot be used. We plan to change this in + upcoming releases. + +## Building + +```bash +# source global ros +$ source /opt/ros//setup.bash +# create a catkin workspace +$ mkdir -p catkin_ws/src && cd catkin_ws +$ catkin_make +$ cd src +# clone the driver +$ git clone +# clone fork of the description to use the calibration feature +$ git clone -b calibration_devel https://github.com/fmauch/universal_robot.git +# install dependencies +$ rosdep install --from-path . -y --ignore-src +# build the driver +$ cd .. +$ catkin_make +# source the workspace +$ source devel/setup.bash +``` + +## Initial robot setup +To setup a new robot with this driver, please see the [initial setup tutorial](doc/initial_setup.md)