So, hallo, ich begrüße euch herzlich zur heutigen Vorlesung.
Wir machen weiter mit dem Stoff.
In der vorletzten Vorlesung haben wir uns mit dem Thema Dynamik
beschäftigt.
Ja, also Kinematik vorher, aber dann jetzt Dynamik.
Und wir haben die zwei typischen Probleme der Dynamik kennengelernt.
Also einmal das inversi-dynamische Problem und einmal das direkte,
also direkte Dynamik und inversi-Dynamik.
Und wir haben uns das letzte Mal gefragt, wie kann man eigentlich
diese Bewegungsgleichungen von einem Mehrkörpersystem bestimmen?
Also ein Roboterarm, also eine offene kinematische Kette bestimmen.
Und haben wir gesehen, dass es hierzu zwei Methoden gibt.
Die eine Methode haben wir bereits kennengelernt.
Das ist die Methode nach Lagrange.
Die ist so basierend auf Energiebetrachtungen im System.
Das heißt, man muss hier für ein gegebenes System die gesamte
kinetische Energie bestimmen.
Und wir wissen ja, bei einem Roboterarm hatten wir auch anhand von
Beispielen gesehen, dass diese kinetische Energie sowohl von den
Gelenkwinkeln als auch Gelenkwinkelgeschwindigkeiten abhängt,
beziehungsweise bei translatorischen Gelenken auch von der
translatorischen Geschwindigkeit und dann auch die potenzielle Energie
eines Systems.
Wenn wir diese zwei Größen bestimmt haben, dann können wir die
Lagrange -Funktion bestimmen.
Und diese Lagrange-Funktion, wie man sieht, hängt von den
generalisierten Koordinaten q oder q Punkt, also die Geschwindigkeiten
dieser generalisierten Koordinaten.
Die können Gelenkwinkelgeschwindigkeiten, translatorische
Geschwindigkeiten und Ähnliches sein.
Und wenn wir dann die Bewegungsgleichungen aufstellen wollen, die
Bewegungsgleichungen kennen wir, das ist diese Matrix m mal q zwei
Punkt plus irgendwas c mal q Punkt plus und so weiter und so fort
gleich tau.
Ja, also die Drehmomente, die tatsächlich in den einzelnen Gelenken
auftreten, dann können wir diese Drehmomente, die in einem Gelenk
auftreten, hier bestimmen, indem wir zunächst mal die Funktion, die
Lagrange -Funktion nach q Punkt für die jeweilige Koordinate i
ableiten und das Ganze nochmal nach der Zeit und davon nochmal die
Ableitung der Funktion L, also die Lagrange-Funktion L nach der
Koordinaten q i.
Und wir haben das letzte Mal auch gesehen oder festgestellt, dass das
Aufstellen dieser Gleichungen eigentlich einfach ist.
Das ist ja eine Fleißarbeit und die wesentliche Arbeit besteht darin,
die Kinetik und die potenzielle Energie des Systems zu bestimmen.
Weil wenn ich das bestimmt habe, dann muss ich nur ein bisschen
rechnen.
Wir haben gesehen oder wir sehen, dass es ein geschlossenes Modell
ist.
Das heißt, wir kriegen diese Bewegungsgleichungen in symbolischer Form
und die kann man natürlich analytisch berechnen.
Muss man natürlich heftig differenzieren, damit man diese Gleichungen
bekommt.
Und das ist immer mit einem Rechenaufwand verbunden.
Man kann zeigen, dass der Aufwand hier kubisch in n ist, wenn n die
Anzahl der Freiheitsgrade ist.
Und was wir kriegen, wir kriegen die Tau Is.
Also diese Tau Is sind nochmal die Drehmomente in den einzigen
Gelenken, die notwendig sind, um eine Bewegung zu generieren mit einem
bestimmten Gelenkwinkel, Gelenkwinkelgeschwindigkeiten und
Gelenkwinkelbeschleunigungen.
Aber diese Methode hier, die sagt uns überhaupt nichts über die
Kräfte, die z.B.
ein Gelenk oder ein Element, ein Armelement auf das andere ausübt.
Könnt ihr euch vorstellen, wenn der Unterarm sich bewegt, dann dass
irgendwelche Kräfte durch diese Bewegung auf den Oberarm auswirken
oder wenn die Schulter sich bewegt, dass natürlich aufgrund von dieser
Bewegung Kräfte im Unterarm entstehen oder am Endeffekt entstehen.
Das heißt, diese Interaktionskräfte, ich nenne sie Interaktionskräfte
oder auch Momente zwischen zwei Segmenten in einem Mechanismus, die
können wir auf die Art und Weise nicht berechnen.
Natürlich, weil wenn man die Herleitung von dieser Methode mal
betrachtet, basiert natürlich auf der Arbeit bzw.
auf der Energie.
Wie ich bereits gesagt habe, da werden diese Interaktionskräfte
eliminiert.
Die heben sich gegenseitig auf und werden natürlich in der Methode
auch eliminiert, sodass man sie nicht rechnen kann.
Die Frage, die sind natürlich wichtig.
Man kann sich natürlich auch vorstellen, dass wir schon Interesse
haben, welche Kräfte treten am Endeffekt auf.
Ja, am Endeffekt auf hier, wenn bestimmte Gelenke mit bestimmten
Geschwindigkeiten oder Beschleunigungen sich bewegen oder wenn ich ein
Objekt trage und transportieren will.
Das ist ja eine externe Kraft, die am Endeffekt auftritt.
Da muss ich halt davor sorgen, dass die Gelenkwinkel Beschleunigungen,
Geschwindigkeiten und die Gelenkwinkel Trajektorien, also die
richtigen dann ausgewählt werden, damit ich diese Last kompensiere.
Das heißt, wir müssen immer oder wir brauchen immer diese Information,
wie die Wechselwirkung zwischen den Elementen aussieht.
In einem Roboter und man kann es kaum erwarten.
Natürlich gibt es hierzu eine zweite Methode und diese zweite Methode
ist die Methode von Newton Euler.
Und diese Methode wollen wir hier kurz kennenlernen als praktisch die
duale Methode zu Newton Euler.
Wir werden auch sehen, dass diese Methode vom Rechenaufwand
effizienter ist.
Also braucht nicht so die Rechenkomplexität von dem dahinterstehenden
Algorithmus ist linear in n und nicht kubisch in n.
Und wir werden natürlich mit dieser Methode auch diese
Interaktionskräfte zwischen einzelnen, die zwischen einzelnen
Armsegmenten auftreten, auch berechnen können.
Das heißt, es ist ein bisschen Physik und das Grundprinzip ist nochmal
hier dargestellt.
Wir betrachten hier zunächst mal die Massenschwerpunkte von einem
Element.
Also das sind unsere Gelenke, die wir kennen, die wir kennen.
Und das sind hier die Massenschwerpunkte m i.
Und wir wissen natürlich, dass wir hier auf diesem Armsegment i, dass
eine Kraft hier auswirkt während der Bewegung, wenn der Roboter
irgendwas hochhebt und dass natürlich hier dieses Armsegment mit einer
bestimmten translatorischen Geschwindigkeit sich bewegt.
Die wollen wir jetzt mit Vs, also Vs bzw.
eine Beschleunigung V.s.
Und wenn wir hier die Gesetze der Physik mal angucken, das zweite
Newton'sche Gesetz, also Fi ist gleich m mal a bzw.
mi mal der Beschleunigung mal Beschleunigung vom Massenschwerpunkt.
Und das andere, was gilt, ist natürlich der Drehimpuls, das
Drehimpulsgesetz.
Es funktioniert mein Stift hier nicht, komischerweise.
Der uns wie sagt, dass eigentlich das Drehmoment, ja, das Drehmoment,
was hier auswirkt, auf dem, auf diesem Element ist nichts anderes als
Trägheitstensor I multipliziert mit der Winkel, mit der
Winkelbeschleunigung vom Massenschwerpunkt, also Omega.
Wenn Omega die Winkelgeschwindigkeit ist, dann vom Massenschwerpunkt
S, vom Massenschwerpunkt von diesem Element I, ja, dann ist Omega
Punkt natürlich die Beschleunigung.
Und die Kräfte und Momente, die auf ein Armelement wirken, die lassen
sich über diese Geschwindigkeiten, Winkel, also Geschwindigkeiten der
Massenschwerpunkte, Winkelgeschwindigkeiten, weil das sind hier unsere
Gelenke.
Okay, also die Kräfte und Momente, die auf die Armelemente wirken, die
lassen sich berechnen.
Das ist so die These hier, wenn aus den Geschwindigkeiten,
Gelenkwinkelgeschwindigkeiten, die wir hier kennen.
Wir wissen, dass die Beschleunigung eines Armsegments, also V, also
die Beschleunigung, die translatorische Beschleunigung, wenn man so
will, und die Winkelbeschleunigung, die hängen von den
Beschleunigungen von den vorhergehenden Armelementen ab.
Ist klar, wenn mein Unterarm sich bewegt, ja, die Beschleunigung
beziehungsweise die Geschwindigkeiten, die hängen, die Beschleunigung,
die hängen ja ab auch von der Beschleunigung von dem Oberarm.
Also wenn mein Schultergelenk sich bewegt mit einer bestimmten
Beschleunigung, das wirkt ja sich aus auf die Beschleunigung vom
Unterarm, wenn wir von einem rigiden, also starren Körper hier
ausgehen.
Wir haben ja aber, wie wir wissen, das kinematische Modell von einem
Roboter, also was diese Zusammenhänge zwischen den Armelementen
beschreibt.
Das heißt, die Beschleunigung können wir dann über das kinematische
Modell von der Basis zum Greifer rekursiv berechnen.
Und das nennt man in diesem Kontext oder bei diesem Newton-Euler
-Verfahren die Vorwärtsgleichung der Dynamik, ja, oder die
Vorwärtsgleichung von Newton-Euler.
Es ist klar, es ist einleuchtend.
Beschleunigungen von einem, von dem Vorarm, die hängen auch von
Beschleunigungen der vorhergehenden Gelenke.
Das heißt, wenn ich in der Basis anfange und diese Beschleunigung mal
berechnen vom Oberarm, von der Schulter, vom Oberarm, vom Unterarm,
vom Greifer, von irgendeinem Werkzeug, was dann am Arm vielleicht oder
was der Roboter mal trägt, dann kann ich das Ganze rekursiv hier
machen.
Die Kräfte und das Drehmoment, was auf ein Armelement auswirkt, zum
Beispiel die Kraft und das Drehmoment, was an meinem Oberarm auswirkt,
hängt von den Kräften und Momenten am nachfolgenden, am nachfolgenden
Armelementen.
So, das bedeutet, wenn ich die berechnen will, dann fange ich am
Greifer an.
Ja, das ist ganz auch einleuchtend.
Wenn der Greifer leer ist, dann habe ich eine andere Kraft, die auf
dem Unterarm auswirkt oder auf dem Arm insgesamt, als wenn der Greifer
jetzt eine Bierkiste oder der Roboter eine Bierkiste hochhebt.
Das heißt, wenn ich am Ende anfange, wenn ich am Ende anfange, vom
Greifer bis zur Basis, dann kann ich diese Kräfte und Momente auch
rekursiv berechnen.
Und das sind die sogenannten Rückwärtsgleichungen bei Newton-Euler.
So, nun wollen wir das uns ganz kurz anschauen, weil die Methode
tatsächlich diese Vorteile hat, dass diese wechselwirkenden Kräfte
berechnet werden können und weil der Aufwand so klein ist, weil ich,
wie wir gleich sehen werden, gar kein Differenzieren machen muss,
beispielsweise von der Lagrange-Funktion, sondern eine Rekursion habe,
die mir sagt, wie ich vom Greifer, von der Basis zum Greifer komme,
damit ich Beschleunigungen berechne und wie ich dann vom Greifer zur
Basis rekursiv, über rekursive Vorschriften alle Kräfte und Momente
berechnen kann.
Da war hier eine Frage.
Ja, das ist eine gute Frage.
Seine Frage war, ist es wichtig, dass die Basis fest ist, also nicht
beweglich ist, damit das Ganze funktioniert?
Was meint ihr dazu?
Könnt ihr noch nicht beurteilen, weil wir wissen noch nicht, wie die
Methode da ist, oder?
Aber ich kann dir sagen, das Ganze gilt hier für Systeme mit einer
festen Basis, also keine sogenannten Floating Base Systeme, also
Systeme, wo die Basis tatsächlich nicht fest ist.
Kommen wir später drauf an.
So, das heißt, wie gehen wir vor?
Wir haben ja das kinematische Modell und wir haben den Zustand von dem
System, aus dem kinematischen Modell und dem Systemzustand können wir
die Winkelgeschwindigkeiten, translatorischen Geschwindigkeiten,
Beschleunigung der Gelenke und Armelement i im Basiskoordinatensystem
bestimmen.
Ja, das ist ja eigentlich, was die Kinematik macht.
Die Kinematik ist die Lehre der Bewegung, ohne dass wir irgendwelche
Kräfte und Momente betrachten.
Was berechnet wird, sind einmal die Winkelgeschwindigkeiten vom Gelenk
i, die Winkelbeschleunigung vom Gelenk i, die Geschwindigkeit vi und
Beschleunigung der Basis der Koordinatensysteme und die
Geschwindigkeiten und die Beschleunigung der Massenschwerpunkte der
einzelnen Elemente.
Das heißt, wenn man das jetzt zusammenfasst, dann haben wir folgendes
Strukturbild.
Das heißt, wir haben irgendwelche Anfangsbedienungen, wir haben die
Schwerpunkte der Armelemente, wir haben die kinematischen Parameter,
die für uns die Lage der einzelnen Koordinatensysteme zueinander
beschreiben, z.B.
die Denevet-Hartenberg-Parameter und wir haben die...
von der Kinematik kriegen wir natürlich die Gelenkwinkel,
Gelenkwinkelgeschwindigkeiten.
Wenn wir im Geschwindigkeitsraum arbeiten und können wir natürlich
auch die Beschleunigungen, die Gelenkwinkelbeschleunigungen hier
berechnen und was kriegen wir?
Wir kriegen das, was wir gerade auf der Folie davor hatten, also die
Gelenkwinkelbeschleunigung, Geschwindigkeit, Beschleunigung, die
Geschwindigkeiten bzw.
die Geschwindigkeit und Beschleunigung, Geschwindigkeiten und
Beschleunigung vom Armelement, vom Koordinatensystem I und dann die
Geschwindigkeit und die Beschleunigung vom Massenschwerpunkt vom
Armelement I.
So, und auf die Art und Weise, wenn wir jetzt bei, wie wir vorher
gesagt haben, wenn wir jetzt bei Gelenk 0, also bei Koordinatensystem
0, bei der Basis anfangen, dann können wir natürlich diese Werte, die
wir hier bekommen haben, für Gelenk 0 einsetzen, um die Werte für
Gelenk 1 zu bekommen.
Und das ist, was tatsächlich hier erfolgt.
Das heißt, man kann hier ausgehend von diesen Eingabedaten, also Q, Q
Punkt und Q 2 Punkt, ja, kann man solche rekursiven Funktionen
berechnen, wie man sieht hier, Gelenkwinkel,
Gelenkwinkelgeschwindigkeit vom Element I plus 1 ist eine Funktion,
die hängt natürlich von der Gelenkwinkelgeschwindigkeit vom I und von
Gelenkwinkelstellung und Gelenkwinkelgeschwindigkeit vom I plus 1.
Ja, die Beschleunigung von I plus 1 hängt wiederum von der
Beschleunigung, natürlich vom Gelenkwinkelgeschwindigkeit vom letzten
Element, der Beschleunigung vom letzten Element und dann natürlich die
jeweiligen Größen des gleichen Gelenks, Q I plus 1, Q Punkt I plus 1
und Q 2 Punkt I plus 1.
So, das heißt, hier darf natürlich kein Omega Punkt plus 1 oder Omega
I plus 1 auftreten.
Wie man sieht hier, die Berechnung von etwas, was also nachfolgendes
Gelenk oder Armelement hängt nur von dem vorhergehenden ab.
Ja, und das ist das Aktuelle, was wir ja kennen, was ja gegeben ist
aus dem kinematischen Modell.
Da kriegen wir ja unsere Gelenkwinkel und
Gelenkwinkelgeschwindigkeiten und Gelenkwinkelbeschleunigungen.
Das Gleiche für die Geschwindigkeiten.
Und man sieht hier, dass diese Geschwindigkeiten von Armelement I plus
1 nur von Geschwindigkeiten und Winkelgeschwindigkeiten vom Letzten
abhängen und von Q, was ja vom Gleichen abhängt und was wir ja von der
Kinematik bekommen.
Und so weiter und so fort.
Natürlich müssen wir hier für diese rekursiven Formen, also das sind
die Werte, die uns interessieren, Geschwindigkeit, Beschleunigung,
Geschwindigkeit, Beschleunigung vom Basiskoordinatensystem des
jeweiligen Gelenks und Geschwindigkeit und Beschleunigung vom
Massenschwerpunkt eines Armelements.
Natürlich brauchen wir hier gewisse Startwerte und die Startwerte sind
die initiale Geschwindigkeit und die initiale Beschleunigung.
Die wäre jetzt hier von der Basis.
Das heißt zu deiner Frage von vorher, wenn man hier von Null
verschiedene Geschwindigkeiten beziehungsweise Winkelgeschwindigkeiten
hat, dann kann man das tatsächlich hier bei dieser Betrachtung
berücksichtigen.
Okay, jetzt die Rückwärtsgleichungen.
Also bis jetzt haben wir nur Geschwindigkeiten und Beschleunigungen
von den jeweiligen Koordinatensystemen im Arm eines Mehrkörpersystems.
Und wir haben die Geschwindigkeit und Beschleunigung vom
Massenschwerpunkt.
Aber wir haben bis jetzt überhaupt keine Aussage über die Kräfte und
Momente getroffen.
Und das machen wir als nächstes mit den Rückwärtsgleichungen.
Und wie bereits vorher erwähnt, diese Rückwärtsgleichungen, wir fangen
beim Greifer an.
Und wir können rekursiv diese Geschwindigkeiten oder diese Kräfte
beziehungsweise Momente berechnen.
Natürlich diese Größen, die wir im Vorwärtsschritt berechnet haben,
die müssen wir berücksichtigen, die haben wir jetzt.
Also wir sind jetzt von der Basis bis zum Endeffektor gegangen und wir
kennen alles.
Jetzt nutzen wir diese Werte, die wir durch die Vorwärtsgleichungen
berechnet haben, um diese Kräfte und Momente zu berechnen.
Und was wir berechnen, dann die Kraft, die im Schwerpunkt eines
Armelement i auftritt, der Drehimpuls, der im Schwerpunkt eines vom
Armelement i auftritt.
Dann, und das ist jetzt ganz wichtig, der Kraft, F i ausgeübt von
Armelement i minus 1, also vom vorhergehenden Armelement auf das
Armelement i, beziehungsweise den Momentvektor, der auch von Element i
minus 1 auf Element i ausgeübt wird und auch das Drehmoment im Eating
-Gelenk.
Wie soll man sich das vorstellen?
Nehmen wir mal ein Armelement und das ist hier ein Armelement.
Man sieht hier, das ist hier unser Koordinatensystem, beziehungsweise
in Transformationsform hier geschrieben von A 0 nach i minus 1, also
zum Armelement minus 1 und das ist von A 0 nach i.
Und wir haben einen Massenschwerpunkt hier.
Und wir haben natürlich in jedem Gelenk einen Kraft F i und einen
Moment in i, wie man sieht hier, F i plus 1 und in i plus 1 vor das
Gelenk i.
Und dann haben wir natürlich die Kräfte und Momente, die am
Massenschwerpunkt hier ausgeübt werden.
Zusätzlich haben wir hier zwei Vektoren, einmal P i, also praktisch
die Relation der Vektor zwischen den beiden Gelenken und einmal S i,
das ist der Vektor vom Gelenk i hier zum Massenschwerpunkt vom Element
i.
So, und natürlich muss man hier jetzt auf die Physik gucken.
Das heißt zunächst mal Kraftmomentensatz, F ist gleich einmal A und
dieses A, also diese Beschleunigung eigentlich vom V i, also vom
Koordinatensystem des i-ten Armelement und diese Beschleunigung auch,
Omega i Punkt, die haben wir schon aus den Vorwärtsgleichungen
berechnet.
Und man sieht, dass diese Kraft hier, die am Massenschwerpunkt
auftritt, ist nichts anderes als eigentlich muss ja diese Balance
zwischen klein f i und klein f i plus 1 garantieren.
Das ist ein Gleichgewicht, ein kräftiges Gleichgewicht, das heißt f
von i ist gleich eigentlich f i minus f i plus 1.
Und das Gleiche muss hier gelten für den Drehimpuls.
Und dieser Drehimpuls ist nichts anderes als jetzt, also
Drehimpulsgleichgewicht, Gleichung, wenn man will, ist nichts anderes
als das hier minus das hier.
Das sind die zwei Drehmomente, die in den jeweiligen Gelenken
auftreten.
Plus natürlich die Momente, die aufgrund von der Kraft f i und
aufgrund von der Kraft f i plus 1 auftreten.
Und diese Momente hier, die lassen sich natürlich immer über das
Kreuzprodukt mit dem Abstandsvektor berechnen.
Das heißt zum Beispiel p i mal f i plus 1.
p i mal f i plus 1, da kriege ich natürlich das Moment hier im
Koordinatensystem von dem hier.
Und das andere muss ich praktisch, das hier als eine Wirkungslinie
oder als ein Arm für die Berechnung von diesem Drehmoment.
Und das ist nichts anderes als p plus s und da das in die andere
Richtung wirkt, ist minus p minus s multipliziert mit der Kraft f i.
So, das heißt, wie man hier sieht, können wir auf die Art und Weise
auch rekursiv diese Größen, also diese f i und n i für alle Elemente
berechnen.
Und das erfolgt auf die gleiche Art und Weise.
Das heißt, wir haben hier irgendwelche externen Kräfte am Ende-Vektor.
Also wir haben ja vorher berechnet, Geschwindigkeiten,
Beschleunigungen und so weiter von der Basis bis zum Ende-Vektor.
Alle diese Größen haben wir.
Jetzt fangen wir am Ende-Vektor.
Welche Kraft wird dort ausgeübt?
Vielleicht nur das Gewicht von der Hand selber oder von dem Objekt
oder von irgendeiner externen Kraft, die am Roboter auswirkt.
Beispielsweise, wenn er in Kontakt mit der Umgebung, mit der Tour, um
die Tour aufzumachen.
Und dann können wir über diese Rückwärtsgleichungen, wie man sieht
hier, f i, die hängt natürlich nur von V-Punkt, also von der
Beschleunigung, vom Massenschwerpunkt, vom Element i.
Dann n, auch von denen hier.
Dann f i, natürlich von den anderen Komponenten, wie wir gerade
gesehen haben.
Und n i, also das Drehmoment im Gelenk i.
Und wir können zusätzlich auch die Drehmomente in den einzelnen
Gelenken berechnen.
Das heißt, wenn ein Roboter jetzt irgendein Objekt manipuliert oder
bewegen soll, und das ist die externe Kraft, die auf dem Roboter
auftritt, dann können wir über die Vorwärtsgleichungen zunächst mal
alle Geschwindigkeiten und Beschleunigungen der Gelenke und
Massenschwerpunkte berechnen.
Und über diese Rückwärtsgleichungen können wir die Kräfte, die
Momente, die in den einzelnen Gelenken, nicht nur in den einzelnen
Gelenken auftreten, wie bei Lagrange.
Lagrange hat uns nur das geliefert.
Also diese symbolischen Gleichungen, die wir bekommen haben, die haben
uns nur diese Taus, die nichts anderes als Drehmomente der Gelenke,
also in den einzelnen Gelenken, geliefert.
Und wie man sieht hier, haben wir die Kräfte und Momente, die auf dem
Massenschwerpunkt von jedem Armelement auswirken und die Kräfte und
Momente, die in den einzelnen Armelementen aufgrund der Auswirkungen
anderer Armelemente entstehen, auch berechnen können.
Okay, wenn man das zusammenfasst, oder wenn man das implementieren
will, das sind ja ein paar Zeilen im Code, um diese Rekursion mal zu
implementieren.
Man fängt also mit den Bewegungen der Basis, V0, Beschleunigung der
Basis, aber auch Drehgeschwindigkeit und Winkelgeschwindigkeit und
Winkelbeschleunigung.
Natürlich kriegen wir über die Kinematik immer unsere Gelenkwinkel und
Gelenkwinkelgeschwindigkeiten.
Das sind die Informationen, die aus dem kinematischen Modell kommen,
die aus der Kinematik kommen.
Dann berechnen wir hier, wie man sieht, von V0, Omega 0, V1, Omega 1
und so weiter und so fort bis zum letzten Gelenk hier, also das wäre
unser Endeffektor.
Und diese zusätzlich mit der Geschwindigkeit und Beschleunigung vom
Massenschwerpunkt, was die Vorwärtsgleichungen auch berechnen, nutzen
wir aus in den Rückwärtsgleichungen, wie man sieht.
Also das sind zum Beispiel die Kräfte und Momente, die am Endeffektor
ausgeübt werden.
Daraus können wir direkt Tau n, also das Moment, was am letzten Gelenk
ausgeübt wird, berechnen.
Mit Vsn und V.sn und Omega n und Omega.n und zusammen mit denen hier
können wir natürlich Fn-1 und Nn-1 berechnen und daraus auch natürlich
die Drehmomente, die am Gelenk n-1 und so weiter und so fort bis wir
am Ende die Kräfte und Momente, die auf der Basis auswirken und das
Drehmoment im Null-Tin-Gelenk haben, das Arm.
So, wie man sieht hier, das ist eine ziemlich einfache Rekursion.
Wenn man einmal diese Modelle hat, dann sind natürlich die
Implementierungen von diesen Gleichungen wirklich ein paar Zeilen gut
und kann man auf die Art und Weise sehr schnell und sehr effizient
durch diese Rekursion die Kräfte und Momente berechnen.
Und das können wir machen für eine beliebige Anzahl von Gelenken.
Natürlich kann man das auch bei Lagrange, aber ihr könnt euch
vorstellen, wenn wir eine große Anzahl von Gelenken, dass die
Aufstellung von der kinetischen oder von der potenziellen Energie
nicht so trivial wird.
Die Belastungen der Armelemente werden berechnet und der Aufwand ist
linear in der Anzahl der Freiheitsgrade.
Und das ist die Variante, die man oder diese Methode ist die Methode,
die man anwendet, wenn man eine Echtzeitanforderung hat an das System,
dass man tatsächlich sehr schnell hier die sogenannte direkte
Kinematik, letztendlich berechnen wir jetzt hier die direkte
Kinematik, weil aus dem kinematischen Modell, aus diesen
Betrachtungen, kriegen wir die Taus, nutzen wir natürlich Q, Q-Punkt
und Q-Zweipunkt.
Und das war die Definition von der inversen Dynamik, also wo wir
einfach die Q, Q-Punkt, Q-Zweipunkt in den Gleichungen einsetzen und
kriegen wir die Drehmomente.
Und das ist die Art und Weise, wie man das hier macht.
Für die Leute, die an den genauen Abläufen beziehungsweise
Implementierung interessiert sind, empfehle ich sehr Kapitel 8.3 in
dem Buch, was wir in unserer Literaturliste empfohlen haben, Modern
Robotik von Kevin Lynch.
Und da gibt es auch die entsprechenden YouTube-Videos, also so eine
MOOC -Einheit zu dem Buch, wo in Kapitel 8.3 tatsächlich die Inversen
Dynamik mit Newton, Euler beschrieben wird.
Also diese Rekursion, die wir jetzt hier beschrieben haben,
beschrieben ist oder sehr, sehr anschaulich, aber auch mathematisch
heftig, so heftig nicht eigentlich.
Einfach zu viele Indizes und Koordinatensysteme.
Aber das ist interessant mal anzuschauen für die Leute, die sowas
implementieren wollen.
Nun ist es in der Realität auch nicht so.
Eigentlich haben wir in unserem Dynamikmodell alle diese Methoden, die
wir kennen, auch dieses Kapitel 8.3 in Modern Robotik, die gucken nur
diesen Teil der Dynamikgleichung.
Ja, also das haben wir ja kennengelernt.
Das sind die Vektor der generalisierten Kräfte und Momente, die
Drehgehaltsmatrix multipliziert mit der Winkelbeschleunigung, dann ein
Vektor der Zentrifugale und Corelliskräfte, hängt natürlich von
Geschwindigkeiten und von aktueller Lage, dann ein Gravitationsvektor.
Und was vernachlässigt wird, ist, dass eigentlich diese Modelle von
diesen Robotern nie genau sein können, weil man vieles nicht so
einfach modellieren kann, wie zum Beispiel Reibung, wie Verschleiß,
wie irgendwelche Getriebeeffekte und so weiter und so fort.
Und das sind nicht lineare Effekte, meistens nicht lineare Kräfte oder
Momente, wie im Falle von Reibung hier, die man nicht so direkt
modellieren kann.
Und um das natürlich zu berücksichtigen, fügt man hier einen Term,
einen Y-Term, der diese nicht-linearen Effekte berücksichtigt und
dieser Term, wie man hier sieht, ist ziemlich hässlich, weil der hängt
sowohl von Q als auch Q-Punkt als auch Q-Zweipunkt.
Also nicht so diese saubere Unterteilung hier, Q-Zweipunkt, Q-Punkt
und so weiter, sondern der hängt von allen ab.
Und genau, einmal die Grunde, die Dynamik kann sich im Laufe der Zeit
stark verändern, also auch durch Abnutzung, durch Dehnung, Stauchung
von Material.
Also auch wenn man es schafft, ein exaktes dynamisches Modell, das
diese Nicht-Linearitäten berücksichtigt, wie Reibung und ähnliches,
ändert sich das Modell im Laufe der Zeit.
Und natürlich, die Dynamik variiert sich immer in Abhängigkeit von der
Aufgabe, die man ausführen will, weil wenn der Arm entlang einer Sinus
-Trajektorie, ohne etwas zu tragen, was machen soll, hat er eine
andere Dynamik, als wenn er jetzt einen Hammer in der Hand hat.
Also wenn er einen Hammer in der Hand hat, die komplette Dynamik ist
anders und natürlich, je nachdem, wie der Hammer gegriffen wird, ist
die Dynamik auch anders.
Also wenn ich immer den Hammer auf die gleiche Art und Weise greife,
dann kann ich natürlich dieses dynamische Modell vom Hammer mit in
mein Modell integrieren und berechnen, beispielsweise mit Newton
-Euler.
Aber wir können nicht garantieren, dass immer der gleiche Griff ist,
an der gleichen Stelle, mit den gleichen Reibungseffekten und so
weiter und so fort.
Das heißt, wenn wir Objekte zum Beispiel greifen und transportieren,
dann ist das eine Änderung im Dynamikmodell.
Ja, wie geht man um mit diesen Sachen, weil das sind anscheinend
wichtige Sachen.
Man muss ja auch garantieren, vor allem wenn es um sehr genaue
Aufgaben, die ein Roboter ausführen muss, wie montieren der
Frontscheibe bei einem Auto.
Dann muss natürlich auch das funktionieren.
Der Roboter muss genau sein, wenn er ohne läuft, beziehungsweise wenn
er mit der Scheibe, also mit diesen Fensterscheiben fährt.
Wie macht man das?
Natürlich in solchen industriellen Umgebungen hat man tatsächlich auch
Modelle von diesen Objekten.
Also man weiß genau, wie schwer diese Objekte sind, wo der Griff immer
ist.
Und der Griff erfolgt immer an der gleichen Stelle.
Also das sind sehr, sehr präzise Greifer, spezielle Greifer, die man
hierzu dann entwickelt, so dass man natürlich die Berechnungen einmal
macht und dann ist man fast sicher, dass es immer funktioniert.
Wenn es um Roboter geht, die jetzt nicht für den industriellen
Kontext, wo man jetzt nicht so auf aufwendige Kalibrierungsmethoden
oder keine aufwendigen Kalibrierungsmethoden für jede andere, für
variierende Aufgaben realisieren will, dann hilft nur eins und zwar,
dass man tatsächlich solche Sachen lernt.
Und da will ich ganz kurz, das ist natürlich ein sehr spannendes
Thema.
Und zwar nicht nur für das Lernen von der Dynamik, sondern auch für
das Lernen der Kinematik, denn auch diese kinematischen Parameter, die
verändern sich mit der Zeit.
Also Verschleiß, Reibung und so weiter und so fort.
Vielleicht keine genaue Erfassung von den kinematischen Parametern, z
.B.
wie die Achsen zueinander liegen.
Und was man hier sieht, man sieht, wie wir die Kinematik von einem
Roboterarm hier lernen.
Das ist der Arma 6, der hat 8 Freiheitsgrade im Arm.
Und es ist sehr interessant, dass man schaut, ob diese kinematischen
Modelle, die natürlich von CAD-Zeichnungen kommen, die genau sein
sollten, aber dann werden die Teile gefertigt, montiert und man kann
nie garantieren, dass die Montage genauso ist wie im Entwurf.
Das heißt, es gibt immer so Ungenauigkeiten, die man kompensieren
muss.
Und was man hier macht, ist nichts anderes, als man Daten sammelt.
Also das sind Methoden des maschinellen Lernens, neuronale Netze und
so.
Das ist aber nicht das Thema hier.
Man sammelt Daten und man sieht hier, das sind irgendwelche Marker,
die am Tool Center Point angebracht sind.
4 insgesamt, sodass wir immer eine 6D-Pose vom Endeffektor bestimmen
können.
Und wenn der Roboter sich bewegt, natürlich haben wir Gelenkwinkel in
den Gelenken.
Das heißt eigentlich, wir kriegen immer zu jeder Millisekunde die
Information, wo unser Tool Center Point ist, durch dieses externe
Tracking System.
Das sind Marker hier an der Decke.
Wart ihr gestern am Tag der öffentlichen Tour bei uns in den Laboren?
Wer war da?
Nur?
Schämt euch.
Okay, das heißt, wir kriegen hier die 6D-Pose und das ist, was wir
brauchen in der Kinematik.
Wir lernen hier die Kinematik, wie ich gerade gesagt habe.
Wir kriegen die 6D-Pose in den Bereichen, wo der Arm sich bewegt und
immer die Gelenkwinkel, die wir ablesen von den Encodern, die im Arm
angebracht sind.
Und auf die Art und Weise können wir ein Datengetrieben, ein
kinematisches Modell lernen und mit diesem kinematischen Modell auch
genaue Aufgaben machen, die greifen, ohne dass wir beispielsweise ein
Visual Server nutzen müssen, hier realisieren.
Das gleiche macht man heutzutage.
Ihr habt ja die Vorlesung von Professor Schall am Montag gesehen und
das ist auch so ein Roboter, bei dem man auch die Dynamik lernt.
Genau das, was ich erwähnt habe.
Wenn der Roboter jetzt ein Objekt greift, das ist ohne Objekt, da
sieht die Bewegung hier so aus.
Das kann man natürlich mit bloßem Auge jetzt nicht erkennen, was der
Unterschied ist.
Und das ist kein leichtes Objekt, da sind Gewichte hier drin in dieser
Box.
Das heißt hier, wir haben 800 Gramm mehr Gewicht und natürlich muss
bei solchen Objekten auch entsprechend die Dynamik Eigenschaften
garantiert werden, zum Beispiel um das Objekt genau zu transportieren
entlang einer Trajektorie.
Und man sieht hier beispielsweise, also im Video kann man das nicht
sehen, das ist nur zum Illustrieren von der Idee, aber man sieht hier,
wie eigentlich die Dynamik ist.
Das Drehmoment, glaube ich, vom ersten Gelenk am Roboterarm und das
ist der Verlauf von diesem Drehmoment.
Grün ohne Objekt und Rot mit dem Objekt.
Das heißt eigentlich, man muss schauen, man erkennt eigentlich, diese
Änderung, die tritt jetzt nicht überall im Bewegungsraum eines
Gelenks.
Das heißt, man sieht hier, dass diese Abweichungen nur innerhalb einer
bestimmten Phase der Bewegung auftreten.
Also wenn das Objekt gegriffen wird und transportiert, bis das Objekt
abgestellt wird, hier in diesem Bereich.
Und diese Differenzen, das sind natürlich Änderungen des
Dynamikmodells.
Das ist die Änderung, die man lernen muss oder die ein Algorithmus
lernen muss.
Und das sind hier erst die Ergebnisse von dieser Arbeit, wo man
tatsächlich die Inversi-Dynamik hier mithilfe von unterschiedlichen
Methoden, auf die wir heute jetzt in dieser Vorlesung nicht eingehen
werden, lernen kann und kompensieren kann.
Es ist natürlich auch nicht so sehr vorteilhaft, dass man immer sagt,
okay, ich lerne jetzt alles, sondern was sehr interessant ist, dass
man schaut, wie man Lernmethoden entwickelt, die dieses Wissen, was
man schon hat.
Ich meine, ich habe ja Kinematikmodelle, ich habe initiale
Dynamikmodelle, die sind ja nicht so perfekt und nicht so genau.
Aber warum nicht damit anfangen und versuchen, über zusätzliche Daten,
diese Delta oder diese Differenz zu lernen und hinzuzufügen.
Ein Thema, was vielleicht in der Vorlesung maschinelles Lernen
behandelt wird.
Gut, so viel hier zu dem Thema.
Das heißt, wir haben jetzt zwei große, wesentliche Themen der
Vorlesung behandelt.
Einmal die Kinematik und einmal die Dynamik.
Natürlich haben wir die Kinematik ausgiebiger behandelt als die
Dynamik hier.
Aber einen Überblick über die Probleme oder über die unterschiedlichen
Arten und Weisen, wie man die Dynamik, also speziell Inversi-Dynamik
berechnen kann bzw.
wie man die Bewegungsgleichungen aufstellen kann, habt ihr
kennengelernt.
Und wir werden in der nächsten Übung auch noch ein Beispiel dazu
machen.
Somit schließe ich mal dieses Kapitel ab und wir machen weiter mit dem
nächsten Kapitel.
Und zwar in Kapitel 5 wollen wir uns mit dem Thema Regelung von
Roboter -Systemen beschäftigen.
So, jetzt haben wir natürlich die Kinematik und Dynamik, aber Robotik
ist Bewegung.
Eigentlich ohne Bewegung ist Robotik sinnlos.
Und um Bewegung zu generieren, haben wir bestimmte Vorgaben, zum
Beispiel um diese Tasse oder dieses Objekt mal zu transportieren,
haben wir alle Größen im Sinne von Kinematik, im Sinne von
Gelenkwinkel, Gelenkwinkelgeschwindigkeiten, Drehmomente und so weiter
und so fort, können wir alles berechnen mit Hilfe von der Kinematik
und Dynamik, was wir kennengelernt haben.
Aber wir brauchen noch ein System oder sogenannte Regler oder
Controller, die tatsächlich dafür sorgen, dass diese Vorgaben, zum
Beispiel die Lösung der inversen Kinematik oder der Dynamik,
tatsächlich erreicht werden.
Dass das natürlich ein wichtiges Thema ist, sollte den Mechatronikern,
Maschinenbauern unter euch sehr gut bekannt sein, aber vielleicht
nicht den Informatikern.
Deshalb machen wir heute eine kurze Einführung, also in Grundlagen der
Regelung.
Wer weiß eigentlich, was eine Regelung ist?
Wer weiß nicht, was eine Regelung ist?
Gut, das heißt, mehr als die Hälfte weiß, was eine Regelung ist.
Also wir machen eine kurze Einführung in Grundlagen und auch die
Mathematik, die man braucht, um Regelungssysteme zu beschreiben.
Und dann werden wir in der nächsten Vorlesung auf ein paar typische
Regler, die man so normalerweise benutzt, hier eingehen.
Und dann speziell auf Regelungskonzepte in der Robotik, also vor
Manipulatoren.
Die Regelungstechnik ist die Lehre von der selbstständigen,
selbsttätigen, gezielten Beeinflussung dynamischer Prozesse während
des Prozessablaufs.
Das heißt, es ist eine Lehre, mit der wir ein System beeinflussen
können, während des Ablaufs, sei es jetzt Drehmoment oder
Drehgeschwindigkeit eines Motors, zum Beispiel Winkelgeschwindigkeit
eines Roboterarms, zum Beispiel die Temperatur in diesem Raum und so
weiter und so fort.
Das wollen wir immer beeinflussen, und zwar auch dann, wenn wir das
System nicht so genau kennen oder wenn Störgrößen auf das System
einwirken.
Das heißt, die Grundsituation ist, dass wir diese Beeinflussung bei
unvollständigem Systemkenntnis, insbesondere wenn Störungen auf das
System einwirken, auch garantieren wollen.
Die Methoden der Regelungstechnik sind allgemein gültig.
Das heißt, sie sind unabhängig von der Natur der Systeme.
Das könnten jetzt Robotersysteme sein, die elektrisch getrieben sind,
pneumatisch, hydraulisch getrieben sind.
Das können irgendwelche Regelungen, die die Temperatur in einem Raum
oder in einem Auto beispielsweise regeln, und so weiter und so fort.
Und die Grundsituation sieht wie folgt aus.
Das heißt, wir haben irgendwelche Größen, die uns interessieren, zum
Beispiel die Winkelgeschwindigkeit eines Roboterarms oder das
Drehmoment, mit dem sich ein Gelenk in einem bestimmten Gelenk...
Natürlich, um überhaupt diese Ausgangsgröße zu haben, brauchen wir
bestimmte Stellgrößen beziehungsweise Kontrollsignale, die nennen wir
mal Y.
Und wie bereits die Grundsituation war, dass wir fördern, dass diese
Ausgangsgröße einen bestimmten Wert hat, auch unter Einfluss von
Störungen, die ich jetzt hier mit Z bezeichnen will.
Und mathematisch betrachtet lässt sich dieses System beschreiben als
normalerweise, also das sind dynamische Systeme, die zeitinvariant
oder zeitvariant sind.
Und die lassen sich beschreiben durch einen Operator S hier.
Und der Operator kann eine Differenzialgleichung oder eine
Differenzengleichung sein.
Und die Aufgabe, die eine Regelung hat, besteht darin, der
Ausgangsgröße dieses Systems mittels der Stellgröße Y ein
Sollverhalten, also ein gewünschtes Verhalten aufzubringen.
Und zwar gegen den Einfluss der Störgröße, die nur unvollständig
bekannt ist.
Wie funktioniert das Ganze?
Wie kann man überhaupt das Problem lösen?
Das Problem kann man nur lösen, indem man diesen Prozess hier
kontinuierlich beobachtet.
Das heißt eigentlich, diese Ausgangsgröße erfasst normalerweise über
Sensoren, zum Beispiel ein Gelenkwinkelsensor oder ein
Temperatursensor oder ähnliches, je nachdem, welchen Prozess man hat.
Also diese Strecke bzw.
diesen Prozess muss man laufend beobachten und mit der Information,
die man bekommt aus dieser Beobachtung, also das sind Messungen
letztendlich, muss man diese Stellgröße Y so beeinflussen, dass wir
tatsächlich am Ausgang das gewünschte Sollverhalten erreichen.
Und eine Anordnung, die das schafft, das ist das Prinzip der Lösung,
wie ich es bereits erklärt habe, und eine Anordnung, die das schafft,
nennt man eine Regelung.
Der Grundaufbau einer Regelung sieht wie folgt aus.
Das ist unsere Strecke bzw.
unser dynamischer Prozess.
Das ist unsere Stellgröße Y.
Das ist hier unsere Ausgangsgröße X.
Das sind die Störungen auf den Prozess oder auf die Strecke.
Man nennt den Prozess, den man regeln will, Strecke.
Zum Beispiel, das könnte der Roboterarm sein oder der Raum, wo wir die
Temperatur hier regeln wollen.
Und die Lösung war, also das Prinzip der Lösung war, dass wir diese
Ausgangsgröße laufend beobachten.
Das heißt, wir messen mithilfe von entsprechender Messeinrichtung,
Sensoren, was am Ausgang hier anliegt.
Und vergleichen wir das mit einem Sollverhalten.
Zum Beispiel, ein Roboterarm soll sich bewegen mit einer
Geschwindigkeit 1 m pro Sekunde.
Ein mobiler Roboter.
Und wir können natürlich die aktuelle Geschwindigkeit messen.
Das heißt, wir vergleichen das und wenn es eine Differenz zwischen den
zwei gibt, diesen Vergleich machen wir, indem wir das Sollverhalten,
also Sollwert von dem aktuellen Wert, was wir messen, über unsere
Sensoren abziehen.
Dann kriegen wir eine sogenannte Regeldifferenz.
Und diese Regeldifferenz nutzen wir aus, um die Stellgröße Y so zu
verändern, dass X an dem Sollverhalten W kommt.
Dazu braucht man ein paar weitere Blöcke, wie man sieht hier auf der
Folie.
Einmal eine sogenannte Korrektureinrichtung, bzw.
nennt man auch ein Regelglied.
Und wir werden hier unterschiedliche Typen von Reglern kennenlernen,
die unterschiedliche Charakteristiken haben.
Schnell, weniger schnell, sehr genau und überhaupt nicht genau.
Das heißt, es ist eine Korrektureinrichtung, die zum Ziel hat, diesen
Wert Y so zu verändern, dass die Regeldifferenz XD0 wird.
Weil wenn die Regeldifferenz XD0 wird, dann ist eigentlich das, was
wir messen, oder was anliegt, hier am Ausgang identisch mit dem
Sollverhalten, das wir brauchen.
Also mit einem Meter pro Sekunde die Geschwindigkeit vom Roboter, oder
mit 25 Grad Temperatur in diesem Raum, oder 100 Pascal, die in einem
pneumatischen Aktuator einwirken sollen.
Dann gibt es hier eine sogenannte Stilleinrichtung, und diese
Stilleinrichtung hat nur die Aufgabe, den Wert, was man mithilfe von
diesem Algorithmus, sage ich mal so, Korrektureinrichtung, auf den
Pegel von der Strecke mal zu bringen.
Weil das sind ja irgendwelche abstrakten Werte.
Also ich messe zum Beispiel Geschwindigkeit, aber die Geschwindigkeit
habe ich jetzt hier in R als vielleicht Drehungen pro, also Anzahl von
Ticks zum Beispiel von einem Encoder.
Und die muss ich natürlich hier wiederum umrechnen auf irgendeine
Spannung oder Strom, der die entsprechenden Motoren bzw.
Räder von diesem mobilen Roboter ansteuern bringen.
Und deshalb hier ist eine Stilleinrichtung, um diese Pegelanpassung zu
machen.
So, das heißt, wir haben eine Führungsgröße, eine Stillgröße, die
Rückführgröße R, Regeldifferenz XD und die Regelgröße X und dann
unsere Stuhlgröße Z.
Und wie das Ganze funktioniert, ist ziemlich einfach.
Also nehmen wir mal an, ich kann leider nicht annotieren, deshalb muss
ich das so hier irgendwie machen.
Nehmen wir mal an, X soll auf einem bestimmten Wert sein, also XS.
Und dann wird dieser Sollwert hier am Anfang, also das ist unsere
Führungsgröße, der Sollwert.
X hat einen bestimmten Wert, ziehen wir ab, dann kriegen wir ein XD.
Und jetzt nehmen wir mal an, dass wir zu Beginn mit dieser
Geschwindigkeit, also dass der Roboter mit dieser Geschwindigkeit mal
fährt, mit einem Meter pro Sekunde.
Jetzt aus irgendeinem Grund eine Störung, weil beispielsweise jetzt
statt einem PVC-Boden kommt Sand.
Und der Roboter soll trotzdem eigentlich mit dieser gleichen
Geschwindigkeit fahren.
Das heißt, das ist eine Stuhlgröße, die hier einwirkt.
Führt dazu, also wenn Z größer wird, diese Stuhlgröße, Reibung mit dem
Boden, führt dazu, dass die Geschwindigkeit runtergeht.
Wenn die Geschwindigkeit runtergeht hier, dann ist R kleiner, dann
haben wir eine positive Regeldifferenz.
Das würde dazu führen, dass Y hochgeht, damit wir die Geschwindigkeit
wiederum steigern bzw.
erhöhen und den Sollwert von einem Meter pro Sekunde hier erreichen.
So, und was ganz zentral hier bei dieser Struktur ist eigentlich
dieser Block hier.
Dass wir unsere Sollvorgaben, also diese sogenannte Führungsgröße
hier, von dem aktuellen gemessenen Wert, also von der Rückführgröße
abziehen.
Also eigentlich dieser Kreis mit diesem Minus hier.
Das nennt man auch Soll-Ist-Wert-Vergleich.
Und dieser Soll-Ist-Wert-Vergleich führt immer dazu, dass wir eine
Umkehrung der Wirkungsrichtung haben.
Das heißt, wenn X zu groß wirkt, weil auf einmal haben wir eine
Stellgröße Y, damit wir über Sand fahren und jetzt ist der Roboter
nicht mehr auf Sand, sondern wieder auf der Straße.
Mit dieser gleichen Stellgröße würden wir die Geschwindigkeit von
einem Meter pro Sekunde wahrscheinlich überschreiten.
Das heißt, R wird größer, also X wird größer, R wird größer, dann
haben wir eine positive Regeldifferenz hier.
Und eine negative Regeldifferenz, weil R größer als der Soll ist, als
ein Meter pro Sekunde.
Also eine negative Regeldifferenz würde dazu führen, dass die
Stellgröße Y runtergeht, um wieder auf die Soll-Geschwindigkeit zu
kommen.
Das heißt, was zentral ist, ist diese Umkehrung der Wirkungsrichtung
hier bei diesem Soll-Ist-Wert-Vergleich.
Und auf diese Art und Weise, wenn das Ganze funktioniert, sagt man,
okay, diese Stellgrößen können jetzt ausgeregelt werden vom System.
Das Ganze, was ich erklärt habe, steht hier auf der Folie, also Soll
-Wert Xs und dann haben wir eine Führungsgröße, die können wir auch so
wählen.
Zunächst einmal haben wir eine Regeldifferenz 0, dann Z wird größer,
das sind die Störungen, weil die Reibung mit Sand im Falle von diesem
mobilen Roboter größer ist als auf normaler Straße.
Deshalb geht X runter, wenn X runtergeht, geht R runter.
Das heißt, wir haben eine größere Regeldifferenz.
Deshalb müssen wir die Stellgröße anheben, damit wir praktisch diese
Differenz ausregen.
Die Führungsgröße wird also entsprechend eingeregelt, das heißt, die
Regelgröße folgt der Führungsgröße.
Und die Regelung ist also ein Wirkungskreislauf, nennt man auch einen
Regelkreis.
Entscheidend dabei ist die Umkehrung der Wirkungsrichtung im Soll-X
-Wert -Vergleich.
Im Deutschen spricht man natürlich auch von einer Steuerung, eine
Steuerung, die tatsächlich diese Rückkopplung nicht hat.
Das heißt, wenn ich das Ganze hier betrachte, Y und Z und keine
Rückkopplung, dann nennt man im Deutschen eine Steuerung,
Eingabesignale, Ausgangssignale, aber keine Rückkopplung.
Wenn man diese Rückkopplung im Soll-X-Wert-Vergleich hat, dann spricht
man von einer Regelung.
Im Englischen sind das Closed-Loop und Open-Loop-Control.
So, und da gibt es viele naheliegende Beispiele, zum Beispiel wenn wir
Auto fahren und wir wollen uns auf der Spur halten, dann haben wir
natürlich unseren Kurs hier.
Nehmen wir wahr mit unseren Augen.
Das ist die Messeinrichtung, also das ist der Is-Kurs, Soll-Kurs, dass
wir zum Beispiel in der Spur bleiben und nicht rausgehen.
Und der Soll-X-Wert-Vergleich ist natürlich unser Gehirn, der
beurteilt, ich fahre jetzt in der Spur oder ich bin jetzt fast am Rand
oder ich bin über die Spur.
Und die Stelleinrichtung hier, die Strecke sind natürlich hier das
Auto oder die Räder in dem Fall.
Und die Stelleinrichtung sind unsere Hände, die ein Lenkrad betätigen,
um diese Korrektur zu machen.
Und wir wissen, wenn wir ein bisschen mehr nach rechts, dann gucken
wir, es gibt eine Regeldifferenz, dann drehen wir in die andere
Richtung.
Das heißt unter einer Regelung versteht man eine Anordnung, durch
welche, und das ist sehr wichtig, bei unvollständig bekannter Strecke,
insbesondere unvollständige Erkenntnis der Stuhlgrößen, die
Regelgröße, das heißt die Ausgangsgröße der Strecke, laufend erfasst
und mit der Führungsgröße verglichen wird, um mittels der so
gebildeten Differenz die Regelgröße an den Sollverlauf anzugleichen.
Das mit dem Auto und mit unserem Gehirn und Händen und so weiter mag
jetzt ein sehr High-Level-Beispiel sein, aber hier ein anderes
Beispiel.
Das ist ja ein Gleichstrommotor und wir wissen ja, ein
Gleichstrommotor können wir zum Beispiel, also das ist hier die
Ankerspannung, Ankerstrom und dann haben wir hier am Ende irgendeine
Geschwindigkeit, also Drehgeschwindigkeit von dem Motor, also Drehzahl
beispielsweise von dem Motor, was wir an dieser Welle hier messen.
Und wir haben hier ein Tacho, natürlich an dieser Welle hängt
irgendeine Last, also diese Last könnte jetzt ein Element sein, was
dieser Motor bewegen muss, zum Beispiel Ellenbogenmotor und dann das
Gewicht vom Unterarm ist Last am Ellenbogen.
Deshalb hier diese Last modelliert, die natürlich hat, erzeugt einen
Drehmoment gegen das Drehmoment, das Antriebsdrehmoment, also der
Motor erzeugt ein bestimmtes Drehmoment und natürlich, damit wir den
Ellenbogen bewegen, müssen wir das komplette Drehmoment, was durch
Gewichtsträgheit vom Unterarm entsteht, also von der Last
kompensieren.
Aber wie funktioniert das Ganze, wenn wir zum Beispiel uns mit einer
bestimmten Geschwindigkeit drehen wollen von diesem Motor, dann nehmen
wir die Geschwindigkeit über einen Sensor, das ist in dem Fall hier
ein Tacho-Generator und wir wissen, dieser Tacho-Generator oder dieser
Sensor, egal was das ist, misst für uns die Anzahl von Umdrehungen,
also letztendlich Geschwindigkeit und diese Geschwindigkeit hier, wie
man sieht, wird rückgekoppelt auf eine Spannung abgebildet.
Man sieht also, dass die Rückführungsgröße nicht der gleichen
physikalischen Natur sein muss wie die echte Messgröße oder
Regelgröße.
Die Anzahl der Drehungen oder die Drehgeschwindigkeit wird auf eine
Spannung umgewandt abgebildet durch die Messeinrichtung.
Die Soll-Vorgeben geben wir wiederum über so einen Potentiometer, wie
man hier sieht.
Das heißt, wir können eine Referenzspannung, die der Soll
-Geschwindigkeit oder der Soll-Drehgeschwindigkeit entspricht,
vorgeben.
Aus den beiden kann man eine Regeldifferenz bilden, das ist die UD.
Und diese UD muss natürlich mit der Korrektureinrichtung und mit der
Stelleinrichtung hier auf den Spannungspegel gebracht werden,
was notwendig ist, um diesen Motor einzusteuern.
Wenn das jetzt ein 12-Volt-Motor ist, dann liegt hier bei der gleichen
Regeldifferenz natürlich ein anderer Wert an UA, als bei einem Motor,
der mit 48 Volt beispielsweise betrieben wird.
Das heißt, man muss hier diese Anpassungen machen und die erfolgen
immer durch diese Stelleinrichtung.
Gehen wir mal ein bisschen zurück auf die Robotik.
Und zwar, wie sieht das Ganze hier aus?
Einige Beispiele habe ich bereits erwähnt.
Natürlich werden viele dieser Regelungen oder Steuerungen auf einem
höheren Level heutzutage im Rechner implementiert.
Also zum Beispiel bei dem AMA 4 oder bei dem AMA 6.
Da hat man ja mehrere Rechner, die irgendwelche zentralen Regelungs-
und Steuerungsaufgaben übernehmen.
Und wir werden bei den Regelungskonzepten von Manipulatoren einiges
hier sehen.
Also zum Beispiel Positionskraftregelung oder bildbasierte Regelung,
um zur Tasse zu fahren und dabei Fehler der Kinematik zu regieren.
Also um die Tasse zu greifen beispielsweise.
Dann gibt es irgendwelche Positionsregelungen.
Also zum Beispiel die Lösung der inversen Kinematik oder
Geschwindigkeitsregelungen, aber auch Drehmomentregelungen.
Und auf dem untersten Level hat man natürlich Motorregler, also
Motorregler in dem Sinne wie das hier beispielsweise.
Die laufen auf Mikrocontroller bzw.
auf digitalen Signalprozessoren, wo man hier natürlich eine höhere
Taktrate hat.
Also hier zum Beispiel 200 Megahertz, 200 Hertz, hier ein Kilohertz
für diese Motorregler, wo man zum Beispiel die Stromstärke bzw.
Drehmoment oder auch eine sogenannte Pulsweite modelliert.
Eine Regelung mit Pulsweite Signalmodulation hier macht.
So, und die Messung von Position, Drehmoment und Stromstärke erfolgt
in den Gelenken.
Und da werden wir gleich hier ein Beispiel, was hier in dem Oberarm
oder welche Komponenten bei dem Arm A4 notwendig sind, um die Regelung
von diesem Ellenbogengelenk zu realisieren.
Und da sieht man hier, das ist der Controller, in dem praktisch diese
Low -Level-Regelung realisiert wird.
Da hat er mehrere Eingänge, wie angedeutet ist, Eingänge einmal um die
Information von der Relativ-Encoder, also letztendlich die Anzahl der
Umdrehungen des Motors bzw.
die Position über Relativ-Encoder.
Auch ein weiteres Absolut-Encoder, der geht hier, das sind also
Messsignale, die über Messeinrichtungen hier dem Regelalgorithmus zur
Verfügung gestellt werden.
Die Stellgröße, zum Beispiel, dass das Ellenbogen auf 45 Grad sich
drehen muss, kommt natürlich von einem übergeordneten Rechner.
Und diese Information kommt beispielsweise aus der Lösung der inversen
Kinematik.
Um eine bestimmte Position zu erreichen, muss der Ellenbogen einen
Winkel von 45 Grad haben.
Das heißt, diese Stellgröße hier, die kommt tatsächlich von einem der
Rechner, der für diese Positionsregelungen verantwortlich ist.
Und natürlich, die Stuhlgrößen hier für diesen Regler, das ist
Ellenbogen, wie ich bereits gesagt habe.
Die Stuhlgrößen sind die externen Gewichte, die der Arm trägt bzw.
auch das Gewicht vom Unterarm.
Weil Ellenbogenmotor muss ja alles bewegen, was danach kommt.
Und das Gleiche gilt natürlich für Schultermotoren.
Das heißt, die externen Kräfte bzw.
die Stuhlgrößen für den Regler sind natürlich die gesamten Massen von
den nachfolgenden Massen und die darauf einwirkenden Kräfte der
nachfolgenden Elemente.
So, und wie funktioniert das Ganze?
Das funktioniert so, das heißt, wir haben hier Soll-Gelenkwinkel
-Vorgaben.
Die kommen zum Beispiel aus der inversen Kinematik.
Ja, Sekunde bitte.
Dann haben wir hier unser Motorkontroller, also Soll-Ist-Wert
-Vergleich und dann ein entsprechendes Regelglied, was wir noch
kennenlernen werden in der Vorlesung.
Und das ist unsere Strecke.
Also eigentlich unsere Strecke, wir wollen jetzt hier den Unterarm
bewegen.
Das heißt, wir haben einen Motor im Ellenbogen und wir haben die
Strecke im Unterarm.
Wir kriegen die Gelenkwinkel-Informationen über die Relativ-Encoder,
die in dem Fall nichts anderes als unsere Messeinrichtung sind.
Einer denkt mit hier, ja?
Mindestens einer denkt mit.
So, seine Frage oder sein Kommentar war, ich habe hier jetzt den
Unterarm als eine Stuhlgröße hier betrachtet.
Warum nutze ich nicht die Informationen von der Dynamik, die wir
vorher kennengelernt haben?
Das ist ganz korrekt.
Ich wollte hier damit nur einen einzigen Regler veranschaulichen.
Wenn ich diesen Motorregler vor das Ellenbogengelenk hier realisieren
will, dann ist diese Last hier, oder diese Stuhlgröße, die ich
kompensieren muss, natürlich mein Unterarm.
Nur so, nur ein akademisches Beispiel.
Aber in der Tat ist es so, in dem Fall, dass ich hier ein Modell habe,
der Unterarm in einem Gesamtregelungskonzept, stellt der Unterarm
natürlich keine Stuhlgröße dar.
Gibt es weitere Fragen?
Und diese Strukturen hier, die man nennt, das Bild ist natürlich sehr
abstrakt.
Da werden wir noch ein bisschen genauer reingucken in den einzelnen
Blöcken und schauen.
Klar, wir werden nicht erklären, wie Relativfunkoder funktionieren
oder Sensoren, aber wie wir diese einzelnen Blöcke zumindest
mathematisch beschreiben und wie können wir tatsächlich dieses
Regelglied, also hier in diesem Bild ist dieser Soll-Ist-Vergleich
-Regelglied, ja, ich gehe gerne zurück, Soll-Ist-Vergleich-Regelglied
hier, das ist, was ja implementiert wird auf diesem Motocontroller,
was auf der Folie stand.
So, das heißt, um das zu beschreiben, das nennt man einen Regelkreis
oder eine Struktur von einem Regelkreis, um das mathematisch zu
beschreiben, muss man zunächst mal aus den physikalischen Gesetzen
Gleichungen ermitteln, die Abhängigkeiten zwischen zwei
zeitveränderlichen Größen beschreiben.
Ja, also zwischen zum Beispiel Gelenkwinkel und zwischen dem Wert
hier, zwischen dem, was am Ausgang hier steht und die Stellgröße, die
wir hier am Ausgang vom Motor haben, das könnte natürlich eine
Gelenkwinkelgeschwindigkeit sein, das könnte ein Drehmoment für das
Gelenk sein.
Das heißt, wir müssen diese Zusammenhänge bzw.
die aus den physikalischen Gesetzen und was wir kennen, müssen wir
Gleichungen ermitteln, die diese Abhängigkeiten oder Zusammenhänge
zwischen zeitveränderlichen Größen im System beschreiben.
Und die zeitveränderlichen Größen und ihre Gleichungen, die werden
dann durch geeignete Symbole veranschaulicht.
Das sind diese Blockschaltbilder, die wir gesehen haben.
Und ein Block in einem Strukturbild ordnet jedem Zeitverlauf der
Eingangsgröße eindeutig einen Zeitverlauf der Ausgangsgröße zu und
wirkt somit wie ein sogenanntes Übertragungsglied.
Und diese Zuordnung ist eindeutig, weil wir es ja hier nur mit
deterministischen Systemen zu tun haben.
Und man sieht das hier an unserem Bild, das heißt, wir haben hier,
wenn das ja die Geschwindigkeit von dem mobilen Roboter war, dann war
hier vielleicht die Messgröße R, war das die Anzahl der Umdrehungen
der Tachogenerator beispielsweise an den Rädern oder der Encoder an
den Rädern.
Das heißt, wir haben hier eine Abhängigkeit zwischen X und R.
Wir haben natürlich eine Abhängigkeit zwischen Y und dem, was hier
anliegt und zwischen dem, was hier anliegt, also Ausgang von dem
Regler und der Regeldifferenz x, y.
Und das muss alles mathematisch beschrieben werden.
Und das ist natürlich basierend auf Physik, auf das, was wir wissen
über physikalische Systeme oder über reale Systeme.
Und wie macht man das?
Man macht das, indem man diese Beschreibungen in der Regelungstechnik,
man macht das, indem man diese Beschreibungen in einem anderen Bereich
macht.
Und zwar nicht im Zeitbereich beim Entwurf von Regelungssystemen,
sondern in einem sogenannten Laplace-Bereich.
So, das heißt hier natürlich haben wir zeitabhängige Größen.
Und diese zeitabhängigen Größen werden überführt in Größen, die im
sogenannten Laplace-Bereich beschrieben werden.
Was ist das eigentlich?
Das ist eine Mathematik.
Also das hat jetzt zunächst mal nichts mit Regelungstechnik oder mit
irgendwas zu tun, sondern das ist eine Transformation, mit der man
zeitveränderliche Größen in einem sogenannten Bildbereich oder Laplace
-Bereich überträgt, um dort besser hantieren zu können,
beziehungsweise die dynamischen Systeme besser beschreiben zu können.
Und die Laplace-Transformation ist wie folgt definiert, also jede
zeitabhängige Funktion oder Signal hier,
kann man die Laplace-Transformierte definieren als Integral von 0 bis
unendlich f von t mal e hoch minus s von t mal dt.
Zunächst mal ein Integral, wie man sieht hier, gültig ab t gleich 0
bis unendlich.
s ist eine Komplexivariable und diese Komplexivariable hat einen
realen Wert und einen imaginären Wert, also Sigma plus j Omega.
Und die Funktion ist 0 f t kleiner 0.
Genau, und mithilfe dieser Transformation können diese physikalischen
Zusammenhänge zwischen zeitveränderlichen Größen beschrieben werden
und dann praktisch diese Beschreibung von einem Regelungssystem in
diesem s-Bereich statt in dem t-Bereich, also im sogenannten
Frequenzbereich, statt im Zeitbereich erfolgen, wo man dann dort auch
solche Regler entwirft.
Also in diesem Bereich entwirft man tatsächlich diese Regler, also man
weiß, wie diese Regler aussehen und welche Parameter diese Regler
haben müssen, damit ein bestimmtes Verhalten von einem Regelungssystem
erreicht werden kann.
Und bevor wir jetzt hier natürlich weitermachen, müssen wir sehen, wie
sieht eigentlich diese Laplace-Transformation aus.
Ganz einfach, wir haben natürlich viele unterschiedliche Funktionen,
viele unterschiedliche Arten der Abhängigkeit zwischen
zeitveränderlichen Größen und ich will es ganz kurz mit euch, also
nicht so viel Zeit hier verbringen, weil das ist ja ein Thema für
sich, aber damit ihr einen Eindruck davon habt, wie diese Sachen mal
funktionieren.
Und jetzt muss ich tatsächlich hier schreiben an der Tafel, weil die
Annotation auf dem Rechner heute nicht funktioniert.
Und das heißt zentral ist, dass wir eine Funktion f von t haben und
wenn wir die Funktion f von t haben, dann können wir für diese
Funktion die sogenannte Laplace-Transformative berechnen.
Und wir fangen ganz einfach an, wir nehmen an, die Funktion f von t
ist gleich a, eine Konstante.
Also wir wollen schauen zunächst mal, was ist die Laplace
-Transformative einer konstanten Funktion.
Wie sieht das aus, also die Laplace-Transformative von a, a eine
Konstante, ist nichts anderes als Integral von 0 bis unendlich a mal e
hoch minus st mal dt.
Naja, das ist ja harmlos, a kann ich ja hier ausklammern, weil hat
mehr mit t nichts zu tun und Integral e hoch minus st dt ist was?
Ist minus 1 durch s e hoch minus st und zwar von 0 bis unendlich.
Was ist das?
Also wenn t gegen unendlich, nehmen wir mal an jetzt ohne groß auf das
Thema einzugehen, dass e hoch minus st gegen 0 geht, wenn t gegen
unendlich geht, dann haben wir nichts anderes als 0 multipliziert mit
1 durch s, ist also 0, minus, bei 0 haben wir hier eine 1, bleibt also
nichts anderes als minus 1 durch s, So, das heißt die Laplace
-Transformative von einer Konstante a ist a durch s.
So, nun haben wir komplexere Funktionen, also es könnte jetzt unsere
Funktion sein f von t ist gleich t.
Wie gesagt, alle Funktionen f von t, die sind 0 vor t kleiner 0.
So, f von t ist gleich t, was ist die Laplace-Transformative davon?
Also die Laplace-Transformative von t ist nichts anderes als Integral
0 bis unendlich.
Die Funktion ist t, aha, da wird es schlimmer, e hoch minus st mal dt.
So, jetzt müssen wir dieses Integral lösen.
Weiß jemand wie das geht?
Nicht die Leute, die heute in Mechanik und Informatik waren.
Wie geht man mit diesem Integral um?
Kann jemand von euch das integrieren?
Das ist Mathematik jetzt.
Wer hat das gesagt?
Ich habe verstanden, partielle Integration, oder?
Genau, was bedeutet das?
Das bedeutet, glaube ich, er meint Folgendes.
Das bedeutet, wenn ich so ein Integral habe, zwei Funktionen u von x
mal v Strich von x, also die Ableitung von v dx, ist gleich, du meinst
es so, oder?
Minus Integral u Strich von x mal v von x mal dx.
Stimmt das?
So, dann gehen wir mal hin.
Was soll ich hier als u nehmen?
Was soll ich als was nehmen?
Also, wenn das hier u ist gleich t, dann ist die Ableitung von u nach
der Zeit in dem Fall 1.
Wenn v Strich ist gleich e hoch minus st, dann ist v was?
Minus 1 durch s mal e hoch minus st, oder?
Genau.
Dann setzen wir ein, das heißt u mal v, u ist t, mal v, v ist das
hier, also mal minus 1 durch s e hoch minus st, das ist das erste.
Und das müssen wir natürlich von 0 bis unendlich machen, wie die
Grenzen hier uns das sagen.
Das habe ich dort nicht hingeschrieben.
Und dann minus Integral von 0 bis unendlich.
Und jetzt müssen wir was machen?
Wir müssen jetzt u Strich ist 1 mal v
minus 1 durch s e hoch minus st.
Stimmt das?
So, dann rechnen wir ein bisschen.
Wir haben die Annahme gemacht, dass es gegen 0 geht, wenn t gegen
unendlich geht.
Das heißt 0 und dann minus 0 bleibt nichts eigentlich, oder?
Das geht gegen 0 bei unendlich.
Wenn ich hier 0 einsetze, t minus das hier ist 0, minus mein Integral
hier ist nichts anderes.
Ich kann das 1 durch s ausklammern, das heißt plus 1 durch s Integral
e hoch minus st mal dt.
Und was ist das?
Integral e hoch minus st mal dt.
Das ist genau das hier mit a gleich 1, also 1 durch s eigentlich.
Also 1 durch s mal 1 durch s ist gleich 1 durch s Quadrat.
So, das heißt wir haben gesehen hier Konstante Funktion, 1 durch st, 1
durch s Quadrat.
So, ich sehe die Zeit ist um und es ist ein bisschen anstrengend an
der Tafel zu schreiben, aber es ist schöner eigentlich als auf dem
Tablet.
Heute ist Donnerstag, das heißt wir machen am Montag weiter mit dem
Thema.
Für heute wünsche ich euch noch einen schönen Abend und viel Spaß.
Tschüss.