EASY-ROB Dokumentation - physicstoDot

physicstodot.com

EASY-ROB Dokumentation - physicstoDot

1 Einleitung

Mit zunehmender Flexibilisierung in der Automatisierungstechnik

steigen die Anforderungen an

moderne Steuerungen der Automaten. Sie müssen

schnell und einfach bedienbar sein und unkompliziert

für neue Fertigungsabläufe programmierbar

sein. Diese Diplomarbeit ist ein Computerprogramm,

das Daten für die Antriebe von Robotern

zum Abfahren einer Bahn berechnet. Diese Roboter

werden mit Linearmotoren (z.B. Hydraulikzylinder)

angetrieben und werden dort eingesetzt, wo

große Kräfte zur Automatisierung eines Fertigungsablaufes

benötigt werden. Praktische Beispiele

sind mehrgliedrige Ausleger für

Betonpumpen und Brückensanierungsgeräte, oder

Handlingroboter im Schwermaschinenbau. EASY-

ROB wurde entwickelt, um die Anforderungen an

die Antriebselemente solcher Roboter besser

untersuchen zu können. Die Weg- und Geschwindigkeitsdaten

der Antriebselemente können in universellen

Simulationsprogrammen weiter

verarbeitet werden.

1.1 Merkmale des Programms

Das Programm EASY-ROB berechnet für

Roboter, die mit Hydraulikzylindern angetrieben

werden und eine Bahn abfahren sollen, die Wegdaten

für die Hydraulikzylinder in Abhängigkeit von

der Zeit. Der Roboter kann drei Freiheitsgrade 1 bei

maximal vier angetriebenen Roboterachsen

haben 2 . Also können Daten für redundante

Systeme berechnet werden. Mit dem Programm

können die Antriebsdaten für Roboter mit einer

Reichweite von bis zu 30 m berechnet werden. Es

können individuelle Achslängen, Zylinderanlenkungen

und Zylindermaße in einfachen Skizzen

am Bildschirm eingegeben werden. Das Programm

zeichnet die Ausleger und den Arbeitsraum der

eingegebenen Konfiguration maßstäblich auf den

Bildschirm. Hier kann der Anwender eine Gerade

oder einen Kreisbogen als Arbeitsbahn im Arbeitsraum

des Roboters vorgeben. Zusätzlich bietet das

Programm eine Auswahl an verschiedenen

Beschleunigungsprofilen 3 , um den Effektorpunkt

des Roboters auf die einstellbare Arbeitsgeschwindigkeit

zu beschleunigen. Die Bewegungen des

Roboters für die jeweilige Arbeitsbahn werden in

einer Grafik (dimetrische Projektion) auf dem

Bildschirm dargestellt. Die Roboterdaten und die

Wegdaten können abgespeichert werden. Die

Berechnung der Daten geschieht online.

1. Der Roboter kann sein Werkzeug im Raum positionieren, aber

nicht orientieren. Das Orientieren benötigt noch drei Freiheitsgrade

mehr.

2. ist erweiterbar

3. Trapez-, oder Sinoidenprofil

2 Mathematische Grundlagen

2.1 Allgemein

Ein Roboter ist eine Mechanik, die man mit einer

offenen kinematischen Kette 4 aus der Getriebelehre

vergleichen kann. Gelenke mit einem Freiheitsgrad

sind über Stäbe miteinander verbunden,

dadurch sind die Stäbe untereinander abhängig,

wenn sie bewegt werden. Mit einem Roboter verfolgt

man den Zweck, einen beliebigen Punkt im

Raum mit einem bestimmten Punkt am Roboter zu

erreichen. Der Punkt am Roboter wird Effektorpunkt

5 (EP) genannt.

4. [4] Kapitel 6.1.4, [2] Kapitel 2 ff, [5] Kapitel 4.2.7

5. Effektorpunkt oder Endeffektor entspricht der Hand eines Menschen,

Werkzeuge oder Spannvorrichtungen einbegriffen. [7]

Grundsätzlich

ist es einfach, die

Winkelstellungen

von zwei

Stäben (L1, L2)

zu berechnen,

damit diese

einen einzelnen

Punkt erreichen

(Bild 2-1). Das

geht auch noch,

wenn der Punkt

im Raum liegt.

L1

Z

Z

Bild 2-1

Doch wird es schon problematischer, wenn eine

Punktfolge in der X, Z-Ebene beschrieben werden

muß, die von einem positiven Quadranten in einen

L2

X

P

X

Winkelstellung

zweier Stäbe

Einleitung November 1998 Seite 1


negativen wechselt, oder die eingesetzten Sinusund

Cosinusfunktionen andere Vorzeichen bekommen.

Spätestens wenn man mit 6 Freiheitsgraden 1

oder und mit einem redundanten System 2 arbeitet,

muß man sehr viele Randbedingungen für die

Winkelfunktionen zur Hand haben, um das erreichen

des Punktes richtig zu beschreiben. Die Probleme

weiten sich aus, wenn man für eine

Bewegung zu einem Punkt eine Optimierungsstrategie

(z.B. Verfahren auf kürzestem Weg oder mit

geringstem Energieaufwand) einsetzen will.

Außerdem ist diese Art der Berechnung für einen

Computer nicht ausreichend für eine online

Berechnung, da trotz seiner Schnelligkeit die

Berechnung einer Winkelfunktion relativ viel Zeit

in Anspruch nimmt [11].

Man verliert auch schnell den Überblick wann

welche Randbedingung für welche Stabstellung

zählt, und wenn noch eine vorgegebene Orientierung

eines Werkzeugs an einer Arbeitsbahn für ein

Werkzeug am Roboter hinzukommt, d.h. es müssen

6 Freiheitsgrade zur Verfügung stehen um

einen Punkt zu erreichen, dann ist diese Berechnungsmethode

zum Scheitern verurteilt [7] 3 .

Aus diesen Gründen arbeitet EASY-ROB bei

der Berechnung der Antriebsdaten mit Koordinatentransformationen

und der Matrizenrechnung.

Mit der Koordinatentransformation wird ein fester

Berechnungsalgorithmus zur Bestimmung der

Winkellagen eingesetzt und mit der Matrizenrechnung

eine einfach programmierbare und für die

Berechnungszeit optimale Berechnungsmethode

eingesetzt.

2.2 Koordinatensysteme und

Koordinatentransformation

[10] 4

Ein Punkt im Raum kann in einem Koordinatensystem

5 beschrieben werden. Zur Definition eines

Koordinatensystems dienen die Einheitsvektoren

e x , e y , e z . Wenn diese linear unabhängig sind,

kann man sie von einem beliebigen gemeinsamen

Ursprung ausgehend zur Darstellung eines beliebigen

Punktes im Raum heranziehen.

1. Position und Orientierung eines Werkzeugs im Raum

2. Es gibt mehrere möglich Stellungen um den Punkt zu erreichen

3. Kapitel 2.4 und 2.5

4. Kapitel 6.1.1

5. Wird im weiteren Text mit KS abgekürzt

X

ex

Z

ez

y

ey

Bild 2-2 Punkt im kartesischen

Koordinatensystem

Als Definition gilt: Die Einheitsvektoren stehen

rechtwinklig zueinander und bilden ein Rechtssystem

6 . Man spricht auch von einem kartesischen

Koordinatensystem.

Die Koordinaten x, y, z des Ortsvektors zum

Punkt lassen sich als Spaltenmatrix schreiben.

OP

=

x

y

z

(2-1)

Der Ort des Punktes ( P 0 ) kann auch ein

Ursprung U 1 eines weiteren KS sein (siehe Bild 2-

3), z.B. KS 1 , wenn das erste KS den Index 0 hat.

e z1

Ortsvektor

zum Punkt 1

Bild 2-3

e y1

6. Bei solch einem Koordinatensystem ist bei einer Drehung der x-

Achse auf kürzestem Weg in die y-Achse eine gleichzeitige Bewegung

in Richtung der z-Achse definiert (Rechtsschraube).

z

P 1 ( x 1

, y 1 , z 1 )

P(x,y,z)

KS 1

U 1

P = 0 ezo

e Ortsvektor

x1

zum Punkt 0

e xo

KS

0

Koordinatentransformation

eines Punktes

x

Y

Ergebnisvektor aus

Koordinatentransformation:

Punkt 1 beschrieben in KS 0

eyo

Seite 2 November 1998 Mathematische Grundlagen


In diesem KS 1 ist wiederum ein Punkt ( P 1 ) durch

einen Ortsvektor beschrieben. Nun wird die Koordinatentransformation

eingesetzt um den Punkt P 1

im KS 0 zu beschreiben.

Allgemein ist eine Koordinatentransformation

eine Überlagerung einer Verschiebung mit einer

Drehbewegungen eines KS, um dieses KS in ein

anderes KS hineinzulegen. Eine einfache Erklärung

dafür, bezogen auf Bild 2-3 wäre:

Ergebnisvektor = (Ortsvektor zu Punkt 0 + Verdrehung)

* Ortsvektor zu Punkt 1.

Das KS 1 kann dabei beliebig im Raum liegen,

muß aber der Definition eines Rechtsystems

gehorchen, um die Berechnung zu vereinfachen.

Zuerst der translatorische Anteil (Verschiebung)

für die Koordinatentransformation. Das ist der

Ortsvektor vom KS 0 zum Punkt 0, dem Ursprung

des KS 1 . Man kann sich vorstellen, das KS 0 auf

diesem Vektor verschoben wird, bis KS 0 und

KS 1 den selben Ursprung haben.

Nun kann die Verdrehung von KS 1 bezüglich

betrachtet werden:

Dazu erinnert man sich zuerst an die Grundlagen

der Vektorrechnung [4].

Z

Y

δ

b

a b

λ

a

der Winkel berechnet, den a gedreht werden muß,

um in die Richtung von b zu zeigen.

--------------- a⋅

b

= cos∠( (2-3)

a ⋅ b

a , b )

Gleichzeitig sieht man auch, daß der Skalar λ

über den Cosinus von α 1 auf dem Vektor b abgebildet

werden kann.

δ = λ⋅

cos∠( ab , )

(2-4)

Jetzt sind die beliebigen Vektoren die Einheitsvektoren

der beiden KS. Um nun die Orientierung

ezo

e z1

e y1

e xo

Bild 2-5

α 1

γ 1

e x1

β 1

e yo

Gegeneinander verdrehte

Koordinatensysteme

von KS 1 in KS 0 zu bestimmen, wird die Gleichung

(2-3) mit den Einheitsvektoren angewendet.

Nun wird der Winkel α 1 zwischen den Einheitsvektoren

und wie folgend bestimmt:

e x0

e x1

e x0

⋅ e x1

cosα 1 = -----------------------

(2-5)

e x0

⋅ e x1

Mit den Einheitsvektoren e y1

und e x0

wird

ebenso der Winkel β 1 berechnet.

KS 0

Bild 2-4

Beliebig im Raum liegende

Vektoren

Für beliebig im Raum liegende und vom selben

Ursprung ausgehende Vektoren in einem rechtwinkligen

Koordinatensystem gilt die Definition

des Skalarprodukts 1 .

a⋅ b = a ⋅ b ⋅ cos( ∠a,

b)

(2-2)

Daraus ist der Cosinus des Winkels ( ∠a,

b)

durch Formelumstellung leicht zu finden. Es wird

1. Das Skalarprodukt ist das Produkt aus den Beträgen von zwei

Vektoren und dem Cosinus ihres eingeschlossenen Winkels

X

e y0

⋅ e x1

cosβ 1 = -----------------------

(2-6)

e y0

⋅ e x1

Und mit den Einheitsvektoren e z1

und e x0

wird

in gleicher Weise der Winkel γ 1 bestimmt.

e z0

⋅ e x1

cosγ 1 = -----------------------

(2-7)

e z0

⋅ e x1

Mit diesen Winkeln und den Einheitsvektoren

gilt folgende Gleichung:

1 = e x1

e x1

= cosα 1 ⋅ e x0

+ cosβ 1 ⋅ e y0

+ cosγ 1 ⋅ e z0

Analog gilt für die Einheitsvektoren

e y1

und

e z1

Mathematische Grundlagen November 1998 Seite 3


1 = e y1

e y1

= cosα 2 ⋅ e x0

+ cosβ 2 ⋅ e y0

+ cosγ 2 ⋅ e z0

1 = e z1

e z1

= cosα 3 ⋅ e x0

+ cosβ 3 ⋅ e y0

+ cosγ 3 ⋅ e z0

Man sieht, daß die Einheitsvektoren e x1

, e y1

, e z1

aus den Abbildungen der Einheitsvektoren

e x0

, e y0

, e z0

aufgebaut werden. Das gleiche gilt für

Skalare, die auf den Koordinatenachsen x 0 , y 0 , z 0

liegen, deshalb gelten die Gleichungen:

x 1 = cosα 1 ⋅ x 0 + cosβ 1 ⋅ y 0 + cosγ 1 ⋅ z 0

y 1 = cosα 2 ⋅ x 0 + cosβ 2 ⋅ y 0 + cosγ 2 ⋅ z 0

z 1 = cosα 3 ⋅ x 0 + cosβ 3 ⋅ y 0 + cosγ 3 ⋅ z 0

Oder in Matrizenschreibweise:

x 1 α 1

y 1

=

z 1

cos cosβ 1 cosγ 1

cosα 2 cosβ 2 cosγ 2

cosα 3 cosβ 3 cosγ 3


x 0

y 0

z 0

(2-8)

X

φ

Bild 2-6

Z

θ

Es werden die positiven Drehrichtungen um die

jeweiligen Koordinatenachsen wie in Bild 2-6 dargestellt

definiert.

Nun wird nach Definition mit einer Elementardrehung

um die X-Achse begonnen, und der Drehwinkel

φ entsteht (Bild 2-7). Das gedrehte KS

wird mit dem Index R gekennzeichnet.

Ψ

Positive Drehrichtungen um

Koordinatenachsen

Z

Y

Oder:

Z

P

x 1

y 1

=

R ⋅

x 0

y 0

(2-9)

ZR

v

Y R

z 1

z 0

Die Gleichungen (2-8) oder (2-9) beschreiben

also die Transformation der Koordinaten eines

Punktes aus KS 0 in KS 1 , wenn diese gegeneinander

verdreht sind. Unter Einbeziehen der Translation

lautet die Gleichung für eine Koordinaten–

transformation somit:

EV R = OP 0 + R ( Winkel)

⋅ OP 1 (2-10)

Mit dieser Berechnungsmethode müssen also

neun Winkel berechnet werden, um eine Orientierung

der beiden KS untereinander zu beschreiben.

Das ist noch sehr viel Berechnungsaufwand. Deshalb

gibt es noch eine andere Methode die Orientierung

der Koordinatensysteme untereinander zu

beschreiben. Diese hat einen großen Nutzen für

das Verständnis von Koordinatentransformationen

in der Getriebekinematik oder Roboterkinematik.

Koordinatentransformation

über die KARDAN-Winkel

w

Bild 2-7

X =X R

Der Zusammenhang zwischen den Koordinaten

des Punktes P im Basiskoordinatensystem und im

gedrehten KS lautet:

x

y

z

(2-11)

Genauso wird mit den anderen Achsen des KS

verfahren (siehe Bild 2-8).

Für die Drehung um die Y-Achse gilt:

x

y

z

=

=

φ

Elementardrehung um die

X-Achse

1 0 0

0 cosφ

–sinφ

0 sinφ

cosφ

cosψ

0 sinψ

0 1 0

– sinψ 0 cosψ



u

v

w

u

v

w

Y

Y

(2-12)

Seite 4 November 1998 Mathematische Grundlagen


Z

Y

ZR

YR

X R

θ

Y =Y R

ψ

X

Z =Z R

X

Bild 2-8 Elementardrehung um die

Y-Achse

Für die Drehung um die Z-Achse (siehe Bild 2-

9) gilt:

:

