Fachbereich Informatik

IMU-based robot pole balancing

Bachelor--Thesis at group TAMS


Balancing a pole on the palm of the hand is an efficient demonstration of human non-prehensile manipulation and eye-hand coordination skills. The task has also become one of the most popular demonstrations of reinforcement learning approaches, as success and failure (pole falling down) can be detected easily, and definition of the state and action spaces is straightforward. However, most demonstrations are restricted to the 1-dimensional version (cart-pole) and/or are in simulation only (e.g. OpenAI gym).

In this thesis, we will try to implement autonomous pole-balancing as a demo for one of the robot-arms at TAMS (either PA-10, UR5/UR10, or the Trixi/PR2). While previous balancing demos on robots have used visual tracking of the pole, we will try use IMU data from an IMU fixed to the pole.

Hardware design

The existing hardware setups consist of a robot-arm and optionally cameras observing the robot workspace. Design and construction of the balancing pole with IMU sensor, microcontroller (e.g. Arduino or ESP 32) and host communication (e.g. serial/USB or WiFi/UDP) are the first part of the thesis. Depending on the chosen setup, additional hardware (e.g. switches for detecting the pole weight, or wires/mechanisms to catch and lift a falling/fallen pole) might be needed.

Software design

The design of the overall software architecture is the second part of the thesis, and probably will include three main components:

Reinforcement learning

The third and most important part of the software architecture is the actual machine learning of robot skills based on the collected sensor inputs (including IMU, robot proprioception, vision). This could use either classical RL algorithms based on discretized table-based state/action spaces or deep networks trained on actual sensor measurements.

Thesis Goals: