WEBVTT

00:05.540 --> 00:09.080
Ja, hallo, ich begrüße euch zur heutigen Vorlesung.

00:09.200 --> 00:14.640
Wir haben das letzte Mal das Thema Repräsentationen von Positionen und

00:14.640 --> 00:19.500
oder Translationen, Rotationen abgeschlossen und wir haben gesehen,

00:19.760 --> 00:24.300
dass wir hier, dass wir dort unterschiedliche Möglichkeiten haben, mit

00:24.300 --> 00:27.860
denen wir Rotationen, Translationen beschreiben, angefangen mit

00:27.860 --> 00:32.280
Rotationsmatrizen, Translationsvektoren bis hin zu homogenen Matrizen,

00:33.280 --> 00:38.160
auch die unterschiedlichen Varianten für die Beschreibung von

00:38.160 --> 00:43.040
Rotationen, zum Beispiel mithilfe von Euler-Winkeln oder Rolle-Pitch

00:43.040 --> 00:43.800
-IO -Winkeln.

00:44.780 --> 00:49.240
Dann ganz zum Schluss haben wir Quaternionen kennengelernt, mit denen

00:49.240 --> 00:57.780
wir sorgenlos Orientierungen interpolieren können, aber keine

00:57.780 --> 01:00.840
Berücksichtigung von Translationen machen.

01:01.280 --> 01:04.660
Und dann haben wir ganz, ganz zum Schluss gesehen, dass wir mithilfe

01:04.660 --> 01:10.200
von dualen Quaternionen sowohl Rotationen als auch Translationen

01:10.200 --> 01:11.180
beschreiben können.

01:11.320 --> 01:17.620
Das werden wir nächste Woche natürlich in den Übungen vertiefen, das

01:17.620 --> 01:19.960
ganze Material, was wir bis jetzt kennengelernt haben.

01:20.900 --> 01:24.620
In der Vorlesung gehen wir heute zu einem anderen Thema, und zwar

01:24.620 --> 01:27.180
Kinematik, das Kapitel Kinematik.

01:27.440 --> 01:31.440
Und wenn wir über Robotermodelle immer reden, dann haben wir es immer

01:31.440 --> 01:35.060
mit drei, die wichtigsten Modelle, zu tun.

01:35.220 --> 01:40.300
Einmal ein sogenanntes kinematisches Modell, ein dynamisches Modell

01:40.300 --> 01:42.340
und ein geometrisches Modell.

01:43.380 --> 01:47.740
Und die kinematische Modellierung beziehungsweise die Kinematik, die

01:47.740 --> 01:54.660
beschreibt für uns die geometrischen und analytischen Beziehungen der

01:54.660 --> 01:58.720
Bewegungszustände von einem mechanischen System, also von einem

01:58.720 --> 02:00.000
Roboter in unserem Fall.

02:01.600 --> 02:06.180
Also das ist ja die Leere der geometrischen, analytischen Beschreibung

02:06.180 --> 02:08.800
von Bewegungszuständen, also von Bewegung.

02:09.400 --> 02:16.280
Die Dynamik ist die Leere der Untersuchung von Kräften und Momenten,

02:16.360 --> 02:19.840
die bei Bewegungen von Mehrkörpersystemen auftreten.

02:20.280 --> 02:23.700
Und die geometrischen Modelle, das ist die mathematische Beschreibung

02:23.700 --> 02:29.380
der Form von Körpern, also wie ein Roboter aufgebaut ist, wie groß

02:29.380 --> 02:32.940
sind oder wie breit und tief sind die einzelnen Elemente.

02:33.440 --> 02:36.720
Das ist natürlich eine ganz wichtige Sache, die man auf der einen

02:36.720 --> 02:41.600
Seite für Visualisierung beispielsweise in Simulationen benötigt, auf

02:41.600 --> 02:44.660
der anderen Seite, um zu wissen, ob die Gelenke miteinander

02:44.660 --> 02:48.420
kollidieren, wenn der Arm sich bewegt, beziehungsweise wo sind die

02:48.420 --> 02:53.580
Gelenkgrenzen bei einer bestimmten Bewegung, denn das sind ja nicht

02:53.580 --> 02:57.700
nur, die Armsegmente sind nicht nur Linien, sondern die haben ja eine

02:57.700 --> 03:01.960
gewisse physikalische Ausdehnung, die natürlich durch die geometrische

03:01.960 --> 03:03.300
Modellierung berücksichtigt wird.

03:03.980 --> 03:07.480
Und als erstes wollen wir mit der kinematischen Modellierung anfangen,

03:07.640 --> 03:11.400
das heißt, wir wollen sehen, wie kinematische Modelle von Robotern,

03:11.520 --> 03:13.480
speziell Manipulatoren, aussehen.

03:13.940 --> 03:18.180
Das ist keine Einschränkung der Allgemeinheit, das heißt, das Gleiche

03:18.180 --> 03:21.960
ist einsetzbar, um zum Beispiel die Kinematik von einem mobilen

03:21.960 --> 03:24.980
Roboter, also von einem Fahrzeug zu beschreiben.

03:25.860 --> 03:31.920
Und wir wollen natürlich darauf eingehen, wie wir die Lage von dem

03:31.920 --> 03:33.840
Endeffektor im Raum beschreiben können.

03:34.180 --> 03:37.800
Und dazu müssen wir natürlich auch wissen, wie wir die Lage der

03:37.800 --> 03:40.900
einzelnen Gelenke zueinander innerhalb einer kinematischen Kette

03:40.900 --> 03:42.080
stehen.

03:42.220 --> 03:46.020
Und dazu natürlich das Ganze, was wir gelernt haben in den bisherigen

03:46.020 --> 03:49.300
Vorlesungen, Translationen, Rotationen und Ähnliches.

03:49.760 --> 03:54.580
Und da werden wir hier auf eine neue Konvention eingehen, die speziell

03:54.580 --> 04:00.060
für die Beschreibung von Transformationen zwischen Gelenken eines

04:00.060 --> 04:04.560
Roboter -Arms entwickelt wurde, die sogenannte Deneveth-Hartenberg

04:04.560 --> 04:09.920
-Notation, und dann auf zwei wesentliche Probleme der Kinematik, das

04:09.920 --> 04:12.940
direkte und das inverse kinematische Problem.

04:13.400 --> 04:16.840
Und wir werden sehen, welche Lösungsmöglichkeiten hier für diese, also

04:16.840 --> 04:19.840
zunächst mal, was diese Probleme bedeuten und welche

04:19.840 --> 04:23.300
Lösungsmöglichkeiten es hierzu gibt.

04:24.200 --> 04:33.600
Und weitere vertiefen die Aspekte, zum Beispiel Singularität von einem

04:33.600 --> 04:37.340
Roboter -Arm, die Manipulierbarkeit von einem Roboter-Arm,

04:37.540 --> 04:41.360
beziehungsweise wie man die Erreichbarkeit von einem Roboter-Arm oder

04:41.360 --> 04:43.460
von einem Roboter beschreiben kann.

04:44.340 --> 04:47.060
Genau, und wir fangen heute mit einem kinematischen Modell.

04:47.160 --> 04:51.600
Und wir wissen ja, aus der letzten Vorlesung, dass so ein

04:51.600 --> 04:56.360
kinematisches Modell von etwas, was sich bewegt, mithilfe von einem

04:56.360 --> 04:58.200
Graphen dargestellt werden kann.

04:58.320 --> 05:01.880
Das ist hier das kinematische Modell von einem Menschen, zum Beispiel,

05:02.480 --> 05:04.820
mit mehreren Freiheitsgraden, wie wir sehen.

05:05.440 --> 05:09.600
Und die Kinematik beschreibt für uns die Bewegungszustände von diesen

05:09.600 --> 05:10.720
Systemen.

05:10.980 --> 05:16.040
Also, wie bewegt sich tatsächlich dieses Modell, wenn natürlich die

05:16.040 --> 05:18.800
jeweiligen Gelenke sich verändern?

05:19.220 --> 05:21.040
Und das ist, was wir hier betrachten.

05:21.220 --> 05:25.780
Wie man sieht, nicht nur limitiert auf Robotik, sondern auch die

05:25.780 --> 05:28.440
kinematische Beschreibung von Bewegungen des Menschen.

05:29.760 --> 05:34.620
Und wenn wir das hier mal betrachten und daran denken, dass wir einen

05:34.620 --> 05:38.100
Roboter haben wollen, der zum Beispiel Objekte manipuliert oder mit

05:38.100 --> 05:42.960
seinem Arm zur Kante vom Tisch hier fahren kann oder seinen Arm zur

05:42.960 --> 05:48.920
Kante des Tisches bringen soll, dann müssen wir eigentlich ganz

05:48.920 --> 05:53.320
logisch, wenn ihr mal eure Arme bewegt und versucht, mal eine

05:53.320 --> 05:57.540
bestimmte Position im Raum zu erreichen, dann gibt es immer, um diese

05:57.540 --> 06:01.440
Position zu erreichen, bestimmte Gelenkwinkelstellungen von eurem Arm,

06:01.560 --> 06:05.140
die angenommen werden müssen, damit diese Zielposition erreicht werden

06:05.140 --> 06:05.460
kann.

06:06.200 --> 06:10.060
Und wenn man das Ganze hier beschreiben will, das heißt, diese

06:10.060 --> 06:11.800
Bewegungszustände bzw.

06:12.120 --> 06:16.840
die Erhänglichkeiten von Gelenkwinkeln eines Roboterarms und wo der

06:16.840 --> 06:22.560
Endeffektor, also die Hand, im Arbeitsraum sein soll, dann hat man es

06:22.560 --> 06:24.740
eigentlich mit zwei Räumen immer zu tun.

06:25.640 --> 06:29.640
Einmal ein Raum, was wir Gelenkwinkelraum nennen wollen bzw.

06:31.160 --> 06:35.080
Konfigurationsraum, im Englischen auch Configuration Space und deshalb

06:35.080 --> 06:37.580
wird es oft mit C bezeichnet.

06:38.180 --> 06:42.520
Und das ist der Raum der Gelenkwinkel von diesem Roboter.

06:42.660 --> 06:48.780
Das heißt, wenn wir hier den Arm von Arma 3 haben, der hat sieben

06:48.780 --> 06:49.740
Freiheitsgrade.

06:51.760 --> 07:06.060
Das heißt, wir haben Gelenkwinkelvektoren aus R7 und das ist nichts

07:06.060 --> 07:08.620
anderes als unser Gelenkwinkelraum.

07:08.800 --> 07:10.960
Das heißt, der Gelenkwinkelraum bzw.

07:11.560 --> 07:16.800
der Konfigurationsraum hier ist ein Unterraum von R7.

07:18.280 --> 07:21.720
So, und das sind die unterschiedlichen Gelenke, also z.B.

07:21.980 --> 07:24.440
das ist hier Ellenbogengelenk,

07:28.170 --> 07:30.270
das ist hier Ellenbogengelenk,

07:38.800 --> 07:45.140
das ist hier, also das ist Theta 4 z.B., das ist hier die Drehung um

07:45.140 --> 07:48.000
den Unterarm, das ist Theta 5 usw.

07:48.160 --> 07:48.440
usf.

07:48.760 --> 07:53.560
Hier ist beispielsweise Theta 1, also wie das Gelenk sich hier in der

07:53.560 --> 07:55.060
Schulter dreht usw.

07:55.200 --> 07:55.500
usf.

07:56.220 --> 08:00.280
Und damit wir mit diesem Arm irgendwo hinkommen, z.B.

08:00.500 --> 08:03.760
an den Tisch, wie man sieht hier, das ist der Arbeitsraum, also wo der

08:03.760 --> 08:06.260
Roboter seine Aufgaben verrichten soll, z.B.

08:06.500 --> 08:09.520
die Küche hier, auf diesem Tisch irgendwelche Objekte manipulieren.

08:10.080 --> 08:13.780
Das ist der karthesische Raum, den wir kennen, wo wir Objekte mithilfe

08:13.780 --> 08:18.760
von drei Parameter für die Position und drei Orientierungen

08:18.760 --> 08:21.760
beschreiben können mit all den Werkzeugen, die wir bis jetzt

08:21.760 --> 08:22.580
kennengelernt haben.

08:23.460 --> 08:28.620
So, das heißt, hier haben wir unser Koordinatensystem, sei es jetzt z

08:28.620 --> 08:29.680
.B.

08:29.860 --> 08:35.740
in dieser Ecke hier, x-Weltkoordinatensystem, y-Weltkoordinatensystem

08:35.740 --> 08:39.020
und z-Weltkoordinatensystem.

08:39.680 --> 08:44.140
Und wir haben es immer bei Bewegungen von den Armen, also um die

08:44.620 --> 08:46.900
Bewegungszustände zu beschreiben, um z.B.

08:47.160 --> 08:51.020
an einer Taste zu kommen, müssen wir gucken eigentlich, wie sieht die

08:51.020 --> 08:53.200
Abbildung hier in diese Richtung aus.

08:53.840 --> 08:59.800
Das heißt, auf der einen Seite, wenn meine Gelenkwinkelstellungen 90,

09:00.020 --> 09:07.560
45, 90 und 13 sind, wo steht eigentlich der Endeffektor im

09:07.560 --> 09:08.360
karthesischen Raum?

09:08.600 --> 09:11.560
Also, wo komme ich hin auf diesem Tisch?

09:11.960 --> 09:15.600
Das ist die eine Richtung, also wir haben die Gelenkwinkel und aus den

09:15.600 --> 09:20.560
Gelenkwinkeln von dem Arm wollen wir wissen, wo steht der Endeffektor.

09:20.560 --> 09:26.680
Natürlich, wenn wir eine Tasse greifen wollen, oder eine Flasche

09:26.680 --> 09:31.980
greifen wollen, was auf diesem Tisch steht hier, dann bekommen wir

09:31.980 --> 09:36.740
normalerweise die Position dieser Tasse mithilfe von einer Sensorik.

09:36.960 --> 09:40.620
Das heißt, wir bekommen die Position von dieser Tasse beispielsweise

09:40.620 --> 09:47.120
im Weltkoordinatensystem und wir müssen aus dieser xyz-Alphabet der

09:47.120 --> 09:52.820
Gamma der Flasche, müssen wir wissen, welche Gelenkwinkel des Armes

09:52.820 --> 09:55.900
müssen wir einstellen, damit wir dorthin gelangen können.

09:56.120 --> 10:00.200
Das heißt, wir haben eigentlich eine Transformation in die

10:00.200 --> 10:01.400
entgegengesetzte Richtung.

10:02.660 --> 10:09.540
Und das zentrale Thema von diesem Kapitel Kinematik beschäftigt sich

10:09.540 --> 10:12.620
eigentlich mit diesen zwei Abbildungsvorschriften.

10:12.620 --> 10:18.980
Einmal die Abbildungsvorschrift vom Konfigurationsraum in den

10:18.980 --> 10:19.820
Arbeitsraum.

10:20.520 --> 10:24.120
Das nennen wir auch, werden wir gleich sehen, die Vorwärtskinematik.

10:24.700 --> 10:28.560
Und zum Zweiten die Abbildungsvorschrift vom Arbeitsraum in den

10:28.560 --> 10:29.760
Konfigurationsraum.

10:30.420 --> 10:33.680
Und das ist ein Problem, was man in der Literatur die Inverse

10:33.680 --> 10:34.720
Kinematik nennt.

10:34.840 --> 10:38.380
Und wir wollen in diesem Kapitel hier sehen, wie diese zwei Probleme

10:38.380 --> 10:40.280
zu bewältigen sind.

10:40.720 --> 10:46.580
Denn ohne sie kann man keine Steuerung für diesen Arm realisieren, um

10:46.580 --> 10:50.700
bestimmte Objekte zu manipulieren oder andere Aufgaben zu machen.

10:51.420 --> 10:55.600
So, das heißt, das kinematische Modell eines Roboters beschreibt die

10:55.600 --> 10:58.960
Zusammenhänge zwischen diesen zwei Räumen.

10:59.220 --> 11:03.300
Einmal den Gelenkwinkelraum oder Konfigurationsraum oder Configuration

11:03.300 --> 11:07.880
Space auf Englisch und dem Posenraum des Endeffektors im

11:07.880 --> 11:09.140
Weltkoordinatensystem.

11:09.320 --> 11:14.040
Man bezeichnet das als Workspace beziehungsweise auch als Arbeitsraum.

11:15.020 --> 11:16.320
Warum brauchen wir das?

11:16.640 --> 11:19.800
Wie ich bereits erklärt habe, wir müssen diese Zusammenhänge

11:19.800 --> 11:22.900
verstehen, damit wir zum Beispiel Greifen manipulieren entlang

11:22.900 --> 11:27.100
bestimmter Trajektorien oder bestimmte Trajektoren abfahren können,

11:27.200 --> 11:31.200
zum Beispiel, um was zu reinigen oder zu schweißen oder Ähnliches.

11:32.080 --> 11:36.180
Es ist auch sehr wichtig, dass wir diese Beziehungen kennen, damit wir

11:36.180 --> 11:38.040
eine Erreichbarkeitsanalyse machen.

11:38.400 --> 11:42.540
Ja, also das heißt, wenn ich jetzt stationär einen Arm hier, wenn ich

11:42.540 --> 11:49.320
einen Roboterarm entwerfen will, der stationär hier auf diesem Tisch

11:49.320 --> 11:54.180
ist und er soll Objekte dort manipulieren, dann kann ich natürlich

11:54.180 --> 11:58.040
anhand von diesen Beziehungen oder diesen Analysen wissen, sind

11:58.040 --> 12:03.320
überhaupt diese Objekte, die mich interessieren, erreichbar mit dem

12:03.320 --> 12:03.600
Arm.

12:03.780 --> 12:06.840
Und zwar nicht nur erreichbar einfach, dass ich sie antasten kann,

12:06.900 --> 12:10.580
sondern vielleicht erreichbar in unterschiedlichen Orientierungen von

12:10.580 --> 12:11.640
unterschiedlichen Seiten.

12:12.320 --> 12:15.440
Deshalb diese Analysen oder dieses kinematische Modell ist sehr

12:15.440 --> 12:15.720
wichtig.

12:16.420 --> 12:21.500
Dann natürlich die Beziehungen zwischen Teilen des Körpers des

12:21.500 --> 12:25.740
Roboters, um selbst Kollisionen auch zu identifizieren und

12:25.740 --> 12:26.540
auszuschließen.

12:27.060 --> 12:31.060
Und außerdem auch, wenn wir wissen, wo der Endeffektor ist bzw.

12:31.380 --> 12:35.480
wie die ganze kinematische Kette sich bewegt bei einer bestimmten

12:35.480 --> 12:39.160
Gelenkwinkelstellung, ja, dann wissen wir, ob das jetzt zu einer

12:39.160 --> 12:41.300
Kollision mit der Umgebung kommt oder nicht.

12:41.760 --> 12:45.780
Das heißt, das ist ganz zentral, wie ich erwähnt habe, um die

12:45.780 --> 12:50.360
Steuerung von einem Roboterarm zu realisieren.

12:51.200 --> 12:55.460
So, und die zwei Probleme, die ich erwähnt habe, sind auf der einen

12:55.460 --> 12:58.360
Seite das Problem der Vorwärtskinematik.

12:58.560 --> 13:02.680
Das heißt, ich kenne alle meine Gelenkwinkel oder der Roboter kennt

13:02.680 --> 13:04.000
alle seine Gelenkwinkel.

13:04.180 --> 13:05.260
Das ist hier der Arma 6.

13:05.860 --> 13:09.300
Der hat acht Gelenke, also acht DOF-Arme.

13:09.960 --> 13:12.460
Und alle diese Gelenkwinkel kennen wir.

13:12.920 --> 13:15.720
Und die Frage ist eigentlich, wo ist jetzt der Endeffektor?

13:16.320 --> 13:19.320
Das heißt, ich habe einen achtdimensionalen Vektor der Gelenkwinkel

13:19.320 --> 13:24.420
und mit diesem Gelenkwinkel will ich wissen, wo ist jetzt die Hand?

13:28.230 --> 13:34.230
So, also Eingabe, Gelenkwinkelstellungen des Roboters und woher

13:34.230 --> 13:34.970
kriegen wir sie?

13:35.750 --> 13:40.410
Zum Beispiel aus den Sensoren, die in den einzelnen Gelenken vorhanden

13:40.410 --> 13:44.050
sind und die Gelenkwinkelpositionen messen.

13:44.930 --> 13:45.910
Gelenkwinkelsensoren also.

13:46.550 --> 13:51.210
Die Ausgabe ist die Pose des Endeffektors und wir sind uns ein oder

13:51.210 --> 13:55.050
wir haben uns darauf geeinigt, dass mit der Pose meinen wir immer die

13:55.050 --> 13:58.050
Position und Orientierung des Endeffektors.

13:58.130 --> 14:02.510
Zum Beispiel im Basiskoordinatensystem des Armes oder in einem

14:02.510 --> 14:03.650
Weltkoordinatensystem.

14:04.690 --> 14:08.750
Das zweite Problem, also die andere Richtung, wir kriegen die Position

14:08.750 --> 14:13.250
von dieser Sprühflasche beispielsweise oder von dieser Box hier aus

14:13.250 --> 14:18.950
der Bildverarbeitung als einen sechssimensionalen Vektor, also XYZ

14:18.950 --> 14:23.270
-Alphabeta -Gamma und wir müssen die Gelenkwinkel hier berechnen, so

14:23.270 --> 14:27.730
dass wir hier zu diesem Zielobjekt zum Beispiel diese Tüte hier mit

14:27.730 --> 14:38.990
den Schrauben oder diesen Sachen, mit denen man befestigen kann.

14:39.110 --> 14:40.730
Mir fällt Dynamik gerade nicht ein.

14:41.110 --> 14:44.170
Das heißt, wir wollen das hier greifen, das ist die Pose, wo der

14:44.170 --> 14:48.170
Endeffektor hin muss, damit wir das greifen und wir müssen von der

14:48.170 --> 14:54.030
vorigen Position hier die Gelenkwinkel so einstellen, dass wir hier zu

14:54.030 --> 14:57.750
dieser Position oder Zielposition des Endeffektors kommen.

14:57.950 --> 15:03.590
Also das heißt, die Eingabe ist die Zielposition vom Endeffektor und

15:03.590 --> 15:08.110
die Ausgabe bei diesem Problem sollen ja die Gelenkwinkelstellungen,

15:08.370 --> 15:12.890
die man letztendlich zu einem Regler auf der untersten Ebene der

15:12.890 --> 15:18.650
Steuerung schickt, der dann diese Gelenkwinkelstellungen abfährt.

15:19.710 --> 15:22.850
Das heißt, wenn man das hier jetzt ein bisschen mathematisch

15:22.850 --> 15:26.330
beschreiben will, dann haben wir einen Gelenkwinkelraum bzw.

15:26.610 --> 15:30.770
den Konfigurationsraum, den wollen wir immer 10 nennen und im

15:30.770 --> 15:34.390
Allgemeinen haben wir n Gelenkwinkel bei einem Roboter, deshalb ist

15:34.390 --> 15:37.890
dieser Raum eine Untermengung von R hoch n.

15:38.930 --> 15:43.610
Und auf der anderen Seite haben wir einen Arbeitsraum, im Allgemeinen

15:43.610 --> 15:47.670
einen m-dimensionalen Arbeitsraum, zum Beispiel wenn wir hier in der

15:47.670 --> 15:52.030
Umgebung operieren, dann ist das ein sechstimensionaler Arbeitsraum,

15:52.310 --> 15:56.830
wo alle Elemente aus diesem Arbeitsraum durch x, y, z, Alpha, Beta,

15:56.970 --> 15:59.890
Gamma, also drei Positionen, drei Orientierungen beschrieben sind,

16:00.330 --> 16:03.350
natürlich mit den unterschiedlichen Varianten der Darstellung der

16:03.350 --> 16:05.310
Orientierung, die wir auch kennengelernt haben.

16:06.070 --> 16:10.890
Und die direkte Kinematik ist nichts anderes als eine Transformation

16:10.890 --> 16:16.450
f, die diese gegebenen Gelenkwinkelstellungen, die wir messen mithilfe

16:16.450 --> 16:22.350
von Gelenkwinkelsensoren, in den, auf eine Position des Interfaktors

16:22.350 --> 16:27.050
im Arbeitsraum, während die Inverse-Kinematik ist genau die Inverse

16:27.050 --> 16:27.610
-Funktion.

16:28.250 --> 16:32.110
Das heißt, gegeben ist die Position von dem Zielobjekt, das wir

16:32.110 --> 16:36.990
greifen wollen, wir suchen die Inverse-Funktion von f, die uns die

16:36.990 --> 16:38.710
Gelenkwinkel rechnet.

16:38.890 --> 16:42.550
Und ihr könnt euch vorstellen, dass es keine triviale Aufgabe ist,

16:42.670 --> 16:45.730
diese Inverse-Funktion immer so explizit anzugeben.

16:46.210 --> 16:49.510
Also, wenn ich jetzt einen zweidimensionalen Roboter habe, der auf dem

16:49.510 --> 16:53.470
Tisch nur arbeitet, dann kann man natürlich so diese Inverse-Funktion

16:53.470 --> 16:58.330
f -1 bestimmen, aber im Allgemeinen für dreidimensionale Roboter ist

16:58.330 --> 17:03.810
es sehr schwierig, gerade redundante Roboterarmee, also Roboterarmee,

17:03.870 --> 17:10.730
die mehr als m Freiheitsgrade haben, also wenn n größer als m ist,

17:11.150 --> 17:15.270
dann ist die Angabe von so einer Inverse-Funktion sehr schwierig.

17:16.010 --> 17:18.650
So, die Frage ist, wie lösen wir das Problem?

17:18.870 --> 17:23.550
Wir wollen uns hier auch darauf einigen, dass n die Anzahl der

17:23.550 --> 17:28.470
Bewegungsfreiheitsgrade des Roboter ist, also die Degrees of Freedom

17:28.470 --> 17:33.230
von dem Mechanismus, von der kinematischen Kette, und m die

17:33.230 --> 17:40.050
Freiheitsgrade, die notwendig sind, um Positionen im Arbeitsraum zu

17:40.050 --> 17:40.550
beschreiben.

17:40.910 --> 17:43.830
Wenn wir in diesem dreidimensionalen Raum arbeiten, der Roboter

17:43.830 --> 17:47.290
arbeiten sollte, dann ist m gleich 6, wie ich bereits erwähnt habe,

17:47.850 --> 17:51.390
aber wenn der Roboter nur auf dem Tisch hier was manipulieren soll,

17:51.510 --> 17:56.510
dann ist natürlich m gleich 3, weil ich beschreibe jede Lage von dem

17:56.510 --> 18:01.690
Endeffektor mithilfe von drei Parametern, die Position x, y und dann

18:01.690 --> 18:04.050
die Orientierung von dem Endeffektor auf dem Tisch.

18:04.430 --> 18:06.770
Also dann ist m in dem Fall 3.

18:08.010 --> 18:14.430
So, das ist, was wir hier machen wollen und wir haben das letzte Mal

18:14.430 --> 18:18.150
gesehen, wir haben ja kinematische Ketten und diese kinematischen

18:18.150 --> 18:23.750
Ketten können wir auch mithilfe von Graphen beschreiben.

18:24.410 --> 18:26.890
Ganz wichtig hier, wir haben immer ein Roboter-Basis

18:26.890 --> 18:34.750
-Koordinatensystem, auf das sich alle Berechnungen beziehen, wenn es

18:34.750 --> 18:39.170
um die Inversikinematik des Armes geht, aber es kann sein, dass es um

18:39.170 --> 18:42.390
die Inversikinematik des ganzen Körpers geht, dann muss man natürlich

18:42.390 --> 18:45.510
ein passendes Koordinatensystem wählen.

18:46.030 --> 18:49.150
Wir haben mehrere Gelenke bei einer kinematischen Kette und die

18:49.150 --> 18:50.990
Segmente, Oberarm bzw.

18:51.410 --> 18:55.450
Unterarm und wir haben den Endeffektor, das ist die Hand, egal ob das

18:55.450 --> 19:00.070
jetzt eine fünffingerige, humanoide Hand oder ein Backengreifer ist,

19:00.510 --> 19:02.730
wir wollen das immer als Endeffektor bezeichnen.

19:03.550 --> 19:08.250
Und eine kinematische Kette, also wird von mehreren Körpern gebildet,

19:08.410 --> 19:12.170
die durch Gelenke kinematisch miteinander verbunden und da sieht man

19:12.170 --> 19:15.530
hier zwei Typen von diesen kinematischen Ketten.

19:16.070 --> 19:20.590
Das, was wir jetzt gesehen haben bei Arma 3, das ist eine offene

19:20.590 --> 19:23.890
kinematische Kette, die in der Schulter anfängt und beim Endeffektor

19:23.890 --> 19:24.370
endet.

19:24.790 --> 19:27.550
Aber es gibt auch solche geschlossenen kinematischen Ketten.

19:28.010 --> 19:31.950
Und das sind alle serielle Kinematiken, das heißt die Gelenke, die

19:31.950 --> 19:32.950
kommen nacheinander.

19:33.090 --> 19:36.830
Es gibt aber parallele Kinematiken, also zum Beispiel Steward

19:36.830 --> 19:42.490
-Plattformen, wo man jetzt mehrere Beine mal irgendwie ansteuern soll,

19:42.490 --> 19:46.450
damit man die Orientierung von der Plattform, also das ist ja sehr

19:46.450 --> 19:51.870
häufig, wird das bei Spielen oder in Simulatoren eingesetzt.

19:52.090 --> 19:53.610
Das sind parallele kinematische Ketten.

19:53.810 --> 19:59.070
Aber wir betrachten hier nur serielle, meistens offene kinematische

19:59.070 --> 20:02.150
Ketten, aber es gibt auch geschlossene kinematische Ketten.

20:02.830 --> 20:06.790
Und auch bei seriellen kinematischen Ketten, wie zum Beispiel zwei

20:06.790 --> 20:11.210
Arme von einem humanoiden Roboter, die sind zwei serielle kinematische

20:11.210 --> 20:15.010
Ketten, natürlich verbunden über den Körper, aber wenn sie ein Objekt

20:15.010 --> 20:20.090
greifen, wenn beide Arme ein Objekt greifen, dann habe ich eine

20:20.090 --> 20:23.310
geschlossene kinematische Kette und man kann sich vorstellen, dass ich

20:23.310 --> 20:27.090
jetzt auch die Position und Orientierung von diesem Objekt, was ich

20:27.090 --> 20:31.150
mit beiden Händen halte, variieren kann durch unterschiedliche

20:31.150 --> 20:33.030
Gelenkwinkelkonfigurationen.

20:33.130 --> 20:36.330
Das heißt, das Problem der inversen Kinematik muss man auch in solchen

20:36.330 --> 20:41.050
Situationen lösen, werden wir hier aber nicht machen.

20:41.730 --> 20:44.870
So, ganz kurz zu Konventionen.

20:46.010 --> 20:49.570
Armelemente entsprechen immer starren Körpern.

20:50.030 --> 20:53.290
Jedes Armelement ist mit dem nächsten durch ein Gelenk verbunden.

20:54.690 --> 21:00.910
Wir wollen Rotationsgelenke und Translationsgelenke betrachten, bei

21:00.910 --> 21:05.590
Schub - oder Translationsgelenken und Rotationsgelenken hat jedes

21:05.590 --> 21:09.870
Gelenk nur einen Bewegungsfreiheitsgrad, also nicht wie bei der

21:09.870 --> 21:14.730
Schulter im menschlichen Arm, die drei Freiheitsgrade hat, wo wir um

21:14.730 --> 21:16.550
diese unterschiedlichen Achsen drehen.

21:18.110 --> 21:21.730
Und die kinematischen Parameter für diese kinematische Kette sind

21:21.730 --> 21:26.190
einmal natürlich Parameter, die die Gelenke definieren, zum Beispiel,

21:26.550 --> 21:32.290
wo liegt die Rotationsachse der Schulter in einem

21:33.090 --> 21:35.270
Bezugskoordinatensystem oder relativ zu einem anderen

21:35.270 --> 21:38.790
Koordinatensystem, wo liegt die Rotationsachse vom Ellenbogen

21:38.790 --> 21:40.630
bezüglich Schulter und ähnliches.

21:41.230 --> 21:45.750
Und zum Zweiten natürlich nicht die Lage von den Gelenken, sondern die

21:45.750 --> 21:49.570
Transformationen zwischen den unterschiedlichen Gelenken.

21:49.750 --> 21:54.630
Also wie bewegt sich zum Beispiel der Unterarm relativ zum Oberarm und

21:54.630 --> 21:55.450
so weiter und so fort.

21:55.570 --> 21:58.770
Es ist nicht nur diese Flexionsbewegung, sondern auch diese

21:58.770 --> 22:01.490
Unterarmdrehung zum Beispiel beim menschlichen Arm.

22:02.090 --> 22:04.850
Und das sind Beispiele, die wir gesehen haben in der Vorlesung.

22:05.410 --> 22:09.370
Und die Gelenkparameter, wie ich bereits erwähnt habe, bei

22:09.370 --> 22:12.690
Rotationsgelenken ist das immer die Rotationsachse, bei

22:12.690 --> 22:16.470
Translationsgelenken ist das natürlich die Translationsrichtung.

22:16.610 --> 22:21.570
Also man könnte sich vorstellen, ein Roboter wie der Arma 6 zum

22:21.570 --> 22:24.730
Beispiel, der auch eine translatorische Achse, die hoch und runter

22:24.730 --> 22:28.810
geht, das ist wiederum etwas, was man auch berücksichtigen muss, weil

22:28.810 --> 22:31.970
je nachdem, wie diese Achse sich bewegt, habe ich eine andere Position

22:31.970 --> 22:32.870
vom Endeffektor.

22:33.670 --> 22:37.630
Und ganz wichtig für die Beschreibung von der Kinematik ist die

22:37.630 --> 22:39.990
Spezifikation der Lage der Gelenke zueinander.

22:40.690 --> 22:45.570
Das heißt, da wir ja von starren Körpern ausgehen, haben wir feste

22:45.570 --> 22:47.690
Transformationen zwischen zwei Gelenken.

22:49.090 --> 22:53.470
Diese Spezifikation muss die lokalen Koordinatensysteme der Gelenke

22:53.470 --> 22:54.050
beschreiben.

22:54.150 --> 22:59.090
Da sieht man hier die Koordinatensysteme von dem Arm, von Arma 6.

22:59.470 --> 23:02.970
Also das ist das erste Gelenk mit diesem Koordinatensystem und drei

23:02.970 --> 23:07.210
Gelenke hier in der Schulter, dann zwei Gelenke im Ellenbogen und dann

23:07.210 --> 23:11.250
weitere zwei im Handgelenk.

23:11.850 --> 23:15.150
Aber auch, wie man sieht, das Kinematische Modell der Hand.

23:16.890 --> 23:21.190
So, und was ganz wichtig ist, sind natürlich diese Transformationen

23:21.190 --> 23:24.590
zwischen den aufeinanderfolgenden Gelenken.

23:24.710 --> 23:25.210
Also z.B.

23:25.410 --> 23:30.210
vom Gelenk 1 zu Gelenk 2, vom Gelenk 2 zu 3 hier.

23:31.970 --> 23:33.330
Also das ist z.B.

23:33.490 --> 23:35.370
vom Gelenk 1 zu Gelenk 2.

23:35.990 --> 23:40.470
Dann haben wir hier vielleicht von Gelenk, weil das sind hier drei,

23:40.610 --> 23:47.070
dann wäre das hier von Gelenk 4 zu Gelenk 5 und so weiter und so fort.

23:47.470 --> 23:52.310
Und diese Transformationen suchen wir eigentlich, damit wir überhaupt

23:52.310 --> 23:56.550
diese zwei Probleme, die Vorwärts- und Inversikinematik lösen können.

23:57.730 --> 24:02.650
Und um das machen zu können, wissen wir, dass wir hier drei

24:02.650 --> 24:07.450
Rotationsparameter brauchen, also diese Transformationen werden mit

24:07.450 --> 24:12.870
drei Rotationsparameter und drei Translationsparameter beschrieben.

24:13.450 --> 24:16.690
Das heißt, für jede solche Transformation brauchen wir die sechs

24:16.690 --> 24:20.530
Parameter, die wir kennen, zwischen zwei Koordinatensystemen, wie wir

24:20.530 --> 24:24.310
im letzten Kapitel kennengelernt haben.

24:24.870 --> 24:29.570
Und auf der Suche nach effizienteren Methoden, also wenn wir jetzt

24:29.570 --> 24:30.070
hier z.B.

24:30.250 --> 24:34.090
acht Gelenke haben und sechs Parameter für jede Transformation

24:34.090 --> 24:38.250
zwischen den Gelenken, dann haben wir 48 Parameter, die diese

24:38.250 --> 24:39.510
Kinematik beschreiben.

24:39.670 --> 24:43.470
Und deshalb hat man sich nicht nur in der Robotik, sondern auch in der

24:43.470 --> 24:46.390
Mechanik mit der Frage beschäftigt, gibt es eigentlich

24:46.390 --> 24:50.910
Repräsentationen oder Wege, mit denen man diese Beziehungen zwischen

24:50.910 --> 24:54.370
aufeinanderfolgenden Gelenken in einem Mechanismus mit weniger

24:54.370 --> 24:55.670
Parameter beschreiben kann.

24:56.970 --> 25:06.110
Und da hat Denevitt Hartenberg eine Konvention, wie man sieht hier,

25:06.570 --> 25:12.990
1955, Kinematic Notation for Lower Peer Mechanisms based on Matrices.

25:13.890 --> 25:18.050
Und das Ziel war, die Reduktion von diesen sechs Parametern, die wir

25:18.050 --> 25:22.830
zur Beschreibung von der Lage oder Beziehungen zwischen zwei Gelenken

25:22.830 --> 25:24.630
in einem Mechanismus zu reduzieren.

25:25.370 --> 25:29.350
Die Eigenschaft von dieser Konvention ist, die gibt uns einen

25:29.350 --> 25:33.550
systematischen Weg oder systematische Vorgehensweise, um diese

25:33.550 --> 25:36.710
Beziehungen zwischen zwei benachbarten Gelenken, wie man sieht hier,

25:36.750 --> 25:40.110
abzuleiten und reduziert die Anzahl der Parameter, die notwendig sind,

25:40.530 --> 25:44.870
um die Beziehungen zwischen Gelenk I-1 und I von 6, also drei

25:44.870 --> 25:47.350
Rotationen und drei Positionen, auf 4.

25:48.870 --> 25:53.270
Und die ganze Beschreibung, wie wir wissen, das letzte Mal haben wir

25:53.270 --> 26:01.850
gesehen, homogene Matrizen stellen eine Möglichkeit dar, mit der man

26:01.850 --> 26:07.670
Rotationen und Translationen einheitlich mithilfe von Matrix

26:07.670 --> 26:10.490
-Operationen beschreiben kann.

26:10.690 --> 26:15.590
Und diese Konvention, die basiert natürlich auf homogenen Matrizen.

26:16.210 --> 26:17.890
Wie sieht diese Konvention aus?

26:18.210 --> 26:22.490
Also, wir haben, die geht davon aus, dass wir zunächst mal

26:22.490 --> 26:28.750
Koordinatensysteme legen in den einzelnen Gelenken der kinematischen

26:28.750 --> 26:29.110
Kette.

26:29.890 --> 26:36.370
Und zwar, die Art und Weise, wie man diese Koordinatensysteme

26:36.370 --> 26:39.970
definiert, muss bestimmten Regeln folgen.

26:40.710 --> 26:48.010
Also einmal, die ZI-Axi liegt entlang der Bewegungs-Axi vom I-Gelenk.

26:48.510 --> 26:53.530
Also Z0 soll entlang der Bewegungs-Axi, also zum Beispiel der Dreh-Axi

26:53.530 --> 26:55.550
vom Gelenk I.

26:55.990 --> 27:02.810
Die XI-Axi, also die Axi XI vom Koordinatensystem im Gelenk I,

27:02.970 --> 27:11.130
verläuft entlang der gemeinsamen Normalen von ZI-1 und ZI.

27:11.890 --> 27:16.350
Und zeigt nicht zu ZI-1, sondern von ZI-1 weg.

27:16.550 --> 27:18.910
Also, wenn wir entlang der Normalen sind, dann haben wir zwei

27:18.910 --> 27:23.150
Richtungen und wir nehmen immer die Richtung, die von ZI-1 weg zeigt.

27:23.910 --> 27:30.970
Dann die Y-Axi, ja, in einem Gelenk, vervollständigt natürlich XI und

27:30.970 --> 27:33.630
ZI zu einem rechthändigen Koordinatensystem.

27:34.470 --> 27:38.750
Das heißt, diese Is hier, die wir haben, die sind einmal von 1 bis N

27:38.750 --> 27:40.030
plus die Basis.

27:40.230 --> 27:44.910
Wir müssen natürlich immer eine Basis, also ein Null definieren und

27:44.910 --> 27:49.810
mithilfe von diesen Koordinatensystemen, also Koordinatensystemen, die

27:49.810 --> 27:53.790
auf diese Art und Weise festgelegt werden, kann man die Parameter für

27:53.790 --> 27:57.190
die Arm-Elemente und für Arm-Segmente herleiten.

27:58.050 --> 28:01.450
Vorsicht an der Stelle, je nachdem, was für ein Buch man nimmt hier,

28:01.810 --> 28:04.670
also Robotikbuch, von den Büchern, die wir auch empfohlen haben,

28:05.210 --> 28:09.050
findet man unterschiedliche Variationen der DH-Parameter.

28:10.150 --> 28:13.850
Und wir verwenden hier in dieser Vorlesung eine modifizierte Variante,

28:14.630 --> 28:18.630
die aus dem Buch von Baldorn und Paul hier kommt.

28:18.850 --> 28:21.470
Aber es gibt andere Varianten, die sind auch korrekt.

28:22.510 --> 28:27.090
Das sind alle Tricks beziehungsweise Wege, mit denen man systematisch

28:27.090 --> 28:31.490
diese Beziehungen zwischen aufeinanderfolgenden Gelenken mit einer

28:31.490 --> 28:36.650
möglichst geringen Anzahl, alle mit 4, also mit 4 Parameter statt mit

28:36.650 --> 28:38.470
6 Parameter beschreiben kann.

28:39.570 --> 28:43.110
So, und nun wollen wir gucken, wie diese Parameter aussehen.

28:43.430 --> 28:47.710
Also wenn es 6 Parameter sind, dann ist es für uns klar, wie weit die

28:47.710 --> 28:50.790
einzelnen Gelenkzentren voneinander liegen und wie die

28:50.790 --> 28:54.150
Koordinatensysteme in den beiden Zentren zueinander verdreht sind.

28:54.510 --> 28:55.930
Das sind die 6 Parameter.

28:56.550 --> 29:01.370
Aber wir sehen die 4 hier, die die gleiche Information darstellen.

29:03.430 --> 29:05.610
Nun nehmen wir hier so ein Roboterarm.

29:05.730 --> 29:09.150
Das sind die Armelemente I-1, I und I-1.

29:09.750 --> 29:16.350
Und wie wir sehen, Gelenk I ist zwischen Armelement I-1 und Armelement

29:16.350 --> 29:16.630
I.

29:16.770 --> 29:20.490
Das heißt, jedes Armelement I ist durch zwei begrenzte Gelenke hier

29:20.490 --> 29:23.010
verbunden, das was wir annehmen.

29:23.830 --> 29:28.690
Und die erste Sache ist, wir legen die Z-Achsen durch die Gelenke.

29:29.070 --> 29:34.670
Das heißt, ZI-1 durch die Gelenkachse von Gelenk I und ZI durch die

29:34.670 --> 29:36.810
Gelenkachse von I-1.

29:38.830 --> 29:43.150
So, das Zweite war, dass wir eigentlich, wie man sieht, was wichtig

29:43.150 --> 29:46.970
ist für die Beschreibung der Kinematik, wie weit sind diese Achsen

29:46.970 --> 29:47.550
voneinander.

29:48.510 --> 29:50.410
Und das ist ein Parameter A.

29:51.470 --> 29:56.090
Und dieser Parameter A ist nichts anderes als der Abstand zwischen den

29:56.090 --> 30:04.230
ZI -1 und ZI-Achsen, also die gemeinsamen Normale auf diesen zwei

30:04.230 --> 30:05.250
Rotationsachsen.

30:05.830 --> 30:09.670
Und mithilfe von AI können wir eigentlich XI definieren.

30:09.670 --> 30:22.030
Das heißt, man sieht hier, XI ist entlang der Normalen auf ZI-1 und

30:22.030 --> 30:27.270
ZI, das ist die Normale, die wir vorher bestimmt haben, und zeigt von

30:27.270 --> 30:29.710
ZI -1 weg.

30:30.050 --> 30:33.910
Also XI ist nicht in diese Richtung, sondern in diese Richtung.

30:35.050 --> 30:41.730
So, und wenn wir natürlich das entsprechende Verhältnis hier kennen

30:41.730 --> 30:46.530
von Gelenk I-1, dann können wir XI-1 auch entsprechend machen.

30:46.890 --> 30:50.250
Also wir nehmen an, dass XI-1 jetzt in die Richtung hier zeigt.

30:51.370 --> 30:57.390
So, was haben wir noch, um diese zwei Gelenke, um diese Relation der

30:57.390 --> 31:02.150
zwei Gelenke zueinander zu bestimmen, müssen wir eigentlich wissen,

31:02.150 --> 31:08.290
wie ist Gelenk I verdreht, verdrillt, im Vergleich zu Gelenk I-1,

31:08.430 --> 31:08.590
oder?

31:08.730 --> 31:11.210
Das ist eigentlich, wenn wir das wissen, dann haben wir die

31:11.210 --> 31:11.850
Transformation.

31:15.630 --> 31:19.490
Und wenn man das Ganze hier mal betrachtet, dann sehen wir, dass

31:19.490 --> 31:24.370
eigentlich diese ZI-Achse und I-1-Achse schon schief zueinander

31:24.370 --> 31:28.110
liegen, und zwar um einen Winkel Alpha-I.

31:28.990 --> 31:35.990
Und dieser Winkel Alpha-I beschreibt den Winkel zwischen ZI-1 und ZI,

31:36.150 --> 31:43.370
und zwar wie weit muss ich ZI-1 drehen um die XI-Achse, damit ZI-1 in

31:43.370 --> 31:45.130
Übereinstimmung mit ZI kommt.

31:46.030 --> 31:51.390
Ja, also hier der Winkel Alpha, also wenn wir uns jetzt ZI-1 hier mal

31:51.390 --> 31:55.410
vorstellen, und wir drehen um die XI-Achse, dann drehen wir um einen

31:55.410 --> 32:00.330
Winkel Alpha, der ZI-1 in ZI überführt.

32:00.890 --> 32:05.430
So, nun kennen wir eigentlich den Abstand und kennen wir jetzt die

32:05.430 --> 32:07.810
Verdrehung der zwei zueinander.

32:08.030 --> 32:12.270
Was fehlt uns noch, um eindeutig die relative Beziehung zwischen den

32:12.270 --> 32:13.730
zwei Gelenken zu beschreiben?

32:16.960 --> 32:17.900
Fehlt noch was?

32:17.980 --> 32:18.120
Ja?

32:21.740 --> 32:26.020
Ich habe dich nicht gehört, aber es fehlt uns eigentlich diese

32:26.020 --> 32:31.580
Information, ja, es fehlt uns diese Information, und zwar wie weit

32:31.580 --> 32:37.140
sind die Gelenkabstände voneinander, und zwar der Abstand zwischen der

32:37.140 --> 32:41.300
XI -Achse und der XI-Achse.

32:41.300 --> 32:45.620
Also wie weit, wie versetzt sind die zwei Ursprünge voneinander?

32:45.760 --> 32:47.300
Wahrscheinlich hast du das Gleiche gemeint.

32:48.140 --> 32:50.960
Sag, du hast das Gleiche gemeint, ist besser für dich.

32:52.080 --> 32:57.100
Okay, so, dann haben wir auch noch ein Parameter, was wir ganz leicht

32:57.100 --> 32:58.600
eigentlich ablesen können.

32:58.860 --> 33:03.100
Und wie man sieht hier, ich weiß, wie die Rotationsachsen oder die

33:03.100 --> 33:05.640
Gelenkzentren zueinander versetzt sind.

33:05.820 --> 33:10.320
Ich weiß, wie weit sie voneinander entfernt sind, und ich weiß, wie

33:10.320 --> 33:13.080
verdrillt sie relativ zueinander sind.