x

y

z

=

cosθ

– sinθ

0

sinθ

cosθ

0

0 0 1


u

v

w

X R

Bild 2-9

Um die Auswirkungen der einzelnen Drehungen

auch auf die jeweiligen Drehachsen zu berücksichtigen,

müssen diese Drehmatrizen in der Reihenfolge

R x ( φ)R y ( ψ)R z ( θ)

multipliziert werden.

Man erhält dann die Drehmatrix für die

KARDAN-Winkel: R KARD ( φψθ , , )

oder mit:

Elementardrehung um die

Z-Achse

R KARD ( φψθ , , ) = R x ( φ)R y ( ψ)R z ( θ)


= cosψ,

sφ =

sinφ

usw.:

(2-13)

R KARD ( φψθ , , )

=

cψcθ – cψsθ sψ

cφsθ + sφsψcθ cφcθ – sφsψsθ – sφcψ

sφsθ – cφsψcθ sφcθ + cφsψsθ cφcψ

(2-14)

Wenn die Winkel φ, ψ,

θ bekannt sind, sind mit gemeine Gleichung dafür angeben. Bezogen auf

dieser Drehmatrix alle Koordinaten von Punkt 1 Bild 2-3 „Koordinatentransformation eines Punktes“

auf Seite 2 gilt:

im KS 1 ins KS 0 übertragbar. Diese Drehmatrix

ist identisch mit der Matrix aus Gleichung (2-8).

Diese Matrix wird auch Rotationsmatrix R

EV = OP 0 + R KARD ( φψθ , , ) ⋅ OP 1 (2-15)

genannt. Die Matrix aus Gleichung (2-14) ( EV = Ergenbisvektor).

beschreibt die Orientierung von KS 1 bezüglich Die Rotationsmatrix R ist eine 3x3 Matrix. Diese

KS 0 , wenn das mit R indizierte Koordinatensystem

KS1 ist. Die Matrix R aus Gleichung (2-8) der einzelnen KS paarweise senkrecht aufeinander

Matrix ist orthogonal, weil die Einheitsvektoren

beschreibt die Orientierung von KS 0 bezogen auf stehen. Ein Versuch zeigt sofort:

KS 1 . Faßt man nun den translatorischen Anteil

und den rotatorischen Anteil bei einer Koordinatentransformation

zusammen, kann man eine

R⋅

R T = E oder: (2-16)

all-

c ψ c θ – c ψ s θ s ψ c ψ c θ c φ s θ + s φ s ψ c θ s φ s θ – c φ s ψ c θ

c φ s θ + s φ s ψ c θ c φ c θ – s φ s ψ s θ – s φ c ψ ⋅ – c ψ s θ c φ c θ – s φ s ψ s θ s φ c θ + c φ s ψ s θ

s φ s θ – c φ s ψ c θ s φ c θ + c φ s ψ s θ c φ c ψ s ψ – s φ c ψ c φ c ψ

Die Eigenschaft der Orthogonalität der Rotationsmatrix

läßt auch ein leichtes Invertieren der

Rotationsmatrix zu, weil für sie gilt: R – 1 = R T .

Die inverse Rotationsmatrix anzuwenden bedeutet

100

010

001

(2-17)

praktisch die Verdrehung von KS 0 bezüglich

KS 1 zu beschreiben. Also ist die Koordinatentransformation

auch umgekehrt möglich.

=

Mathematische Grundlagen November 1998 Seite 5


So dient R zur Beschreibung von Punk 1 in KS 0

und R – 1 zur Beschreibung von Punkt 0 in KS 1 .

Die Rechenoperationen für die Drehungen sind

nicht kommutativ, d.h. eine unterschiedliche Reihenfolge

bei der Multiplikation der einzelnen Drehungen

führt zu einem anderen Ergebnis.

Über die Koordinatentransformation und über

die Ableitungen der Vektoren und der Winkel nach

der Zeit sind auch die Geschwindigkeiten und

Beschleunigungen der einzelnen KS bezüglich des

festen KS mathematisch beschreibbar [10] 1 . Dies

wird in dieser Arbeit aber nicht behandelt.

2.3 Beispiel für eine Bewegung

in der Ebene

Am Sonderfall einer Bewegung in einer Ebene

wird die Koordinatentransformation nocheinmal

geschildert (siehe Bild 2-10). Für eine Bewegung

in der X, Z -Ebene kann Y = 0 gesetzt werden 2 .

Eine Drehung kann dann nur um die Y-Achse

erfolgen, man erhält den Drehwinkel ψ .

Z

Z

0

P ( u

1 1 , 0 , w 1 )

W

OP 0

U

w 1

OP 1 u 1

ψ

EV

X0

Bild 2-10 Bewegung in der Y= 0 Ebene

Wie in Bild 2-10 dargestellt, gilt dann mit den

Vektoren

X

R y ( ψ)

=

cosψ

sinψ

– sinψ cosψ

(2-18)

In der Gleichung für die Koordinatentransformation:

EV = OP 0 + R y ( ψ) ⋅ OP 1

oder ausgeschrieben:

x

z

=

x 0

z 0

+

cosψ

sinψ

– sinψ cosψ

(2-19)

(2-20)

2.4 Homogene Koordinaten und

homogene Transformation

[10] 3 , [9] 4

Homogene Koordinaten und homogene Transformationen

werden bei der Analyse von Mechanismen

eingesetzt. Sie haben eine weite

Verbreitung in der Computeranimation von Bewegungsabläufen

gefunden. Die Grundidee besteht

darin, translatorische und rotatorische Koordinatentransformationen

zu einer Matrizenoperation

zusammenzufassen. Dazu führt man 4-dimensionale

Koordinaten 5 ein. Die Vektoren bekommen

eine Dimension mehr.

Mit dieser Dimensionserweiterung ist es möglich,

die aus Translation und Rotation zusammengesetzte

Koordinatentransformation durch eine

Transformationsmatrix darzustellen.

Um zu verstehen, was damit bezweckt wird

schaut man sich die Berechnung von EV an, und

führt sich das Schema der Matrizenmultiplikation

vor Augen.

Die allgemeine Gleichung für eine Koordinatentransformation

lautet:

u 1

w 1

x

OP 0

u

0 = , OP 1 = 1

, und EV

z 0

w 1

- und mit der Rotationsmatrix R y ( ψ)

:

=

x

z

EV = OP 0 + R⋅

OP 1

oder in Matrizenschreibweise:

(2-21)

1. Kapitel 6.1.2

2. Gewöhnlich wird das in der X,Y-Ebene beschrieben. Um ein besseres

räumliches Verständnis für die Rechenoperation in den nachfolgenden

Kapiteln zu bekommen, wird hier die X,Z-Ebene

benutzt. Das ist hilfreich, da im allgemeinen in der Robotertechnik

die Z-Achse die Senkrechte im Arbeitsraum darstellt

3. Kapitel 6.1.3

4. Kapitel 4.2.5

5. sogenannte homogene Koordinaten

Seite 6 November 1998 Mathematische Grundlagen


x 0 x EV

z EV z 0

y EV

= y 0

Den ersten Teil der Gleichung mit der Matrizenmultiplikation

berechnet ergibt:

-mit der abschließenden Addition erhält man die

Koordinaten des Ergebnisvektors:

(2-22)

Führt man nun eine Dimensionserweiterung mit

der Rotationsmatrix und den Vektoren aus Bild 2-

10 wie folgend durch, kann man den Zusammenhang

zwischen Translation und Rotation für eine

Koordinatentransformation in einer Matrix schreiben.

Diese Matrix wird mit T 1 bezeichnet:

Dimensionserweiterung der Vektoren OP 1 und

OP 0 :

x 1

x 0

y

OP 1

y

1 = , OP 0 0 =

Zusammenfassung der Rotationsmatrix und des

Translationsvektors OP 0 zu der Matrix T,

oder:

+

abc

def

ghk

man erhält das einfache Matrizenprodukt:

EV = T ⋅ OP 1

-oder in Matrizenschreibweise:

1. Notation aus der englischen Literatur für homogene Transformationen,

wird in der Mechanismen- und Robotertechnik verwendet.


x 1

z 1

y 1

x 0 a x 1 b y 1 c z 1

x EV

⋅ + ⋅ + ⋅

z EV z 0 g⋅ x 1 + h⋅ y 1 + k ⋅ z 1

y EV

= y 0

+ d⋅

x 1 + e⋅

y 1 + f ⋅ z 1

x 0 a x 1 b y 1 c z 1

x EV + ⋅ + ⋅ + ⋅

z EV z 0 + g⋅ x 1 + h⋅ y 1 + k ⋅ z 1

y EV

= y 0 + d⋅

x 1 + e⋅

y 1 + f ⋅ z 1

T

=

z 1

1

z 0

1

Rotationsmatrix Translationsvektor

0 1

T = R OP 0

000 1

x EV

y EV

z EV

1

=

abcx 0

defy 0

ghkz 0

000 1

(2-23)

Diese Gleichung nach dem Schema der Matrizenmultiplikation

berechnet ergibt:

x EV

y EV

z EV

1

=

(2-24)

Dieses Ergebnis ist identisch mit dem Ergebnis

aus Gleichung (2-22). Man erhält den gleichen

Ergebnisvektor.

Mit dieser Transformationsmatrix kann also die

allgemeine Koordinatentransformation aus Gleichung

(2-21) als einfaches Matrizenprodukt dargestellt

werden.

EV = T ⋅ OP 1

Wichtige Eigenschaften der Transformationsmatrix

T:[10] 2

1. Die Matrix T enthält Informationen über Orientierung

und Position von KS 1 bezüglich

, beschrieben durch die Rotationsmatrix

R bzw. durch den Ortsvektor .

KS 0

OP 0

2. Für ein Rechtssystem gilt Det[T] = 1, für ein

Linkssystem 3 gilt Det[T]= -1.

T – 1

3. Die inverse Transformation wird durch

beschrieben:

4. Sonderfälle sind die reine Rotation OP 0 = 0

und die reine Translation (R=E).

5. Indizierung von T:

Der obere Index kennzeichnet das Bezugskoordinatensystem.

In dem Beispielfall aus Bild 2-

3 „Koordinatentransformation eines Punktes“

2. Kapitel 6.1.3

3. Anstatt der Dreh- und Bewegungsrichtung einer Schraube mit

Rechtsgewinde werden Dreh- und Bewegungsrichtung einer

Schraube mit Linksgewinde definiert.


x 1

z 1

y 1

1

a⋅

x 1 + b⋅

y 1 + c⋅

z 1 + x 0

d⋅

x 1 + e⋅

y 1 + f ⋅ z 1 + y 0

g⋅ x 1 + h⋅ y 1 + k ⋅ z 1 + z 0

0⋅ x 1 + 0⋅ y 1 + 0⋅ z 1 + 1

T 1 = R T – R T OP 0

000 1

Mathematische Grundlagen November 1998 Seite 7


auf Seite 2 ist das KS 0 . Der untere Index kennzeichnet

das in das Bezugskoordinatensystem

transformierte KS, im Beispielfall ist das KS 1 .

Beispielrechnung mit der Transformationsmatrix

T:

Für die Koordinatensysteme in Bild 2-11 gilt die

0

Transformationsmatrix T 1

z0

T 1

0

=

01

R

a

b

c

000 1

x1

π

R x --

⎝ ⎛ 2⎠


wird

10 0

= 00–

1 und R z ( π)

=

01 0

T 1

0

=

– 1 0 0 a

0 0 – 1 b

0 – 1 0 c

0 0 0 1

Mit dieser Matrix und dem Ortsvektor OP 1

x 1

y

OP 1 1 =

z 1

1

- erhält man aus der Gleichung

– 1 0 0

0 – 1 0

0 0 1

z1

0

EV = T 1 ⋅ OP1

y0

b

c

y1

den Ergebnisvektor EV für die Darstellung des

Ortsvektors OP 1 in KS 0 , der aber in KS 1 gegeben

ist.

a

x0

Bild 2-11 Beispiel Koordinatentransformation

mit Matrix T

EV

=

x E

y E

z E

1

01

- die Rotationsmatrix R kann aus zwei Elementardrehungen

berechnet werden:

01

R

mit

π

= R x --

⎝ ⎛ 2⎠

⎞ ⋅

R z ( π)

Nach der Berechnung erhält man:

x E = – x 1 + a

y E = – y 1 + b

z E = – z 1 + c.

Dieses Ergebnis kann man sich auch vorstellen,

wenn man Bild 2-11 betrachtet.

3 Koordinatentransformation in der Roboterkinematik

[7], [9], [10]

3.1 Rückblick

Wie nun aus Kapitel 2 bekannt sein müßte, dient

die Koordinatentransformation zur mathematischen

Beschreibung eines Punktes in einem KS,

der in einem anderen KS gegeben ist. Diese KS

können beliebig im Raum orientiert und positioniert

sein.

Nun kann man ein weiteres KS, z.B. KS 2 an

eines der beiden anderen anhängen. Wieder über

einen Ortvektor mit einem der beiden anderen verbunden.

Führt man jetzt die Koordinatentransformation

nacheinander aus {( KS 2 in KS 1 ) diese

Transformation in KS 0 }, kann man die Koordinaten

eines Vektors, der in KS2 gegeben ist in KS 0

beschreiben oder auch umgekehrt. Das nutzt man

aus, um die Abhängigkeiten der Glieder bei einer

Bewegung einer offenen kinematische Kette zu

berechnen. Dazu befestigt man die KS an den

Seite 8 November 1998 Koordinatentransformation in der Roboterkinematik


X

Z

0

2

1

Gliedern der Kette (in Bild 3-1 auf Seite 9 dargestellt

als Stäbe). Wenn die Position und die Orientierung

der KS untereinander bekannt sind, kann

man über diese körperfesten KS die Koordinaten

von Punkt P in KS 4 mit der nacheinander ausgeführten

Koordinatentransformation (Gleichung (3-

1)) berechnen. Man erhält die Koordinaten von

Punkt P in KS 0 .

Das ist für n KS möglich.

(3-1)

0 1 n–

1

OP 0 = T 1 ⋅ T2…Tn ⋅ OP n (3-2)

Wie man in den Gleichungen (3-1) und (3-2)

sieht, ist die Gesamttransformation der einzelnen

KS eine einfache Matrizenmultiplikation der

Matrix T mit steigendem Index. So gilt für Gleichung

(3-1):

T 4

0

Bild 3-1

y

und für Gleichung (3-2):

x

y

z

z

.

P

y

x

x

4

z

x

3

z

y

Y

Körperfeste Koordinatensysteme

0 1 2 3

OP 0 = T 1 ⋅ T2 ⋅ T3 ⋅ T4 ⋅ OP4

=

0

T n =

0 1 2 3

T 1 ⋅ T2 ⋅ T3 ⋅ T4

0 1 n–

1

T 1 ⋅ T2…Tn Da diese Berechnungsart für jede Transformation

die gleiche Struktur hat, kann ein rekursiv

arbeitender Algorithmus für die Berechnung eingesetzt

werden. Das ist natürlich für den Einsatz

des Computers zur Berechnung sehr nützlich.

Erinnert man sich an den Aufbau der Matrix T,

so stellt man fest, daß einige Orientierungswinkel

und Positionsvektoren berechnet werden müssen,

um die Matrix T zu füllen. Da die körperfesten KS

aber beliebig positioniert und orientiert sein können

bedient man sich einer Vereinbarung für die

Position, Orientierung und die Transformationseigenschaft

der KS untereinander. Das hat den

Zweck, den Berechnungsaufwand zur Füllung der

T Matrix zu verkleinern und die Berechnung noch

einfach nachvollziehen zu können.

3.2 Denavit- Hartenberg-

Notation (DH-Notation)

In der Roboterkinematik wendet man eine spezielle

Vereinbarung für die Position, die Orientierung

und die Transformationseigenschaft der KS

untereinander an, die Denavit-Hartenberg-

