PDV und Robotik/ Lehre / WS2005 / EES-EEI / Roboteransteuerung


Roboteransteuerung
 

Der Mitsubishi RM-501 besitzt 5 Gelenk-Motoren und einem Greifer-Motor. Die Gelenk-Motoren sind mit einem Schrittmotorinterface ausgestattet. Dieses besteht für jeden Motor aus 3 Leitungen: Takt, Richtung und Enable. Dabei werden die Leitungen für Takt und Richtung im Multiplex-Verfahren für alle Motoren gemeinsam verwendet. D.h., daß die Auswahl des Motors, für den Takt- und Richtungsleitungen Gültigkeit haben sollen, durch Setzen der entsprechenden Enable-Leitung erfolgt.
 

Um mit einem Motor einen Schritt zu fahren, muß folgende Schreibsequenz angewendet werden:

Um mehrere Motorschritte auszuführen, müssen diese Schritte so oft wiederholt werden, wie es die Anzahl der Motorschritte erfordert. (Hinweis: die Zeiten in der Abbildung sind nicht maßstabsgetreu.)
 
 

Die Leistungselektronik zählt Schritte, die nicht sofort ausführbar sind, in einem internen Vorwärts/Rückwärts-Zähler mit. Diese ausstehenden Schritte werden dann im Anschluß an den derzeit in Abarbeitung befindlichen Schritt mit maximaler Geschwindigkeit ausgeführt. Dadurch kann sich ein Motor auch dann bewegen, wenn er bereits deselektiert wurde. D.h. die Abarbeitung findet asynchron zum Programmablauf statt.
 
 

Jeder Motor verfügt über einen Endabschalter, der die "Null-Position" eines Gelenks anzeigt. Noch ausstehende Schritte werden ohne Rücksicht auf den Zustand dieses Endabschalters ausgeführt! Die folgenden mechanischen Gelenkbegrenzungen für die einzelnen Motoren sind definiert als maximal ausführbare Schritte in Vorwärts-Richtung (gemessen von der "Null-Position", in der ein Endabschalter gerade eben noch berührt wird).
 
 

Motor Gelenk Schritte Auflösung/Impuls

M0 Körper 0…-12000 0,025º

M1 Schulter 0...-5200 0,025º

M2 Ellbogen 0...3600 0,025º

M3,M4 Handneigung 0...4800 0,0375º

M3,M4 Handdrehung -9600...9600 0,0375º
 
 

Die beiden Gelenke der Hand werden jeweils durch die Motoren M3 und M4 angesteuert. Ein Vorwärtsschritt des Handneigegelenks wird durch Inkrementierung des Schrittwertes für M3 und (quasi-)gleichzeitige Dekrementierung des Schrittwertes für M4 erreicht. Ein Vorwärtsschritt des Handdrehgelenks wird durch Inkrementierung der Schrittwerte für M3 und M4 erreicht. Bedenken Sie bitte, daß die Leistungselektronik ohne Überprüfung die ihr zur Ausführung übergebenen Schritte auch über die Gelenkbegrenzungen hinaus ausführt. Dies kann zu schwerwiegenden Schäden am Roboter führen.
 
 

Etwas komplizierter ist die Ansteuerung des Greifers. Dem Greifer muß zunächst eine Ausführungskraft übergeben werden. Daraufhin kann dem Greifer-Motor der Befehl zur Ausführung, also der Befehl zum Öffnen bzw. Schließen, gegeben werden. Nach einer bestimmten Zeit, die ausreicht, um den Greifer zu öffnen bzw. zu schließen oder die Backen in eine bestimmte Position zu fahren, wird der Hand die Haltekraft übergeben, mit der die Backen in ihrer derzeitigen Position gehalten werden sollen oder die Greiferbewegung gestoppt.
 
 

Zur Speicherung der Kräfte dient ein Zwischenspeicher. In diesem Zwischenspeicher können die auf dem Bus anliegenden Daten als Kräfte eingeschrieben werden, indem die zugehörige Enable-Leitung gesetzt wird. Die Daten werden nach dem Rücksetzen der Enable-Leitung gespeichert, bis erneut Daten eingeschrieben werden. Die Daten können im Bereich 0...7 angegeben werden, wobei binär 111 einer großen Kraft und binär 000 einer kleinen Kraft entspricht.