33:13.800 --> 33:14.980
Und das ist alles.

33:15.520 --> 33:19.940
Das ist alles, was wir brauchen, um diese zwei Koordinatensysteme,

33:20.280 --> 33:24.420
also hier ist nur X und Z dargestellt, und natürlich kann man das

33:24.420 --> 33:28.040
Ganze hier um Y verdrehen.

33:28.780 --> 33:34.060
Und das Letzte, was man noch hat natürlich bei einem Roboterarm, ist,

33:34.160 --> 33:35.960
wie weit drehen sich die einzelnen Gelenke.

33:36.500 --> 33:39.340
Weil je nachdem, wie sich die einzelnen Gelenke drehen, drehen sich

33:39.340 --> 33:42.460
diese Koordinatensysteme auch.

33:43.040 --> 33:47.080
Und dieser Winkel hier sieht man, ist nichts anderes als der Winkel

33:47.080 --> 33:49.860
zwischen XI-1 und XI.

33:50.140 --> 33:53.700
Das ist parallel zu XI, also das ist unser Drehwinkel.

33:54.320 --> 34:00.760
Wenn das Gelenk I um TTI sich dreht, dann habe ich einen Versatz oder

34:00.760 --> 34:08.140
einen Winkel TTI hier zwischen den zwei Achseln XI-1 und XI.

34:09.040 --> 34:12.300
Also, mithilfe von diesen vier Parametern haben wir jetzt vollständig

34:12.300 --> 34:15.980
diese Beziehungen oder die relative Lage der zwei Gelenke zueinander.

34:16.820 --> 34:20.700
Das Ganze haben wir jetzt gemacht für Rotationsgelenke und natürlich

34:20.700 --> 34:27.800
bei diesen Rotationsgelenken sind alle diese Parameter konstant bis

34:27.800 --> 34:28.540
auf TTI.

34:30.180 --> 34:33.940
Ja, weil wie weit die Gelenke voneinander, die Schulter vom Ellenbogen

34:33.940 --> 34:37.840
sind und wie versetzt die Gelenke zueinander sind, das hängt nicht von

34:37.840 --> 34:43.440
der Drehung ab, aber der einzige Parameter ist natürlich TTI, weil

34:43.440 --> 34:46.700
mein Gelenk hier TTI dreht oder TTI plus 1.

34:47.560 --> 34:54.020
Und während Alpha, A und D, also Alpha, A und D, die sind eigentlich

34:54.020 --> 34:58.760
konstant, wenn wir von starren Mechanismen ausgehen.

34:59.560 --> 35:03.680
So, das heißt, bei solchen Rotationsgelenken haben wir unsere vier

35:03.680 --> 35:06.280
Parameter A, Alpha, D und TTI.

35:06.400 --> 35:10.260
TTI ist natürlich die Variable, wie unsere Gelenke sich drehen, aber

35:10.260 --> 35:13.200
die anderen drei, die sind invariant.

35:13.660 --> 35:17.960
Und bei Schubgelenken, also translatorischen Gelenken, ist unser

35:17.960 --> 35:21.400
Gelenkabstand, weil wenn ich hier ein translatorisches Gelenk und dann

35:21.400 --> 35:25.320
habe ich hier ein rotatorisches Gelenk, zum Beispiel wo der Kopf eines

35:25.320 --> 35:28.580
Roboters ist, dann ist natürlich der Abstand zwischen den zwei

35:28.580 --> 35:36.120
Koordinatensystemen die Variable größer und somit ist es D und nicht

35:36.120 --> 35:36.420
TTI.

35:36.600 --> 35:41.320
TTI ist invariant, je nachdem kann der Kopf auch schräg so montiert

35:41.320 --> 35:43.540
sein auf dieser Translationsachse.

35:44.880 --> 35:48.960
So, und mithilfe von diesen vier Parametern kann man Folgendes machen.

35:49.320 --> 35:52.800
Das heißt, wir haben vier Parameter und wenn wir jetzt ein bisschen

35:52.800 --> 35:57.420
zurückgehen, haben wir bei der Identifikation von jedem Parameter eine

35:57.420 --> 35:58.800
Operation durchgeführt.

35:59.440 --> 36:04.720
Zum Beispiel AI, das war eine Translation von hier nach der DI, eine

36:04.720 --> 36:09.560
Translation von hier nach der... Alpha I ist eine Rotation um die XI

36:09.560 --> 36:09.960
-Achse.

36:10.460 --> 36:14.160
Und wenn man merkt, was ich gerade erzähle, Translation, Rotation,

36:14.340 --> 36:18.680
Rotation, das sind alle Sachen, die wir mit homogenen Matrizen

36:18.680 --> 36:19.520
beschreiben können.

36:19.700 --> 36:21.340
Und das ist, was man hier gemacht hat.

36:21.940 --> 36:29.360
Das heißt, zunächst mal eine Rotation um TTI, um die ZI-1-Achse, damit

36:29.360 --> 36:32.640
die XI-1-Achse parallel zur XI-Achse liegt.

36:32.760 --> 36:34.880
Das ist, was wir gemacht haben als erstes.

36:35.680 --> 36:40.880
Und unsere Rotationsmatrix, die das beschreibt, ist eine 4x4-Matrix,

36:41.220 --> 36:46.640
wo der vierte Spalt die ersten drei Einträge 0,0,0 sind, weil wir

36:46.640 --> 36:47.860
keine Translation haben.

36:48.620 --> 36:53.900
Und wir rotieren um die Z-Achse, deshalb die 1 hier, und die Rotation

36:53.900 --> 36:55.240
um die Z-Achse kennen wir.

36:55.360 --> 36:58.320
Cosinus TTI minus Sinus und Sinus Cosinus.

36:59.040 --> 37:00.400
Was haben wir als nächstes gemacht?

37:00.480 --> 37:07.900
Wir haben eine Translation um DI entlang ZI-1 und die homogene Matrix,

37:08.040 --> 37:12.020
die diese Translation macht, ist die Einheitsmatrix für die Rotation

37:12.020 --> 37:21.440
hier und Translation um die Z-Achse ist nichts anderes als jetzt hier

37:21.440 --> 37:26.500
der dritte Eintrag in der vierten Spalte.

37:27.280 --> 37:32.340
So, die dritte Operation war eine Translation Alpha-I und zwar entlang

37:32.340 --> 37:36.300
XI, um die Ursprünge der Koordinatensysteme zur Deckung zu bringen.

37:36.900 --> 37:42.000
Also wiederum keine Rotation, aber eine Translation entlang XI, das

37:42.000 --> 37:48.220
heißt TXI ist nichts anderes als der Eintrag hier Alpha-I, das erste

37:48.220 --> 37:50.740
Element in der vierten Spalte der homogenen Matrix.

37:51.420 --> 37:57.660
Und als letztes haben wir die Rotation um den Winkel Alpha-I um die

37:57.660 --> 38:00.640
Achse XI, also deshalb Rotation um XI.

38:00.720 --> 38:05.540
Rotation um XI ist die 1 hier oben, dann Cosinus minus Sinus Cosinus

38:05.540 --> 38:08.680
und keine Translation, deshalb 000 hier.

38:09.700 --> 38:14.380
Also, was wir brauchen, um die Relativlage von zwei Gelenken

38:14.380 --> 38:17.460
zueinander zu beschreiben, wir brauchen eigentlich diese vier

38:17.460 --> 38:19.100
Transformationen durchzuführen.

38:20.020 --> 38:26.440
Und natürlich, um die Verhältnisse oder die relative Pose der

38:26.440 --> 38:31.760
Koordinatensysteme zueinander zu beschreiben, muss ich diese vier 4x4

38:31.760 --> 38:36.160
Matrizen, die wir jetzt hier ganz einfach und trivial bestimmt haben,

38:36.300 --> 38:37.240
miteinander verketten.

38:37.720 --> 38:43.180
Das heißt, wenn ich jetzt die Transformation zwischen Gelenk I minus 1

38:43.180 --> 38:48.400
und I machen will, dann muss ich zunächst mal um ZI minus 1 um TTI

38:48.400 --> 38:49.740
drehen.

38:50.420 --> 38:55.460
Dann habe ich eine Translation um ZI minus 1 um DI.

38:55.880 --> 39:02.060
Dann habe ich wiederum eine Translation um XI, also entlang XI um AI,

39:02.460 --> 39:04.980
um die Länge von dem Armsegment zu bestimmen.

39:05.520 --> 39:12.360
Und dann habe ich eine Rotation um die Achse XI, um die ZI minus 1 und

39:12.360 --> 39:16.020
die ZI Achse zur Übereinstimmung zu bringen, und zwar um den Winkel

39:16.020 --> 39:16.460
Alpha -I.

39:17.180 --> 39:19.540
Und wenn wir diese vier Matrizen, die wir vorher bestimmt haben,

39:19.540 --> 39:24.160
miteinander multiplizieren hier, dann kommen wir auf eine Matrix, die

39:24.160 --> 39:28.540
die Gesamttransformation zwischen I minus 1 und I beschreibt.

39:29.080 --> 39:33.200
Und man sieht in dieser Matrix, natürlich ist der I die Variable, weil

39:33.200 --> 39:36.480
je nachdem, wie wir uns drehen, haben wir andere Verhältnisse.

39:37.100 --> 39:41.860
Aber in dieser Matrix tauchen nur die vier Parameter Alpha-I, wie man

39:41.860 --> 39:44.060
sieht, AI und DI.

39:44.840 --> 39:51.560
Also das sind die vier Denevitt-Hartenberg-Parameter, die die Lage von

39:51.560 --> 39:54.920
zwei Gelenken relativ zueinander beschreiben.

39:56.240 --> 40:01.120
So, und wenn wir das hier haben, dann müssen wir wahrscheinlich,

40:01.340 --> 40:06.400
manchmal brauchen wir die umgekehrte, die Inverse-Transformation, also

40:06.400 --> 40:11.440
die Transformation vom Gelenk I zu I minus 1 und nicht I minus 1 zu I,

40:11.880 --> 40:20.620
sondern I zu I minus 1.

40:20.740 --> 40:25.000
Das ist natürlich die Inverse-Matrix und die Inverse-Matrix in

40:25.000 --> 40:29.220
allgemeiner Form kann man auch berechnen auf diese Art und Weise.

40:30.260 --> 40:33.700
Das heißt, wir haben alles, was wir brauchen, um tatsächlich

40:33.700 --> 40:39.360
Verkettungen von Transformationen von der Basis vom Roboter, also zum

40:39.360 --> 40:42.580
Beispiel die Schulter im Falle von dem Beispiel, was wir gesehen

40:42.580 --> 40:45.860
haben, bei dem Arma-Roboter bis hin zum Endeffektor.

40:46.000 --> 40:47.040
Und wie machen wir das?

40:47.760 --> 40:50.180
Diese Verkettung, die haben wir das letzte Mal kennengelernt.

40:50.300 --> 40:55.240
Wir multiplizieren diese Transformations-Matrix miteinander, also von

40:55.240 --> 41:01.320
der Basis 0 zu 1 hängt nur von Delta I, dann von 1 zu 2 hängt vom

41:01.320 --> 41:05.280
Gelenkwinkel Delta II und so weiter und so fort bis zu M.

41:06.280 --> 41:07.960
Und was bedeutet das eigentlich?

41:09.000 --> 41:13.300
Das bedeutet, ich kriege natürlich hier eine 4x4-Matrix als

41:13.300 --> 41:18.560
Multiplikation von diesen M-Matrizen und in dieser 4x4-Matrix ist in

41:18.560 --> 41:23.480
der Matrix oben links, die 3x3-Matrix, die Orientierung vom

41:23.480 --> 41:27.680
Endeffektor dargestellt und in der letzten Spalte, der ersten drei

41:27.680 --> 41:32.240
Einträge der vierten Spalte von dieser 4x4-Matrix, geben mir die

41:32.240 --> 41:40.080
Translation zwischen Basis und zwischen Gelenk M bzw.

41:40.540 --> 41:43.180
Endeffektor, wenn das das letzte Gelenk ist.

41:44.080 --> 41:45.200
Also, Zusammenfassung.

41:45.920 --> 41:48.880
Was müssen wir machen, damit wir kinematische Ketten mithilfe von DH

41:48.880 --> 41:50.040
-Parametern beschreiben?

41:50.180 --> 41:54.420
Wir müssen ein Skizzi von dem Manipulator zeichnen, wo wir wissen, wie

41:54.420 --> 41:57.360
die einzelnen Achsen tatsächlich im Raum liegen.

41:57.360 --> 42:01.520
Dann identifizieren und nummerieren wir die Gelenke.

42:02.660 --> 42:07.480
Also, wir fangen mit Gelenk 1 und das letzte Glied ist N.

42:07.940 --> 42:12.660
Dann zeichnen wir die jeweiligen ZI-1-Achsen durch die Rotationsachsen

42:13.720 --> 42:18.860
vom Gelenk I, also ZI durch I plus 1 und so weiter und so fort.

42:19.480 --> 42:24.480
Wir bestimmen zunächst mal die Parameter AI zwischen ZI und I-1 und

42:24.480 --> 42:31.180
ZI, also der Abstand eigentlich zwischen den Ursprüngen der beiden

42:31.180 --> 42:32.340
Koordinatensystemen.

42:32.620 --> 42:37.920
Dann bezeichnen wir die XI-Achse, die entlang der gemeinsamen Normalen

42:37.920 --> 42:42.340
auf ZI-1 und ZI steht, aber von ZI-1 weg zeigt.

42:43.060 --> 42:49.040
Und dann bestimmen wir den Parameter A, also die Verwendung der XI

42:49.040 --> 42:56.320
-Achsen, also wie weit muss ich um die ZI-1-Achse drehen, damit ich XI

42:56.320 --> 42:58.900
-1 in XI überführen kann.

42:59.560 --> 43:05.480
Dann bestimmen wir den Parameter D und zwar, das ist der Versatz

43:05.480 --> 43:10.120
zwischen den Gelenkzentren entlang der ZI-1-Achse.

43:10.320 --> 43:12.400
Also, ich kenne es ziemlich gut, merkt ihr das?

43:13.480 --> 43:18.440
Keiner kann jetzt nachvollziehen, ob ich das richtig sage oder nicht,

43:18.620 --> 43:18.720
oder?

43:19.320 --> 43:19.840
Oder doch?

43:20.980 --> 43:22.880
Genau, das muss man ab und zu mal machen.

43:23.040 --> 43:26.700
Ich glaube, ich habe es so oft gemacht, aber ich mache trotzdem Fehler

43:26.700 --> 43:29.800
und dann macht man immer Fehler bei dieser Sache.

43:29.940 --> 43:32.740
Aber wenn man es richtig macht, dann haben wir bemerkt, hat man

43:32.740 --> 43:33.800
eigentlich viel davon.

43:34.440 --> 43:38.120
Und als letztes den Winkel TTI um ZI-1.

43:38.960 --> 43:43.180
Dann verkrümpfen wir diese Matrizen miteinander und wir bekommen

43:43.180 --> 43:48.520
eigentlich die Beschreibung vom Endeffektor im Basiskoordinatensystem

43:48.520 --> 43:49.800
der kinematischen Kette.

43:50.960 --> 43:52.160
Nun, was machen wir damit?

43:52.740 --> 43:55.820
Jetzt habe ich ganz am Anfang gesagt, die zwei Probleme, die wir

43:55.820 --> 43:59.080
behandeln, sind einmal die Vorwärts- und einmal die Inversekinematik.

43:59.260 --> 44:03.740
Also gegeben sind bestimmte Gelenkwinkel von dem Arm, wir wollen

44:03.740 --> 44:05.500
wissen, wo der Endeffektor ist.

44:06.200 --> 44:11.360
Und jetzt haben wir diese ganzen Parameter, die H-Parameter bestimmt,

44:11.620 --> 44:14.060
damit uns das ein bisschen helfen kann.

44:14.600 --> 44:17.620
Klar, natürlich haben wir die Anzahl der Parameter reduziert von sechs

44:17.620 --> 44:20.940
auf vier pro Transformation.

44:21.240 --> 44:25.400
Jetzt wollen wir gucken, wie kann man das nutzen, um das direkte

44:25.400 --> 44:26.780
kinematische Problem zu lösen.

44:26.980 --> 44:31.300
Also nochmal hier zur Erinnerung, Gelenkwinkel sind gegeben und wir

