Archiv

Robotik
Programmierung für Anfänger

Die Roboterprogrammierung gilt als Domäne des Hardcore-Programmierens. Nur wenige Spezialisten können Robotern etwas beibringen. Doch es scheint sich ein Wandel abzuzeichnen: Forscher arbeiten an Methoden, die auch Laien eine Programmierung ermöglichen sollen.

Von Maximilian Schönherr |
    Ein Serviceroboter wird am 3.6.2014 auf der Messe Automatica in München präsentiert.
    Sogenannte "Low-Level"-Programmierung soll auch Laien ermöglichen, Robotern Befehle zu geben. (picture-alliance / dpa / Peter Kneffel)
    Die gängige Vorstellung von Robotern ist, dass sie irgendwo, gut abgeschirmt von den Menschen, ihre superpräzise, aber stumpfsinnige Arbeit verrichten. Schon jetzt kommen aber Industrieroboter aus ihren Käfigen heraus und kooperieren mit dem Menschen an der Fertigungsstraße. Und in naher Zukunft werden Roboter in Krankenhäuser und in die häusliche Pflege einziehen. Damit ändert sich die Art, wie wir Robotern sagen, was sie zu tun haben:
    "Heutzutage ist die Programmierung von Robotern immer noch sehr stark spezialistenabhängig. Das heißt, Sie brauchen Informatiker, Sie brauchen gut ausgebildete Roboterspezialisten, um Roboterprogramme zu erstellen."
    Alin Albu-Schäffer vom Deutschen Zentrum für Luft- und Raumfahrt in Oberpfaffenhofen.
    "Die klassische Programmierung ist so, dass Sie tatsächlich eine Roboterprogrammiersprache beherrschen und in dieser Sprache sehr kleinteilig jede einzelne Bewegung in kleine Bewegungsabschnitte zerlegen müssen: 'Fahr 10 Zentimeter nach vorne, dann 3 Zentimeter nach hinten, fahr, bis du einen Kontakt von 10 Newton mit dem Tisch verspürt hast, dann gleite entlang des Tisches, bis du das Glas findest' und so weiter. Das ist der Detaillierungsgrad, auf dem klassischerweise Roboter programmiert werden. Der Trend geht dahin, dass man die Spezialisten zur Erstellung der Programmierumgebung braucht. Aber zum Einteachen bestimmter Aufgaben sollten dann auch Laien in der Lage sein."
    Alin Albu-Schäffer leitet die Robotikabteilung beim DLR und baut unter anderem Roboter für den Einsatz im Orbit.
    Programmierung durch Gesten und Sprachbefehle
    Elsa Andrea Kirchner vom Deutschen Forschungszentrum für Künstliche Intelligenz in Bremen dagegen arbeitet an Pflegerobotern:
    "Ein Roboter, der ein Altenheim unterstützt, wo ihn auch die Pfleger bedienen können sollen - von denen kann man natürlich nicht verlangen, dass sie C++ programmieren können, sondern da muss man ein Interface darstellen, das sozusagen auf diese Ebene zugreifen kann, aber irgendwie einfacher. Unsere Roboter können wir zum Beispiel über Gesten steuern. Da haben wir nicht einmal mehr ein Kabel am Roboter. Das heißt, man kann den gleichen Roboter mal über Kabel und PC auf "Low Level" ansteuern, aber auch über Gesten, und das ist sozusagen das Ziel."
    Low Level-Programmierung könnte bedeuten, man sagt einem Robotergelenk, dass es sich nicht über einen bestimmten Winkel hinaus drehen soll, oder, dass sich der Roboter bei einem Widerstand bestimmter Stärke, nämlich wenn wir Menschen seinen Arm zur Seite drücken, selbst abschaltet. Diese Routinen sind mit Gesten nur schwer, über normale Programmierung aber sehr leicht einzurichten.
    Gesten und auch Sprachbefehle eignen sich hervorragend dazu, bestimmte Bewegungsabläufe zu trainieren, also in den Programmcode hinein zu schreiben. Diese Abläufe sind auf der bisherigen tiefen Programmierebene nur ganz schwer umzusetzen. Alin Albu-Schäffer:
    "Es vollzieht sich gerade ein Schritt hin zur semantischen Ebene. Man möchte dem Roboter also eigentlich nur noch sagen: Guck auf den Tisch, such das Glas, nimm das Glas und leg's in der Spülmaschine ab. Dieses Stadium ist aber noch in den Forschungslaboren. Das heißt, es gibt kaum Industrieprodukte, die sich auf die Art und Weise programmieren lassen. Sie sehen aber in Forschungslaboren zunehmend Roboterprototypen, die man auf dieser semantischen Ebene programmieren kann. Da werden wir in den nächsten Jahren starke Ergebnisse beobachten. Und man hat natürlich für bestimmte Bereiche und Aufgaben auch adaptive oder lernende Verfahren. Aber ich würde sagen, die betreffen allenfalls 5 bis 10 Prozent der Roboterprogramme heutzutage."