Die Projektwerkstatt.

T42

T42 – Die Zukunft der Informatik schon heute

Sie wissen nicht was T42 ist? Dann sind Sie hier genau richtig! T42 ist eine Programmiersprache die im Rahmen eines Semesterprojekts der Vorlesung Automaten, Sprachen und Compiler des Masterstudiengangs „Verteilte Systeme“ entwickelt wurde. Dieser Studiengang ist einer der Masterstudiengänge den die Westfälischen Hochschule am Campus Bocholt anbietet. Die Programmiersprache T42 dient zum Ansteuern eines humanoiden Roboters in einer für den Programmierer lesbaren Programmiersprache. Wenn Sie auch T42-Entwickler werden wollen, dann finden Sie hier eine Beschreibung der entwickelten T42-Programmiersprache.

Grundelemente von T42

Die T42-Programmiersprache enthält viele Konstrukte, die aus weitverbreiteten Programmiersprachen, wie etwa Java oder C bekannt sind. Die Grundelemente von T42 sind die Befehle zum Ansteuern der einzelnen Gelenke des humanoiden Roboters. Der Roboter besitzt beinahe alle Gelenke, die auch beim realen Menschen vorhanden sind. Alleine der Kopf besitzt drei Freiheitsgarde um ihn möglichst natürlich bewegen zu können. Die Abbildung 1 verdeutlicht die drei Freiheitsgrade des Kopfes des humanoiden Roboters.

Abbildung 1: Freiheitsgrade des Kopfes des humanoiden Roboters

Eine Bewegung in x-Richtung entspricht dem Drehen des Kopfes zu einer Seite. Die Bewegung in die y-Richtung ist gleichbedeutend mit dem Nicken oder Zurücklegen des Kopfes. Das Kippen des Kopfes wird mit der Bewegung in die z-Richtung realisiert.
Ähnlich wie bei dem Kopf besitzen auch die anderen Gelenke des Roboters Freiheitsgrade, die mit der T42-Programmiersprache angesteuert werden können.
Alle Befehle zum Ansteuern der Gelenke sind gleich aufgebaut. Sie bestehen aus einem oder mehreren Parametern zum Ansteuern der einzelnen Freiheitsgrade der Gelenke. Diese Parameter können jeweils Werte zwischen -100 und 100 annehmen. Im Fall des Kopfes würde ein Wert von -100 für den Parameter z bedeuten, dass der Roboter seinen Kopf komplett nach links kippt.
Neben den Parametern für die einzelnen Freiheitsgrade muss je Befehl ein Parameter angegeben werden, der beschreibt wie schnell die Position für das angegebene Gelenk erreicht werden soll. Der Befehl zum Ansteuern des Kopfes ist beispielsweise folgendermaßen aufgebaut:
HALS xPos, yPos, zPos, time;
Alle Befehle müssen mit einem Semikolon abgeschlossen werden.

Paralleles oder sequentielles Abarbeiten

Um die gleichzeitige Bewegung mehrerer Körperteile zu ermöglichen, besteht in T42 die Möglichkeit einzelne Befehle oder ganze Blöcke parallel abzuarbeiten. Das parallele und sequentielle Abarbeiten von Befehlen wird in T42 mit sogenannten Blöcken realisiert.

Die folgenden Videos zeigen T42 mit dem zugehörigen Roboter in Aktion: