NextCloud Setup

This guide describes how to connect to our nextcloud apps.

Nextcloud Clients

MAC OS iCal Calendar App

  • Go to Settings/Internet Accouns
  • Select ‘Other’ and ‘CalDAV’
  • Select ‘Advanced’ as installation option.
  • Enter your user name and password
  • Use the following server address:
  • Use the path: /remote.php/dav/principals/users/YourNCUserName/
  • Use the Port: 443



This guide describes how to setup webex using our univeristy accounts.

WEBEX Clients

Connection Settings

Use the following connection settings:

  • use your university email, e.g.,
  • The server link is:
  • When you connect for the first time, you need to enter your p-number and MUOnline password!
  • Your personal room will be:

Basic Workstation Build

The basic build of a workstation computer is described in the following entry:

Hardware Components

  • Mainboard: Gigabyte Z590 D
  • Processor: Intel Core i9-10850K
  • RAM: AEGIS DDR4 F4-3000C16D-32GISB
  • Graphics Card: NVIDIA Geforce GT710
  • SSD: VIPER VPN100 PCIe m.2 SSD 512GB

Standard Software Package on Workstation

You can find a backup of the standard software package at the technicans repository. Don’t use the backup but clone it. This software package includes the following software:

  • OS: Ubuntu 20.04
  • Driver: Nvidia GPU
  • Office and Latex
    • WPS Office
    • Texmaker – LaTeX Editor
    • Tex Live – LaTeX Distribution
    • Mailspring
  • Browser
    • Firefox
    • Chrome
  • Programming
    • Visual Studio Code
    • Pycharm community
    • Matlab 2020b
    • Github Desktop
    • Python 3.8 – included with Ubuntu 20.04
    • Arduino IDE
  • Video and Images
    • VLC Video Player
    • Inkscape
  • Conference Tools
    • Webex
    • Skype
    • Zoom
  • Cloud Storage and Password Management
    • Dropbox
    • Keypassx
  • Process Manager
    • htop
  • ROS:
    • ROS is not included in the standard software package due to employee preferences – some prefare ROS 1 other ROS 2.

Robot How to Build a USB Controlled Treadmill

This post discusses how to develop a low cost treadmill with a closed-loop feedback controller for reinforcement learning experiments.

MATLAB and JAVA code is linked.

Code & Links

The Treadmill

  • Get a standard household treadmill Samples
  • Note: It should work with a DC-Motor, otherwise a different controller is needed!

The Controller and the Distance Sensor

  • Pololu Jrk 21v3 USB Motor Controller with Feedback or stronger (max. 28V, 3A)
  • Comes with a Windows Gui to specify the control gains
  • Sharp distance sensor GP2Y0A21, 10 cm – 80 cm or similar
  • USB cable
  • Cable for the distance sensor
  • Power cables for the treadmill
  • Contorller User Guide by Polo

The Matlab Interface

  • Get the java library  build or the developer version, both from Sept 2015 created by E. Rueckert.
  • Run the install script installFTSensor.m (which add the jar to your classpath.txt)
  • Check the testFTSensor.m script which builds on the wrapper class MatlabFTCL5040Sensor (you need to add this file to your path)

GitHub High-Accuracy Sensor Glove, ROS, Gazebo

Sensor gloves are gaining importance in tracking hand and finger movements in virtual reality applications as well as in scientific research. In this project, we developed  a low-budget, yet accurate sensor glove system that uses flex sensors for fast and efficient motion tracking. 

The contributions are ROS Interfaces, simulation models as well as motion modeling approaches. 

GitHub Code & Links

Details to the Software Development

The figure shows a simplified schematic diagram of the system architecture for our sensor glove design:

(a) Glove layout with sensor placements, the orange fields denote the flex sensors, while the IMU is marked as a green rectangle,

(b) Circuit board which is wired with the sensor glove, has 10 voltage dividers for reading each flex sensor connected to ADC pins of the microcontoller ESP32-S2 and the IMU is connected to I2C pins,

(c) The ESP32-S2 sends the raw data via WiFi as ROS messages to the computer, which allows a real-time visualization in Unity or Gazebo,

(d) Post-processing of the recorded data, e.g. learning probabilistic movement models and searching for similarities.


A research publication by Robin Denz, Rabia Demirci, M. Ege Cansev, Adna Bliek, Philipp Beckerle, Elmar Rueckert and Nils Rottmann is currently under review. 

How to build a professional low-cost lightboard for teaching

Making Virtual Lectures Interactive

Giving virtual lectures can be exciting. Inspired by numerous blog posts of colleagues all over the world (e.g., [1], [2], [3]), I decided to turned an ordinary glass desk into a light board. The total costs were less than 100 EUR.

Below you can see some snapshots of the individual steps.

Details to the Lightboard Construction