Notation 1 . Die DH-Notation wurde ursprünglich

zur Beschreibung der Kinematik räumlicher

Mechanismen entwickelt und hat in der Roboterkinematik

eine besondere Bedeutung erlangt. Die

Grundidee ist eine möglichst einfache und eindeutige

Vorschrift für eine Koordinatentransformation

zu gebrauchen. Das hat die Vorteile schnell und

sicher Koordinatentransformationen nachzuvollziehen,

und den Berechnungsaufwand zu reduzieren,

wenn über mehrere KS hinweg Koordinaten

transformiert werden müssen.

Zur Veranschaulichung wird jetzt anhand Bild

3-2 auf Seite 10 die DH-Notation erklärt.

1. Denavit und Hartenberg (1955) zeigten, daß KS, die über einen

Vektor miteinander verbunden sind durch eine vorgeschriebene

Folge von mindestens zwei Rotationen und zwei Translationen

ineinander überführt werden können.

Koordinatentransformation in der Roboterkinematik November 1998 Seite 9


Z

i-1

Zi

ϑ i

ϕ i

+ϕ i

Z i-2

Yi

Xi

Glied (i)

Glied (i-1)

d i

+ϑ i

Si

X i-1

i-1

di-1

Y

Z

Bild 3-2 Skizze zur Denavit-Hartenberg-Notation:

Ein räumliches Gelenkgetriebe

In diesem Bild ist ein Ausschnitt eines räumlichen

Dabei wird die – -Achse in die von der Z i -

einer Drehung der Z i– 1 -Achse um die Achse X i . im KS i–

1 beschreiben (und umgekehrt).

Gelenkgetriebes zu sehen (räumliche Kine-

Achse und X i -Achse aufgespannte Ebene gedreht.

i 1

matik). Man sieht Glied (i) und Glied (i -1). Diese Der Winkel ϑ iXi ist positiv für eine Rechtsschraube

sind aus einer kinematischen Kette herausgenommen,

um die Achse .

die aus n Gliedern besteht. An diesen zwei

Glieder wird die Vereinbarung der Position und

der Orientierung der KS untereinander erklärt. An

jedem Glied der kinematischen Kette wird ein kartesisches

Der Kreuzungsabstand und der Kreuzungswinkel

sind als kinematische Abmessungen des starren

Gliedes (i) konstruktiv festgelegt und ändern sich

nicht bei einer Drehung des Gliedes um die Achse

KS festgemacht. Man spricht auch von Z i 1 .

einem körperfesten KS. Nun kommen die Vereinbarungen


Nun werden noch zwei weitere Abmessungen

für die Denavit-Hartenberg-Notation: festgelegt: Der Abstand S i und der Winkel ϕ i ist

Die Gelenkachse der Glieder ist immer eine Z- der Kreuzungsabstand der Achsen X i– 1 und X i

Koordinatenachse. So ist die Koordinatenachse 1 gemessen auf der Achse Z i 1 . Der Abstand ist

Z i 1 die gemeinsame Drehachse der Glieder (i)


positiv in positiver Richtung der Z i–

1 -Achse. Der


und (i-1). Die Achse X i entsteht durch eine Winkel ϕ i ist der Drehwinkel der entsteht, wenn

gemeinsame Normale von Z i und Z i–

1 . Der die Achse X i– 1 in die von der Achse X i und

Schnittpunkt dieser gemeinsamen Normalen und Z i 1 aufgespannten Ebene hineingedreht wird.

der Z i -Achse ist der Ursprung von KS i . Der


Der Winkel ϕ i ist positiv für eine Rechtschraube

Abstand d i zwischen Z i– 1 und Z i auf der Achse auf der Z i–

1 -Achse. Über diese Vereinbarungen

X i , ist der Kreuzungsabstand der beiden Z -Achsen.

erhält man die vier Denavit-Hartenberg-Parameter

Der Abstand d i ist positiv definiert, in positi-

d, ϑ, S,

ϕ . Mit Hilfe dieser vier Parameter und

ver Richtung der Achse X i . Der Kreuzungswinkel der Koordinatentransformation lassen sich nun

der Z i– 1 - und Z i -Achsen ist ϑ i . Er entsteht bei Punkte, deren Koordinaten im KS i gegeben sind,

Eine Folge von Elementartransformationen

beschreibt diese Koordinatentransformation.

1. Wird im weiteren Text Achse genannt

Seite 10 November 1998 Koordinatentransformation in der Roboterkinematik


1. Rotation von KS i– 1 um die Z i–

1 -Achse

ergibt den Drehwinkel ϕ i .

2. Translationsvektoren oder Abstände S i und d i

ergeben den Translationsvektor für die Koordinatentransformation.

3. Rotation von KS i– 1 um die X i -Achse ergibt

den Drehwinkel ϑ i .

Hier sieht man den Nutzen der Koordinatentransformation

über die KARDAN-Winkel (siehe

„Koordinatentransformation über die KARDAN-

Winkel“ auf Seite 4).

Die Drehwinkel ϕ i und ϑ i entsprechen den

Drehwinkeln φ bzw. θ in Bild 2-7 auf Seite 4

bzw. in Bild 2-9 auf Seite 5.

Diese einzelnen Parameter in jeweils eine Matrix

T eingesetzt (Gleichung (3-3), (3-4), (3-5)),

TRANS( S i , 0d , i )

ROT( Xi,

ϑ i )

=

=

100S i

010 0

001d i

000 1

1 0 0 0

0 cosϑ i – sinϑ i 0

0 sinϑ i cosϑ i 0

0 0 0 1

(3-4)

(3-5)

und miteinander Multipliziert (Gleichung (3-6)),

liefert eine Transformationsmatrix T 1 für die

Transformation von KS i in KS i–

1 über die

Denavit- Hartenberg- Parameter (Gleichung (3-

7)).

cosϕ i

– sinϕ i 0 0

ROT( Z i– 1 , ϕ i )

=

sinϕ i cosϕ i 0 0

0 0 1 0

0 0 0 1

(3-3)

1. So definierte Transformationsmatrizen werden in der Literatur als

A- Matrizen bezeichnet.

i–

1

T i

=

ROT ( Z i– 1 , ϕ ) TRANS S i ⋅ ( , 0d , ) ⋅ ROT( X i i

i , ϑ i )

(3-6)

cosϕ i – sinϕ i ⋅ cosϑ i sinϕ i ⋅ sinϑ i d i ⋅ cosϕ i

i–

1 i–

1 sinϕ T i A i cosϕ i ⋅ cosϑ i – cosϕ i ⋅ sinϑ i d i ⋅ sinϕ = i =

i

0 sinϑ i cosϑ i S i

0 0 0 1

(3-7)

Mit dieser Transformationsmatrix T oder A ist

analog zu der Transformation mehrerer hintereinander

geschalteter körperfester KS (Gleichung (3-

• Bei technischen Anwendungen handelt es

sich häufig um Gelenke mit einem Freiheitsgrad.

Dann ist bei einem Drehgelenk allein der

1)) eine Gesamttransformationsmatrix mit der Drehwinkel ϕ i die Variable und bei einem

Matrizenmultiplikation berechenbar.

Schubgelenk 2 allein der Abstand S i die Variable.

0 0 1 2 3

A 4 = A 1 ⋅ A2 ⋅ A3 ⋅ A4

• Die DH-Notation ist nicht immer eindeutig.

Das erkennt man am einfachsten bei paral-

Damit sind auch die Koordinaten eines Vektors

in KS 4 in das KS 0 übertragbar.

lelen Gelenkachsen. Dann gibt es ∞ viele

0 1 2 3

OP gemeinsame Normale, und ist unbestimmt.

0 = A 1 ⋅ A2 ⋅ A3 ⋅ A4 ⋅ OP4

S i

S kann dann aber willkürlich festgelegt werden

z.B. S = 0.

oder:

i

0

OP 0 = A 4 ⋅ OP4 .

i

• Bei sich schneidenden Gelenkachsen ist

Für eine erfolgreiche Anwendung des Berechnungskonzepts

muß noch auf einige Sonderfälle i π

d = 0, sind die Gelenkachsen senkrecht zueinander

gilt: ϑ .

hingewiesen werden:

i = ±--

2

2. z.B. ein Pneumatik- oder Hydraulikzylinder

Koordinatentransformation in der Roboterkinematik November 1998 Seite 11


• Für das Basiskoordinatensystem KS 0 gilt, eingesetzt (wird in dieser Arbeit aber nicht weiter

daß die Z-Achse in die Richtung der Gelenkachse

zeigen muß. Die Achsen X und Y sind Der Drehwinkel ϕ i ist zwischen der X i–

1 -

behandelt).

dann nach der Definition eines kartesischen KS Achse und der X i -Achse. Er ist positiv für eine

frei wählbar

Drehung der X i– 1 -Achse in die X i -Achse nach

• Für das letzte Glied in der kinematischen der Definition einer Rechtsschraube auf der Z i–

1 -

Kette kann der Ursprung frei gewählt werden, Achse. In dieser Weise ist es möglich einfach

es ist jedoch zweckmäßig diesen in den Effektorpunkt

zu legen.

rationen zu bilden, die der Gesetztmäßigkeit einer

nachvollziehbare Roboterstrukturen und Konfigu-

offenen kinematischen Kette gehorchen.

3.2.1 Anwendung der DH-Notation Beispiel an einem Knickarmroboter mit

in der Roboterkinematik Freiheitsgrad = 3

Y

In der Roboterkinematik wird die DH-Notation

2

X

wie Bild 3-3 zeigt noch weiter vereinfacht.

2

Y 3

Z 2

Y 1

EP

Z

−ϕ 3

i

ϕ X 2 1

X 3

ϕ 1

Z 1

Z 0 Y 0

S 1

Bild 3-3 Körperfeste Koordinatensysteme

X

in der Roboterkinematik

0

Und zwar sind die Glieder der offenen kinematischen

Kette nun starre Stäbe mit je einem Drehge-

und F =3

Bild 3-4 Knickarmroboter mit 3 Achsen

lenk mit einem Freiheitsgrad. Diese Stäbe werden

so miteinander verbunden, daß die Gelenkachsen In Bild 3-4 ist ein Knickarmroboter skizziert,

parallel liegen. Also sind die Z-Achsen parallel der 3 angetriebene Achsen hat. Eine für eine Drehung

um die Z 0 -Achse, eine für Drehungen um

zueinander. In Bild 3-3 zeigen die Z-Achsen in die

gleiche Richtung, dadurch ist der Drehwinkel die Z 1 -Achse und eine für Drehungen um die Z 2 -

ϑ =0. Zeigen die Z-Achsen in die entgegengesetzte

Richtung, ist der Drehwinkel ϑ = ± π. definierte Achsen oder körperfeste KS. Die DH-

i

Achse. Der Roboter hat nach der DH-Notation

i

Die Stabachse wird rechtwinklig zur Drehachse Parameter dieses Roboters werden zum besseren

des Gelenkes angeordnet. Also ist die Stabachse Verständnis nocheinmal erläutert. Das erste

gleichzeitig die Normale zwischen den Z-Achsen. Gelenk ist auf der Z 0 -Achse. Der Abstand von

Die Stabachse ist also die X-Achse, und die Stablänge

ist der Abstand d (vergleiche mit Bild 3-2 und Z -Achse schneiden. Die -Achse muß um

i

1 Z 0

KS 0 zu KS 1 ist S 1 . “ d 1 “ ist Null, da sich die Z 0

auf Seite 10). Die Y-Achse folgt der Definition 90° im Uhrzeigersinn in die Z 1 -Achse gedreht

eines kartesischen Koordinatensystems. So sind werden, der Drehwinkel ϑ 1 ist deshalb +90°. Der

ϑ und der Denavit-Hartenberg-Parameter konstruktiv

festgelegt.

Uhrzeigersinn um die Z 0 -Achse in die X 1 -Achse

Roboter steht im Raum und die -Achse muß im

i d X i 0

Hat man einen Parameter S , so verschiebt gedreht werden. Deshalb ist der Drehwinkel

i ≠ 0

ϕ 1

dieser die Stäbe auf der Z -Achse, die X-Achsen

bleiben parallel. Hier würde ein Schubgelenk Jetzt kommt der Ausleger. Die Z-Achsen zeigen

um den Drehbetrag positiv.

i– 1

alle in die gleiche Richtung und liegen parallel.

Y i-1

Z i-1

Y i

Z i

X i-1

X i

Seite 12 November 1998 Koordinatentransformation in der Roboterkinematik


Die weiteren Drehwinkel ϑ sind deshalb Null. Die Mit Cos1 = cosϕ 1 , Sin1 = sinϕ 1 .

Stabachsen liegen in einer Ebene, deshalb sind die

Cos23 = cos( ϕ usw. gilt:

weiteren Abstände S auch Null. Die X -Achse

2 + ϕ 3 )

1

muß in die X 2 -Achse auf der Z 1 -Achse im Uhrzeigersinn

gedreht werden, deshalb ist der Drehwinkel

ϕ um den Drehbetrag positiv. Für die 0 Sin1 0 – Cos1 0

2 A 1 =

Cos1 0 Sin1 0

Verdrehung der X 2 -Achse gegen die X 3 -Achse

0 1 0 S 1

gilt das gleiche wie in Bild 3-3 dargestellte. Die

0 0 0 1

Abstände d 2 und d 3 entsprechen den Stablängen.

Das ist nocheinmal übersichtlicher in TABELLE

Cos2 Sin2 0 d

3-1 veranschaulicht.

2 Cos2

1

A

TABELLE 3-1 Denavit-Hartenberg-

2 =

Sin2 Cos2 0 d 2 Sin2

0 0 1 0

Parameter

0 0 0 1

KS ϑ d S ϕ

Cos3 – Sin30d 3 Cos3

1 90° 0 S 1 ϕ 1

2

A 3 =

Sin3 Cos3 0 d 3 Sin3

2 0 d 2 0 ϕ 2

0 0 1 0

3 0 d 3 0 ϕ

0 0 0 1

3

Für diesen Roboter sehen die Transformationsmatrizen

nach Gleichung (3-7) wie folgt aus:

A 3

0

Cos1 ⋅ Cos23

Sin1 ⋅ Cos23

Nun will man die Koordinaten des EP im KS 0

haben. Der EP ist in KS 3 , durch einen Ortsvektor

beschrieben. Der Ortsvektor zum EP lautet:

0

OP

0

3 =

0

1

=

Nach der Matrizenmultiplikation erhält man die

0

Gesamttransformationsmatrix A 3 ,

(Gleichung (3-8)):

– Cos1 ⋅ Sin23 Sin1 Cos1 ⋅ ( d 2 ⋅ Cos2 + d 3 ⋅ Cos23)

– Sin1 ⋅ Sin23 – Cos1 Sin1 ⋅ ( d 2 ⋅ Cos2 + d 3 ⋅ Cos23)

Sin23 Cos23 0 S 1 + d 2 ⋅ Sin2 + d 3 Sin23

0 0 0 1

(3-8)

Betrachtet man nun Gleichung (2-23) auf

Seite 7, so sieht man schnell, daß die 4. Spalte der

Gesamttransformationsmatrix die Koordinaten

des EP im KS 0 liefert. Für das KS 0 werden in der

Roboterkinematik mehrere Begriffe verwendet.

Das sind u.a. Referenzkoordinatensystem oder

Welt- oder Umweltkoordinatensystem. In dieser

Ausarbeitung wird in den folgenden Kapiteln der

Begriff Weltkoordinatensystem verwendet, oder

abgekürzt WKS.

4 Direkte und inverse Kinematik

[10] 1 [5] 2

1. Kapitel 6.1.6

2. Kapitel 3.2.2

4.1 Rückblick

Wie aus Abschnitt 3.2.1 auf Seite 12 bekannt

sein müßte, lassen sich über bekannte Denavit-

Hartenberg-Parameter mit der Koordinatentransformation

