An old robot operating system learning new tricks

‘How do you teach a robot to deal with unpredictable circumstances without the constant need for expensive reprogramming? In this cohesion project, we equip robots with generic tools to learn how to do so from their human colleagues.’

The field of robotics is moving at a fast pace. More and more robotic systems are being used in industrial environments, while researchers continuously devise new robot capabilities. Two of these researchers are Dr. Jens Kober (Dept. of Cognitive Robotics, previously Delft Center for Systems and Control) and Gijs van der Hoorn (Dept. of Cognitive Robotics, previously Dept. of Biomechanical Engineering). In their cohesion project, entitled ‘Learning-based motion control with ROS/MoveIt’, they tried to bring an on-the-fly learning component into one of the most commonly used software packages for robot control: the Robot Operating System (ROS) and its motion planning framework MoveIt!.

Dealing with the unpredictable

Robots that perform a single pre-programmed task, repeating it as often as needed, are well-known fixtures in modern industry. In fact, global sales of industrial robots have been on the rise by double-digit percentages over the past years, driven mostly by the electronics industry. On a next level of complexity and flexibility, robots that are able to scan their environment and find a safe way to navigate it autonomously are also being developed. Here, motion planning allows the robot to perform tasks in an arbitrary yet static environment. While an exciting development, this is still a far cry from robots being able to deal with unpredictable moving obstacles -- such as a human being trying to collaborate with the robot. ‘The key to achieving such performance is providing robots with a capability to constantly re-assess their environment and to re-calculate their motion, dealing with various constraints and learning along the way.’


While these challenges are not new, Kober and Van der Hoorn wanted to open up a plethora of possibilities by integrating the envisioned capabilities with the ROS/MoveIt! software. ROS is the most widely used platform for robot control, so countless sensors and robotic systems are already compatible, allowing plug-and-play for users worldwide. ‘However, MoveIt! is not well equipped to be used in a reactive or real-time control fashion. This is where we wanted to achieve a breakthrough.’ The two researchers tasked software engineer Ruben Burger MSc with designing the software architecture.


The challenge is one of fast optimisation. ‘What is the minimal ‘cost’ for the robot to get from A to B in the light of several constraints?’ The robot needs to respect a maximum velocity and maximum angles in its joints, and prevent collisions with objects in its vicinity. Creating a software layer in ROS/MoveIt! to achieve that will give the robot not just adaptability but a fundamental ability to ‘not screw up,’ as Kober puts it.

 ‘Fast optimisation will give the robot not just adaptability but a fundamental ability to not screw up’

Machine learning

‘We successfully concluded the first part of the project. The robot is able to respond to changes in the input or environment by solving a nonlinear optimisation problem within the human response time, so taking at most 0,1 s. The next thing we’d like to do is introduce the machine-learning component.’ What’s the underlying motivation for learning robots to learn? Van der Hoorn: ‘At the Department of Biomechanical Engineering we would like to make industrial robots which are  economically feasible for small and medium-size enterprises; a key aspect in this respect is the programming effort required by the system. We envision systems that are able to learn directly from their human colleagues. If they also have the ability to continuously optimise those taught tasks, they do not require the human supervisor to possess any special skills or go through extensive training.’ Moreover, the researchers aim to realise these advanced robot capabilities in a way that is not limited to highly specific circumstances but is generically re-usable.

'We envision systems that are able to learn directly from their human colleagues and to continuously optimise those taught tasks’

Complexity of the software design

As the one-year cohesion project itself is already done, Kober and Van der Hoorn will need to find other funding opportunities or motivated students to develop the self-learning aspect. ‘The implementation of the software, as much as the design, was more complex than imagined,’ Kober admits. ‘Mathematically and conceptually we figured out what we wanted to do relatively soon. Finding ways to put that into the software took longer than expected.’ No surprise he advices researchers preparing a cohesion proposal to structure the project in such a way that it will yield attractive proof-of-concept results early on.

 ‘Mathematically and conceptually we figured out what we wanted to do relatively soon. Finding ways to put that into the software took longer than expected.’

Cohesion ambition achieved

Looking back, the two researchers conclude: ‘Collaboration between the Center for Systems and Control and the Department of Biomechanical Engineering was never a far stretch to begin with; we’re both working on the interface of robot and human motion, with topics such as robot-assisted human motion or human-inspired robot motion highlighting the overall cohesion.’ What’s more, while the cohesion project was ongoing, a new Department of Cognitive Robotics was founded, staffed by researchers from both disciplines, including Kober and Van der Hoorn themselves. In short: cohesion ambition achieved. 




Dr. Jens Kober (Dept. of Cognitive Robotics, previously Delft Centre for Systems and Control) is assistant professor at TU Delft. Previously, he worked as postdoctoral scholar at both Bielefeld University and the Honda Research Institute Europe, both in Germany. He graduated in 2012 at Darmstadt University of Technology, winning the best Robotics PhD thesis in Europe prize. His expertise is in robotics and in various types of machine learning such as reinforcement, imitation and deep learning.

Gijs van der Hoorn MSc (Dept. of Cognitive Robotics, previously Department of Biomechanical Engineering) is a researcher in the Robot Dynamics group of the Cognitive Robotics department of TU Delft. He received his Master of Science in Computer Science from TU Delft in 2012. His main interests include software engineering in experimental robotics contexts, industrial robotics and factory automation.