Leseprobe 1

Werbung
Leseprobe
Georg Stark
Robotik mit MATLAB
ISBN: 978-3-446-41962-9
Weitere Informationen oder Bestellungen unter
http://www.hanser.de/978-3-446-41962-9
sowie im Buchhandel.
© Carl Hanser Verlag, München
2
Grundlagen der Robotermathematik
Zielsetzung
Formale, mathematische Modelle sind Voraussetzung für die Programmierung. Dafür
sollen die Grundlagen der Robotermathematik vermittelt werden. Der erste Schritt der
Robotermodellierung ist die Beschreibung der Mechanik durch geometrische Elemente
und ihre gegenseitigen Bezüge. Die Voraussetzung für eine Berechnung sind analytische
Methoden, deren Grundlage die Theorie der Vektoren, Matrizen und linearen Gleichungssysteme bildet.
Da Roboter häufig Drehachsen besitzen, ist die Berechnung von Winkeln, die durch die
verschiedenen geometrischen Elemente bestimmt werden, eine wichtige Anforderung.
Bei der Generierung von sanften, ableitbaren räumlichen und zeitlichen Verläufen spielen Polynome eine wichtige Rolle. Schließlich ist es oft unerlässlich, die Abhängigkeit von
Größen bei nur kleinen, differentiellen Änderungen zu berechnen. Auf diese Weise können lineare Gleichungssysteme zur näherungsweisen Beschreibung nichtlinearer Zusammenhänge benutzt werden.
2.1
Formale Modelle
Ein wesentliches Teilgebiet der Robotik sind Verfahren zum Steuern und Überwachen von
Robotern mit Hilfe von Rechnersystemen. Die dafür benötigte Software muss Wissen repräsentieren über
•
die Eigenschaften der Robotersysteme,
•
die durchzuführenden Anwendungsprozesse,
•
die Art und Weise der Bedienerdialoge.
Ein kleines Beispiel soll dies verdeutlichen.
Beispiel 2.1 Wissenskomponenten eines Roboters
Die Aufgabe besteht darin, die Werkzeugspitze eines Roboters auf einer geradlinigen Bahn zu
verfahren. Für die Durchführung müssen die folgenden Wissenskomponenten vorhanden
sein:
40
2 Grundlagen der Robotermathematik
1. Mathematische Beschreibung einer geradlinigen Bahn im Arbeitsraum des Roboters.
2. Überführung der räumlichen Ausrichtung des Effektors am Anfang der Bahn in die Endstellung.
3. Berechnung von Bahngeschwindigkeit und Bahnbeschleunigung, basierend auf den vom
Anwender vorgegebenen Zieldaten und den durch Mechanik und Elektrik zulässigen
Grenzwerten.
4. Berechnung der sich ergebenden Achswinkel des Roboters auf Grund seiner mechanischkinematischen Struktur.
5. Berechnung und Regelung der Ströme und Spannungen für die elektrischen Antriebe unter Berücksichtigung der dynamischen Eigenschaften.
6. Falls ein Bahnsensor vorhanden ist, muss der Einfluss der Sensordaten auf den programmierten Bewegungsablauf berechnet werden.
7. Maßnahmen im Fehlerfall.
nichtformales Wissen über Roboter
Formalisierung
Modellierung
formales Wissen
- geometrisch
- analytisch, numerisch
Programmierung
formale Computersprache
ausführbares Programm
Bild 2.1 Transformation des nichtformalen Wissens
in Software
Um dieses Roboterwissen mit Hilfe einer formalen Computersprache als Software darzustellen, muss es zuvor in eine formale Form gebracht werden. Dabei hilft die Mathematik. In
Bild 2.1 ist dieser Transformationsprozess dargestellt. Das zunächst vorhandene nichtformale Wissen über das Robotersystem wird mit Hilfe der Mathematik in mathematische und
damit formale Modelle überführt. Diese können durch formale Computersprachen implementiert und auf Rechnern zur Ausführung gebracht werden. Die beiden folgenden Definitionen sollen diese beiden wichtigen Begriffe klarstellen.
Definition – Modell
Ein Modell stellt die wesentlichen Eigenschaften und Verhaltensweisen eines natürlichen
Phänomens dar. Formale mathematische Modelle sind berechenbar und können mit
formalen Sprachen dargestellt werden.
41
2.2 Punkt, Gerade, Ebene
Definition – Formale Sprache
Die Theorie der Formalen Sprachen ist eine Teildisziplin der Mathematik und der theoretischen Informatik. Eine Formale Sprache ist eine Menge von Wörtern aus einem vorgegebenen Grundvorrat, dem Alphabet, deren Struktur mit Hilfe der Regeln einer formalen
Grammatik gebildet wird.
Formale, mathematische Modelle sind somit die Grundlage der Programmierung. Da Roboter räumliche Gebilde sind, spielen in der Robotermathematik die darstellende Geometrie
und darauf aufbauend die analytische Geometrie die größte Rolle.
2.2
Punkt, Gerade, Ebene
Punkt, Gerade und Ebene sind einfache geometrische Objekte. Jedoch reichen sie in vielen
Fällen zur geometrischen Modellierung von Robotern aus. So wird die räumliche Lage der
Werkzeugspitze durch einen Punkt, die Lage einer Bewegungsachse durch eine Gerade beschrieben.
z
P
pz
y
px
Py
x
2.2.1
Bild 2.2 Darstellung eines Punktes in einem kartesischen
Koordinatensystem
Punkt und Koordinaten
Die Lage eines Punktes im Raum wird durch drei Koordinaten beschrieben, die bezüglich
eines Koordinatensystems definiert sind. Meistens wird dafür ein kartesisches Koordinatensystem zu Grunde gelegt. Die Koordinatenachsen x, y, z sind gerichtete Geraden, die senkrecht aufeinander stehen, und die gleiche Skalierung aufweisen. Die drei Achsen bilden ein
Rechtssystem. Dies bedeutet, bewegt man die rechte Handfläche von der x- zur y-Achse, so
zeigt der Daumen in Richtung z-Achse. Die Koordinaten eines Punktes sind definiert als die
Weglängen px, py, pz auf Geraden, parallel zu den Koordinatenachsen (Bild 2.2). Man schreibt
P (px, py, pz).
42
2 Grundlagen der Robotermathematik
P
z