und der Matrizenrechnung Punkte in ein

anderes KS überführen. Diese Berechnungsmöglichkeit

nutzt man wie folgend aus:

Direkte und inverse Kinematik November 1998 Seite 13


4.2 Direkte Kinematik:

4.3 Inverse Kinematik:

WKS

KS

Der Roboter in Bild 3-4 auf Seite 12 hat die Man kann die Gleichungen aus der direkten

konstruktiv festgelegten DH-Parameter S, ϑ,

d . Kinematik für die Koordinaten im nach den

Die DH-Parameter über die eine Bewegung möglich

ist sind die Drehwinkel ϕ 1 , ϕ 2 , ϕ 3 . Nun kann

bei bekannten Drehwinkeln jede beliebige Position

des EP im KS 0 berechnet werden.

gesuchten Drehwinkeln umformen und daraus die

Antriebswinkel berechnen. Das ist aber mit vielen

Problemen verbunden, wie z.B. daß die Lösungen

nicht eindeutig sind, oder das es bei einem redundanten

Das Ziel von EASY - ROB ist diese Drehwinkel

so zu berechnen, daß der Roboter auf einer Vorgegebenen

Bahn den EP kontinuierlich positionieren

kann. Das wäre mit der direkten Kinematik so

möglich:

System unendlich viele Lösungen für die

Winkelstellungen gibt.

Beide Lösungsansätze werden hier nicht angewendet,

denn es sollen auch Drehwinkel für Roboter

mit mehreren angetriebenen Achsen bei einem

Gibt man eine Punktfolge im vor, so müßte Freiheitsgrad F=3 berechnet werden können. Zur

0

man mit einem mathematischen Näherungsverfahren

arbeiten und solange suchen, bis der EP in

einem Toleranzbereich an den Vorgabepunkt heranreicht

Eindämmung der dann entstehenden Vielfalt an

Randbedingungen zur Berechnung einer freiprogrammierbaren

Arbeitsbahn wird die in der Kinekel

und dann diese Drehwinkel als Fahrwinmatik

von Mehrkörpersystemen 1 bekannte

freigeben. Das erfordert aber viel differentielle Kinematik eingesetzt.

Berechnungsaufwand und einen geschickten

Suchalgorithmus. Besser ist das Problem lösbar,

wenn die Drehwinkel nicht gesucht, sondern sofort

berechnet werden können. Dazu dient die inverse

Kinematik.

1. z.B. offene kinematische Kette

5 Differentielle Kinematik

5.1 Ziel der differentiellen

Kinematik

Die differentielle Kinematik ist ein Berechnungsschema,

daß bei einer gegebenen Anfangswinkelstellung

die weiteren Winkelstellungen

durch Aufsummieren unendlich kleiner Teilwinkelstellungen

berechnet. Dadurch entsteht natürlich

eine Abhängigkeit. Dieses Verfahren setzt

voraus, daß die Drehwinkel und die dazugehörigen

Koordinaten im WKS einmalig für eine bestimmte

Stellung des Roboters bekannt sein müssen. Dazu

kann man sie einfach vorgeben und die Koordinaten

des EP im WKS berechnen. Von dieser Stellung

aus kann man dann zur Arbeitsbahn fahren. In

EASY - ROB wird diese Stellung durch die

Grundzustände der Hydraulikzylinder (eingefahren

oder ausgefahren) in den Anlenkdreiecken 2

bestimmt.

Nun ein kleines einfaches Beispiel um das Prinzip

der differentiellen Kinematik zu verstehen. In

2. siehe Kapitel 8

Y

Y= f (x)

dx

Y G

dy

X G

Bild 5-1 Prinzip der differentiellen

Kinematik

Bild 5-1 auf Seite 14 ist eine Funktion Y zu sehen.

Von dieser Funktion ist ein Grundfunktionswert

Y G bekannt. Dieser entspräche den Koordinaten

im WKS für die Grundstellung des Roboters bei

vorgegebenen Drehwinkeln X G . Nun wird genau

an dieser Stelle der Funktion die Ableitung nach

der Variablen gemacht. In Bild 5-1 ist das die

X

Seite 14 November 1998 Differentielle Kinematik


Stelle X G . Der Wert der Ableitung an dieser Stelle

wird mit dem sehr kleinen dx multipliziert und

man bekommt ein dy. Dieses dy wird zu Y G

addiert Y G = Y G + dy. Das Ergebnis stellt die

neuen Koordinaten dar.

Die bekannte Funktion Y wurde im einem

bekannten Punkt linearisiert. Das Ergebnis ist von

dx abhängig, also muß man dx genügend klein

wählen, um sehr nah an Y heranzukommen.

Zu X G wird dann dx addiert X G = X G + dx,

und die Linearisierung wird wiederholt.

z.B.:

dx = J ( ϕ)


(5-3)

Dieses Prinzip wird nun auf die Gleichungen

angewendet, welche die Koordinaten des EP im

WKS beschreiben. Das ist die 4.Spalte der Gleichung

(3-8) auf Seite 13. Hier nocheinmal ausgeschrieben:

cosϕ 1 d 2 cosϕ 2 d 3 cos ϕ 2 ϕ 3

X 0 ⋅ ( ⋅ + ⋅ ( + ))

Z 0 S 1 + d 2 ⋅ sinϕ 2 + d 3 sin( ϕ 2 + ϕ 3 )

Y 0

= sinϕ 1 ⋅ ( d 2 ⋅ cosϕ 2 + d 3 ⋅ cos( ϕ 2 + ϕ 3 ))

Zahlenbeispiel:

Y neu = 8012

Y = x 3

dY

------ = 3x 2

dx

dY

dY

= ------ ⋅ dx

dx

x = 20

Y = 8000

dY

------ = 1200

dx

dx

= 0,

01

dY

= 12

Y neu = Y G + dY

(5-1)

Da die Winkel ϕ 1 , ϕ 2 , ϕ 3 analog zu Bild 5-1

die Variablen sind, und X 0 , Y 0 , Z 0

die jeweiligen

Funktionen, müssen diese nach den Winkeln abgeleitet

werden. Um die Änderung von jedem Winkel

zu berücksichtigen, müssen die Funktionen

partiell abgeleitet werden. Diese Ableitungen können

in einer Matrix geschrieben werden. Diese

Matrix bildet die JACOBI-Matrix 1 J ( ϕ)

:

∂X 0 ∂X 0 ∂X 0

--------- --------- ---------

∂ϕ 1 ∂ϕ 2 ∂ϕ 3

∂Y

J 0 ∂Y 0 ∂Y

( ϕ)

=

0

--------- --------- ---------

∂ϕ 1 ∂ϕ 2 ∂ϕ 3

∂Z 0 ∂Z 0 ∂Z 0

-------- -------- --------

∂ϕ 1 ∂ϕ 2 ∂ϕ 3

Um die Koordinaten im WKS zu berechnen,

müssen die partiellen Ableitungen mit den jeweiligen

Variablen multipliziert werden. Ordnet man

die Drehwinkel in einer Spaltenmatrix an,

Y neu ≅ Y Rech = 8012, 006 = 20,

01 3 (5-2)

Der nächste Funktionswert wird also über die

dY

Ableitung ------ bestimmt. Im Bezug auf die Roboterkinematik

bedeutet das, daß der Ortsvektor zum

dx

Punkt im WKS nach den einzelnen Winkeln der

Roboterachsen abgeleitet werden muß, und mit

sehr kleinen Winkeln ϕ multipliziert werden muß,

um sehr kleine Schritte auf der Bahn zu berechnen.

Schreibt man allgemein für die Änderung des

Ortsvektors dx, für die Ableitung, die abhängig

von den Winkeln ist, J ( ϕ)

und für die Winkeländerungen

dϕ , kann man für die Berechnung der

Änderung des Ortsvektors allgemein schreiben:

dϕ =

dϕ 1

dϕ 2

dϕ 3

(5-4)

- ist das mit der Matrizenmultiplikation sehr gut

durchführbar.

1. Carl Gustav Jacob Jacobi (1804-1851), deutscher Mathematiker

Differentielle Kinematik November 1998 Seite 15


∂X 0 ∂X 0 ∂X 0

--------- --------- ---------

∂ϕ

dX 1 ∂ϕ 2 ∂ϕ 3

0

∂Y

dY 0 ∂Y 0 ∂Y

0

=

0

--------- --------- ---------

∂ϕ 1 ∂ϕ 2 ∂ϕ 3

dZ 0

∂Z 0 ∂Z 0 ∂Z 0

-------- -------- --------

∂ϕ 1 ∂ϕ 2 ∂ϕ 3

dϕ 1

dϕ 2

dϕ 3

(5-5)

Hier kann man einen einfachen Algorithmus programmieren,

um die Koordinaten zu berechnen.

Das ist aber wie schon in Kapitel 5.1 erklärt nicht

der Sinn der differentiellen Kinematik. Sondern ...

Lösung der inversen Kinematik mit der

differentiellen Kinematik

Betrachtet man Gleichung (5-3) oder Gleichung

(5-5) und beachtet, daß J ( ϕ)

eine Matrix ist, kann

man durch einfaches Auflösen der Gleichung nach

dϕ eine Gleichung angeben, mit der sehr kleine

Teildrehwinkel bei gegebenen Koordinaten im

WKS berechnet werden können. Diese lautet:

dϕ = J – 1

( ϕ)dx

oder:

–1

∂X 0 ∂X 0 ∂X 0

--------- --------- ---------

∂ϕ

dϕ 1 ∂ϕ 2 ∂ϕ 3

1

∂Y

dϕ 0 ∂Y 0 ∂Y

2

=

0

--------- --------- --------- ⋅

∂ϕ 1 ∂ϕ 2 ∂ϕ 3

dϕ 3

∂Z 0 ∂Z 0 ∂Z 0

-------- -------- --------

∂ϕ 1 ∂ϕ 2 ∂ϕ 3

(5-6)

(5-7)

Aus Gleichung (5-6) oder (5-7) kann ein Algorithmus

entwickelt werden, der eine Lösung der

inversen Kinematik darstellt. Dazu muß man wie

schon erwähnt die Drehwinkel einmalig vorgeben,

zu denen dann kleine Teilwinkel addiert werden

können. Außerdem muß man die Koordinaten des

EP zu diesen Drehwinkeln einmalig berechnen.

Dazu dient die Koordinatentransformation über die

in Kapitel 3.2 besprochenen Transformationsmatrizen

A.

Analog zu den Erklärungen zu Bild 5-1 auf

Seite 14 gilt mit dem Unterschied, daß Y nun die

Drehwinkel und X die Koordinaten im WKS darstellen,

folgende Iterationsvorschrift um die Drehwinkel

zu berechnen:


dX 0

dY 0

dZ 0

∂y

Y neu = Y G + ----- ⋅ dx

∂x

oder mit Gleichung (5-6) ausgedrückt:

ϕ neu = ϕ G + dϕ( XG )

oder:

ϕ neu = ϕ G + J – 1

( ϕ) ⋅ dx

. (5-8)

Dabei darf man aber nicht die Ungenauigkeit der

Berechnung vergessen. Der EP ist immer in einem

Abstand neben der Vorgabebahn (vergleiche die

Ergebnisse aus (5-1) und (5-2)). Außerdem dürfen

die mathematischen Eigenschaften der Matrix

nicht außer Acht gelassen werden, da diese Matrix

invertiert werden muß. Für die Matrix mit

m=Zeilenanzahl (Gleichungsanzahl), und

n=Spaltenanzahl (Variablenanzahl) gilt:

1. Für n=m und reguläres J ( ϕ)

, d.h. Det[ J ( ϕ)

]≠0

ist eine Auflösung nach dϕ mit den Methoden

für lineare Gleichungssysteme einfach möglich.

2. Für n=m, aber Det[ J ( ϕ)

] = 0, ist J ( ϕ)

singulär.

In diesem Fall existieren lineare Abhängigkeiten

in J ( ϕ)

.

Das kann passieren, wenn für die Transformationswinkel

ϕ i zwischen zwei KS gilt:

ϕ i = 0, π,

2π , …. Daß diese Winkel aber

genau berechnet werden kommt eher selten vor,

der Fall wird aber im Programm berücksichtigt.

3. Für J ( ϕ)

n≠m in kann eine Formale Auflösung

nach dϕ durch Benutzung einer pseudoinversen

Matrix J – 1

( ϕ)P

durchgeführt werden. Für

die Pseudoinverse gilt die Definition:

Ist m < n 1 , so ist

J – 1

( ϕ)P = J T ⋅ [ J⋅

J T ] – 1 .

Ist m > n, so ist

J – 1

( ϕ)P = [ J T ⋅ J] – 1 ⋅ J T

Das Ziel einer pseudoinversen Matrix ist, eine

Matrix zu bilden, die mit der Spaltenmatrix der

Freiheitsgrade (dx in Gleichung (5-6)) multipliziert

werden kann und als Ergebnis eine Spaltenmatrix

der Variablen (Drehwinkel) liefert. Für die

Matrizenmultiplikation gilt:

Die Ergebnismatrix ist das Skalarprodukt aus der

n-ten Zeile der 1.Matrix und der q-ten Spalte der

2.Matrix. Also kann eine Matrizenmultiplikation

nur dann ausgeführt werden, wenn die 1.Matrix

1. ein redundantes System

Seite 16 November 1998 Differentielle Kinematik


soviel Spalten hat, wie die Zweite Zeilen hat (siehe

Bild 5-2).

1. Matrix

1...

q

.

.

.

.

i

Ergebnis Matrix

Bild 5-2 Schema der

Matrizenmultiplikation

Bezogen auf die Gleichung (5-6) bedeutet das,

daß J – 1

( ϕ)

soviel Zeilen haben muß wie Variable

vorhanden sind, und soviel Spalten haben muß,

wie der Roboter Freiheitsgrade hat.

5.2 Berechnung der

JACOBI-Matrix

=

1 ...... k

.

.

.

.

i

2. Matrix

1 ... q

.

.

k

Zunächst zur 3x3 JACOBI- Matrix, die zur

Berechnung der inversen Kinematik für den

Knickarm Roboter aus Bild 3-4 auf Seite 12 gebildet

werden muß.

Die Elemente der JACOBI-Matrix erhält man

aus den partiellen Ableitungen nach den Drehwinkeln

ϕ 1 , ϕ 2 , ϕ 3 der Gleichungen für die WKS -

Koordinaten X 0 , Y 0 , Z 0

.

Mit den schon bekannten Gleichungen für

X 0 , Y 0 , Z 0

:

X 0 = cosϕ 1 ⋅ ( d 2 ⋅ cosϕ 2 + d 3 ⋅ cos( ϕ 2 + ϕ 3 ))

(5-9)

Y 0 = sinϕ 1 ⋅ ( d 2 ⋅ cosϕ 2 + d 3 ⋅ cos( ϕ 2 + ϕ 3 ))

(5-10)

Z 0 = S 1 + d 2 ⋅ sinϕ 2 + d 3 sin( ϕ 2 + ϕ 3 ) (5-11)

aus der 4. Spalte der Gesamttransformationsmatrix

A 3 0

(siehe Gleichung (3-8) auf Seite 13) gilt

∂X 0 ∂Y 0 ∂Z 0

für die partiellen Ableitungen --------- , --------- , -------- :

∂ϕ 1 ∂ϕ 1 ∂ϕ 1

∂X 0

---------

∂ϕ 1

= – sinϕ 1 ⋅ ( d 2 ⋅ cosϕ 2 + d 3 ⋅ cos( ϕ 2 + ϕ 3 ))

∂Y 0

---------

∂ϕ 1

= c o s ϕ 1 ⋅ ( d 2 ⋅ cosϕ 2 + d 3 ⋅ cos( ϕ 2 + ϕ 3 ))

∂Z 0

--------

∂ϕ 1

= 0.

∂X 0 ∂Y 0 ∂Z 0

