Repository navigation
Robotics
Andreas Muxel edited this page Sep 25, 2026
·
124 revisions
We have a UR5e robot in our lab and check the official user manual from Universal Robots.
| Step | Description | Pictures |
|---|---|---|
| Step 1 | Release all 4 brakes of the robot platform (turn red gearwheel) |
|
| Step 2 | Move the robot away from any walls and remove any chairs that might be in the way. Avoid obstacles in general! |
|
| Step 3 | Re-engage the four brakes and check again whether the robot platform is still movable or not. It shouldn't be! IMPORTANT: The black cable from the robot has to point to the tables and chairs Otherwise when controlling via ServoPose, the robot will point to the wall. |
|
| Step 4 | Connect the controller box of the robot to a power socket. | |
| Step 5 | Grab the teach pendant (= touchscreen) and switch on the robot by pressing the button beside the emergency stop. |
![]() |
| Still step 5 :) | Always start in „local mode“ and check if the numbers and letters (91F1…) on the right side of the icon are the same as on the image (they indicate whether the safety settings are correct). |
|
| Step 6 | Press „Power off“ (bottom left). | |
| Step 7 | Press „ON“ to switch on the robot, wait and then press „START“ to activate the robot. |
|
| Step 8 | Go to „Installation > General“ and select „Home“. | |
| Step 9 | ALWAYS start with the robot in ZERO POSITION > press „Zero Position“! | |
| Step 10 | Hold „Move robot to: Zero Position“ pressed until the robot is in Zero Position (standing in straight position) |
|
| Step 11 | Press „Continue“. | |
| When testing something new... | ||
| Step 12 | Lower the speed to 20% with slider on the bottom. | |
| Step 13 | Switch from „Local“ mode to „Remote“ mode --> now the system is ready to be controlled over ethernet. |
|
| When turning it off... | ||
| Step 14 | When you are done, switch back to „Local“ and navigate to „Move“ and press „Home“. | |
| Step 15 | Keep pressing „Move robot to: New Position“ until it is in safe home position. |
|
| Step 16 | Press the "Burger menu" and shut down the robot. | |
| Step 17 | Unplug the robot from the power socket, put the teach pendant back to the controller box, release the breaks of the robot platform (as seen in Step 3) and put the robot back to the wall. Apply the brakes again. |
- install and start Docker Desktop (no account needed): https://docs.docker.com/desktop/
- Docker runs in the background. If you happen to loose the window, search for the Docker icon in the "hidden symbols" menu. You can find it in the taskbar:
Windows User: taskbar bottom-right
Mac User: taskbar top-right - if necessary update WLS and follow instructions (use the Terminal of your operating system)
The following steps just needs to be done once, when you start simulation for the first time:
- on the bottom of Docker Desktop open ">_ Terminal"
- type the following code in the terminal (This will take some time, because all necessary packages are downloaded and installed, right now we use Polyscope 5.20, not testet for newer versions):
docker run --name ursim -it --network bridge -p 2222:2222 -p 29999:29999 -p 30001-30004:30001-30004 -p 5900:5900 universalrobots/ursim_e-series:5.20 ROBOT_MODEL=UR5

-
if an alert pops up, allow the network connection. Otherwise, if executed the next time:
-
select "VNC Viewer" on the left side (view install instrucions below)-no credentials needed
-
select session and press "Connect"

- open https://hub.docker.com/extensions/pgmystery/docker-extension-vnc
- select "Open in Docker Desktop" and install the extension
- create a new session using the "+" on the topleft
- Give a Session Name, for example "ursim"
- Connection-Type is "Docker Container"
- refresh the next field, look for "/ursim" and select it
HINT: If "/ursim" happens to miss, copy and execute the following code in the terminal again
docker run --name ursim -it --network bridge -p 2222:2222 -p 29999:29999 -p 30001-30004:30001-30004 -p 5900:5900 universalrobots/ursim_e-series:5.20 ROBOT_MODEL=UR5
- set the VNC port to 5900
- select the option "Stop Container after disconnect"
- press "Connect"
- power on virtual robot (very similar to real robot)
- when finished "Disconnect"
- download and install Anaconda here: https://www.anaconda.com/download/success
- once Anaconda is installed, open it, create a new environment and call it "robot" (make sure you are using a python version that is supported by the ur-rtde package here: https://pypi.org/project/ur-rtde/ -> Python version 3.12 should work for Windows and Mac
- video tutorial Prof. Michael Kipp: https://www.youtube.com/watch?v=sDKVHmPsEEY&t=29s (just Anaconda needed, skip Tensorflow, Seaborn & Jupiter Noteook)
- start environment with play button and select "Open Terminal"
- type the following commands in the terminal (might take some time to install, especially on Mac):
JUST FOR MAC USERS: before you install ur-rtde you have to type the following command
conda install -c conda-forge cmake boost-cpp pybind11
Then go further (all platforms):
pip install ur-rtde
pip install python-osc
- download code repository, https://github.com/HybridThingsLab/course-robotics/archive/refs/heads/2025.zip and unzip
- launch VS Code from Anaconda at "Home" with "robot" selected in the top of the Home tab
- add folder "course-robotics-2025" to your workspace with "File/Add Folder to Workspace"
- save workspace
- click on the subfolder "Python"
- there are two folders that start with RTDE OSC (Open Sound Control)
- RTDE_OSC_read > read data from the robot via OSC (p.ex. record movement, visualization robot...)
- RTDE_OSC_write > control robot via OSC
- view Folder in "Explorer" (icon documents left) in the "Python/RTDE_OSC_read" folder in VS Code navigate to -> src\config.json and change the “ip” to the IP Address of the robot (simulation or real robot) (burger menue top right "About", if you are connected with the robot simulation program via Docker)
- in the "Python/RTDE_OSC_write" folder in VSCode navigate to -> src\RobotController.py and change the “ip” to your IP Address of the robot (simulation or real robot)
- when working with the simulation your IP address is "127.0.0.1"
- when working with the real robot you find the IP address by pressing the burger menu (top right) and select "About"
- open two terminal windows in VSCode side-by-side by using the split option in the terminal (icon window left from trash can)
- in one terminal window change the directory to RTDE_OSC_read\src by typing "cd " and drag and drop "src" folder to terminal
- run the script by typing:
python main.py
- in the other terminal window change the directory to RTDE_OSC_write\src by typing "cd " and drag and drop "src" folder to terminal
- if you run the real robot type in the terminal:
python main.py --driverobot
- if you run robot as a simulation with Docker type in the terminal
python main.py --driverobot --docker
- you should get an message "INFO:root:connected!"
- TouchDesigner, https://derivative.ca/product/touchdesigner-non-commercial/77
- Processing, https://processing.org/download
- p5js, https://p5js.org/download/
- to run p5js examples, you additionally need to run an OSC Bridge, see instructions and code here https://github.com/HybridThingsLab/osc-bridge