The light board construction is based on

  • A glas pane, 8mm thick. Hint: do not use acrylic glass or glas panes thinner than 8mm. I got an used glass/metal desk for 20EUR.
  • LED stripes from YUNBO 4mm width, e.g. from [4] for 13EUR. Hint: Larger LED strips, which you can typically get at DIY markets have width of 10mm. These strips do not fit into the transparent u profile.
  • Glass clamps for 8mm glass, e.g., from onpira-sales [5] for 12EUR.
  • Transparent U profiles from a DIY store, e.g., the 4005011040225 from HORNBACH [6] for 14EUR.
  • 4 castor wheels with breaks, e.g. from HORNBACH no. 4002350510587 for 21EUR.

Details to the Markers, the Background and the Lighting

Some remarks are given below on the background, the lighting and the markers.

  • I got well suited flourescent markers, e.g., from [6] for 12EUR. Hint: Compared to liquid chalk, these markers do not produce any noise during the writing and are far more visible.
  • The background blind is of major importance. I used an old white roller blind from [7] and turned it into a black blind using 0.5l of black paint. Hint: In the future, I will use a larger blind with a width of 3m. A larger background blind is required to build larger lightboards (mine is 140x70mm). Additionally, the distance between the glass pane and the blind could be increased (in my current setting I have a distance of 55cm).
  • Lighting is important to illuminate the presenter. I currently use two small LED spots. However, in the future I will use professional LED studio panels with blinds, e.g. [8]. Hint: The blinds are important to prevent illuminating the black background.
  • The LED stripes run at 12Volts. However, my old glass pane had many scratches, which become fully visible at the maximum power. To avoid these distracting effects, I found an optimal setting with 8Volts worked best for my old glass pane.

Details to the Software and to the Microphone

At the University, we are using CISCO’s tool WEBEX for our virtual lectures. The tool is suboptimal for interactive lightboard lectures, however, with some additional tools, I converged to a working solution.

  • Camera streaming app, e.g., EPOCCAM for the iphones or IRIUN for android phones. Hint: the smartphone is mounted on a tripod using a smartphone mount.
  • On the client side, a driver software is required. Details can be found when running the smartphone app.
  • On my mac, I am running the app Quick Camera to get a real time view of the recording. The viewer is shown in a screen mounted to the ceiling. Hint: The screen has to be placed such that no reflections are shown in the recordings.
  • In the WEBEX application, I select the IRIUN (virtual) webcam as source and share the screen with the quick camera viewer app.
  • To ensure an undamped audio signal, I am using a lavalier microphone like that one [9].
  • For offline recordings, apple’s quicktime does a decent job. Video and audio sources can be selected correctly. Hint: I also tested VLC, however, the lag of 2-3 seconds was perceived suboptimal by the students (a workaround with proper command line arguments was not tested).

An Example Lecture

And that’s how it looks …

How to build and use a low-cost sensor glove

This post discusses how to develop a low cost sensor glove with tactile feedback using flex sensors and small vibration motors. MATLAB and JAVA code is linked.

Note that this project is not longer maintained. Use the GitHub project instead.



Weber, Paul; Rueckert, Elmar; Calandra, Roberto; Peters, Jan; Beckerle, Philipp

A Low-cost Sensor Glove with Vibrotactile Feedback and Multiple Finger Joint and Hand Motion Sensing for Human-Robot Interaction Inproceedings

In: Proceedings of the IEEE International Symposium on Robot and Human Interactive Communication (RO-MAN), 2016.

Links | BibTeX

A Low-cost Sensor Glove with Vibrotactile Feedback and Multiple Finger Joint and Hand Motion Sensing for Human-Robot Interaction


Rueckert, Elmar; Lioutikov, Rudolf; Calandra, Roberto; Schmidt, Marius; Beckerle, Philipp; Peters, Jan

Low-cost Sensor Glove with Force Feedback for Learning from Demonstrations using Probabilistic Trajectory Representations Inproceedings

In: ICRA 2015 Workshop on Tactile and force sensing for autonomous compliant intelligent robots, 2015.

Links | BibTeX

Low-cost Sensor Glove with Force Feedback for Learning from Demonstrations using Probabilistic Trajectory Representations

Details to the Hardware

  • Arduino Mega 2560 Board
  • Check which USB device is used (e.g., by running dmesg). On most of our machines it is /dev/ttyACM0
  • Enable read/write permissions if necessary, e.g., run sudo chmod o+rw /dev/ttyACM0
  • Serial protocoll based communication: Flex sensor readings are streamed and Vibration motor PWM values can be set between 0 and 255
  • Firmware can be found here (follow the instructions in the README.txt to compile and upload the firmware)
  • Features frame rates of up to 350Hz
  • Five flex sensors provide continuous readings within the range [0, 1024]

Simple Matlab Serial Interface (max 100Hz)

  • Download the Matlab demo code from here
  • Tell Matlab which serial ports to use: copy the java.opts file to your Matlab bin folder, e.g., to /usr/local/MATLAB/R2012a/bin/glnxa64/
  • Run FastComTest.m

Fast Mex-file based Matlab Interface - max 350Hz

  • Install libserial-dev
  • Compile the mex function with: mex SensorGloveInterface.cpp -lserial
  • Run EventBasedSensorGloveDemo.m