Für die partiellen Ableitungen --------- , --------- , --------

∂ϕ 2 ∂ϕ 2 ∂ϕ 2

gilt:

∂X 0

--------- = c o s ϕ

∂ϕ 1 ⋅ (– d 2 ⋅ sinϕ 2 – d 3 ⋅ sin( ϕ 2 + ϕ 3 ))

2

∂Y 0

--------- = s i n ϕ

∂ϕ 1 ⋅ (–

d 2 ⋅ sinϕ 2 – d 3 ⋅ sin( ϕ 2 + ϕ 3 ))

2

∂Z 0

-------- = d

∂ϕ 2 ⋅ cosϕ 2 + d 3 cos( ϕ 2 + ϕ 3 )

2

∂X 0 ∂Y 0 ∂Z 0

Für die partiellen Ableitungen --------- , --------- , --------

∂ϕ 3 ∂ϕ 3 ∂ϕ 3

gilt:

∂X 0

--------- = – cosϕ ∂ϕ 1 ⋅ d ⋅ sin( ϕ

3 2 + ϕ 3 )

3

∂Y 0

--------- = – sinϕ ∂ϕ 1 ⋅ d ⋅ sin( ϕ

3 2 + ϕ 3 )

3

∂Z 0

-------- = d

∂ϕ 3 cos(

ϕ 2 + ϕ 3 )

3

Hat man nun einen Robotertyp, so können diese

Gleichungen fest programmiert werden und zur

Berechnung der Werte der Elemente in der

JACOBI-Matrix herangezogen werden. Will man

aber für verschiedene 1 Robotertypen, Antriebsdaten

berechnen, muß man für jeden dieser Typen

die partiellen Ableitungen programmieren. Das ist

sehr aufwendig und dient nicht der flexsiblen Nutzung

eines Analyseprogramms. Deshalb wird hier

ein Algorithmus eingesetzt, der die Elemente der

JACOBI-Matrix fortlaufend berechnet.

Algorithmus zur Berechnung der Elemente

der JACOBI-Matrix

Zuerst betrachtet man die Transformationsmatrix

A einer einzelnen Roboterachse. Leitet man diese

Matrix nach ihrer Variablen ab 2 , so erhält man

eine Matrix, die das Verhalten des KS oder der

Roboterachse bei Veränderung der Variablen

beschreibt. Somit wird z.B. aus

1. wo sich von einem zum anderen Typ die konstruktiv festgelegten

Denavit-Hartenberg-Parameter ( ϑ, S oder ϕ und d ) ändern

2. hier der Drehwinkel

Differentielle Kinematik November 1998 Seite 17


winkels ϕ auch auf die anderen Roboterachsen

Cos1 0 Sin1 0

1

wirkt, müssen diese bei der Transformation von

0 Sin1 0 – Cos1 0

A (5-12) (siehe Kapitel 3.2.1) in berücksichtigt

1 =

OP 3 KS 0

0 1 0 S 1

werden.

0 0 0 1

Dies geschieht dadurch, daß die beiden Transformationsmatrizen

A 2 und A 3 mit der Ableitungs-

1 2

abgeleitet nach ϕ

0

0

dA

– Sin1 0 Cos1 0

1 dA 1 1 2

matrix --------- in der Reihenfolge ---------A

dA

--------

Cos1 0 Sin1 0

dϕ 1

dϕ 2A3 1

=

(5-13)

dϕ 1 0 0 0 0

miteinander multipliziert werden. Man erhält als

Ergebnis eine Gesamttransformationsmatrix

0 0 0 0

GTM( dϕ1 ) für eine Änderung von ϕ 1 :

Die Gleichung (5-8) beinhaltet die zur Linearisierung

der Funktion Y in Bild 5-1 auf Seite 14

0

dA 1 1 2

benötigten Ableitungen für alle drei Koordinatenachsen,

wenn die Veränderung von einem KS zum

1

GTM( dϕ1 ) = --------- ⋅A dϕ 2 ⋅ A3

anderen beschrieben werden soll. Im diesem Fall oder ausgeschrieben:

von KS 1 in KS 0 . Da die Veränderung des Dreh-

GTM( dϕ1 )

=

– Sin1 0 Cos1 0

Cos1 0 Sin1 0

0 0 0 0

0 0 0 0


Cos2 Sin2 0 d 2 Cos2

Sin2 Cos2 0 d 2 Sin2

0 0 1 0

0 0 0 1


Cos3 – Sin30d 3 Cos3

Sin3 Cos3 0 d 3 Sin3

0 0 1 0

0 0 0 1

(5-14)

Nach der Matrizenmultiplikation für die Transformation

des Ortsvektors OP 3 , erhält man die

Gleichungen zur Beschreibung von OP 3 in KS 0

bei einer Änderung von ϕ 1 , oder die Ableitungen

des Vektors

dOP 0

------------- .

dϕ 1

Dies entspricht den partiellen Ableitungen der

Gleichungen (5-7), (5-8), (5-9) (Seite 16) nach ϕ 1 .

Diese Prinzip läßt sich auf alle Transformationsmatrizen

A mit einer Variablen ( ϕ oder S) anwenden.

Es gilt:

oder:

dOP 0

------------- =

dϕ 1

0

dA 1 1 2

--------- ⋅A dϕ 2 ⋅ A3 ⋅ OP3

1

dOP ------------- 0

dϕ A 0 dA 1

2 2

= ⋅ --------- ⋅A 1

2 dϕ 3 ⋅ OP3

2

dOP ------------- 0

dϕ A 0 1 dA 2

= ⋅ 3

1 A2 ⋅ --------- ⋅OP 3

dϕ 3 3

dOP 0

------------- = GTM

dϕ ( dϕ1 ) ⋅ OP 3

1

dOP 0

------------- = GTM

dϕ ( dϕ2 ) ⋅ OP 3

2

dOP 0

------------- = GTM .

dϕ ( dϕ3 ) ⋅ OP 3

3

Mit n-angetriebenen Roboterachsen bei F=3 gilt:

dOP ------------- 0

dϕ A 0 1 dA ( n – 1 )

= ⋅ 1 A2 ⋅ … ⋅ ----------------------- n ⋅OP n

dϕ n

n

oder:

dOP 0

------------- = GTM

dϕ ( dϕn ) ⋅ OP n

n

Somit können die Elemente der JACOBI-Matrix

auch wie folgend angegeben werden:

dOP 0 dOP 0 dOP 0

J = ------------- + ------------- + ------------- .

dϕ 1 dϕ 2 dϕ 3

Für n-angetriebene Roboterachsen bei F =3 gilt:

Seite 18 November 1998 Differentielle Kinematik


J

dOP 0 dOP 0

------------- ------------- … dOP 0 dOP 0

= + + + -------------------- + ------------- .

dϕ 1 dϕ 2 dϕ ( n – 1 ) dϕ n

5.3 Inversion der

JACOBI-Matrix

[4]

Die Inversion einer quadratischen Matrix (M) ist

mathematisch kein Problem.

Allgemein gilt:

M – 1 = -------------------

adj[ M]

Det[ M]

Für den Knickarmroboter im Bild 3-4 auf

Seite 12 muß eine 3x3 Matrix invertiert werden,

um die inverse Kinematik des Roboters zu lösen.

In EASY-ROB wird diese mit einem fest programmierten

Algorithmus berechnet.

Es gilt:

Det[ M]

=

a 11 a 12 a 13

a 21 a 22 a 23

a 31 a 32 a 33

a

Det[ M] a 22 a 23 a

11 a 12 a 13 a

– 21 a 12 a

= ⋅

+

13

31

a 32 a 33 a 32 a 33 a 22 a 23

Det[ M] = a 11 ⋅ ( a 22 ⋅ a 33 – a 32 ⋅ a 23 )–

a 21 ⋅ ( a 12 ⋅ a 33 – a 32 ⋅ a 13 ) + a 31 ⋅ ( a 12 ⋅ a 23 – a 22 ⋅ a 13 )

Die einem Element a ij zugeordnete Adjunkte

A ij ergibt sich durch Streichen der Zeile i und der

Spalte j. Das Vorzeichen von A ij wird durch

(–1) i+

j ermittelt, z.B.:

Z 2

Z 3

A 11 = (–

1) 2 ⋅ a11


a 22 a 23

a 32 a 33

.

EP

Z 4

So ist

M – 1 = -------------------

1 ⋅

Det[ M]

A 11 A 12 A 13

A 12 A 22 A 23

.

Z 0

Z 1

Y0

A 13 A 32 A 33

Inversion bei 4 angetriebenen Achsen

Wenn mit 4 angetriebenen Roboterachsen (Bild

5-3) die inverse Kinematik berechnet werden soll,

–1

wird die Matrix J ( ϕ)

nach der formalen Auflösung

Nr.3. gebildet (siehe „Lösung der inversen Kinematik

mit der differentiellen Kinematik“ auf

Seite 16). Mit m< n gibt es mehr unabhängige

Variable als zur Lösung des Gleichungssystems

nötig sind. Die Roboterachsen können verschiedene

Stellungen einnehmen, um einen Punkt im

Raum zu erreichen. Hier besteht allerdings die

Möglichkeit ein Optimierungskriterium 1 für die

Bewegung der Roboterachsen anzusetzten. Die

1. Wird in Kapitel 6 erklärt

Bild 5-3 Roboter mit F=3 und 4

angetriebenen Achsen

Matrix J – 1

–1

( ϕ)P für J ( ϕ)

wird bei 4 angetriebenen

Roboterachsen wie folgend bestimmt:

J – 1

T

–1

( ϕ)P = J ( ϕ)


T

J . (5-15)

( ϕ)

⋅ J ( ϕ)

Für den Fall F=3 hat die JACOBI-Matrix 3 Zeilen

und 4 Spalten. Deshalb hat J T 3 Spalten und 4

Zeilen und aus der Matrizenmultiplikation ergibt

sich immer eine 3x3 - Matrix. Diese kann nach den

bekannten Algorithmus invertiert werden. J T wird

dann mit der invertierten Matrix multipliziert und

X0

Differentielle Kinematik November 1998 Seite 19


man erhält eine Matrix mit 4 Zeilen und 3 Spalten

gefüllt mit Pseudoelementen PE i i=

xyz , , .

Diese Pseudoelemente entstehen nach den Matrizenberechnungen

aus Gleichung (5-15) und sind

J – 1

( ϕ)P

=

∂X 0 ∂Y 0 ∂Z 0

--------- --------- --------

∂ϕ 1 ∂ϕ 1 ∂ϕ 1

∂X 0 ∂Y 0 ∂Z 0

--------- --------- --------

∂ϕ 2 ∂ϕ 2 ∂ϕ 2

∂X 0 ∂Y 0 ∂Z 0

--------- --------- --------

∂ϕ 3 ∂ϕ 3 ∂ϕ 3

∂X 0 ∂Y 0 ∂Z 0

--------- --------- --------

∂ϕ 4 ∂ϕ 4 ∂ϕ 4

Oder dann nach den ausgeführten Rechenoperationen:

J – 1

( ϕ)P

=

PE x

--------- PE y

--------- PE z

--------

dϕ 1 dϕ 1 dϕ 1

PE x

--------- PE y

--------- PE z

--------

dϕ 2 dϕ 2 dϕ 2

PE x

--------- PE y

--------- PE z

--------

dϕ 3 dϕ 3 dϕ 3

PE x

--------- PE y

--------- PE z

--------

dϕ 4 dϕ 4 dϕ 4

Diese Ergebnis in dϕ = J – 1

( ϕ)P ⋅ dx eingesetzt,

ergibt die Teildrehwinkel dϕ 1 , dϕ 2 , dϕ 3 , dϕ 4 für

einen Teilschritt zu einem nächsten Raumpunkt

.


∂X 0 ∂X 0 ∂X 0

--------- --------- ---------

∂ϕ 1 ∂ϕ 2 ∂ϕ 3

∂Y 0 ∂Y 0 ∂Y 0

--------- --------- ---------

∂ϕ 1 ∂ϕ 2 ∂ϕ 3

∂Z 0 ∂Z 0 ∂Z 0

-------- -------- --------

∂ϕ 1 ∂ϕ 2 ∂ϕ 3

wegen einer besseren Übersichtlichkeit als Platzhalter

erdacht. Die nachfolgende Matrizengleichung

(5-16) erklärt wohl alleine den Grund dafür.

∂X 0

---------

∂ϕ 4

∂Y 0

---------

∂ϕ 4

∂Z 0

--------

∂ϕ 4

∂X 0 ∂Y 0 ∂Z 0

--------- --------- --------

∂ϕ 1 ∂ϕ 1 ∂ϕ 1

∂X 0 ∂Y 0 ∂Z 0

--------- --------- --------

∂ϕ 2 ∂ϕ 2 ∂ϕ


2

∂X 0 ∂Y 0 ∂Z 0

--------- --------- --------

∂ϕ 3 ∂ϕ 3 ∂ϕ 3

∂X 0 ∂Y 0 ∂Z 0

--------- --------- --------

∂ϕ 4 ∂ϕ 4 ∂ϕ 4

–1

(5-16)

dϕ 1

dϕ 2

dϕ 3

dϕ 4

=

PE x

--------- PE y

--------- PE z

--------

dϕ 1 dϕ 1 dϕ 1

PE x

--------- PE y

--------- PE z

--------

dϕ 2 dϕ 2 dϕ 2

PE x

--------- PE y

--------- PE z

--------

dϕ 3 dϕ 3 dϕ 3

PE x

--------- PE y

--------- PE z

--------

dϕ 4 dϕ 4 dϕ 4

dX 0

dY 0

dZ 0

auf der Bahn. Diese Werte werden in die Gleichung

ϕ neu = ϕ G + dϕ zum Aufsummieren eingesetzt

(vergleiche mit: Gleichung (5-8) auf

Seite 16) und man erhält die neuen Drehwinkel

ϕ 1 , ϕ 2 , ϕ 3 , ϕ 4 . Mit diesen Drehwinkeln erreicht

der Roboter mit seinem EP annähernd den vorgegebenen

Raumpunkt.


6 Optimierungsstrategie für redundante Systeme

[10] 1

Der Roboter in Bild 5-3 „Roboter mit F=3 und

4 angetriebenen Achsen“ auf Seite 19 stellt ein

redundantes System dar. Es gibt unendlich viele

Winkelstellungen, welche die Glieder einnehmen

können um einen Punkt in seinem Arbeitsraum zu

erreichen. Die Auswahl von geeigneten Winkelstellungen

kann z.B. über eine Optimierungsstrategie

erfolgen. Im einfachsten Fall dient dazu ein

Gütekriterium G der Form

G ( ϕ˙ ) = ϕ˙ TWϕ˙ ⇒ Min!

Dieses wichtet die verallgemeinerten Geschwindigkeiten

2 mit einer symmetrisch positiv definiten

(n, n) Wichtungsmatrix W = W T > 0 quadratisch.

Die geeigneten Winkelstellungen zeichnen

sich dadurch aus, daß sie eine Lösung des Problems

mit dem kleinsten quadratischen Geschwindigkeitsaufwand

liefern und die Nebenbedingung

der Form dx = J ( ϕ)

dϕ (Gleichung (5-3) auf

Seite 15) erfüllen.

1. Kapitel 7.1.4

2. Änderung der Drehwinkel mit der Zeit

Seite 20 November 1998 Optimierungsstrategie für redundante Systeme


Die Lösung dieser Extremalaufgabe mit den eingesetzt in Gleichung (6-2) und nach dem

Nebenbedingungen kann mit der Methode der LAGRANGEschen Multiplikator aufgelöst ergibt:

LAGRANGEschen Multiplikatoren erfolgen. λ 2J ( ϕ)

W – 1 T

= [ ⋅ ⋅J ( ϕ)

] – 1 .

Dazu wird das um die Nebenbedingung in impliziter

Form erweiterte Gütekriterium