r
Bild 2.3 Darstellung eines Punktes in einem Zylinderkoordinatensystem
Zur Beschreibung von Punkten können auch andere Koordinatensysteme verwendet werden. So werden in einem Zylinderkoordinatensystem als Koordinaten der Winkel , der
radiale Abstand r und der Abstand von der Grundfläche z verwendet (Bild 2.3).
2.2.2
Vektoren
Zwei Punkte in der Ebene oder im Raum, die in einer bestimmten Richtung durchlaufen


werden, definieren einen Vektor. Jeder Vektor v hat eine Länge v , die seinem Betrag entspricht, und eine Richtung. Zwei Vektoren werden als gleich aufgefasst, wenn sie gleichen
Betrag und gleiche Richtung haben. Der gleiche Ort ist nicht erforderlich. Solche Vektoren
werden als freie Vektoren bezeichnet. Sind Vektoren an einen festen Ort gebunden, z.B. den
Ursprung des Koordinatensystems, so heißen sie Ortsvektoren.
Wichtig ist, dass man Vektoren numerisch darstellen und somit berechnen kann. Dies wird

ausführlich in Abschnitt 2.4.1 behandelt. Vorab jedoch sei gesagt, dass jeder Vektor v als
 
Linearkombination bezüglich der n Vektoren e1en einer Vektorbasis B dargestellt werden