44:31.300 --> 44:33.540
suchen die Posi vom Endeffektor.

44:34.500 --> 44:37.040
Und das ist, was wir jetzt bekommen haben.

44:37.140 --> 44:41.840
Wenn die Gelenkwinkel gegeben sind, wenn Theta 1 bis Theta n gegeben

44:41.840 --> 44:44.420
sind, dann brauchen wir nur einzusetzen.

44:44.580 --> 44:48.720
Dann sind eigentlich diese Matrizen jetzt, wenn ich dort die Thetas

44:48.720 --> 44:51.400
einsetze, alles konstant in den Matrizen.

44:51.560 --> 44:56.600
Und dann kriege ich eine 4x4 Matrix, die für mich die Stellung von dem

44:56.600 --> 45:00.960
Tool Center Point, also das Koordinatensystem von dem Endeffektor

45:02.200 --> 45:02.780
beschreibt.

45:04.560 --> 45:05.140
Beispiele.

45:06.460 --> 45:08.280
Wir machen ein paar Beispiele.

45:08.560 --> 45:13.960
Und zwar nehmen wir zunächst mal so einen zweidimensionalen oder einen

45:13.960 --> 45:14.780
Roboterarm.

45:14.940 --> 45:19.180
Wir machen die Betrachtung nur in der XY-Ebene, das ist die X0, das

45:19.180 --> 45:20.300
ist die Y0-Ebene.

45:21.260 --> 45:26.800
Und wenn man jetzt diese Abbildung mal anguckt, dann sieht man

45:26.800 --> 45:34.380
eigentlich die Z-Achsen, die gehen hier raus oder rein, raus, ist das?

45:35.880 --> 45:37.140
Raus, die gehen raus.

45:37.760 --> 45:41.420
Hier, die gehen aus der Ebene raus, also XYZ.

45:42.060 --> 45:44.440
Das Gleiche hier und das Gleiche hier.

45:44.520 --> 45:48.980
Wir haben also insgesamt drei Gelenke, Theta 1, Theta 2 und Theta 3.

45:49.940 --> 45:54.880
Und wir suchen eigentlich die Lage von dem Tool Center Point.

45:55.140 --> 45:58.660
Also Tool Center Point ist das Koordinatensystem, was mit dem

45:58.660 --> 46:00.720
Endeffektor assoziiert wird.

46:02.980 --> 46:07.000
Also das ist unser Tool Center Point.

46:07.640 --> 46:10.480
Das ist der Ursprung vom Koordinatensystem 3 hier.

46:11.120 --> 46:15.420
Und um diese Beschreibungen zu machen, man sieht ganz einfach hier,

46:16.180 --> 46:20.800
wenn das nur ein zweidimensionales Beispiel ist, dass die AIs nichts

46:20.800 --> 46:27.100
anderes sind als die armsegmenti, weil das sind ja die Verschiebungen

46:27.100 --> 46:32.480
zwischen den Koordinatensystemen entlang der gemeinsamen Normalen auf

46:32.480 --> 46:39.720
der Z- und ZI-1-Achse und deshalb A1, A2 und A3, ziemlich einfach.

46:40.680 --> 46:43.700
Aber wir müssen ja alle diese Parameter bestimmen.

46:44.660 --> 46:49.040
Also die AIs, wie ich bereits erwähnt habe, sind das hier.

46:49.800 --> 46:58.040
Die Alphas sind die Winkel, die für uns die Verdrehung der ZI-1 und ZI

46:58.040 --> 47:00.160
-Achse relativ zueinander beschreiben.

47:00.440 --> 47:05.860
Aber alle Z-Achsen gehen aus der Zeichnungsebene raus.

47:06.380 --> 47:08.680
Deshalb haben wir keine Verdrehung, also eine Null.

47:09.340 --> 47:13.560
Wir haben auch keinen Versatz hier, deshalb DI gleich Null.

47:13.820 --> 47:17.320
Und da wir alle drei hier Rotationsgelenke haben, haben wir drei

47:17.320 --> 47:19.160
Parameter, Delta 1 bis Delta 3.

47:20.140 --> 47:23.140
Und wenn wir diese Parameter hier bestimmt haben, und das bestimmen

47:23.140 --> 47:27.120
wir tatsächlich, nachdem wir diese Zeichnung hier erstellt haben und

47:27.120 --> 47:31.520
die Koordinatensysteme entsprechend gelegt haben, dann nehmen wir

47:31.520 --> 47:36.660
unsere Transformationsmatrix die wir auf gar keinen Fall auswendig

47:36.660 --> 47:41.160
lernen sollen, sondern wir kennen sie, wir können das nachschlagen,

47:41.420 --> 47:44.380
wenn es in der Klausur aus irgendeinem Grund zu etwas kommen sollte,

47:44.500 --> 47:46.840
dann wird diese Transformationsmatrix gegeben.

47:48.120 --> 47:52.660
Und dann wissen wir, wenn wir diese Parameter hier haben, also Alpha I

47:52.660 --> 47:58.760
gleich Null, dann verschwindet alles, was Sinus Alpha I wird Null Null

47:58.760 --> 48:00.860
und Cosinus Alpha I ist gleich 1.

48:02.280 --> 48:07.860
Ansonsten Cosinus Alpha I gleich 1, Sinus Alpha I ist gleich Null und

48:07.860 --> 48:08.720
so weiter und so fort.

48:08.820 --> 48:12.420
Also ergibt sich eigentlich mithilfe von diesen Parameter, die

48:12.420 --> 48:17.500
vereinfacht die Transformationsmatrix zwischen Gelenk I minus 1 und I.

48:18.120 --> 48:21.180
Und wenn ich jetzt die unterschiedlichen Parameter einsetze und die

48:21.180 --> 48:26.540
drei miteinander multipliziere, dann komme ich auf diese 4x4-Matrix

48:26.540 --> 48:31.980
und in dieser 4x4-Matrix sehen wir, das sind, egal wie sich die drei

48:31.980 --> 48:36.680
Gelenke drehen, ist das immer eine Rotation um die Z-Achse, also vom

48:36.680 --> 48:41.500
Endefektor relativ zur Basis, zum Basiskoordinatensystem.

48:42.300 --> 48:47.120
Egal wie ich drehe, ist es eine Rotation um die Z-Achse und zwar um

48:48.080 --> 48:49.020
das hier.

48:49.600 --> 48:52.440
Und das ist die Translation bzw.

48:52.700 --> 48:58.700
die Position von dem Endefektor in der XY-Ebene, die Z-Ebene.

48:59.100 --> 49:02.560
Wir arbeiten ja in der XY-Ebene, deshalb ist Z gleich Null.

49:02.720 --> 49:06.460
Also nur zur Überprüfung eigentlich, ob das, was man gemacht hat, was

49:06.460 --> 49:11.280
man multipliziert hat oder die Parameter, die man bestimmt hat,

49:11.320 --> 49:12.440
wirklich korrekt waren.

49:13.900 --> 49:14.260
Genau.

49:14.600 --> 49:19.380
Ein weiteres Beispiel, wo wir eine Translations-Achse hier haben, also

49:19.380 --> 49:26.260
das ist jetzt hier eine Translations-Achse in die Richtung und dann

49:26.260 --> 49:28.680
das letzte Koordinatensystem Z3 hier.

49:29.320 --> 49:37.120
Die ersten zwei Achsen sind einmal eine Rotations-Achse Theta1 mit Z0,

49:37.260 --> 49:43.020
also i-1, dann die zweite Rotations-Achse um den Winkel Theta2.

49:44.260 --> 49:47.940
Das Koordinatensystem ist dann Z1, wie man sieht, und natürlich

49:47.940 --> 49:51.020
Erweiterung mit Xi, wie wir sehen.

49:51.770 --> 50:00.420
Die nächste Translations-Achse ist Z2 und wie man sieht, auch X2 und

50:00.420 --> 50:05.800
Y2 hier gezeichnet und die allgemeine Transformation, die wir vorher

50:05.800 --> 50:06.940
kennengelernt haben.

50:07.080 --> 50:08.080
Also was muss man hier machen?

50:08.220 --> 50:11.800
Muss man wiederum diese Parameter bestimmen und das Besondere ist

50:11.800 --> 50:18.660
natürlich bei Gelenk 2 hier, wir drehen hier, das heißt wir haben eine

50:18.660 --> 50:27.380
Verschiebung zwischen dem Koordinatensystem 1 und 2 um die Länge D2

50:27.380 --> 50:32.300
und wir haben die unabhängige Variable der Drehung Theta2, während wir

50:32.300 --> 50:39.100
beim Gelenk 3 haben wir natürlich unsere Verschiebung in die Richtung,

50:39.100 --> 50:43.320
das ist eine Achse, die hoch und runter geht am Ende, deshalb die

50:43.320 --> 50:48.820
unabhängige Variable ist 0, aber keine Verdrehungen in der anderen

50:48.820 --> 50:51.820
Koordinatensysteme, deshalb alle weiteren Parameter hier 0.

50:52.420 --> 50:55.620
Und wenn wir das haben, dann können wir mithilfe von diesen Parametern

50:55.620 --> 51:01.500
zum Beispiel die Matrix 0,1 bestimmen, wir können die Matrix 1,2

51:01.500 --> 51:06.200
bestimmen und wir können die Matrix 2,3 bestimmen und man sieht hier

51:06.200 --> 51:10.720
bei der Matrix 2,3 ist keine Rotationsmatrix, sondern eine Translation

51:10.720 --> 51:15.960
in diese Richtung, deshalb nur D3 als die unabhängige Variable, weil

51:15.960 --> 51:19.900
das ist eine Steuervariable, wo wir Kommandos zu diesem Gelenk

51:19.900 --> 51:24.220
schicken, damit der Endeffektor hoch beziehungsweise runter bewegt

51:24.220 --> 51:24.800
werden soll.

51:25.500 --> 51:29.200
Und wenn wir alles miteinander multiplizieren, bekommen wir das hier

51:29.200 --> 51:33.360
und man sieht hier, das ist einmal die Orientierung vom Endeffektor in

51:33.360 --> 51:40.120
Abhängigkeit von Delta 1, Delta 2 und das ist hier die Position von

51:40.120 --> 51:43.740
dem Endeffektor, weil die Orientierung von dem Endeffektor wird nicht

51:43.740 --> 51:48.500
von der translatorischen Achse beeinflusst bei dieser Kinematik,

51:48.660 --> 51:55.080
deshalb taucht eigentlich D3 hier nicht, aber die Höhe von dem

51:55.080 --> 51:59.340
Manipulator oder die Z-Koordinate von dem Endeffektor, die ist

51:59.340 --> 52:05.720
natürlich abhängig von D3 und natürlich auch abhängig von der Rotation

52:05.720 --> 52:11.700
um die Achse T2, weil wenn ich hier D3 hoch und runter drehe und die

52:11.700 --> 52:14.620
Achse hier in die Richtung oder in die Richtung drehe, dann verändere

52:14.620 --> 52:17.280
ich auch die Höhe von dem Endeffektor.

52:17.400 --> 52:19.280
Also das nur so zur Interpretation.

52:20.480 --> 52:24.720
Genau, das ist hier ein realistisches Beispiel, das sind zum Beispiel

52:24.720 --> 52:31.540
die DH-Parameter von dem Arm, von dem Armar 1 mit sieben Gelenken und

52:32.160 --> 52:35.320
natürlich ist immer sehr gut, also man sieht hier zum Beispiel die

52:35.320 --> 52:39.340
DIs, das ist nichts anderes als die Längen vom Oberarm und Unterarm.

52:40.420 --> 52:44.900
Man sieht beispielsweise, dass man hier einen Versatz zwischen Gelenk

52:44.900 --> 52:48.960
1 und Gelenk 2 hat, das heißt die ersten drei Gelenke, die schneiden

52:48.960 --> 52:53.420
sich nicht in einem Punkt und natürlich hier gibt es am Ende auch

52:53.420 --> 52:59.700
einen Versatz zwischen Gelenk 6 und Gelenk 7, was ja anhand von Alpha

52:59.700 --> 53:01.580
I hier zu sehen ist.

53:02.000 --> 53:05.620
Aber das sind Sachen oder Tabellen, die so erfahrene Leute, die jeden

53:05.620 --> 53:09.020
zweiten Tag sich Gedanken darüber machen, wie die Kinematik von einem

53:09.020 --> 53:16.760
Roboter aussehen sollte, um beispielsweise diese Parameter bei diesen

53:16.760 --> 53:22.420
Tabellen so wenig wie möglich, nicht null Parameter zu haben.

53:22.900 --> 53:26.720
Also wenn die ersten drei Achsen zum Beispiel sich in einem Punkt

53:26.720 --> 53:31.440
schneiden würden, dann würden wir diese 30 hier eliminieren, aber das

53:31.440 --> 53:36.240
ist nicht immer machbar, oder es ist schon machbar, aber bei dem

53:36.240 --> 53:39.820
ersten Entwurf war das nicht der Fall bzw.

53:40.080 --> 53:41.080
kam es zu etwas anderem.

53:42.720 --> 53:48.880
So, nun eine Zusammenfassung, das heißt bei der Vorwärtskinematik

53:48.880 --> 53:54.240
haben wir unsere Gelenke, Gelenkwinkelwerte, die kriegen wir von den

53:54.240 --> 53:57.220
Sensoren, von den Gelenkwinkelsensoren eines Roboterarms.

53:58.000 --> 54:02.200
Wir haben die Transformationsmatrizen, die für uns die Transformation

54:02.200 --> 54:06.040
zwischen Gelenk I-1 und I beschreiben und die hängen natürlich von

54:06.040 --> 54:11.620
Theta I, die haben wir kennengelernt, das sind 4x4 Matrizen und wir

54:11.620 --> 54:16.400
wissen, wie diese, das sind die hier und wir wissen eigentlich, dass

54:16.400 --> 54:20.920
wir den Endeffektor, die Posi vom Endeffektor im

54:20.920 --> 54:25.640
Basiskoordinatensystem beschreiben, indem wir diese

54:25.640 --> 54:29.860
Transformationsmatrizen von 0,1 bis zum Endeffektor miteinander

54:29.860 --> 54:30.680
multiplizieren.

54:30.820 --> 54:33.580
Und wenn wir das multiplizieren, wie wir gerade in den Beispielen

54:33.580 --> 54:41.080
gesehen haben, kriegen wir 4x4 homogene Matrizen und die wir aus dem

54:41.080 --> 54:44.840
letzten Kapitel kennengelernt haben und wir sehen, dass wir in diesen

54:44.840 --> 54:50.740
4x4 Matrizen einmal hier unsere Rotationsmatrix, die für uns die

54:50.740 --> 54:54.860
Rotation oder Orientierung vom Endeffektor relativ zur Basis

54:54.860 --> 54:59.920
beschreibt und eine Transformation, die für uns die Transformation vom

54:59.920 --> 55:03.000
Endeffektor im Basiskoordinatensystem eingegeben hat.

55:04.540 --> 55:09.180
So, nun ist es eine ganz einfache Sache.

55:09.500 --> 55:15.180
Jetzt die Frage ist, wenn wir das inverse-kinematische Problem lösen.

55:15.480 --> 55:19.320
Jemand sagt euch, der Endeffektor muss sich jetzt zu dieser Position

55:19.320 --> 55:20.860
und Orientierung bewegen.

55:21.800 --> 55:24.580
Das heißt, die Position und Orientierung, Zielposition und

55:24.580 --> 55:28.460
Orientierung ist gegeben und wir müssen ja dieses Problem hier lösen.

55:28.540 --> 55:33.020
Das heißt, ich habe eine 4x4 Matrix, wie kriege ich eigentlich Theta

55:33.020 --> 55:36.240
1, Theta 2, Theta 3 bis Theta n?

55:37.020 --> 55:39.780
Ja, das wäre ja das inverse-kinematische Problem.

55:40.320 --> 55:44.620
Wir werden in den Übungen auch hier Beispiele sehen, wie man das oder

55:44.620 --> 55:49.920
mit welchen Tricks man eventuell das Problem lösen kann.

55:51.180 --> 55:56.500
Aber ich will jetzt auf einen allgemeineren Weg eingehen, wie man das

55:56.500 --> 55:57.580
Problem lösen kann.

55:57.580 --> 56:01.440
Natürlich, das Problem ist immer schwieriger oder wird schwieriger mit