J ( ϕ)

W – 1 T

Diese Auflösung ist möglich, da

⋅ ⋅J ( ϕ)

den vollen Rang besitzt und

folglich invertierbar ist. Durch das Einsetzen von

G∗ ( ϕ˙ , λ)

= G ( ϕ˙ ) – λ T [ J ( ϕ)

ϕ˙ – ẋ] ⇒ Min!

λ in Gleichung (6-3) findet man schließlich das

betrachtet. Der Vektor λ heißt LAGRANGEscher

Multiplikator. Die notwendigen Bedingun-

–1

Ergebnis:

ϕ˙ = J ( ϕ)P

⋅ ẋ

gen für die Existenz eines Minimums ergeben: mit

∂G∗

T

–1

--------- = 2Wϕ˙ – J (6-1)

.

∂ϕ˙

( ϕ)

⋅ λ = 0

J ( ϕ)P

W – 1 T

J ( ϕ)

J ( ϕ)

W – 1 –1

= ⋅

T

⋅ ⋅J ( ϕ)

und

Damit ist es möglich die inverse Kinematik redundanter

Roboterstrukturen zu lösen. Die hinreichende

Bedingung für ein Minimum

∂G

------ = – J . (6-2)

∂λ ( ϕ)

⋅ ϕ˙ + ẋ = 0

2


Aus diesen Beziehungen kann λ berechnet werden

und die inverse Kinematik gelöst werden. Aus

G ∗

ϕ˙ 2 = W


der Gleichung (6-1) folgt:

ist wegen W>

0 stets gegeben. Der Sonderfall

W = E führt auf

1

ϕ˙ --W – 1 T = J (6-3)

2 ( ϕ)

λ

–1

J ( ϕ)P

J T J⋅

J T

–1

=

für m < n (Vgl. Gleichung (5-15) auf Seite 19).

7 Bahnplanung (Trajektorienplanung)

7.1 Rückblick

Wie aus Kapitel 5 nun bekannt ist, kann man

über die Koordinaten eines Punktes im KS 0 die

Winkelstellungen der Roboterglieder berechnen

damit dieser Punkt erreicht wird. Die Koordinaten

dieses Punktes sind im KS n gegeben und müssen

von dort in das KS 0 Transformiert werden. Die

Winkel und Vektoren zur Transformation liefern

die vier Denavit-Hartenberg-Parameter. Also

kann man bei einer vorgegebenen Roboterstruktur

und einem vorgegebenen Vektor im KS n die

Koordinaten dieses Vektors im KS 0 beschreiben.

Nun gibt man die Winkel ϕ 1 , ϕ 2 , ϕ 3 , ϕ 4 vor (vgl.

Mit Bild 3-4 „Knickarmroboter mit 3 Achsen und

F =3“ auf Seite 12) und definiert den Vektor im

KS als Null-Vektor 1 n

. Dieser Vektor beschreibt

den EP am Roboter. Damit ist die Lage des EP den

Winkeln ϕ 1 , ϕ 2 , ϕ 3 , ϕ 4 zugeordnet und kann im

1. Der Punkt liegt im Ursprung von

KS n

KS 0 beschrieben werden. Das sind die Ausgangswerte

für eine Bahnplanung.

7.2 Definition

Die Bahn gilt als reine geometrische Beschreibung

der Punkte die angefahren werden. Die Trajektorie

enthält Informationen über den zeitlichen

Durchlauf der Punkte. Unter Bahnplanung (Trajektorienplanung)

wird die Festlegung von

bestimmten Kriterien für das Durchfahren einer

Bahn verstanden. Dies können z.B. Geschwindigkeiten

oder Geschwindigkeitsprofile auf der Bahn

sein oder bestimmte Anstellungen eines Werkzeugs

zur Bahn. Diese Kriterien muß der Roboter

beim Arbeitseinsatz erfüllen. Natürlich kann man

diese Kriterien nur nach den Möglichkeiten des

Roboters (z.B. Anzahl der Freiheitsgrade, Reichweiten,

Bewegungsfreiheit) und den Möglichkeiten

der Steuerung ansetzen. In EASY-ROB ist die

Bahnplanung auf das Abfahren einer freiprogrammierbaren

Geraden im Raum und eines freiprogrammierbaren

Kreisbogens in einer Y 0 -Ebene

Bahnplanung (Trajektorienplanung) November 1998 Seite 21


egrenzt 1 . Es können Bahngeschwindigkeiten, und

Geschwindigkeitsprofile zum erreichen der Bahngeschwindigkeit

vorgegeben werden. Um eine

Bahn abzufahren, werden die Drehwinkel strekkenabhängig

berechnet, d.h. die Schrittweite auf

der Bahn wird fest vorgeben.

7.3 Bahngeschwindigkeit in

EASY- ROB

Es gilt:

∆s

∆s

v = ----- umgestellt nach ∆t

= ----- , damit wird

∆t

v

∆t

= f ( v)

.

Das hat den Vorteil, das die Vorgabebahn

genauer abgefahren wird, denn mit größerer

Geschwindigkeit bei ∆t

= const wächst ∆s.

Z

Als Anhaltspunkt für mögliche Bahngeschwindigkeiten

bei unterschiedlichen Schrittweiten

folgende Tabelle:

V Bmax

V Bmax

KS 0

TABELLE 7-1 Bahngeschwindigkeiten

Schrittweite

[mm] [mm/s]

0,01 15

0,1 150

1,0 1500

10 15000

Weiter gilt bei EASY-ROB die Einschränkung,

daß der Roboter nur Punkte im Arbeitsraum erreichen

kann und kein Werkzeug orientieren kann,

denn es fehlen die drei Freiheitsgrade, um Rotationen

um die drei Koordinatenachsen im zu

realisieren.

7.4 Geschwindigkeitsprofile für

die Bahngeschwindigkeit.

Bild 7-1

∆s= f (v)

∆s = const

Bahn

Schrittlängen auf der Bahn

Außerdem läßt sich das Verhalten der Antriebselemente

in Abhängigkeit der Zeit besser Analysieren,

z.B. bei Hydraulikzylinder Reibungsverluste

beim Anfahren oder beim Feinpositionieren. Allerdings

sind damit die Bahngeschwindigkeiten stark

von der Berechnungszeit für die nächsten Drehwinkel

abhängig, deshalb kann man in EASY-

ROB die Schrittweite von 0,01mm bis 100mm

variabel gestalten.

X

Mit EASY-ROB können 2 verschiedene

Geschwindigkeitsprofile zum erreichen der

Arbeitsgeschwindigkeit auf die Bahn gelegt werden.

1. Trapezprofil

2. Sinoidenprofil

Da die Schrittweite auf der Bahn festgelegt ist,

muß man beim Anfahren und Bremsen die Zeitspanne,

in der die Schrittweite zurückgelegt wird,

berechnen. Bei konstanter Bahngeschwindigkeit

∆s

ist ∆t = ----------------- = konstant.

V Arbeit

Beim Trapezprofil wird ∆t wie folgend berechnet:

Nach umstellen der Formeln:

V Arbeit ⋅ t 2⋅

S A

S A = ----------------------- => t = ----------------- (7-1)

2

V Arbeit

1

S -- a t 2

2⋅

S

= ( ⋅ ) => t = ---------- (7-2)

2

a

Gleichung (7-1) eingesetzt in

1. Hier könnten noch mehr Ideen für die Bahnplanung verwirklicht

werden. Doch leider muß man sich aus Zeitgründen für diese

Arbeit mit diesen zwei Möglichkeiten zufirieden geben.

a

V Arbeit V 2 Arbeit

= ----------------- => a = -------------------- (7-3)

t

2⋅

S A

Seite 22 November 1998 Bahnplanung (Trajektorienplanung)


Gleichung (7-2) eingesetzt in:

∆t

= t 2 – t 1

∆t =

2⋅

S 2 2⋅

S 1

------------ – ------------

a a

(7-4)

Gleichung (7-3) eingesetzt in und vereinfacht

ergibt mit S 2 = Weg + ∆s

und S 1 = Weg

∆t =

2

----------------- ⋅

V Arbeit

S A ⋅( Weg + ∆s–

Weg)

.

Dieses ∆t kann man benutzen, um die Winkeländerungen

dϕ 1 , dϕ 2 , dϕ 3 , dϕ 4 Zeitabhängig

darzustellen.

2 SA

SA

t e /2

Bild 7-3 Berechnung von t e

t e

Beim Sinoidenprofil wird ∆t mit einem Näherungsverfahren

(regula falsi) berechnet (hier

besteht sicher noch die Möglichkeit mit dem Einsatz

höherer Mathematik ∆t genau zu berechnen).

Die Gleichung aus der ∆t iterativ bestimmt wird

lautet allgemein mitt als Variable:

s

⎛ t e 2π

a t – --------- ----- ⋅ t

2 ⋅ π

sin ⎝

⎛ t e


⎞ ⎞

= ⎜




(7-5)

Diese Funktion beschreibt das Wegprofil in

Form einer Sinoide nach Bestehorn [12] (siehe

Bild 7-2). Diese Funktion zeichnet sich dadurch

V Arbeit

t e/2

Bild 7-4

Geschwindigkeitsverlauf mit

einer Sinoide als Wegverlauf


v = a⎛1–

----- ⋅ t


cos ⎝

⎛ t e


⎞ ⎞


a max

t e

(7-6)

t e/2

t e

Bild 7-2

Sinoide nach Bestehorn

aus, daß sie nach zweimaliger Ableitung nach der

Zeit, also im Verlauf der Beschleunigung (Bild 7-

5) für t = 0, auch a = 0 liefert (siehe Bild 7-3,

Bild 7-4).

Das hat den Vorteil gegenüber dem Trapezprofil,

daß stoßfrei angefahren werden kann (siehe

Bild 7-7).

Durch Differentiation der Sinoidengleichung

nach der Zeit erhält man die Formel (7-6) für das

Geschwindigkeitsprofil wie in Bild 7-4 dargestellt

Bild 7-5

Um die Gleichung (7-5) der Sinoide zu nutzen,

muß und a berechnet werden. Das geschieht wie

folgend:

Berechnung von :

Beschleunigungsverlauf mit

einer Sinoide als Wegverlauf

t e

t e

t e

Gibt man den Weg vor, um eine vorgegebene

Arbeitsgeschwindigkeit zu erreichen, kann man

damit die Beschleunigungszeit /2 für die

Arbeitsgeschwindigkeit berechnen. Die Fläche

unter dem Geschwindigkeitsverlauf ist ein Maß für

den zurückgelegten Weg. Wie in Bild 7-6 zu

Bahnplanung (Trajektorienplanung) November 1998 Seite 23


VArbeit

Bild 7-6

Geschwindigkeitsverlauf über t

von 0 bis te/2

erkennen ist, entspricht die Fläche unter dem

Geschwindigkeitsverlauf aus Symmetriegründen

einem Dreieck. In Bild 7-4 und Bild 7-6 ist außerdem

zu erkennen, daß die Arbeitsgeschwindigkeit

bei

t

=

t e

2 ---

erreicht wird.

Also gilt für S A folgende Formel:

V Arbeit ⋅ t e

S A = -------------------------- .

4

Damit ist t e wie folgend berechenbar:

4S A

----------------- = t .

V e

Arbeit

Berechnung von a:

Der Koeffizient a kann aus der Sinoidengleichung

(7-5) nach folgender Überlegung berechnet

werden:

Da die Arbeitsgeschwindigkeit nach

t

=

t e

2 ---

cos 2π

----- ⋅ t


⎛ t e



erreicht wird, ergibt der Term

folgendes Ergebnis:

t e/2


cos⎛----- ⋅ t⎞

= cos( π)

= – 1

⎝ t e


eingesetzt in Gleichung (7-6) und umgeformt nach

a ergibt:

v v

a = ------------------- = -- .

1– (–

1)

2

Jetzt wird t e und a in die Sinoidengleichung (7-

5) eingesetzt, und t kann bei Vorgabe von s iterativ

daraus angenähert werden.

v ⎛ t e

s -- t ---------

2 2 ⋅ π

sin 2π

----- ⋅ t


⎛ t e


⎞ ⎞

= ⋅ ⎜ –




oder,

V Arbeit ⎛ t e

s ----------------- t ---------

.

2 2 ⋅ π

sin 2π

----- ⋅ t


⎛ t e


⎞ ⎞

= ⋅ ⎜ –




Nach der gleichen Berechnungsstrategie wird

beim Bremsen berechnet:

Für s wird S B eingesetzt, daraus das entsprechende

t e bestimmt, womit dann in der Sinoidengleichung

(7-5) t für das vorgegebene s , daß

mit S B startet iterativ bestimmt wird.

Die berechneten ∆t

können dann den Winkeländerungen

dϕ 1 , dϕ 2 , dϕ 3 , dϕ 4 eines Berechnungsschrittes

zugeordnet werden und man kann damit

das Zeitverhalten der Antriebselemente analysieren.

Numerisch gilt:

dϕ 1 = ∆ϕ 1

∆ϕ

ϕ˙

1

1 = --------- .

∆t

Eine weitere Möglichkeit ∆t zu gebrauchen ist:

Zu prüfen, ob die berechneten Winkelwerte für

eine externe Steuerung eines Roboters gebraucht

werden können. Dazu muß ∆t mit einer Realen

Zeitspanne verglichen werden. Ist ∆t kleiner als

die reale Zeitspanne, so können die Winkelwerte

an eine Steuerung/Regelung gegeben werden.

Dabei ist darauf zu achten, daß ∆t genügend kleiner

als die reale Zeitspanne ist, um die Reaktionszeiten

der Steuerung/Regelung zu berücksichtigen.

Seite 24 November 1998 Bahnplanung (Trajektorienplanung)


8 Berechnung der Antriebsdaten

8.1 Allgemein

EASY - ROB

Gelenk

berechnet die

Wegänderungen

c α

der Linearmotoren,

−ϕ i

b

die für den

β

γ

Antrieb der

a

Roboterachsen Bild 8-1 Antrieb von

Roboterachsen

vorgesehen

sind. Dies sollen Hydraulikzylinder 1 sein. Diese Bild 8-3 Schiefwinkliges Dreieck am

Zylinder treiben die Roboterachsen über ein einfaches

Gelenk an (siehe Bild 8-1). In den vorange-

A i mit den anderen DH-Parametern eingesetzt

Roboter

i–

1

Der Winkel ϕ i wird in der Tranformationsmatrix damit

stellten Kapiteln wurde beschrieben, wie man die um die in KS i gegebenen Koordinaten ins KS i–

1

Winkeländerungen der einzelnen Roboterachsen

berechnen kann. Jetzt muß zuerst erklärt werden,

wie man zur Grundstellung des Roboters kommt,

und wie die berechneten Winkeländerungen auf

die Zylinder übertragen werden.

zu transformieren. Wie in Kapitel 5.1, „Ziel der

differentiellen Kinematik,“ auf Seite 14 erwähnt,

muß dieser Winkel bekannt sein, um eine Grundoder

Ausgangsstellung für die Anwendung der differentiellen

Kinematik zu haben. Die notwendige

Geometrie damit der Winkel ϕ i berechnet werden

kann, erhält man aus den Angaben über die Anlenkung

des Zylinders zwischen den Roboterachsen

8.2 Berechnung der

Grundstellung

(R-achsen) und den Zylindermaßen. Bild 8-4 zeigt

Das geht recht einfach über den Cosinussatz [8]

in einem schiefwinkligen Dreieck. Dieser lautet

A

eine abgewandelte Form des schiefwinkligen Dreiecks

(Anlenkdreieck). Diese kann durch die

Anlenkung des Zylinders entstehen.

c

α

b

−ϕ

α i

β

b

B

c

γ

a

β

C

a

Bild 8-2 Schiefwinkliges Dreieck

γ

für das in Bild 8-2 dargestellte schiefwinklige

Bild 8-4 Anlenkdreieck zwischen den R-