kann. Die Koeffizienten der Linearkombination werden als die Komponenten v1, ... vn von v
bezeichnet.
2.2.3
Gerade in Ebene und Raum
Geraden werden analytisch durch lineare Gleichungen dargestellt, die einen eindimensionalen Lösungsraum (Abschnitt 2.4.2) haben. Ein beliebiger Punkt auf einer Geraden wird somit
durch nur eine Zahl eindeutig definiert, er hat nur einen Freiheitsgrad. Die Tabellen 2.1 und
2.2 zeigen die verschiedenen Darstellungsmöglichkeiten. Explizite und implizite Darstellung
sind unterschiedliche Schreibweisen für Funktionsgleichungen. Da eine Gerade nur eine
unabhängige Veränderliche haben kann, können mit einer einzigen expliziten oder impliziten Gleichung nur Geraden in der Ebene dargestellt werden. Eine Gleichung mit zwei unab-
43
2.2 Punkt, Gerade, Ebene
hängigen Veränderlichen hat einen zweidimensionalen Lösungsraum und beschreibt damit
eine Ebene im Raum.
Hinweis – Freiheitsgrad
Freiheitsgrade sind Parameter eines Elements oder Systems. Alle Parameter zusammen
bestimmen dessen Zustand eindeutig. Jeder Freiheitsgrad kann unabhängig von allen
anderen verändert werden. Beispielsweise hat ein Punkt in der Ebene zwei Freiheitsgrade,
im Raum jedoch drei. Für nicht punktförmige Elemente ergeben sich weitere Freiheitsgrade bezüglich möglicher Drehungen. So besitzt eine allgemeine geometrische Figur in
der Ebene einen weiteren Freiheitsgrad. Ein allgemeiner Körper im Raum weist drei weitere Freiheitsgrade auf.
Tabelle 2.1 Mathematische Darstellung einer Geraden in der Ebene
Darstellungsart
Mathematischer Ausdruck
explizite Darstellung:
y  mx  c  f ( x ); f :  ; m,c 
implizite Darstellung:
Vektordarstellung:
F( x , y )  mx  y  c  0
  
x  a  t u ; t 
Komponentendarstellung:
x1  a1  t u1 , x 2  a2  t u2
Hesse-Normalenform:
n1 x  n2 y  n0  0
Für den Normalenvektor gilt:
  n1  
n   ; n 1
n2 
Für einen beliebigen Punkt P (p1, p2) in der Ebene erhält man den
senkrechten Abstand d von der Geraden:
n1 px  n2 p y  n0  d
Tabelle 2.2 Mathematische Darstellung einer Geraden im Raum
Darstellungsart
Mathematischer Ausdruck
Vektordarstellung:
  
x  a  t u ; t 
Komponentendarstellung:
x1  a1  t u1 , x 2  a2  t u2 , x 3  a3  t u3

Die Vektordarstellung ist eine lineare Gleichung mit Vektoren, dem Hinführungsvektor a ,


dem Richtungsvektor u und dem Ergebnisvektor x . Bei komponentenweiser Schreibweise
erhält man die Komponentendarstellung. Eine besondere Darstellung für Geraden in der
Ebene ist die Hesse-Normalenform. Setzt man für die Veränderlichen die Koordinaten eines
nicht auf der Geraden liegenden Punktes P ein, so erhält man dessen vorzeichenbehafteten
Abstandswert d. Ein positiver Wert von d bedeutet, dass P in der durch die Gerade abge
trennten Halbebene liegt, in die auch der Normalenvektor n zeigt. Beispiel 2.2 verdeutlicht
die Anwendung.
44
2 Grundlagen der Robotermathematik
Beispiel 2.2 Hesse-Normalenform
Gegeben sind die Punkte P1 (1,0) und P2 (-1,2), deren Abstände d1 und d2 von der Geraden g
berechnet werden sollen. Dies ist in Bild 2.4 dargestellt. Die Gerade g ist gegeben durch:
Explizite Darstellung:
Implizite Darstellung:
y  f ( x )  x 1
x  y 1  0
 1 
 
Hesse-Normalenform: 1 x  1 y  1  d ; mit n   2 
2
2
2
 1 
 2 
Man erhält d1  2 und d2   2 .
y
g
P2
d2
n
1
d1
-1
2.2.4
P1
1
x
Bild 2.4 Punkte P1, P2 mit den Abstanden d1, d2
zur Geraden g
Schnittpunkt zweier Geraden
Um den Schnittpunkt zweier Geraden in der Ebene zu berechnen, werden die beiden Geradengleichungen kombiniert, entweder durch Gleichsetzen oder durch Addition. Drei verschiedene Lösungsfälle können auftreten:
•
eine Lösung – die Geraden schneiden sich,
•
keine Lösung – die Geraden sind parallel,
•
unendlich viele Lösungen – die Geraden sind gleich.
Werden die Vektorgleichungen zweier Geraden im Raum g1, g2 gleichgesetzt, ergibt sich ein
überbestimmtes Gleichungssystem bezüglich der Geradenparameter t1 und t2. Der Grund ist,
dass sich Raumgeraden in der Regel nicht schneiden. Definiert man eine dritte Gerade g3 so,
dass die beiden Geraden g1, g2 von dieser rechtwinklig geschnitten werden, erhält man ein
eindeutig lösbares Gleichungssystem mit drei Komponentengleichungen und den drei Geradenparametern t1, t2, t3 als Unbekannte.
  
 

 