56:01.440 --> 56:03.280
einer wachsenden Anzahl von Gelenken.

56:04.020 --> 56:08.600
Das heißt, wenn ich hier 2D-Roboterarmee habe oder Roboterarmee mit 3,

56:08.600 --> 56:13.740
4 Freiheitsgraden, dann könnte man solche Lösungen finden, auch

56:13.740 --> 56:16.340
mithilfe von geometrischen Betrachtungen.

56:17.040 --> 56:22.900
Aber wenn wir über Roboterarmee, die 6, 7 oder 8 Freiheitsgraden

56:22.900 --> 56:25.840
haben, reden, dann brauchen wir allgemeinere Methoden.

56:26.600 --> 56:30.320
Und natürlich diese Spezialmethoden, die über Geometrie gehen, wie wir

56:30.320 --> 56:34.040
gleich sehen werden, vielleicht in einem Beispiel oder spätestens in

56:34.040 --> 56:37.300
der Übung, da muss man ja die Kinematik kennen.

56:37.480 --> 56:42.120
Das heißt, man muss wirklich die geometrischen Betrachtungen machen

56:42.120 --> 56:45.540
und muss man also für jede Kinematik, die man entwickelt, also für

56:45.540 --> 56:48.580
jeden Roboterarm, den man entwickelt, nochmal das Problem lösen.

56:49.600 --> 56:54.080
Ist okay, macht man auch für bestimmte Roboterarmee, aber wir suchen

56:54.080 --> 56:58.900
nach anderen Möglichkeiten, die allgemein gültige Lösungen oder

56:58.900 --> 57:05.640
allgemeine Kochrezepte für das Lösen der, vor allem inversen

57:05.640 --> 57:07.040
kinematischen Problemen liefern.

57:07.940 --> 57:12.100
Und da kommen wir natürlich an der Mathematik nicht vorbei und dieses

57:12.100 --> 57:15.520
Mal sind es nicht die hyperkomplexen Zellen wie bei Quaternionen,

57:15.560 --> 57:17.260
sondern das sind die Jacobi-Matrizen.

57:19.520 --> 57:22.920
Und was haben die Jacobi-Matrizen mit der Kinematik zu tun?

57:23.200 --> 57:26.040
Also zunächst mal wissen wir Vorwärtskinematik, wir haben

57:26.040 --> 57:29.080
Gelenkwinkelstellungen und wir wollen die Endeffektopose.

57:30.100 --> 57:35.020
Und die Frage ist, die man sich stellt, naja, also oft macht man keine

57:35.020 --> 57:38.100
positionsbasierte Regelung von einem Roboterarm, sondern

57:38.100 --> 57:40.780
geschwindigkeitsbasierte Regelung von einem Roboterarm.

57:40.920 --> 57:45.540
Das heißt, man hat Gelenkwinkelgeschwindigkeiten und will irgendwelche

57:45.540 --> 57:49.620
Geschwindigkeiten vom Endeffektor realisieren.

57:49.900 --> 57:54.440
Also nicht, dass ich sage, diese Gelenke und diese Pose, sondern ich

57:54.440 --> 58:02.180
habe diese Gelenkwinkelgeschwindigkeiten und ich will eine bestimmte

58:02.180 --> 58:04.160
Geschwindigkeit vom Endeffektor erreichen.

58:04.380 --> 58:09.060
Oder anders, vielleicht anschaulicher, ich will, dass mein Endeffektor

58:09.060 --> 58:11.980
entlang dieser Trajektorie mit dieser Geschwindigkeit bewegt.

58:12.080 --> 58:16.040
Das heißt, nicht eine reine Position, sondern auch das Einhalten von

58:16.040 --> 58:16.660
Geschwindigkeit.

58:17.380 --> 58:20.760
Deshalb sehen wir eigentlich diese anderen Beziehungen, die natürlich

58:20.760 --> 58:23.360
mit dem Problem sehr verwandt sind, aus.

58:23.960 --> 58:29.260
Also gegeben sind Gelenkwinkelgeschwindigkeiten, was bedeutet das für

58:29.260 --> 58:30.960
die Endeffektogeschwindigkeiten?

58:31.740 --> 58:38.380
Beziehungsweise, wenn ich Kommandos zu den Gelenken schicke, zu den

58:38.380 --> 58:44.100
Reglern, die die Gelenke bewegen, letztendlich Strom auf die Motoren

58:44.100 --> 58:49.560
mal aufschalte, damit sie sich bewegen, dann weiß ich, welche

58:49.560 --> 58:52.180
Drehmomente ich eigentlich habe in den Gelenken.

58:52.300 --> 58:56.260
Und die Frage ist, mit diesen Drehmomenten, mit bestimmten

58:56.260 --> 59:01.200
Drehmomenten in den Gelenken, welche Kräfte und Momente kann ich am

59:01.200 --> 59:02.160
Endeffektor haben?

59:03.180 --> 59:07.720
Ja, zum Beispiel, um durch diese Wand zu bohren oder ein bestimmtes

59:07.720 --> 59:10.980
Objekt entlang einer bestimmten Trajektorie zu halten und zu

59:10.980 --> 59:11.540
manipulieren.

59:12.500 --> 59:18.580
So, und der Ansatz hier, den man hat, geht über die Jacobi-Matrix,

59:18.720 --> 59:22.020
indem man die Beziehungen der Vorwärtskinematik ableitet.

59:22.220 --> 59:25.080
Ich meine, wenn wir uns vor Geschwindigkeiten interessieren, statt

59:25.080 --> 59:26.820
Position, müssen wir ja ableiten.

59:28.040 --> 59:32.640
Und wenn wir die Jacobi-Matrix aus der Mathematik nochmal ein bisschen

59:32.640 --> 59:37.300
angucken, dann wissen wir, die Jacobi-Matrix ist etwas, was definiert

59:37.300 --> 59:40.840
ist für differenzierbare Funktionen.

59:41.480 --> 59:47.720
Also eine Funktion definiert auf Rn und nimmt ihre Werte in Rm.

59:47.840 --> 59:52.580
Und die Jacobi-Matrix ist die Matrix, in der wir alle partiellen

59:52.580 --> 59:57.660
Ableitungen in erster Ordnung von F haben, und zwar nach den

59:57.660 --> 59:59.040
unabhängigen Variablen.

59:59.260 --> 01:00:10.040
Also zum Beispiel hier haben wir eine Funktion mit den unabhängigen

01:00:10.040 --> 01:00:15.220
Koordinaten oder Variablen xi, also x1 bis xn.

01:00:15.840 --> 01:00:21.900
Und die Jacobi-Matrix erhalten wir, indem wir die einzelnen

01:00:21.900 --> 01:00:26.340
Komponentenfunktionen von F nach diesen Koordinaten ableiten.

01:00:26.520 --> 01:00:32.060
Also einmal hier die partielle Ableitung in erster Ordnung von F1 nach

01:00:32.060 --> 01:00:38.420
x1, natürlich an der Stelle A, die partielle Ableitung von der

01:00:38.420 --> 01:00:45.080
Funktionskomponentenfunktion Fm nach x1 und das Gleiche hier aber nach

01:00:45.080 --> 01:00:45.860
xn.

01:00:46.620 --> 01:00:51.040
Das heißt, bei dieser Abbildung, wenn ich eine Funktion, die auf Rn

01:00:51.040 --> 01:00:56.300
definiert ist und ihre Werte in Rm annimmt, aha, das ist eigentlich

01:00:56.300 --> 01:01:01.480
Rn, war ja unser Konfigurationsraum, wenn wir n Freiheitsgrade haben.

01:01:02.240 --> 01:01:06.300
Und Rm war der Arbeitsraum, als wir, haben wir gesehen auf der ersten

01:01:06.300 --> 01:01:07.560
Folie dieser Vorlesung.

01:01:08.280 --> 01:01:12.180
Das heißt eigentlich F könnte jetzt, ist die Abbildung von

01:01:12.180 --> 01:01:15.800
Konfigurationsraum auf Arbeitsraum, das ist nichts anderes als unsere

01:01:17.360 --> 01:01:17.960
Vorwärtskinematik.

01:01:18.380 --> 01:01:25.660
So, und wenn man diese Abbildung hat von Rn nach Rm, dann hat man eine

01:01:25.660 --> 01:01:31.900
m mal n Jacobi-Matrix, die wie hier auf der Folie zu sehen ist,

01:01:32.000 --> 01:01:32.620
definiert ist.

01:01:33.420 --> 01:01:36.800
So, jetzt versuchen wir mal, das Ganze tatsächlich mathematisch zu

01:01:36.800 --> 01:01:36.980
machen.

01:01:37.220 --> 01:01:42.060
Wir wissen, also die Vorwärtskinematik, das ist eine Abbildung, wie

01:01:42.060 --> 01:01:44.040
wir das bis jetzt kennengelernt haben.

01:01:44.180 --> 01:01:48.740
Wir haben gesagt, wir haben Gelenkwinkel Rn, also aus Rn, Vektoren aus

01:01:48.740 --> 01:01:54.460
Rn und die nehmen ihre Werte in Form von einer 4 mal 4 Matrix.

01:01:54.700 --> 01:01:59.080
Und in dieser 4 mal 4 Matrix haben wir eine Rotationsmatrix R und ein

01:01:59.080 --> 01:02:00.560
Translationsvektor T.

01:02:00.560 --> 01:02:04.840
Das heißt eigentlich, das sind Elemente aus SE3.

01:02:06.220 --> 01:02:09.640
Das ist eine Abbildung zwischen Rn und SE3.

01:02:09.960 --> 01:02:12.920
Und hier kann ich ja die Jacobi-Matrix nicht definieren, weil die

01:02:12.920 --> 01:02:17.320
Jacobi -Matrix ist definiert auf Abbildungen zwischen Rn und Rm.

01:02:18.280 --> 01:02:23.180
Wir wissen ja, SE3 ist ja ein Vektor und ein Matrix, also es ist

01:02:23.180 --> 01:02:24.820
deshalb sehr schwierig, sowas zu machen.

01:02:25.540 --> 01:02:29.840
Deshalb ist die Lösung, dass man eine vektorwertige oder vektorartige

01:02:29.840 --> 01:02:31.740
Repräsentation wählt, z.B.

01:02:32.440 --> 01:02:35.400
die Rolle-Pi-Gio-Winkel, die wir kennengelernt haben für die

01:02:35.400 --> 01:02:39.460
Darstellung der Orientierungen, damit wir diese Matrixrepräsentation

01:02:39.460 --> 01:02:42.300
in den homogenen Matrizen loswerden.

01:02:43.120 --> 01:02:48.840
Und dann haben wir eine Funktion, die heißt, die bildet Rn, also den

01:02:48.840 --> 01:02:53.100
Konfigurationsraum, auf einen sechstimensionalen Raum mit XYZ

01:02:53.100 --> 01:02:54.060
-Alphabeta -Gamma.

01:02:54.800 --> 01:02:56.320
Ja, das ist ganz naheliegend.

01:02:57.320 --> 01:03:01.060
Wir nehmen an jetzt, dass eine kinematische Kette, dass der

01:03:01.060 --> 01:03:03.940
Endeffektor einer kinematischen Kette entlang einer bestimmten

01:03:03.940 --> 01:03:06.460
Trajektorie, Theta, bewegt.

01:03:06.760 --> 01:03:10.380
Diese Trajektorie ist definiert natürlich von R auf Rn.

01:03:11.780 --> 01:03:17.160
Und dann gilt für die Endeffektor-Pose, also wenn das die Gelenkwinkel

01:03:17.160 --> 01:03:20.280
hier, die mit dieser Trajektorie assoziiert sind, dann kann ich die

01:03:20.280 --> 01:03:26.460
Gelenkwinkel -Pose, dann kann ich die Pose von dem Endeffektor

01:03:26.460 --> 01:03:30.040
bestimmen, indem ich einfach einsetze.

01:03:30.300 --> 01:03:33.980
Also f von Theta, Theta ist gegeben, dann kriege ich zu jedem

01:03:33.980 --> 01:03:39.360
Zeitpunkt die Informationen darüber, wo mein Endeffektor ist, als

01:03:39.360 --> 01:03:43.120
Vektor X aus Rn, also aus R6 in dem Beispiel.

01:03:44.600 --> 01:03:47.500
Wenn wir uns jetzt für die Geschwindigkeiten interessieren, dann

01:03:47.500 --> 01:03:49.740
müssen wir nur diese Beziehung hier ableiten.

01:03:50.640 --> 01:03:53.840
Ja, und wenn ich hier nach der Zeit ableite, natürlich ist es eine

01:03:53.840 --> 01:03:57.480
Funktion f, die hängt von Theta und Theta wiederum von der Zeit.

01:03:57.640 --> 01:04:02.820
Deshalb muss ich ja die Kettenregel anwenden, also X abgeleitet nach

01:04:02.820 --> 01:04:06.720
der Zeit, also Position nach der Zeit ist Geschwindigkeit, X-Punkt,

01:04:06.840 --> 01:04:10.660
und dann leite ich das hier nach Delta-Theta und wir wissen, die

01:04:10.660 --> 01:04:15.820
Ableitung von f von Theta nach Delta-Theta ist die Jacobi-Matrix und

01:04:15.820 --> 01:04:19.700
die Ableitung von Delta-Theta nach der Zeit ist die

01:04:19.700 --> 01:04:22.640
Gelenkwinkelgeschwindigkeit, also Theta-Punkt.

01:04:23.340 --> 01:04:26.380
Das heißt eigentlich, wir haben jetzt nicht nur die Beziehung zwischen

01:04:26.380 --> 01:04:33.080
X und Theta, unsere Vorwärtskinematik im Positionsraum, sondern wir

01:04:33.080 --> 01:04:36.460
haben die Beziehung zwischen den Geschwindigkeiten vom Endeffektor und

01:04:36.460 --> 01:04:37.960
Geschwindigkeiten der Gelenke.

01:04:38.760 --> 01:04:47.440
Und diese Beziehungen hier gehen dann mithilfe von der Jacobi-Matrix

01:04:47.440 --> 01:04:49.720
oder werden beschrieben mithilfe der Jacobi-Matrix.

01:04:51.400 --> 01:04:57.920
So, das heißt die Jacobi-Matrix setzt jetzt die karthesischen

01:04:57.920 --> 01:05:00.720
Endeffektor -Geschwindigkeiten in Relation zu

01:05:00.720 --> 01:05:05.640
Gelenkwinkelgeschwindigkeiten, wie wir hier das gesehen haben, und

01:05:05.640 --> 01:05:08.060
damit können wir folgende Probleme lösen.

01:05:09.060 --> 01:05:17.040
Naja, also wenn wir die Gelenkwinkelgeschwindigkeiten haben, weil wir

01:05:17.040 --> 01:05:21.080
die Trajektorien entlang, die der Endeffektor abfahren soll, haben,

01:05:21.240 --> 01:05:26.460
und diese Trajektoren differenzieren können, und zum Beispiel... Nee,

01:05:26.680 --> 01:05:30.640
wenn wir die Gelenkwinkelgeschwindigkeiten haben und die Frage ist,

01:05:30.740 --> 01:05:34.200
welche karthesischen Endeffektor-Geschwindigkeiten können wir damit

01:05:34.200 --> 01:05:36.520
realisieren, dann müssen wir eigentlich was machen?

01:05:37.580 --> 01:05:38.980
Nur einsetzen, oder?

01:05:39.660 --> 01:05:43.060
Also wenn das gegeben ist, und ich suche das, dann muss ich das hier

01:05:43.060 --> 01:05:43.680
nur ansetzen.

01:05:44.200 --> 01:05:48.400
Aber die andere Frage, die wir auch beantworten können, wenn ich ja

01:05:48.400 --> 01:05:52.380
die karthesische Endeffektor-Geschwindigkeit habe, also wie soll ich

01:05:52.380 --> 01:05:56.480
mich mal bewegen mit dem Endeffektor, und welche Geschwindigkeiten der

01:05:56.480 --> 01:06:01.100
Gelenke sind dazu notwendig, dann kann ich natürlich das auch mithilfe

01:06:01.100 --> 01:06:04.560
von dieser Gleichung lösen, und zwar indem ich diese Gleichung nach

01:06:04.560 --> 01:06:06.080
dem Punkt auflöse.

01:06:07.000 --> 01:06:09.740
Und das gucken wir ein bisschen genauer an, das heißt,

