English

Block-/Direktprogrammierung

Damit humanoide Roboter eine bestimmte Handlung ausüben können, müssen entsprechende Programme erstellt werden. Hierbei erfordert jede Handlung ein seperates Programm. Wenn man also möchte, dass der humanoide Roboter Menschen die Hand zur Begrüßung gibt, muss man diese Bewegung zuvor als einzelnes Programm erstellen. Es gibt verschiedene Möglichkeiten, wie man diese Programme erstellen kann. Hier gehen wir ein auf die Block- sowie Direktprogrammierung.

Für die Blockprogrammierung sind kaum Programmierfähigkeiten nötig. Autorensysteme wie die Software Cheoregraphe bauen meist auf der Blockprogrammierung auf. Man wählt vorgefertigte Bausteine aus, die man nur noch mit Inhalten füllen und mit dem nächsten Baustein verknüpfen muss. Hierfür sind keine Programmierkenntnisse nötig, da das Programm einem den Transfer der eingegebenen Daten in ein für den Roboter verständliches Format abnimmt. Durch ein paar Mausaktionen kann man dadurch in kurzer Zeit ein Programm erstellen. Diese Programmierungsart wird z.B. auch von LEGO Mindstorms genutzt, um Jugendlichen das Programmieren näher zu bringen. 

Die Direktprogrammierung ist im Vergleich zur Blockprogrammierung komplexer. Bei dieser Programmierungsart schreibt man den Code für ein Programm und muss somit über forgeschrittene Programmierkenntnisse verfügen, um komplexere Programme entwerfen zu können. Im Fall von Pepper und NAO basieren die Codes auf der Programmiersprache Python. Hier ein Beispiel, wie die Programmierung in Choregraphe aussieht:

 

 

Möchte man sehen, ob die erstellten Programme funktionieren, bietet z.B. Choregraphe die Möglichkeit, sich mit Pepper oder NAO zu verbinden und dies zu testen. Zwar bietet das Programm auch eine simulierte Vorschau auf dem Bildschirm, diese ist jedoch stellenweise nicht ganz exakt und/oder hängt bei nicht genügend leistungsstarken Computern. Erst eine Übertragung des Programmes auf den Roboter und ein anschließendes Austesten zeigen letztendlich, ob der Roboter das Programm wie gewünscht umsetzt.

Im folgenden Video kann man sehen, wie NAO das Gesicht seines Gegenübers wahrnimmt und dessen Alter sowie Geschlecht einschätzt. 

Wie man der unteren Abbildung entnehmen kann, wurde dieses Programm mithilfe von verschiedenen Blöcken zusammen gestellt. Das Programm beginnt durch einen Sprachbefehl, z.B. "Schätz mein Alter" oder "Schätz mal". Mit dem Block "Set Language" wurde deutsch als Sprache festgesetzt. Möchte man andere Sprachen nutzen kann man dies mit diesem Block einstellen. Wie man im Video sehen kann, fordert NAO sein Gegenüber auf ihn bzw. in seine Kameras zu schauen. Der Block für die Kamera ist verbunden mit den Blöcken für Geschlecht sowie Alter. 

Beispiel-Programm zur Gesichtserkennung in der Autoren-Software "Choregraphe"
Druckversion | Sitemap
© Linguistic Engineering Team der Philipps-Universität Marburg