g1 : x  a  t1u ; g 2 : x  b  t 2 v ; g 3 : x  c  t 3 w

Der Hinführungsvektor c ergibt sich durch den Schnittpunkt von g1 und g3.
 

c  a  t1u .
45
2.2 Punkt, Gerade, Ebene



Der Richtungsvektor w steht senkrecht auf u und v . Nun werden die Gleichungen von g2
und g3 gleichgesetzt.

 

b  t 2v  c  t 3w


Ersetzt man c und w , so erhält man
   
 
b  t 2v  a  t1u  t 3 (u  v );

u
 
  
T
v u  v t1 t 2 t 3   b  a
Dies ist ein lineares Gleichungssystem für drei Unbekannte. Das Lösungsverfahren wird in
Abschnitt 2.4.2 behandelt.
2.2.5
Ebene im Raum
Eine Ebene wird durch eine lineare Gleichung mit zwei unabhängigen Veränderlichen dargestellt. Die Tabelle zeigt die verschiedenen Möglichkeiten der Darstellung, analog zu denen
von Geraden in der Ebene.
Tabelle 2.3 Mathematische Darstellung einer Ebene im Raum
Darstellungsart
Mathematischer Ausdruck
explizite Darstellung:
z  m x  l y  c  f (x , y); f :  2  ;
implizite Darstellung:
Vektordarstellung:
F( x , y , z )  mx  l y  z  c  0;
 


x  a  t1 u  t 2 v ; t1 ,t 2 
Komponentendarstellung:
x1  a1  t1 u1  t 2 v1 ,
m, l , c  
x 2  a2  t1 u2  t 2 v2 ,
x 3  a3  t1 u3  t 2 v3
Hesse-Normalenform:
n1 x  n2 y  n3 z  n0  0 ,
Für den Normalenvektor gilt:
 n1 


n  n2  ; n  1
n3 
Für einen beliebigen Punkt P (px, py, pz) im Raum erhält man den
senkrechten Abstand d von der Ebene:
n1 px  n2 p y  n3 pz  n0  d
2.2.6
Schnittgerade zweier Ebenen
Um die Schnittgerade zweier Ebenen zu berechnen, werden deren Gleichungen gleichgesetzt
oder addiert. Drei verschiedene Lösungsfälle bezüglich der Schnittgerade können auftreten.
46
2 Grundlagen der Robotermathematik
•
eine Lösung – die Ebenen schneiden sich,
•
keine Lösung – die Ebenen sind parallel,
•
unendlich viele Lösungen – die Ebenen sind gleich.
Beispiel 2.3 zeigt die Vorgehensweise bei Vektordarstellung und impliziter Darstellung von
Ebenen.
Beispiel 2.3 Berechnung der Schnittgerade zweier Ebenen
a) Vektordarstellung:
0 
1 
0 
1 
0 
0 
  
  






E1: x   0   t1 1   t 2 0  ; E2: x  0   t 3  0   t 4 1 
2 
 0 
 0 
 0 
0 
1 
Durch Gleichsetzen der Ebenengleichungen erhält man: t1  t 4 ; t 2  2; t 3  1 .
Durch Einsetzen dieser Lösung in E1 (oder in E2) ergibt sich die Gleichung der Schnittgeraden
zu
1   0 
    
g: x   0   t1 1 
 2   0 
b) Implizite Darstellung:
E1: 1 x  0 y  0 z 1  0
E2: 0 x  0 y 1z  2  0
Die beiden Gleichungen stellen ein unterbestimmtes Gleichungssystem für drei Unbekannte
dar. Das Lösungsverfahren wird in Abschnitt 2.4.2 behandelt.
2.3
Trigonometrische Funktionen
2.3.1
Gradmaß, Bogenmaß, Einheitskreis
Neben dem Gradmaß wird häufig das Bogenmaß benutzt. Dessen Wert entspricht der Länge
des zu einem bestimmten Winkel gehörigen Bogens eines Einheitskreises (Radius r=1). Für
die Umrechnung von Gradmaß G nach Bogenmaß B gilt deshalb:
B G