Dreieck:

achsen

a 2 = b 2 + c 2 – 2⋅b⋅c⋅

cos( α)

Wichtig ist nun den Winkel α im Anlenkdreieck

Am Roboter ist dieses Dreieck zwischen den

Roboterachsen einbeschrieben wie in Bild 8-3 zu

erkennen ist. Hier ist auch deutlich ein Zusammenhang

zwischen dem Winkel α und dem Winkel ϕ i

und die durch die Anlenklager entstehenden Teilwinkel

zu berechnen. Mit den drei Seiten a, b, c im

Dreieck folgt für den Winkel α aus dem Cosinussatz:

einzusehen. Zwischen diesen beiden Winkeln muß – a 2 + b 2 + c 2

eine mathematische Beziehung hergestellt werden.

2⋅b⋅c

= cos α

X i-1

X i-1

X i

X i

1. Wird im weiteren Text als Zylinder bezeichnet

Berechnung der Antriebsdaten November 1998 Seite 25


– a 2 + b 2 + c 2

α = ar cos --------------------------------


⎛ 2⋅b⋅c



Die Seiten b, c sind von der Anlenkung des

Zylinders abhängig und die Seite a ist vom Zylindereinbaumaß

und dem Zylinderzustand (eingefahren

oder ausgefahren) abhängig.

H c

L c

β

c

a

α

WHL c

Bild 8-5 Winkel WHL c durch

Anlenklager für Zylinder

In der Skizze (Bild 8-5) erkennt man, daß die

Seite c über die Anlenkmaße H c und L c berechnet

werden kann.

2 2

c = H c + L c ,

der Winkel WHL c (Bild 8-5) wird über die Tangensfunktion

⎛H c ⎞

WHL c = arctan⎜-----

⎟ berechnet.

⎝L c ⎠

Das gleich gilt für die Seite b und den Winkel

WHL b durch das Anlenklager.

Aus den jetzt bekannten Winkeln

α, WHL c , WHL b ist der Winkel ϕ i berechenbar.

Damit kann für jede Anlenkung ein Winkel

ϕ 1 , ϕ 2 , ϕ 3 , ϕ 4 berechnet werden und diesen Winkelstellungen

ein Ort des EP im KS 0 zugeordnet

werden. Man erhält die notwendige Grundstellung

(Ausgangswerte), um die differentielle Kinematik

zur Berechnung der Winkeländerungen

dϕ 1 , dϕ 2 , dϕ 3 , dϕ 4 einsetzen zu können.

8.3 Berechnung der Wegänderungen

der Zylinder

Aus der differentiellen Kinematik erhält man die

Winkeländerungen dϕ 1 , dϕ 2 , dϕ 3 , dϕ 4 . Durch

die konstruktive Eigenschaft der Zylinderanlenkung

im Anlenkdreieck können diese Winkeländerungen

nur vom jeweiligen Winkel α des

Anlenkdreiecks aufgenommen werden. Die Seite a

wird durch den Zylinder verkörpert und kann so

die Längenänderung aufnehmen (siehe Bild 8-4).

Nun ist mit dem Cosinussatz die Umwandlung der

Winkeländerung in eine Wegänderung des Zylinders

sehr einfach möglich.

a 2 = b 2 + c 2 – 2⋅b⋅c⋅

cos( α)

mit dα = dϕ

gilt:

± da = b 2 + c 2 – 2⋅b⋅c⋅

cos( dϕ i )

Dieses da kann man mit ∆t dividieren und man

erhält numerisch die zeitabhängige Wegänderung

des Zylinders. Diese Daten geben Aufschluß über

die notwendige Kinematik von Linearmotoren für

den Antrieb solcher Roboter.

9 Das Programm EASY-ROB

9.1 Allgemein

EASY-ROB

wurde für den

Apple Power Macintosh

entwickelt.

Das Programm

kann durch einen

Bild 9-1 Easy-ROB Icon

einfachen Doppelklick (DK) mit der Maustaste auf

das Icon EASY-ROB (Bild 9-1) gestartet werden.

Nach dem Start erscheint ein Informationsfenster.

Hier kann man mit Abbrechen das Programm wieder

verlassen oder mit weiter das Programm starten.

Nach dem Starten erscheint am oberen Rand

des Bildschirms, die Hauptmenu-Leiste. Diese

besteht aus sieben Untermenüs zur Bedienung des

Programms, siehe Bild 9-2 auf Seite 27.

Links, der bunte Apfel ist das Apple Menu. Ganz

rechts wo das Icon von EASY-ROB zu sehen ist,

ist das Programm-Menu. Dann ist noch ein Hilfe-

Menu zu sehen. Diese Menus werden von Apple

Seite 26 November 1998 Das Programm EASY-ROB


zur Verfügung gestellt und bieten im einzelnen

folgende Möglichkeiten/Funktionen:

Bild 9-2

Menu-Leiste von EASY-ROB

Apple Menu:

Nach Öffnen dieses Menus, durch

Anklicken des Apfels mit der Maus

erscheint ein Pulldown-Menu worin verschiedene

Hilfsfunktionen angeboten werden.

Dazu gehören u.a. Informationen

zum Computersystem ein Notizblock

zum Editieren einfacher kleiner Texte, ein

Rechner mit den Grundrechenarten, oder

Algebra Graph zur Darstellung von Funktionen.

Über dieses Menu können auch

direkt andere Programme aktiviert werden.

Und es kann vom Benutzer gestaltet

werden.

Hilfe Menu:

Mit diesem Menu besteht u. a. die

Möglichkeit über Menus, Symbole,

Befehle und andere Macintosh Systemfunktion

Erklärungen auf den Bildschirm

zu bekommen, wenn mit dem Mauspfeil

auf das bestimmte Objekt gezeigt wird.

Dazu muß die Funktion Aktive Hilfe in

dem Menu eingeschaltet werden.

Programme Menu:

In diesem Menu sind sämtliche geöffneten

Programme angezeigt. Durch Auswählen

aus einem Pulldown-Menu kann

man das jeweilige Programm sofort aktivieren.

Es ist jedoch immer nur ein Program

aktiv.

Die weiteren Menus in der Hauptmenu-Leiste

sind zur Bedienung des Programmes EASY-ROB

und werden im Folgenden weiter erklärt.

Bild 9-3

Standarddialog zum Laden einer

Datei

Abbrechen kann das jeweiligen Eingabefenster

verlassen werden, ohne die Daten

an das Programm zu übergeben.

Öffne:

Dieser Befehl öffnet ein Standarddialogfenster

zum Laden einer Roboterdatei.

Man kann eine Datei, die sich im angezeiten

Ordner befindet mit einem Doppelklick

öffnen, oder durch Markieren und Drücken

der Entertaste (ET), oder mit einem Mausklick

(MK) auf öffnen. Es können jedoch

nur solche Dateien geöffnet werden, die

mit EASY-ROB erstellt wurden. Die Daten

dieser Roboterdatei werden dann geladen

und man kann an diesem Roboter arbeiten.

sichern:

Speichert die Daten in die über sichern

als... angegebene Datei. Dient zur Schnellspeicherung

ohne Dialogfenster und kann

einfach bedient werden.

sichern als ...:

Öffnet einen Standarddialog, über den

9.2 Hauptmenu-Leiste

9.2.1 Datei:

Besteht aus den Untermenüs:

Neu:

Nach Anklicken dieses Befehls wird der

Anwender durch eine vorgegebene Fensterfolge

zur Eingabe eines neuen Roboters

angeleitet. Mit OK werden die eingegebenen

Daten temporär gespeichert, d.h. sie

werden an das Programm übergeben und

stehen zur Berechnung zur Verfügung. Mit

Bild 9-4

Standardsicherungsdialog

angegeben werden kann unter welchem

Namen eine Roboterdatei im Ordner, der

das Programm EASY-ROB enthält,

gespeichert werden soll. Die Bedienung

Das Programm EASY-ROB November 1998 Seite 27


des Dialoges ist gleich der des Datei-

Laden-Dialoges.

Druckformat:

Drucken:

Beide ausgeschaltet. (An einem Ausdruck

der Daten wird noch gearbeitet!)

Beenden:

Dieser Befehl beendet EASY-ROB. Hat

man an einer Datei Daten verändert, so

erscheint eine Abfrage, ob diese Änderungen

gespeichert werden sollen.

9.2.2 Eingabe Roboter:

Besteht aus den Menu-Punkten(Items):

• Roboter-Konfiguration

• Roboter-Hauptmaße

• Redundanz Randbedingung

• Drehgestellanlenkung

• Zylinder am Drehgestell

• Zylinder an Roboterachsen

Diese werden nachfolgend erklärt.

Roboter - Konfiguration:

Hier öffnet sich ein Fenster (Bild 9-5), in dem

Man kann über

Wahlfelder (Bild

9-6) eine Auswahl

treffen, ob der

Roboter 3 oder 4

angetriebene Achsen

haben soll. Die

Bild 9-6 Wahlfelder zur

Grundversion hat

Einstellung

3 Achsen. Für

diese Wahlfelder (Radiobuttons) gibt es in der

Gruppe nur einen Schaltzustand. Sind 4 Achsen

eingestellt, wird im Menu Eingabe-Roboter das

Item Redundanz Randbedingungen bedienbar. Mit

OK wird die Einstellung temporär gespeichert, d.h.

die Eingabedaten stehen dem Programm für die

Berechnung zur Verfügung. Mit Abbrechen wird

der Vorgang abgebrochen, die Daten werden nicht

zur Berechnung bereitgestellt.

Roboter - Hauptmaße:

In diesem Fenster gibt man die wichtigsten

Abmessungen ein, um die Kinematik des Roboters

berechnen zu können, die DH-Parameter Sd , .

Bild 9-7

Roboter - Hauptmaße: Denavit-

Hartenberg-Parameter

Bild 9-5

Auswahl für 3 oder 4 Achsen

ein Roboter im Raum skizziert ist. Man sieht die

wichtigsten geometrischen Abmessungen für seine

Kinematik, die Ausleger und die Gelenke.

Dazu setzt man einen MK auf ein Maßfeld. Es

springt ein Dialogfeld auf, in dem man eine Maßzahl

eingeben kann (Bild 9-8).

Die Länge des Achsauslegers

entspricht dem

DH-Parameter d. Das

Eingabefeld ist schwarz

unterlegt und man kann

Bild 9-8

Maßeingabe

dialog

sofort über die Tastatur

die Maßzahlen eingeben,

löschen und kopieren. Mit OK wird die

Aktion beendet, mit Abbr. wird die Aktion abgebrochen.

Das Dialogfeld verschwindet und es kann

die nächste Maß eingegeben werden. Es können

Seite 28 November 1998 Das Programm EASY-ROB


keine Dezimalzahlen eingegeben werden. Mit Eingabe

fertig wird die gesamte Eingabe für die DH-

Parameter abgeschlossen.

Bild 9-9

Wichtung für redundante

Systeme

Redundanz Randbedingung

Hat man bei der Roboterkonfiguration 4 Achsen

eingestellt, kann man über dieses Item Randbedingungen

für die Bewegungsfreiheit des Roboters

einstellen. Man kann eine der angetriebenen Achsen

2-4 in der Bewegung einschränken (Bild 9-9).

Die Grundeinstellung ist, daß die Achsen mit dem

geringsten Bewegungsaufwand von Punkt zu

Punkt auf der Bahn fahren. Diese Einstellungen

sollten nur verwendet werden, wenn die Arbeitsbahn

in einem Raum ist, der uneingeschränkt mit

allen Achsen erreicht werden kann. Die Eingabe

der Werte geschieht wie bei den Roboter Hauptmaßen

über MK und Eingabedialog.

Drehgestellanlenkung:

Über dieses Eingabefenster (Bild 9-10) wird die

Anlenkung des Zylinders eingegeben, der den

Roboterarm in den Raum dreht. Über die Anlenkmaße

wird ϕ 1 berechnet, und auf diesen Zylinder

werden die Winkeländerungen dϕ 1 als Längenänderungen

da so übertragen, daß der Zylinder einoder

ausfahren muß. Es muß sofort bemerkt werden,

daß diese Bemaßung beliebig nach den Vorgaben

ausgeführt werden kann, ohne darauf zu

achten, daß der EP des Roboters auf der X 0 -Achse

liegt. Der EP wird vom Programm einfach auf die

X 0 -Achse gelegt. Das hat den Sinn die Eingabe

für die Arbeitsbahn zu vereinfachen 1 . So weiß

man, daß der Roboter in der Grundstellung immer

Bild 9-11 Zylinderdateneingabe

Bild 9-10 Anlenkung des

Drehgestellzylinders

über der X 0 -Achse steht, und man kann in der

Y 0 = 0 -Ebene Bahnen in einer Ebene eingeben.

Außerdem weiß man, daß der Roboter nur in Richtung

der positiven Y 0 -Achse in den Raum fahren

kann. Für die Anlenkung des Drehgestells gibt es

nur diese Variante der Anlenkung. Die Zylinderdaten

können nach einem MK auf das Zylinderdatenfeld

in einem Dialogfenster (Bild 9-11) eingegeben

werden. In Bild 9-11 werden die Daten für Zylinder

2 abgefragt. Hier entspricht das Einbaumaß

dem kürzesten Maß des Zylinders. Der Hub erklärt

sich wie der Kolben- und Stangendurchmesser und

der Stangenzustand 2 selbst. Der Anlenkort der

Kolbenstange ist für die Berechnung der Antriebsdaten

nicht wichtig und wird im Programm auch

nicht berücksichtigt. Jedoch besteht hier die Möglichkeit

das Programm weiter auszubauen.

1. Wurde wegen Zeitmangel für die Diplomarbeit notwendig. Eine

ausführlichere Eingabe für Arbeitsbahnen ist nur Arbeit aber kein

Problem.

2. Der Stangenzustand des Drehgestellzylinders kann wegen der

Vereinfachung der Eingabe nur eingefahren sein.

Das Programm EASY-ROB November 1998 Seite 29


Zylinderanlenkung am Drehgestell

Dieses Menu-Feld öffnet ein weiteres Pulldown-

Menu, ein Submenu. Das ist auch durch den Pfeil

am Ende der Menüzeile gekennzeichnet. Dieses

Submenu enthält zwei Items, die im folgenden

erklärt werden:

Anlenkauswahl:

Hier öffnet sich ein Fenster (Bild 9-12), indem

mehrere Varianten zur Anlenkung des Zylinders

auf dem Drehgestell angeboten werden. Dieser

Zylinder treibt die zweite Roboterachse an. Er hebt

den EP aus der

Z 0 = 0

-Ebene. Man kann über

Bild 9-13 Zylinderanlenkung am

Drehgestell

Variante vorne oder hinten für die Anlenkung der

R-achsen auswählen kann, und das Item Bemaße

vorne/hinten um diese Variante zu bemaßen.

Auswahl:

Hier öffnet sich das Auswahlfenster um die

Zylinder vorne oder hinten an den R-achsen anzulenken.

Man kann für die Zylinderanlenkung

Bild 9-12 Anlenkauswahl für Zylinder auf

dem Drehgestell

Radiobuttons jeweils wieder nur eine Variante

Auswählen. Diese wird dann mit gelbem Hintergrund

gekennzeichnet. Wie z.B. Variante 3 (Bild

9-11, hier dick schwarz umrahmt).

Bemaße Variante:

Hat man eine Variante ausgewählt, muß man

diese bemaßen. Dazu öffnet man über dieses Item

das Fenster Zylinderanlenkung am Drehgestell

(Bild 9-13). Als Grundeinstellung erscheint hier

Variante 1. Hier muß man, wie in Bild 9-12 ausgewählt

die Variante 3 bemaßen. In diesem Fenster

bekommt der Anwender wie bei der Drehgestellanlenkung

über eine Skizze mitgeteilt wo er welche

Bemaßung wie auszuführen hat. Für die