Das Interface zum Hand-Motor besteht aus drei Leitungen: Ausführen, Richtung und Enable. Im Unterschied zu den Gelenk-Motoren wird hier durch das Setzen der Ausführungs-Leitung nicht nur ein Schritt, sondern eine vollständige Bewegung ausgelöst, die erst dann aufhört, wenn die Ausführungs-Leitung zurückgesetzt wird. Dabei wird die Bewegung auch dann fortgeführt, wenn der Hand-Motor bereits deselektiert wurde. Eine weitere Möglichkeit die Bewegung zu "stoppen" besteht darin, während der Bewegung eine kleine Kraft einzuspeichern. Dies kann z.B. dazu verwendet werden, eine Haltekraft anzugeben.
 
 

Zum Öffnen bzw. Schließen des Greifers muß folgende Schreibsequenz angewendet werden:

Um Überlastungen der Leistungselektronik zu vermeiden, sollten Haltekräfte in der Regel ? 2 gewählt werden. Nach dem Öffnen sollte sinnvollerweise die Haltekraft 0 angegeben werden, bzw. die Alternative des Stoppens ohne Haltekraft verwendet werden. Bei Angabe einer Ausführungskraft ? 2 wird wegen der großen Reibungskräfte, die überwunden werden müssen, im Normalfall keine Bewegung ausgelöst. Ebenso führen die großen Reibungskräfte dazu, daß Bewegungen mit großer Kraft schneller ausgeführt werden als mit kleiner Kraft.
 
 

Die Leitungen der Leistungselektronik sind mit dem Steuerrechner über den Ausgangskanal eines Parallel-Interface verbunden. Die Belegung der einzelnen Bits ist der Abbildung 2 zu entnehmen. Im Normalfall ist der im RM-501 eingebaute Steuerrechner mit diesen Leitungen verbunden. Damit die Leitungen unter Kontrolle des Echtzeitrechners gesetzt werden können, muß das MVME-Enable-Bit gesetzt sein. Damit wird gleichzeitig dem im RM-501 eingebauten Steuerrechner die Kontrolle entzogen. Bei Beendigung eines Programmes muß das MVME-Enable-Bit zurückgesetzt werden.
 
 

Bedeutung der Bits in Abbildung 2:

MVMEENA: MVME-Enable (1 = Kontrolle Echtzeitrechner, 0 = Kontrolle Steuerrechner)

ZwSpENA: Enable-Leitung des Zwischenspeichers (0 = Enable, 1 = Disable)

HandENA: Enable-Leitung des Handmotors (0 = Enable, 1 = Disable)

MnENA: Enable-Leitung des Motors n (mit n Î 0..4) (0 = Enable, 1 = Disable)

Takt: Takt-Leitung zum selektierten Gelenk-Motor (0 = gesetzt, 1 = rückgesetzt)

Ausf: Ausführungs-Leitung zum Hand-Motor (0 = Bewegung, 1 = Stop)

Richt: Richtungs-Leitung zum selektierten Gelenk-Motor,
(0 = inkrementieren, 1 = dekrementieren)

Richt: Richtungs-Leitung zum Hand-Motor (0 = Öffnen, 1 = Schließen)

Abbildung 2 ist zu entnehmen, daß es möglich ist, mehrere Motoren gleichzeitig anzusteuern, indem ihre jeweiligen Enable-Leitungen gleichzeitig gesetzt werden. Das Setzen und Rücksetzen des Taktes bzw. die angegebene Richtung gilt dann für alle selektierten Motoren.
 
 

Die Leitungen von den Endabschaltern sind mit dem Steuerrechner über den Eingabekanal eines Parallel-Interface verbunden. Die Belegung der einzelnen Bits ist Abbildung 2 zu entnehmen. Im Gegensatz zu den Leitungen am Ausgangskanal sind diese Leitungen immer zum Echtzeitrechner durchgeschaltet.
 
 

Bedeutung der Bits in Abbildung 3:

Ein Zustandsübergang der Endabschalter EA0...EA4 von "losgelassen" nach "gedrückt" wird durch einen Interrupt an das Parallelinterface gemeldet. Wenn im Control-Status-Register des Parallel-Interface das Interrupt-Enable-Bit gesetzt ist, führt das Auslösen eines Endabschalters dazu, daß eine Interruptsequenz angestoßen wird.

Beachten Sie bitte, daß es aufgrund von Störungen vorkommen kann, daß die Elektronik fehlerhaft eine Schalterberührung meldet. Innerhalb der Unterbrechungsbehandlung muß durch Auslesen des Eingabekanals geklärt werden, ob sich die Schalterstellungen wirklich verändert haben.


Letzte Änderung: 19.10.2005

 

Impressum