180
47
2.3 Trigonometrische Funktionen
Die trigonometrischen Funktionen können in einem Einheitskreis mit den vier Quadranten
I - IV definiert werden, dargestellt in Bild 2.5. Es gilt:
sin()  AB; cos()  OA; tan() 
sin  AB
1
OA
; cot() 


cos  OA
tan() AB
Die Werte der trigonometrischen Funktionen für die Winkel 0, 30, 45, 60, 90 betragen:
sin: 0,
1
,
2
2
,
2
3
, 1 ; cos: 1,
2
y
II
3
,
2
2 1
, , 0 ; tan: 0,
2 2
1
, 1,
3
3, 
I
m
B
’

P
sin
x
O
A 1
cos
P’
III
IV
2.3.2
Bild 2.5 Definition der trigonometrischen Funktionen
im Einheitskreis
Inverse trigonometrische Funktionen
In der Praxis müssen sehr häufig Winkel in Abhängigkeit von Punkten, Vektoren, Strecken
oder Geraden berechnet werden. Dazu werden die inversen trigonometrischen Funktionen
benötigt.
Für die inverse Tangensfunktion atan(m) gilt:
  a tan(m); a tan :  (
 
, )
2 2
Eine beliebige Steigung m einer Geraden wird so auf einen Wertebereich von nur 180 abgebildet. Dies entspricht  im Bogenmaß.
Wünschenswert ist jedoch ein Wertebereich von insgesamt 360 oder 2 im Bogenmaß. Ein
Blick auf Bild 2.5 zeigt, dass es zu einer gegebenen Steigung m einer Geraden zwei Winkel 
und ’ gibt, die sich um 180 unterscheiden. Die Zuordnung der Steigung einer Geraden
zum dazugehörigen Winkel wird eindeutig, wenn zusätzlich der Quadrant bezeichnet wird,
in dem der freie Schenkel des Winkels liegt. Dies wird dadurch erreicht, dass die Steigung
nicht durch eine skalare Größe m, sondern indirekt durch die Koordinaten x, y eines Punk-
48
2 Grundlagen der Robotermathematik
tes P definiert wird. Dadurch werden der Quadrant und der zugeordnete Winkel eindeutig
beschrieben. Für die so erweiterte inverse Tangensfunktion atan2(y,x) gilt:
  a tan2( y , x ); a tan2:2 [, ]
Für die Anwendung des Kosinussatzes im nächsten Abschnitt wird noch die inverse Kosinusfunktion benötigt. Es gilt:
  a cos(l ); a cos :[1,1][0, ]
2.3.3
Winkel in einem allgemeinen Dreieck, Kosinussatz
Für die Berechnung von Winkeln in einem allgemeinen Dreieck eignet sich besonders gut
der Kosinussatz.
s12  s22  s32  2s2 s3 cos 1
(2.1)
Der Winkel 1 ist der Gegenwinkel zur Seite s1. Die Formel für die beiden anderen Seiten ist
entsprechend.
Für 1=90 erhält man den Lehrsatz des Pythagoras mit s1 als Hypotenuse.
Ist 1=180, so ergibt sich mit Hilfe der 1. binomischen Formel1 die Aussage, dass die Strecke
s1 die Summe von s2 und s3 ist.
s12  s22  s32  2s2 s3  (s2  s3 )2 ; s1  s2  s3
2.4
Lineare Algebra
Die lineare Algebra2 beschäftigt sich mit Vektoren, Matrizen und linearen Abbildungen. Sie
hat eine große Bedeutung für die Berechnung geometrischer Objekte.
2.4.1
Vektoren und Matrizen
Vektorraum
Ein Vektorraum V ist eine Menge von Vektoren über den reellen Zahlen  mit den beiden
algebraischen Operationen:
1
2
2
2
2
2
2
2
2
Die drei binomischen Formeln lauten: (a+b) =a +2ab+b ; (a-b) =a -2ab+b ; (a+b)(a-b)=a -b
Andere Bezeichnungen sind Vektoralgebra oder lineare Geometrie
2
Herunterladen