Maßeingabe geht man wie bei der Anlenkung des

Drehgestellzylinders vor. Bei der Eingabe der

Zylinderdaten kann man aber nun den Zustand der

Kolbenstange des Zylinders angeben.

Zylinder an Roboterachsen:

Dies ist wieder ein Befehlsfeld, daß ein weiteres

Pulldown-Menu öffnet. Item Auswahl, wo man die

Bild 9-14 Auswahlfenster für Zylinderanlenkung

an den R-achsen

Achse 3an Achse 2 entweder die Variante hinten

oder die Variante vorne wählen. Die Auswahl wird

wieder gelb hinterlegt. Ist ein Roboter mit 4 angetriebenen

Achsen eingestellt, so kann der Radiobutton

Achse 4an Achse 3 bedient werden, und die

Variante vorne/hinten ausgewählt werden. Ist ein

Roboter mit 3 angetriebenen Achsen eingestellt, so

ist dieser Radiobutton gedimmt, er ist nicht

bedienbar.

Bemaße vorne/hinten:

Nach der Auswahl der Anlenkung muß diese

wiederum bemaßt werden. Dazu öffnet man das

Seite 30 November 1998 Das Programm EASY-ROB


Bemaße Zylinderanlenkung Fenster (Bild 9-15).

Arbeitsbahn:

Dieser Untermenüpunkt öffnet das Fenster in das

die Arbeitsbahn für den Roboter eingegeben werden

kann. Als Anhaltspunkte für die Größe des

aufgezeichneten Arbeitsraumes sind die maximalen

Reichweiten des Roboters in den X 0 –,

Z 0 –

Koordinatenrichtungen und ein Maßstab angegeben.

Man kann über Radiobuttons zwischen einer

Geraden und einem Kreis als Arbeitsbahn wählen.

Bild 9-15 Zylinderanlenkung bemaßen

hinten

Hier kann der Anwender die Anlenkdreiecke der

R-achsen nach den Vorgaben bemaßen. In der

Überschrift wird mitgeteilt welche R-achsen man

bemaßt. Sind 4 angetriebene Achsen eingestellt, so

ist 4 an Achse 3 bedienbar, andernfalls gedimmt.

Hier kann man zur Bemaßung zu Achse 4 an

Achse 3 über Radiobuttons umschalten und umgekehrt.

In Bild 9-15 ist die Anlenkung hinten zu

sehen. In Bild 9-16 ist die Anlenkung vorne zu

sehen.

Bild 9-17 Arbeitsbahnauswahl

Die Bahnparameter für die Gerade oder den Kreis

werden über ein Dialogfeld eingegeben, daß sich

öffnet, wenn auf den Pushbutton Eingabe Bahnparameter

ein MK erfolgt. Für die Gerade erscheint

Bild 9-16 Zylinderanlenkung bemaßen

vorne

9.2.3 Eingabe Bahn:

Bild 9-18 Bahnparametereingabe

Gerade

ein Eingabedialog, wo man die Start- und Endpunkte

der Geraden eingibt (Bild 9-18). Mit Ok

werden die Daten übernommen und die Gerade

wird im Darstellungsfeld mit einem kleinen Punkt

am Startpunkt blau eingezeichnet. Das gleiche gilt

für die Eingabe eines Kreisbogens (Bild 9-19). Es

kann ein Kreisbogen in einer Y 0 = yM-Ebene

eingegeben werden. Der Kreisbogen wird durch

Das Programm EASY-ROB November 1998 Seite 31


seinem Mittelpunkt (xM, yM, zM), durch seinen

Startpunkt (xKS, yM, zKS) und durch den Kreiswinkel

beschrieben. Mit OK werden die Daten

übernommen. Der Kreisbogen wird ebenfalls mit

einem kleinen Punkt am Startpunkt eingezeichnet.

Der Kreiswinkel kann positiv und negativ eingegeben

werden. Positiv bedeutet der Roboter fährt den

Kreis im Uhrzeigersinn ab, negativ bedeutet im

Gegenuhrzeigersinn. Im Darstellungsfeld ist auch

Bild 9-19 Bahnparametereingabe

Kreisbogen

der Roboter in seiner Grundstellung, und der

Arbeitsraum des Roboters dargestellt. Hier kann

man die Änderungen sehen, wenn z.B. der Zustand

einer Zylinderstange geändert wird (eingefahren,

ausgefahren), und wenn eine andere Anlenkvariante

der Hydraulikzylinder gewählt wird. Bei der

Eingabe der Arbeitsbahnen im Raum ist darauf zu

achten, daß der Roboter in den Raum dreht und der

eingezeichnete Arbeitsraum nur die Fläche eines

Vollrings darstellt. Hier müßte die Darstellungsvielfalt

noch wesentlich erweitert werden, um dem

Anwender eine leichteren Überblick über den

Arbeitsraum des Roboters und über die Eingabe

der Arbeitsbahn zu ermöglichen.

Geschwindigkeiten:

Nachdem die Arbeitsbahn eingegeben ist muß

diese noch mit einem Geschwindigkeitsprofil versehen

werden. Dazu dient das Eingabefenster

Geschwindigkeitsprofile (Bild 9-20). Hier kann

man die Arbeitsgeschwindigkeit vorgeben, und

zwischen einem Trapezprofil und einem Sinoidenprofil

für den Geschwindigkeitsverlauf beim

Anfahren oder Bremsen wählen. Der Geschwindigkeitsverlauf

beim Sinoidenprofil ist rechnerisch

ein Cosinusprofil, das aus einer Sinoide für den

Wegverlauf entsteht (vgl. Kapitel 7.4, „Geschwindigkeitsprofile

für die Bahngeschwindigkeit.,“ auf

Seite 22). Die Sinoide ist charakterisierend für

a = 0 bei t = 0 (siehe Bild 9-20). Der Begriff

Bild 9-20 Geschwindigkeitsprofile

Sinoide oder Sinoidenprofil wurde hier gewählt,

um einen ruckfreien Anfahr- und Bremsvorgang

zu kennzeichnen. Die Geschwindigkeitsparameter

können nach einem MK auf den Eingabe Profilparameter

Button in einem Dialogfeld eingegeben

werden.

9.2.4 Simulation:

Dieses Untermenü hat nur einen Menu-Punkt.

Bewegungsdarstellung:

In diesem Fenster wird der Roboter in einer

dimetrischen Projektion auf den Bildschirm

gezeichnet. In Bild 9-21 ist ein Roboter mit vier

Bild 9-21 Bewegungsdarstellung

(Simulation)

angetriebenen Achsen in seiner Grundstellung zu

sehen, die aus den Eingaben für die Zylinderanlenkung

und den Zylinderdaten berechnet wurde. In

diesem Fenster steht ein Koordinatenvergleich zur

Seite 32 November 1998 Das Programm EASY-ROB


Verfügung. Man kann mit einem MK die Simulation

unterbrechen und im Koordinatenvergleich

die Soll- und die berechneten Istkoordinaten des

EP vergleichen, um Informationen über die Bahntreue

des EP zu bekommen. Weiter steht ein Eingabefeld

zur Verfügung, um den Stützabstand zur

Berechnung der Antriebsdaten variabel einzustellen.

Die Grundeinstellung ist 0,1mm. Außerdem

hat man hier die Möglichkeit, nach einem MK auf

das Speichern-Radiobutton über einen Standarddialog

den Dateiordner anzugeben und den Dateinamen

einzugeben unter dem die Antriebsdaten

der Zyinder für die Bewegung abgespeichert werden

sollen.

Mit den Button Fahr zum Startpunkt fährt der

Roboter zum blauen Startpunkt der eingezeichneten

Arbeitsbahn. 1 Der Roboter fährt auf einer

Geraden direkt zu diesem Punkt. Dies entspricht

nicht immer der realen Bewegungsmöglichkeit des

Roboters, deshalb wird diese Bewegung nicht dargestellt.

Während der Berechnung der Antriebsdaten

ist keine andere Eingabe möglich. In Bild 9-22

hat der Roboter den Startpunkt erreicht. Nun sieht

Bild 9-22 Roboter am Startpunkt

man im Koordinatenvergleich wie genau der

Roboter auf dieser Position steht. Jetzt ist auch die

Speicherung der Antriebsdaten möglich. Die

Simulation kann mit Abbrechen abgebrochen werden.

Mit einem MK auf Simulation Start wird die

Simulation gestartet. Der Roboter bewegt sich entlang

der vorgegebenen Bahn mit konstanter

Geschwindigkeit, weil die Berechnung der

Antriebsdaten wegabhängig ist (vgl. Kapitel 7.3

1. Der Kreisbogen wird hier nicht eingezeichnet, weil dies wegen

Zeitmangel nicht mehr programmiert werden konnte.

und 7.4 auf Seite 22). Man kann die Simulation

mit gehaltener Maustaste beliebig oft unterbrechen,

um einen Koordinatenvergleich zu erhalten.

Nach jeder Unterbrechung fährt der Roboter auf

seiner Bahn weiter, bis er den Endpunkt erreicht

hat. Nun kann man die Simulation wiederholen.

Bild 9-23 Simulation Ende

Vorsicht!

Es kann bei der Simulation mit 4 angetriebenen

R-achsen vorkommen, daß der Roboter unkontrollierte

Bewegungen vollführt. Das kann passieren

wenn die Arbeitsbahn außerhalb des Arbeitsraumes

liegt, oder wenn sich eine oder zwei R-achsen

nicht mehr bewegen können, weil die Zylinder

ganz ein- oder ausgefahren sind. Außerdem kann

dann eine Fehlermeldung kommen, daß der Roboter

in einer Singulären Stellung steht, dies ist dann

aber nicht der Fall. Die Fehlermeldung kommt aus

folgendem Grund. Das Programm hat die Bewegung

mehrerer R-achsen gestoppt 2 . Dadurch ist die

JACOBI-Matrix nicht invertierbar, weil ihre

Determinante Null wird. Dies kommt normalerweise

nur in einer Singulären Stellung von Robotern

vor.

9.3 Quell-Text

[1], [2], [3], [11]

Der Quell-Text ist in einem Pascal-Dialekt für

den Compiler CodeWarrior ® IDE von Metrowerks

geschrieben. Er enthält viele Prozeduren und

2. Hier muß eine bessere Optimierungsstrategie angesetzt werden,

um bessere Ergebnisse zu erzielen. Dies war wie viele andere

Dinge aus Zeitmangel nicht möglich.

Das Programm EASY-ROB November 1998 Seite 33


Berechnungsalgorithmen. Zum besseren Verständnis

werden die Prozeduren kurz erläutert. Die mit

[H] gekennzeichneten procedures oder functions

sind von Herrn Professor Hoffmann übernommen.

Der Quell-Text liegt als Anlage bei.

10 Zusammenfassung

Diese Diplomarbeit behandelt die Berechnung

von Steuerungsdaten für den Antrieb von Roboterachsen

zur Bahnsteuerung von Robotern. Die

Roboterachsen werden mit Hydraulikzylindern

angetrieben. Die Daten können zur Analyse der

Antriebe hinsichtlich der notwendigen Wege,

Geschwindigkeiten und Beschleunigungen zum

Abfahren einer Arbeitsbahn verwendet werden. Es

können Daten für maximal vier angetriebene

Roboterachsen bei einem Freiheitsgrad der Roboter

von F=3 berechnet werden. Somit können auch

Daten für ein redundantes System berechnet werden.

Zur Berechnung der Daten werden mathematische

Grundlagen und Berechnungsmethoden

eingesetzt, wie sie zur kinematischen Analyse von

Getriebeketten zum Einsatz kommen. Das sind die

Vektorrechnung, Koordinatentransformationen

über mehrere Koordinatensysteme, Matrizenoperationen,

und die Berechnung der inversen Kinematik

mit differentiellen numerischen

Lösungsmethoden. Bewegungsvorgänge redundanter

Systeme können über ein Geschwindigkeitsminimum,

oder mit einer Bewegungswich–

tung der Antriebsachsen berechnet werden. In dem

Programm arbeitet ein Berechnungsalgorithmus,

der die Endlagen der Hydraulikzylinder berücksichtigt,

und während dem Abfahren einer Bahn

die Antriebe abschaltet und zuschaltet, die in eine

bzw. aus einer Endlage fahren.

Außerdem erlaubt der Algorithmus die kinematische

Analyse für individuell nach den Denavit-

Hartenberg-Parametern konfigurierbare offene

Getriebeketten, diese Eigenschaft wird im Programm

aber nur für die Parameter S und d ausgenutzt.

Diese sind für die Konfiguration von

Knickarmrobotern als Parameter einzugeben.

Im Programm können verschiedenen Anlenkvarianten

der Hydraulikzylinder an den Roboterachsen

ausgewählt und bemaßt werden. Die

abzufahrende Bahn kann eine beliebige Gerade,

oder ein Kreisbogen im Arbeitsraum der Roboter

sein. Diese Bahn kann mit einer einstellbaren

Bahngeschwindigkeit abgefahren werden, und es

kann in verschiedenen Beschleunigungsprofilen

(Trapez, Sinoide) auf die Bahngeschwindigkeit

beschleunigt werden. Es können Daten für Roboter

mit einem Aktionsradius von bis zu 30m berechnet

werden. Die Daten für den Bewegungsablauf der

Roboter werden online berechnet, und man kann

sich den Bewegungsablauf online in einer Simulation

anschauen. Die Steuerungsdaten können in

einen Textfile geschrieben werden, den man in

anderen Simulationsprogrammen nutzen kann um

damit z.B. das Verhalten der Antriebselemente zu

Analysieren.

Seite 34 November 1998 Zusammenfassung


11 Literaturverzeichnis

[1] Apple Inside Macintosh,

Macintosh Toolbox Essentials

Second Printing, Addison Wesley, 1994

ISBN 0-201-63243-8

[2] Apple Inside Macintosh,

Imagining With QuickDraw

First Printing, Addison Wesley, 1994

ISBN 0-201-63242-X

[3] Apple Inside Macintosh,

Text

First Printing, Addison Wesley, 1993

ISBN 0-201-63298-5

[4] Birnbaum H., Götzke H.

Algebra und Geometrie für Ingenieure

Grundwerk,12.-16. Auflage,

Verlag Harri Deutsch, 1990

SBN 3-87144-107-4

[5] Bögelsack, Kallenbach, Linnemann

Roboter in der Gerätetechnik

Heidelberg, Hüthig Verlag, 1984

ISBN 3-7785-1042-8

[6] W. Beitz, K.-H. Küttner

Dubbel-Taschenbuch für den Maschinenbau

18. Auflage, Berlin Springer, 1995

ISBN 3-540-57650-9

[7] McCloy D., Harris D.M.J.

Robotertechnik, Einführung

2. Auflage, Weinheim, VCH

Verlagsgesellschaft, 1989

ISBN 3-527-26917-7

[8] Gieck K.+ R.

Technische Formelsammlung

30. Auflage (deutsch), Germering,

Gieck Verlag, 1995

ISBN 3920379217

[9] Hardtke H.-J., Heimann, Sollmann

Technische Mechanik II, Lehr- und

Übungsbuch

Band II, Carl Hanser Verlag München Wien,

1997

ISBN 3-446-18623-9

[10] Heimann, Gerth, Popp

Mechatronik, Komponenten - Methoden -

Beispiele

Carl Hanser Verlag München Wien

ISBN 3-446-18719-7

[11] Hoffmann H.

Datenverarbeitung II, ISO-Pascal,

Pascal-Dialekte für Mikrocomputer

Vorlesungsskript

März 1997, S. 138-142

[12] Volmer Johannes

Getriebetechnik, Lehrbuch,

Autorenkollektiv

2. bearbeitete Auflage,

VEB Verlag Technik Berlin 1972

ISBN 551 864 7

Literaturverzeichnis November 1998 Seite 35

Weitere Magazine dieses Users
Ähnliche Magazine