Trajectory Description Language
Project Members: Frank Ortmeier, Sergey Alatartsev
Project Time: 1.7.2011 – 30.6.2013
Funded By: Wissenschaftsministerium Sachsen-Anhalt
This project is about programming industrial robots. Today, industrial robots are almost exclusively used in large batch series production. Small and medium enterprises hardly use robots, because programming the robots is very time-consuming and expensive.
The cost for programming an industrial robot can easily outweigh the costs for the hardware. The aim of this project is to fundamentally change the way industrial robots are programmed. This will be done by introducing a completely new programming paradigm for industrial robots. Instead of programming robots traditionally in terms of (imperative) commands, users/programmers will only specify how movements should look like (i.e. what they expect from a movement). For instance, users will no longer be forced to describe motions explicitly but rather only formulate requirements an intended movement must fulfill. The robot will then find a fitting trajectory on its own.
As a consequence, development of applications with industrial robotics will change completely. It will (1) increase the efficiency of the development of new high-level applications, allow for (2) very intuitive and user-friendly programming interfaces and (3) provide a standardized way of multi-robot programming. Furthermore, it will help (4) abstracting from vendor specific hardware, promote a unifying programming interface and thus open the path to re-usable third party software for many applications. This can speed up innovation cycles exponentially (maybe comparable to innovations in business IT after the introduction of standard operating systems and database access languages). The core idea is to develop a declarative programming language for the specification of robotic movements. Starting from arbitrary movements, users restrict these by formulating spatial, temporal and/or minimization constraints. The software control will then automatically calculate fitting solutions which the robots will then execute. This shifts a lot of responsibility from users/programmers to the software-infrastructure. The underlying mathematical idea is, that any robot command can be understood as a mapping from time to nominal values for all actuators. The problem of finding solutions which adhere to a number of constraints is then reduced to finding a mathematical function which fulfills a number of restrictions.