diff --git a/ur_rtde_driver/doc/initial_setup.md b/ur_rtde_driver/doc/initial_setup.md
new file mode 100644
index 0000000..58e3d9c
--- /dev/null
+++ b/ur_rtde_driver/doc/initial_setup.md
@@ -0,0 +1,115 @@
+# Setting up a UR robot for ur_rtde_driver
+## Prepare the robot
+For using the *ur_rtde_driver* with a real robot you need to install the
+**externalcontrol-1.0.urcap** which can be found inside the **resources** folder of this driver.
+
+To install it you first have to copy it to the robot's **programs** folder which can be done either
+via scp or using a USB stick. The installation process is similar for CB3 and eSeries robots and
+will be shown side-to-side in this guide.
+
+
+ |
+ |
+
+
+On the welcome screen select *Setup Robot* and then *URCaps* to enter the URCaps installation screen
+(For eSeries click on the hamburger menu in the top-right corner to get to the setup menu). There,
+click the little plus sign at the bottom to open the file selector. There you should see all urcap
+files stored inside the robot's programs folder or a plugged USB drive. Select and open the
+**externalcontrol-1.0.urcap** file and click *open*. Your URCaps view should now show the
+**External Control** in the list of active URCaps and a notification to restart the robot. Do that
+now.
+
+
+ |
+ |
+
+
+After the reboot you should find the **External Control** URCaps inside the *Installation* section.
+For this select *Program Robot* on the welcome screen, select the *Installation* tab and select
+**External control** from the list.
+
+
+ |
+ |
+
+
+Here you'll have to setup the IP address of the external PC which will be running the ROS driver.
+Note that the robot and the external PC have to be in the same network, ideally in a direct
+connection with each other to minimize network disturbances. The custom port should be left
+untouched for now.
+
+To use the new URCaps, create a new program and insert the **External Control** program node into
+the program tree:
+
+
+ |
+ |
+
+
+If you click on the *command* tab again, you'll see the settings entered inside the *Installation*.
+Check that they are correct, then save the program.
+
+
+ |
+ |
+
+
+## Prepare the ROS PC
+For using the driver make sure it is installed (either by the debian package or built from source
+inside a catkin workspace).
+
+### Extract calibration information
+Each UR robot is calibrated inside the factory giving exact forward and inverse kinematics. To also
+make use of this in ROS, you first have to extract the calibration information from the robot.
+
+Though this step is not necessary, to control the robot using this driver, it is highly recommended
+to do so, as endeffector positions might be off in the magnitude of centimeters.
+
+For this, there exists a helper script:
+
+ $ rosrun ur_calibration calibration_correction \
+ _robot_ip:=192.168.56.101 \
+ _robot_name:=ur10_example \
+ _output_package_name:=my_calibrations \
+ _subfolder_name:=etc
+
+For the parameter **robot_ip** insert the ip on which the ROS pc can reach the robot. The
+**robot_name** is an arbitrary name you can give to the robot. It is recommended, to choose a unique
+name that can be easily matched to the physical robot.
+
+The script will then extract the calibration information from the robot and convert it to a yaml
+syntax that can be used by the robot_description.
+
+The resulting yaml file is stored in the package specified in the **output_package_name** parameter
+inside the folder **subfolder_name** with the name **robot_name***_calibration.yaml*. The parameter
+**subfolder_name** is optional and defaults to *etc* if not given.
+
+**Note:** You'll have to provide the name of an existing package. It is recommended to have a
+package storing all calibrations of all UR robots inside your organization. This way, the extraction
+as described in this package has only to be performed once and the calibration can be reused by
+other users.
+To create a new package, go to your catkin_workspace's src folder and call
+
+ catkin_create_pkg my_calibrations
+
+It is recommended to adapt the new package's *package.xml* with a meaningful description.
+
+### Start the robot driver
+To actually start the robot driver use one of the existing launchfiles
+
+ $ roslaunch ur_rtde_driver _bringup.launch robot_ip:=192.168.56.101 \
+ kinematics_config:=$(rospack find my_calibrations)/etc/ur10_example_calibration.yaml
+
+where **** is one of *ur3, ur5, ur10, ur3e, ur5e, ur10e*. Note that in this example we
+load the calibration parameters for the robot "ur10_example". If the parameters in that file don't
+match the ones reported from the robot, the driver will output an error during startup.
+
+For more information on the launchfile's parameters see its own documentation.
+
+Once the robot driver is started, load the previously generated program on the robot panel and
+execute it. From that moment on the robot is fully functional. You can make use of the pause
+function or even stop the program. Simply press the play button again and the ROS driver will
+reconnect.
diff --git a/ur_rtde_driver/doc/initial_setup_images/cb3_01_welcome.png b/ur_rtde_driver/doc/initial_setup_images/cb3_01_welcome.png
new file mode 100644
index 0000000..1e0af1e
Binary files /dev/null and b/ur_rtde_driver/doc/initial_setup_images/cb3_01_welcome.png differ
diff --git a/ur_rtde_driver/doc/initial_setup_images/cb3_05_urcaps_installed.png b/ur_rtde_driver/doc/initial_setup_images/cb3_05_urcaps_installed.png
new file mode 100644
index 0000000..9ea745f
Binary files /dev/null and b/ur_rtde_driver/doc/initial_setup_images/cb3_05_urcaps_installed.png differ
diff --git a/ur_rtde_driver/doc/initial_setup_images/cb3_07_installation_excontrol.png b/ur_rtde_driver/doc/initial_setup_images/cb3_07_installation_excontrol.png
new file mode 100644
index 0000000..133e9b6
Binary files /dev/null and b/ur_rtde_driver/doc/initial_setup_images/cb3_07_installation_excontrol.png differ
diff --git a/ur_rtde_driver/doc/initial_setup_images/cb3_10_prog_structure_urcaps.png b/ur_rtde_driver/doc/initial_setup_images/cb3_10_prog_structure_urcaps.png
new file mode 100644
index 0000000..9a00103
Binary files /dev/null and b/ur_rtde_driver/doc/initial_setup_images/cb3_10_prog_structure_urcaps.png differ
diff --git a/ur_rtde_driver/doc/initial_setup_images/cb3_11_program_view_excontrol.png b/ur_rtde_driver/doc/initial_setup_images/cb3_11_program_view_excontrol.png
new file mode 100644
index 0000000..644991e
Binary files /dev/null and b/ur_rtde_driver/doc/initial_setup_images/cb3_11_program_view_excontrol.png differ
diff --git a/ur_rtde_driver/doc/initial_setup_images/es_01_welcome.png b/ur_rtde_driver/doc/initial_setup_images/es_01_welcome.png
new file mode 100644
index 0000000..fba14a5
Binary files /dev/null and b/ur_rtde_driver/doc/initial_setup_images/es_01_welcome.png differ
diff --git a/ur_rtde_driver/doc/initial_setup_images/es_05_urcaps_installed.png b/ur_rtde_driver/doc/initial_setup_images/es_05_urcaps_installed.png
new file mode 100644
index 0000000..8a02bc5
Binary files /dev/null and b/ur_rtde_driver/doc/initial_setup_images/es_05_urcaps_installed.png differ
diff --git a/ur_rtde_driver/doc/initial_setup_images/es_07_installation_excontrol.png b/ur_rtde_driver/doc/initial_setup_images/es_07_installation_excontrol.png
new file mode 100644
index 0000000..3b1a936
Binary files /dev/null and b/ur_rtde_driver/doc/initial_setup_images/es_07_installation_excontrol.png differ
diff --git a/ur_rtde_driver/doc/initial_setup_images/es_10_prog_structure_urcaps.png b/ur_rtde_driver/doc/initial_setup_images/es_10_prog_structure_urcaps.png
new file mode 100644
index 0000000..6d1e2ff
Binary files /dev/null and b/ur_rtde_driver/doc/initial_setup_images/es_10_prog_structure_urcaps.png differ
diff --git a/ur_rtde_driver/doc/initial_setup_images/es_11_program_view_excontrol.png b/ur_rtde_driver/doc/initial_setup_images/es_11_program_view_excontrol.png
new file mode 100644
index 0000000..bccc5f1
Binary files /dev/null and b/ur_rtde_driver/doc/initial_setup_images/es_11_program_view_excontrol.png differ