Entwurfsbeispiel: Simulation eines Portalroboters

Aufgabenstellung

Die folgende Aufgabe ist dem Lehrbuch Pomberger/Blaschek, Software-Engineering, Hanser-Verlag, S. 50 ff. in fast allen wesentlichen Teilen entnommen.

Schrägriss PortalroboterEin Portalroboter besteht aus einem Portal (daher der Name), dass sich auf zwei Schienen in Längsrichtung (x-Achse) bewegen kann. Auf dem Querbalken des Portals ist eine Laufkatze montiert, die sich quer zur Bewegungsrichtung des Portals bewegen kann (y-Achse). An der Laufkatze wiederum ist ein Greiferarm montiert, der sich auf und ab bewegen kann (z-Achse). Am unteren Ende des Greiferarms sitzt das eigentliche Werkzeug (z.B. eine Punktschweißpistole).

Der Bewegungsablauf eines Portalroboters soll auf dem Bildschirm simuliert werden. Der Roboter soll dazu auf dem Bildschirm schematisch in Aufriß, Grundriß, Seitenriß und Schrägriß dargestellt werden.

Der Bewegungsablauf wird durch eine einfache Sprache beschrieben, die die Formulierung der folgenden, möglichen Teilbewegungen gestattet:

Geradlinige Bewegung
zum Punkt (x,y,z) in n Schritten: die Teilbewegung wird bei der Simulation in geradlinige Schritte gleicher Länge zerlegt:

n L (x,y,z)
Geschlossene, zusammengesetzte Bewegung
entlang des Polygonzuges, der von k Punkten (x1,y1,z1) (x2,y2,z2) ... (xk,yk,zk) gebildet wird. Nachdem der letzte Punkt des Polygonzuges erreicht ist, kehrt der Roboter zum Ausgangspunkt zurück. Die Zahl n gibt an, wie oft diese geschlossene Bewegung ausgeführt wird:

n C (x1,y1,z1) (x2,y2,z2) ... (xk,yk,zk)
Die Bewegungsbeschreibung beginnt mit einer Anfangsposition (x0,y0,z0). Der Endpunkt einer Teilbewegung soll gleichzeitig der Anfangspunkt der nächsten Teilbewegung sein. Die Bewegungsbeschreibung wird mit E abgeschlossen.

Jede Koordinate kann absolut oder relativ angegeben werden. Die Zahl 10 bedeutet eine absolute Position (10 mm vom Nullpunkt des Koordinatensystems entfernt). Eine relative Koordinate wird durch eine Zahl mit einem vorangestellten Vorzeichen angegeben. +10 bedeutet also eine Bewegung um 10mm vom Ursprung der Teilbewegung weg. Sowohl bei einer linearen als auch bei einer Kreisbewegung beziehen sich alle relativen Angeben auf den Startpunkt des jeweiligen Schrittes.

Beispiel für eine Bewegungsbeschreibung:

(100,100,100)                   Anfangsposition (A)

10 L (+400,0,0)                 geradlinige Bewegung zum Punkt B in 10 Schritten

20 C (700,300,100)(900,300,100) geradlinige Bewegung zum Punkt D über

                                den Punkt C und zurück nach B; diese 

                                Bewegung wird 20-mal wiederholt.

10 L (-400,100,0)               geradlinige Bewegung zum Punkt E

E                               Ende der Bewegung
Das zu entwickelnde Softwareprodukt soll die Eingabe einer vollständigen Bewegungsbeschreibung ermöglichen und den Bewegungsablauf auf dem Bildschirm darstellen. Es soll möglich sein, den Ablauf im Dialog anzuhalten und ihn schrittweise zu verfolgen.

Nebenbedingungen

Der Greifer des Roboters soll auf einen würfelförmigen Raum von 2 m Kantenlänge beschränkt sein. Die Positionierungssgenauigkeit wird mit 1mm angenommen. Alle Koordinatenangaben sind daher auf ganze Zahlen zwischen 0 und 2000 beschränkt. Es muß sichergestellt sein, daß der Greifer diesen Raum nicht verlassen kann.
 

Benutzerschnittstelle

Ein Prototyp könnte folgendes Aussehen präsentieren:
GUI des Portalroboters: Hauptfenster