01:06:10.040 --> 01:06:11.220
Vorwärtskinematik.

01:06:12.260 --> 01:06:15.700
Die Vorwärtskinematik ist für uns, gegeben sind die

01:06:16.780 --> 01:06:18.820
Gelenkwinkelgeschwindigkeiten, und wir suchen die Endeffektor

01:06:18.820 --> 01:06:22.900
-Geschwindigkeiten, dann brauche ich eigentlich nur dieses gegebene

01:06:22.900 --> 01:06:25.920
Delta -Punkt hier in meiner Gleichung einzusetzen, und dann habe ich

01:06:25.920 --> 01:06:26.260
die Lösung.

01:06:28.360 --> 01:06:34.200
Andersrum, wenn wir die karthesischen Geschwindigkeiten haben, und wir

01:06:34.200 --> 01:06:37.220
suchen die Gelenkwinkelgeschwindigkeiten, das ist eigentlich die

01:06:37.220 --> 01:06:39.520
Inverse -Kinematik, aber im Geschwindigkeitsraum.

01:06:40.260 --> 01:06:41.980
Ja, also das ist die gleiche Definition.

01:06:42.180 --> 01:06:46.560
Hier, das ist die Vorwärtskinematik im Geschwindigkeitsraum, gegeben

01:06:46.560 --> 01:06:49.480
sind die Gelenkwinkelgeschwindigkeiten, wo ist meine Hand?

01:06:51.140 --> 01:06:54.700
Also vorher war, gegeben sind die Gelenkwinkel, wo ist meine Hand

01:06:54.700 --> 01:06:55.100
jetzt?

01:06:55.500 --> 01:06:58.700
Gegeben sind die Gelenkwinkelgeschwindigkeiten, wie schnell bewegt

01:06:58.700 --> 01:06:59.540
sich meine Hand?

01:07:00.460 --> 01:07:11.700
Und andersrum, ich weiß, wie schnell sich meine Hand bewegen soll,

01:07:12.060 --> 01:07:15.120
entlang einer bestimmten Trajektorie, und jetzt, welche

01:07:15.120 --> 01:07:19.100
Gelenkwinkelgeschwindigkeiten muss ich auf die einzelnen Gelenke

01:07:19.100 --> 01:07:19.740
aufschalten?

01:07:20.200 --> 01:07:21.420
Was müssen wir also machen?

01:07:21.500 --> 01:07:24.360
Wir müssen eigentlich nach Delta-Punkt auflösen.

01:07:24.360 --> 01:07:27.080
Und wie lösen wir nach Delta-Punkt auf?

01:07:28.060 --> 01:07:29.780
Naja, wir invertieren, oder?

01:07:30.560 --> 01:07:33.900
Wir brauchen nur eine Inverse von dieser Matrix, weil Delta-Punkt ist

01:07:33.900 --> 01:07:39.840
die Inverse-Matrix von der Jacobi-Matrix multipliziert mit dem hier,

01:07:40.460 --> 01:07:43.660
und wenn alles gut geht und ich brauche meine Gelenkwinkel aus

01:07:43.660 --> 01:07:46.980
irgendeinem Grund, dann muss ich das, was ich hier bekommen habe,

01:07:47.720 --> 01:07:49.860
integrieren und dann bekomme ich die Gelenkwinkel.

01:07:51.320 --> 01:07:51.600
Oder?

01:07:51.780 --> 01:07:53.960
Das ist ja eine ganz saubere Mathematik.

01:07:54.540 --> 01:07:55.100
Stimmt das?

01:07:57.040 --> 01:07:59.380
Gibt es irgendeinen Haken an der Stelle?

01:08:02.220 --> 01:08:05.420
Okay, ich nehme ihn, weil ich ihn noch nicht kenne.

01:08:05.880 --> 01:08:09.180
Ja, genau.

01:08:09.780 --> 01:08:13.120
Also die Voraussetzung ist natürlich hier, dass diese Jacobi-Matrix

01:08:13.120 --> 01:08:14.440
invertierbar sein muss.

01:08:16.220 --> 01:08:19.680
Und wir haben vorher gesehen, die Jacobi-Matrix haben wir definiert

01:08:19.680 --> 01:08:24.680
als eine M mal N-Matrix.

01:08:26.400 --> 01:08:31.380
Und M war die Dimension vom Arbeitsraum, also unser sechstimensionaler

01:08:31.380 --> 01:08:33.840
Raum, in dem der Roboter arbeiten soll.

01:08:34.480 --> 01:08:38.520
Und N war die Anzahl der Gelenke, die der Roboter hat.

01:08:39.360 --> 01:08:45.920
Das heißt, eigentlich ist diese Jacobi-Matrix nur dann invertierbar,

01:08:46.120 --> 01:08:48.280
wenn der Roboter nur sechs Gelenke hat.

01:08:50.200 --> 01:08:54.800
Aber es gibt, wie ihr wisst, und ich hoffe, ihr wisst das, weil ihr

01:08:54.800 --> 01:08:59.680
habt ja die A-Mars jetzt so oft gesehen und gehört und so weiter, fast

01:08:59.680 --> 01:09:04.700
alle neun eigentlich Roboterarmee, die man hat und die man gerade

01:09:04.700 --> 01:09:07.780
entwickelt, nicht nur in der humanoiden Robotik, sondern auch für

01:09:07.780 --> 01:09:11.720
industrielle Anwendungen, haben sieben Freiheitsgrade oder acht

01:09:11.720 --> 01:09:13.280
Freiheitsgrade oder mehr als das.

01:09:13.780 --> 01:09:17.460
Natürlich gibt es hier, die Mathematik hat auch Lösungen, es gibt ja

01:09:17.460 --> 01:09:21.020
Approximationen für die Inversion von nicht-quadratischen Matrizen,

01:09:21.240 --> 01:09:26.320
also zum Beispiel Pseudo-Inversion, auf die wir in den Übungen nochmal

01:09:26.320 --> 01:09:31.520
eingehen können oder werden oder vielleicht eingehen werden.

01:09:32.580 --> 01:09:33.240
Stimmt das?

01:09:34.160 --> 01:09:38.920
So, das war also die erste Frage, das heißt, wir sehen die

01:09:38.920 --> 01:09:42.760
Verwandtenbeziehungen im Geschwindigkeitsraum, aber was auch wichtig

01:09:42.760 --> 01:09:44.380
ist, sind Kräfte und Momente.

01:09:45.280 --> 01:09:49.160
So, das heißt, wir nehmen nach wie vor an, dass unser Arm, die

01:09:49.160 --> 01:09:52.880
Kinematik bewegt sich entlang der gleichen Trajektorität.

01:09:53.560 --> 01:09:58.140
Und wir wollen gucken eigentlich, welche Kräfte und Momente sind

01:09:58.140 --> 01:10:02.020
notwendig, zum Beispiel in den einzelnen Gelenken, welche Drehmomente

01:10:02.020 --> 01:10:06.520
sind notwendig, damit ich welche Kräfte und Momente am Endefektor

01:10:06.520 --> 01:10:08.220
habe.

01:10:08.780 --> 01:10:11.940
Das ist natürlich sehr wichtig, wenn ich etwas manipulieren, ein

01:10:11.940 --> 01:10:15.340
Objekt mit einem bestimmten Gewicht manipulieren soll, dann sind es

01:10:15.340 --> 01:10:20.180
Kräfte und Momente, die auf der Hand einwirken und dementsprechend

01:10:20.180 --> 01:10:27.040
muss ich Kräfte und Momente in den einzelnen Gelenken als Soll

01:10:27.040 --> 01:10:33.740
-Vorgaben für die Steuerung vorgeben, damit das geleistet wird.

01:10:34.260 --> 01:10:38.060
Und wir wollen sehen, wie eigentlich diese Beschreibungen, die wir

01:10:38.060 --> 01:10:41.620
hier haben, speziell die Jacobi-Matrix, auch diese Fragen beantwortet.

01:10:41.740 --> 01:10:45.720
Also nehmen wir an, wir haben diese Trajektorie, die Kinematik bewegt

01:10:45.720 --> 01:10:49.340
sich entlang der Trajektorie, dann wissen wir, dass die geleistete

01:10:49.340 --> 01:10:57.720
Arbeit im Gelenkwinkelraum und im Arbeitsraum gleich sein muss.

01:10:58.760 --> 01:11:02.180
Und wir vernachlässigen jetzt zunächst mal die Reibung.

01:11:02.340 --> 01:11:05.020
Wir wissen eigentlich, die Arbeit, was ist die Arbeit?

01:11:05.600 --> 01:11:10.860
Also in einem bestimmten Intervall T1 bis T2 ist die Leistung und die

01:11:10.860 --> 01:11:12.180
Integral von der Leistung.

01:11:13.260 --> 01:11:17.380
Und wir wissen, wenn wir Kraft mal Geschwindigkeit haben, dann ist es

01:11:17.380 --> 01:11:20.520
die Leistung und die Integral davon ist die Arbeit, W.

01:11:21.420 --> 01:11:26.440
Und im Gelenkwinkelraum ist das nichts anderes, als statt

01:11:26.440 --> 01:11:30.520
Geschwindigkeit hier, Gelenkwinkelgeschwindigkeit, statt Kraft ist das

01:11:30.520 --> 01:11:35.060
Drehmoment, also Drehmoment multipliziert mit der

01:11:35.060 --> 01:11:37.980
Winkelgeschwindigkeit bekommen wir die Leistung.

01:11:38.300 --> 01:11:41.100
Und wenn wir integrieren hier, dann bekommen wir die Arbeit.

01:11:41.500 --> 01:11:45.020
Ja, also in beiden Räumen muss alles, das ist Energieerhaltungssatz,

01:11:45.120 --> 01:11:46.500
da kann ja nichts anderes passieren.

01:11:47.100 --> 01:11:51.620
In beiden Welten haben wir die gleiche, muss die Arbeit gleich

01:11:51.620 --> 01:11:52.120
aussehen.

01:11:53.300 --> 01:11:57.180
Und wir wissen, Thetapunkt sind die Gelenkwinkelgeschwindigkeiten, Tau

01:11:57.180 --> 01:12:01.220
sind die Drehmomente in den einzelnen Gelenken, ja, also in jedem

01:12:01.220 --> 01:12:05.940
Gelenk ist ein bestimmtes Drehmoment, X-Punkt ist die Geschwindigkeit

01:12:05.940 --> 01:12:13.260
vom Endeffektor und F ist ein sechstimensionaler Vektor, der auf dem

01:12:13.260 --> 01:12:14.460
Endeffektor einwirkt.

01:12:14.700 --> 01:12:19.900
Also das einmal, wie schwer zum Beispiel das Objekt und welche Kräfte

01:12:19.900 --> 01:12:21.640
und Momente wirken, auch da.

01:12:22.260 --> 01:12:25.220
So, jetzt, was wollen wir damit?

01:12:25.440 --> 01:12:28.260
Wir wollen mal folgendes mal sehen, das heißt, wir haben diese

01:12:28.260 --> 01:12:32.460
Beziehung hier hergeleitet und ich hoffe, jeder hat es verstanden.

01:12:33.600 --> 01:12:37.520
Und das muss natürlich für jeden, also die Beziehungen oder diese

01:12:37.520 --> 01:12:40.600
Beziehung muss für jedes Zeitintervall gelten, deshalb können wir

01:12:40.600 --> 01:12:42.060
diese Integrale weg machen.

01:12:43.280 --> 01:12:48.740
Dann bekommen wir Thetapunkt transponiert mal Tau, ist X-Punkt

01:12:48.740 --> 01:12:52.060
transponiert mal F, also die ist transponiert, ist hier aufgetaucht,

01:12:52.160 --> 01:12:56.200
weil wir zu Matrixschreibweisen übergegangen sind und nicht nur

01:12:56.200 --> 01:12:58.100
Skalariverte hier betrachten.

01:12:59.680 --> 01:13:02.940
Und X-Punkt haben wir eigentlich kennengelernt.

01:13:03.040 --> 01:13:07.940
X-Punkt ist nichts anderes als Jacobi-Matrix multipliziert mit Theta

01:13:07.940 --> 01:13:08.360
-Punkt.

01:13:09.180 --> 01:13:13.220
Transponiert bedeutet, dass Theta-Punkt transponiert mal Jacobi-Matrix

01:13:13.220 --> 01:13:14.000
transponiert.

01:13:14.580 --> 01:13:19.600
Und wenn ich das hier für X-Punkt einsetze, dann komme ich auf diese

01:13:19.600 --> 01:13:24.900
Gleichung und wenn Theta-Punkt hier, wie man sieht, kann beliebig

01:13:24.900 --> 01:13:28.720
sein, deshalb kann ich Theta-Punkt auf beiden Seiten eliminieren, dann

01:13:28.720 --> 01:13:32.620
bekomme ich diese tolle Gleichung, die sagt mir, dass die

01:13:32.620 --> 01:13:37.500
transponierte Jacobi-Matrix die Drehmomente, die in den einzigen

01:13:37.500 --> 01:13:41.420
Gelenken auftreten in Beziehung zu den Kräften und Momenten, die am

01:13:41.420 --> 01:13:44.360
Endeffektor einwirken, setzt.

01:13:45.020 --> 01:13:48.880
Und zwar, die Drehmomente in den Gelenken sind nichts anderes als die

01:13:48.880 --> 01:13:52.700
Jacobi -Matrix transponiert, multipliziert mit den Kräften und

01:13:52.700 --> 01:13:57.920
Momenten, die am Endeffektor einwirken.

01:13:58.220 --> 01:13:59.660
Das ist ja fast ein Zauber.

01:13:59.820 --> 01:14:02.280
Eigentlich brauchen wir nur die Jacobi-Matrix, dann können wir fast

01:14:02.280 --> 01:14:03.920
die komplette Robotik lösen, oder?

01:14:04.120 --> 01:14:06.500
Zumindest was das Greifen und Manipulation angeht.

01:14:07.360 --> 01:14:11.160
So, also zusammengefasst, die Jacobi-Matrix setzt Kräfte und Momente

01:14:11.160 --> 01:14:15.500
am Endeffektor in Relation zu Drehmomenten in den Gelenken.

01:14:16.300 --> 01:14:18.460
Damit können wir folgende Probleme lösen.

01:14:18.920 --> 01:14:22.480
Wenn die Kraft am Endeffektor gegeben ist, weil wir wissen, wie schwer

01:14:22.480 --> 01:14:26.260
zum Beispiel die Objekte, die wir manipulieren wollen, dann können wir

01:14:26.260 --> 01:14:30.440
hier einsetzen und kriegen wir die Drehmomente, die dazu notwendig

01:14:30.440 --> 01:14:30.660
sind.

01:14:31.360 --> 01:14:35.400
Wenn die Drehmomente in den Gelenken vorgegeben sind, dann können wir

01:14:35.400 --> 01:14:39.260
natürlich bestimmen, welche Kräfte notwendig sind.

01:14:39.360 --> 01:14:44.560
Dann müssen wir natürlich diese Inverse dann von dieser Matrix auch

01:14:44.560 --> 01:14:45.180
bilden.

01:14:47.240 --> 01:14:52.280
So, nun mathematisch betrachtet haben wir gesehen, dass die Jacobi

01:14:52.280 --> 01:14:55.360
-Matrix eigentlich vieles für uns löst und die Frage, wie berechnet

01:14:55.360 --> 01:14:56.480
man diese Jacobi-Matrix?

01:14:56.740 --> 01:14:57.680
Ganz genau.

01:14:57.820 --> 01:15:00.280
Also wir haben eine Funktion mit mehreren Variablen.

01:15:00.420 --> 01:15:04.060
Diese Funktion ist für uns die Vorwärtskinematik, die hängt von den

01:15:04.060 --> 01:15:07.780
Variablen Theta 1, Theta 2, Theta 3 bis Theta n und wir müssen das

01:15:07.780 --> 01:15:12.860
tatsächlich die Funktion nach den einzelnen Variablen, also die

01:15:12.860 --> 01:15:16.540
partielle Ableitung der Funktion nach den einzelnen Variablen machen.

01:15:17.400 --> 01:15:20.320
So, und das wollen wir mal ein bisschen angucken.

01:15:20.720 --> 01:15:26.780
Es gibt aber in der Robotik oder in diesem Spezialfall auch andere

01:15:26.780 --> 01:15:27.460
Varianten.

01:15:28.660 --> 01:15:32.080
Da werden wir auch Beispiele in der Übung dazu machen, wie man diese

01:15:32.080 --> 01:15:36.920
Jacobi -Matrix geometrisch berechnen kann und zwar spaltenweise, weil

01:15:36.920 --> 01:15:42.000
wir wissen ja, wir leiten spaltenweise die einzelnen Komponenten der

01:15:42.000 --> 01:15:44.540
Funktion nach den unabhängigen Variablen.

01:15:45.620 --> 01:15:49.460
Und bei dieser geometrischen Berechnung ist ganz interessant, kann man

01:15:49.460 --> 01:15:53.840
das ganz schnell, natürlich muss man die Geometrie von dem Arm kennen,

01:15:54.020 --> 01:15:55.300
also von der kinematischen Kette.

01:15:56.200 --> 01:16:06.120
Und wenn wir nach einer Variablen ableiten, die zu einem

01:16:06.820 --> 01:16:11.240
Translationsgelenk in der kinematischen Kette gehört, dann haben wir

01:16:11.240 --> 01:16:19.700
Folgendes, dass wir ein Gelenkj, also diese Translation wird um

01:16:19.700 --> 01:16:24.640
Gelenkj in Richtung von einem Einheitsvektor Vj durchgeführt.

01:16:25.380 --> 01:16:30.060
Dann sieht man eigentlich, dass die letzten drei, ich meine, das ist

01:16:30.060 --> 01:16:38.360
jetzt eine Nx6-Matrix oder eine 6xN-Matrix, was wir kriegen in dem

01:16:38.360 --> 01:16:42.400
Fall, wenn wir im 6-dimensionalen Arbeitsraum bleiben.

01:16:42.960 --> 01:16:47.800
Und wenn wir hier die Richtung durch diesen Vektor gegeben haben, dann

01:16:47.800 --> 01:16:52.360
ist tatsächlich die Komponente oder die Spalte von der Jacobi-Matrix

01:16:52.360 --> 01:16:57.680
hier, die zu der Axi j gehört, nichts anderes als diese Richtung, der

01:16:57.680 --> 01:17:03.760
Einheitsvektor Vi und alle drei weiteren Elemente sind null, weil das

01:17:03.760 --> 01:17:09.140
ist ein Translationsaxel und deshalb gibt es keine Abhängigkeiten der

01:17:09.140 --> 01:17:15.040
Rotationen und deshalb die letzten drei Einträge hier sind null.

01:17:15.140 --> 01:17:21.980
Wenn es ein Rotationsgelenk ist, also wir nehmen an, das Gelenkj führt

01:17:21.980 --> 01:17:28.160
eine Rotation um eine Rotationsaxi Vi, die wir ja kennen sowieso, an

01:17:28.160 --> 01:17:34.300
einer bestimmten Position Pi, wo dieses Pi im Basiskoordinatensystem

01:17:34.300 --> 01:17:39.580
beschrieben ist, dann kann man tatsächlich die Spalte der Jacobi

01:17:39.580 --> 01:17:40.760
-Matrix so eingeben.

01:17:40.960 --> 01:17:45.000
Natürlich, die Rotation ist nichts anderes als die Rotationsaxi, also

01:17:45.000 --> 01:17:48.960
der Vektor, der Einheitsvektor entlang der Rotationsaxi, weil der

01:17:48.960 --> 01:17:51.080
beschreibt ja die Änderungen der Rotationen.

01:17:51.760 --> 01:17:55.480
Die Position ist ein bisschen komplizierter und zwar die ergibt sich

01:17:55.480 --> 01:18:03.400
aus dem Kreuzprodukt von diesem Einheitsvektor der Rotationsaxi mit

01:18:03.400 --> 01:18:09.500
dem Abstand zwischen der aktuellen Position vom Endeffektor und der

01:18:09.500 --> 01:18:13.440
Position vom Gelenk im Basiskoordinatensystem.

01:18:15.060 --> 01:18:18.420
Das kann man hier leiten, das will ich jetzt an der Stelle nicht

01:18:18.420 --> 01:18:22.040
machen, aber man kann tatsächlich bequem, wenn die Geometrie von dem

01:18:22.040 --> 01:18:27.940
Manipulator gegeben ist, auf diese einfache Art und Weise die Jacobi

01:18:27.940 --> 01:18:29.940
-Matrix -Spalten berechnen.

01:18:30.340 --> 01:18:33.740
Aber wir wollen es numerisch und allgemein machen.

01:18:34.680 --> 01:18:38.220
Vorher vielleicht hier die Eigenschaften, also die beschreibt für uns

01:18:38.220 --> 01:18:41.760
die Jacobi-Matrix die Beziehungen zwischen Geschwindigkeiten der

01:18:41.760 --> 01:18:45.900
Gelenkwinkel und Geschwindigkeiten des Endeffektors und gleichzeitig

01:18:45.900 --> 01:18:50.540
beschreibt sie für uns auch Beziehungen zwischen Drehmomenten in den

01:18:50.540 --> 01:18:55.640
Gelenken und Kräften und Momenten am Endeffektor und die ist natürlich

01:18:55.640 --> 01:18:58.620
abhängig von der Gelenkwinkelkonfiguration.

01:19:00.500 --> 01:19:05.360
Einfaches Beispiel, wie man das so berechnet, um noch auf das, was du

01:19:05.360 --> 01:19:07.080
gesagt hast vorher zurückzukommen.

01:19:07.260 --> 01:19:11.960
Also wir haben hier einen Manipulator mit zwei Gelenken, Theta 1 und

01:19:11.960 --> 01:19:16.520
Theta 2, das sind die Segmenti L1 und L2.

01:19:18.300 --> 01:19:23.480
Wir arbeiten in diesem Arbeitsraum, das sind die Koordinaten X1 und X2

01:19:23.480 --> 01:19:24.560
und nicht X und Y.

01:19:25.640 --> 01:19:30.580
Und was wir eigentlich wissen, wir wissen, dass die Vorwärtskinematik

01:19:30.580 --> 01:19:35.960
mit X gleich F von Theta beschrieben werden kann und X, wie gesagt,

01:19:36.080 --> 01:19:41.640
ist X1 und X2, also nicht XY und Theta sind die zwei Gelenke Theta 1

01:19:41.640 --> 01:19:42.380
und Theta 2.

01:19:42.620 --> 01:19:46.000
Und wir wissen eigentlich, dass X-Punkt ist die Jacobi-Matrix

01:19:46.000 --> 01:19:52.600
multipliziert mit Theta-Punkt, sprich in dem Beispiel hier haben wir

01:19:52.600 --> 01:19:57.400
X1 -Punkt, X2-Punkt ist gleich die Jacobi-Matrix, die ist in dem Fall

01:19:57.400 --> 01:20:01.560
eine 2x2-Matrix multipliziert mit Theta 1-Punkt, Theta 2-Punkt.

01:20:02.220 --> 01:20:04.660
Und nun, wie berechnen wir diese Jacobi-Matrix?

01:20:05.700 --> 01:20:07.320
Wir brauchen diese Funktion.

01:20:07.640 --> 01:20:11.100
Wir suchen ja eigentlich diese Funktion und diese Funktion ist nichts

01:20:11.100 --> 01:20:14.680
anderes als unsere Vorwärtskinematik, also die beschreibt die Lage von

01:20:14.680 --> 01:20:18.740
dem Endeffektor in Abhängigkeit von den Gelenkwinkeln und das können

01:20:18.740 --> 01:20:21.180
wir hier ganz einfach bestimmen.

01:20:24.420 --> 01:20:30.820
Wir wissen, X1 ist nichts anderes als L1Cos Theta 1 plus, mit so ein

01:20:30.820 --> 01:20:34.980
bisschen Geometrie, L2Cos Theta 1 plus Theta 2.

01:20:35.660 --> 01:20:41.460
X2 ist nichts anderes als L1 mal Sinus, das ist der Abschnitt hier,

01:20:41.660 --> 01:20:44.820
plus L2 Sinus Theta 1 plus Theta 2.

01:20:45.300 --> 01:20:47.160
Und das ist unsere Funktion eigentlich.

01:20:47.500 --> 01:21:00.500
Also wir haben eine Funktion, wir haben X, das ist unser X hier, ist

01:21:00.500 --> 01:21:05.700
gleich diese Funktion von Theta, wobei Theta ein Vektor natürlich ist

01:21:05.700 --> 01:21:12.240
und hängt von Theta, ein Vektor mit den zwei Komponenten Theta 1 und

01:21:12.240 --> 01:21:12.720
Theta 2.

01:21:13.540 --> 01:21:16.640
So und was müssen wir machen, damit wir die Kurbelmatrix bekommen?

01:21:16.780 --> 01:21:19.460
Wir müssen tatsächlich das ableiten.

01:21:20.600 --> 01:21:25.440
So, das heißt, wir leiten ab, X1 Punkt ist gleich Ableitung von

01:21:25.440 --> 01:21:29.600
Cosinus ist minus Sinus, innere Ableitung nicht vergessen, weil wir

01:21:29.600 --> 01:21:33.800
leiten nach der Zeit ab und Theta hängt von der Zeit ab, deshalb minus

01:21:33.800 --> 01:21:40.200
L1 Theta 1 Punkt Sinus Theta 1 minus L2, dann die innere Ableitung ist

01:21:40.200 --> 01:21:43.840
Theta 1 Punkt plus Theta 2 und die Ableitung von Cosinus ist Sinus,

01:21:44.340 --> 01:21:47.620
ist minus Sinus, für X2 das gleiche.

01:21:48.040 --> 01:21:53.860
Wenn wir ein bisschen aufräumen, das heißt, wir fassen alles zusammen,

01:21:54.020 --> 01:21:58.280
was Theta 1 ist und alles zusammen, was Theta 2 ist und wir übertragen

01:21:58.280 --> 01:22:02.160
das in diese Matrix-Schreibweise, dann bekommen wir X1 Punkt, X2 Punkt

01:22:02.160 --> 01:22:07.360
und hier unsere Theta Punkt, Theta 1 Punkt, Theta 2 Punkt und dann

01:22:07.360 --> 01:22:12.200
hier, wie man sieht, die zwei, die einzelnen Elemente von dieser 2x2

01:22:12.200 --> 01:22:12.700
Matrix.

01:22:13.220 --> 01:22:14.260
Und was bedeutet das?

01:22:14.380 --> 01:22:19.300
Das bedeutet, die erste Spalte ist unsere J1 und die zweite Spalte ist

01:22:19.300 --> 01:22:19.800
J2.

01:22:21.400 --> 01:22:24.100
Und wenn wir das haben, dann können wir eigentlich das inverse

01:22:24.100 --> 01:22:30.700
kinematische Problem lösen, weil wir haben jetzt das hier, das heißt,

01:22:30.880 --> 01:22:34.420
wenn mich beispielsweise Theta 1 Punkt und Theta 2 Punkt

01:22:34.420 --> 01:22:38.880
interessieren, um die Tasse zu greifen oder zu erreichen, dann muss

01:22:38.880 --> 01:22:42.940
ich nur diese Matrix hier invertieren und das ist eine 2x2 Matrix,

01:22:43.680 --> 01:22:47.080
normalerweise leicht invertierbar, es sei denn, diese Matrix ist

01:22:47.080 --> 01:22:48.300
singulär, oder?

01:22:49.220 --> 01:22:52.000
So, und wann ist diese Matrix singulär?

01:22:53.180 --> 01:22:56.960
Kann jemand das so spontan herausfinden?

01:22:59.900 --> 01:23:04.840
Wenn irgendwelche Spalten oder Zeilenvektoren linear abhängig sind und

01:23:04.840 --> 01:23:08.940
wenn wir hier zum Beispiel Theta 2 gleich 0 haben, dann sind

01:23:08.940 --> 01:23:13.360
eigentlich J1 und J2 linear abhängig voneinander und deshalb ist die

01:23:13.360 --> 01:23:14.900
Matrix dann nicht mehr invertierbar.

01:23:15.380 --> 01:23:19.460
Obwohl das so ein einfaches Problem ist, nur zwei Gelenke und nur im

01:23:19.460 --> 01:23:23.900
2D, also nur X1 und X2 im Arbeitsraum.

01:23:24.980 --> 01:23:29.240
Und da sieht man hier, dass wir immer eine Lösung haben, solange diese

01:23:29.240 --> 01:23:36.780
J1 und J2, also die Spaltenvektoren in dieser Matrix nicht linear

01:23:36.780 --> 01:23:37.640
abhängig sind.

01:23:38.760 --> 01:23:42.200
Und wenn das der Fall ist, dann kann sich tatsächlich der Endeffektor

01:23:42.200 --> 01:23:44.580
in beliebiger Richtung in der Ebene bewegen.

01:23:45.280 --> 01:23:51.080
Wenn das nicht der Fall ist, wenn sie linear abhängig sind, dann ist

01:23:51.080 --> 01:23:55.800
die Matrix singulär, also zum Beispiel bei Theta 2 gleich 0 und somit

01:23:55.800 --> 01:23:59.440
werden die Bewegungen von dem Endeffektor eingeschränkt.

01:23:59.560 --> 01:24:02.980
Da kann der Endeffektor sich nicht in beliebiger Richtung bewegen.

01:24:04.080 --> 01:24:07.900
So, man sieht, wir wollen auch das Thema ein bisschen vertiefen, was

01:24:07.900 --> 01:24:11.000
Singularitäten bei Roboterarmen bedeuten.

01:24:12.240 --> 01:24:14.860
Also das heißt, die Jacobi-Matrix ist nicht invertierbar.

01:24:15.600 --> 01:24:19.460
Physikalisch betrachtet, also nicht invertierbar und wir müssen hier

01:24:19.460 --> 01:24:20.180
invertieren.

01:24:20.800 --> 01:24:24.080
Das ist so, wenn wir im Skalaren sind, als ob wir durch Null

01:24:24.080 --> 01:24:24.740
dividieren.

01:24:25.540 --> 01:24:30.860
Und wenn wir durch Null dividieren, heißt es so unendlich, oder?

01:24:31.960 --> 01:24:39.000
Und wenn wir das bei einem physikalischen System haben, dann bedeutet

01:24:39.000 --> 01:24:44.280
das eigentlich, dass der Roboter unendlich große Geschwindigkeiten

01:24:44.280 --> 01:24:48.340
braucht, um aus solchen singulären Konfigurationen rauszukommen, was

01:24:48.340 --> 01:24:51.620
physikalisch und technisch nicht realisierbar ist.

01:24:52.520 --> 01:24:56.340
Und deshalb sollen natürlich alle solchen singulären Stellungen bei

01:24:56.340 --> 01:24:58.420
einem Roboterarm vermieden werden.

01:24:59.400 --> 01:25:05.320
Das ist auch einer der wesentlichen Aspekte, die ich bei der

01:25:05.320 --> 01:25:10.940
Motivation hier, oder die in der Gliederung des Kapitels hier standen,

01:25:10.980 --> 01:25:13.860
dass wir uns diese Singularitäten hier angucken wollen.

01:25:15.480 --> 01:25:18.940
So, und das werden wir das nächste Mal dann machen.

01:25:19.180 --> 01:25:20.820
Also was bedeutet Singularitäten?

01:25:21.640 --> 01:25:26.940
Und was bedeutet das für die Beweglichkeit von der kinematischen Kette

01:25:26.940 --> 01:25:34.400
oder vom Roboterarm, wenn solche zwei Spalten von der Jacobi-Matrix

01:25:34.400 --> 01:25:39.400
linear abhängig sind, dann sind das eigentlich solche Situationen, wie

01:25:39.400 --> 01:25:41.020
Gelenke ineinander übergehen.

01:25:41.200 --> 01:25:45.600
Also wenn ich meinen Arm strecke und ich rotiere jetzt den Oberarm in

01:25:45.600 --> 01:25:49.960
die Richtung und den Unterarm in die Richtung, dann bleibt die

01:25:49.960 --> 01:25:53.360
Orientierung vom Endeffektor gleich, obwohl ich unterschiedliche

01:25:53.360 --> 01:25:57.920
Gelenkwinkelkonfigurationen für Oberarmdrehung und Unterarmdrehung

01:25:57.920 --> 01:25:58.180
habe.

01:25:58.840 --> 01:26:00.480
Aber für heute machen wir Schluss.

01:26:00.640 --> 01:26:01.940
Ich bedanke mich sehr für die Aufmerksamkeit.

