Benutzer-Werkzeuge

Webseiten-Werkzeuge


biomechanik:projekte:ws2012:armkinematik

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
biomechanik:projekte:ws2012:armkinematik [11.02.2013 19:26] Rudolf Lioutikovbiomechanik:projekte:ws2012:armkinematik [28.11.2022 00:58] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 5: Zeile 5:
 ===== Modul-Infos ===== ===== Modul-Infos =====
  
-^ {{:biomechanik:projekte:icon_armkin.png?100|Projekt Armkinematik Wurf}} | WP1209 - Armkinematik | +^ {{ :biomechanik:projekte:ws2012:icon_armkinematik.png?100 |Projekt Armkinematik Wurf}} | WP1209 - Armkinematik | 
-^ Namen |  |+^ Namen | R. Lioutikov |
 ^ Veranstaltung | PS Grundlagen der Biomechanik | ^ Veranstaltung | PS Grundlagen der Biomechanik |
 ^ Semester | WS 2012 | ^ Semester | WS 2012 |
 ^ Voraussetzung | Grundlagen der Veranstaltung PS Biomechanik | ^ Voraussetzung | Grundlagen der Veranstaltung PS Biomechanik |
-Bearbeitungsdauer | |+Zitationsrichtlinien nicht vollständig | 
 + 
 +Hallo, es tut mir furchtbar Leid, dass wieder eine Woche vergangen ist und ich es immer noch nicht geschafft habe dieses Modul meinen Wünschen entsprechend zu gestalten. Noch viel mehr tut es mir Leid, dass ihr euch daher nicht anständig vorbereiten konntet. 
 +Ich habe daher Professor Seyfarth den Vorschlag unterbreitet, dass der Fragebogen morgen, falls einer ausgeteilt wird, lediglich als Bonus gewertet wird und nicht zu den 100% zählt. 
 +**Ich habe diesbezüglich noch kein Feedback erhalten, kann also dazu keine verpflichtende Aussage machen.** 
 +Sollte ein Fragebogen ausgeteilt werden, werden sich die Fragen nur auf die ersten drei Abschnitte beziehen, die bereits heute Mittag online waren ([[biomechanik:projekte:ws2012:armkinematik#Beschreibung des Roboterarms|Beschreibung des Roboterarms]],[[biomechanik:projekte:ws2012:armkinematik#Freiheitsgrade|Freiheitsgrade]] und [[biomechanik:projekte:ws2012:armkinematik#Joint und Task Space|Joint und Task Space]]) . Wer den Text seit dem einmal überflogen hat sollte problemlos in der Lage sein die Fragen zu beantworten. 
 + 
 +Bitte entschuldigt nochmals die Umstände.
  
-BITTE SCHAUT NOCHMAL AB 19 UHR REIN... 
  
 <html><br /></html> <html><br /></html>
 {{indexmenu_n>1}} {{indexmenu_n>1}}
 ===== Einleitung ===== ===== Einleitung =====
-Ziel dieses Moduls ist es ein grundlegendes Verständnis der Anwendung verschiedener Konzepte im Bereich der Robotik zu vermittelnAußerdem werden Parallelen zur Biologie aufgezeigt und der Nutzen einzelner Konzepte für die Biomechanik beleuchtet. Grob lassen sich die vorgestellten Konzepte wie folgt gliedern+Ziel dieses Moduls ist die Einführung in die Grundlegenden Konzepte der Robotik. Zunächst wird ein Vokabular geschaffen, das es ermöglicht einen Roboterarm zu beschreibenAnschließend wird auf die Bedeutung von Freiheitsgraden eingegangen
-  * DOF +Die Begriffe Task- und Joint Space werden vorgestellt und abgegrenzt. Die Transformationen zwischen den beiden Repräsentationen wird anhand von Vorwärts- und Inverse Kinematik erläutert, bevor dann im Dynamik Abschnitt die Berechnung der Drehmomente bei gegebenen Gelenkparametern und vice versa skizziert wird.
-  * Kinematik +
-  * Joint / Task space +
-  * Dynamik +
  
 ===== Beschreibung des Roboterarms ===== ===== Beschreibung des Roboterarms =====
Zeile 43: Zeile 45:
  
 ==== Redundanz ==== ==== Redundanz ====
-Sind zwei auf einander folgende Gelenke so angebracht, dass ihre Gelenksachsen in dieselbe Richtung zeigen, werden diese als redundant bezeichnet und die Anzahl der Freiheitsgrade erhöht sich damit nicht. Die Gelenksachse bezeichnet bei einem rotatorischen Gelenk die Achse um die sich das Gelenk dreht und bei einem translatorischen Gelenk die Achse entlang der die Bewegung stattfindet.+Sind zwei auf einander folgende Gelenke so angebracht, dass ihre Gelenksachsen in dieselbe Richtung zeigen, werden diese als redundant bezeichnet und die Anzahl der Freiheitsgrade erhöht sich damit nicht. Die Gelenkachse bezeichnet bei einem rotatorischem Gelenk die Achse um die sich das Gelenk dreht und bei einem translatorischem Gelenk die Achse entlang der die Bewegung stattfindet.
  
 ==== Singularität ==== ==== Singularität ====
-Wichtig im Bezug auf Freiheitsgrade ist auch, dass ihre Anzahl über eine Bewegung hinweg betrachtet nicht zwangsläufig konstant ist. Ist zum Beispiel der Ellbogen voll ausgestreckt, verliert man einen Freiheitsgrad. Dieser Verlust wird als Singularität bezeichnet. Um sich die mechanische Auswirkung einer Singularität zu verdeutlichen kann man sich vorstellt, dass der Ellbogen fixiert wird und man nun versucht nach verschiedenen Objekten zu greifen. Ist man sich der Bewegungseinschränkung nicht bewußt, reagiert darauf nicht angemessen oder nicht rechtzeitig kann es zu Verletzungen beziehungsweise Beschädigungen kommen.+Wichtig im Bezug auf Freiheitsgrade ist auch, dass ihre Anzahl über eine Bewegung hinweg betrachtet nicht zwangsläufig konstant ist. Ist zum Beispiel der Ellbogen voll ausgestreckt, verliert man einen Freiheitsgrad. Dieser Verlust wird als Singularität bezeichnet. Um sich die mechanische Auswirkung einer Singularität zu verdeutlichen kann man sich vorstellt, dass der Ellbogen fixiert wird und man nun versucht nach verschiedenen Objekten zu greifen. Ist man sich der Bewegungseinschränkung nicht bewusst, reagiert darauf nicht angemessen oder nicht rechtzeitig kann es zu Verletzungen beziehungsweise Beschädigungen kommen.
 Aus diesem und weiteren Gründen die hier nicht weiter erläutert werden versucht man im allgemeinen Singularitäten zu vermeiden. Aus diesem und weiteren Gründen die hier nicht weiter erläutert werden versucht man im allgemeinen Singularitäten zu vermeiden.
  
 ===== Joint und Task Space ===== ===== Joint und Task Space =====
-Im Abschnitt [XXX] wurden bereits die Begriffe Konfiguration und Zustand im Bezug auf den Roboterarm erläutert. Soll der Roboter nun eine bestimmte Konfiguration beziehungsweise einen bestimmten Zustand einnehmen, lassen sich die Winkelprameter definieren. Soll hingegen der Endeffektor  positioniert werden oder eine vorgegebene Trajektorie abgefahren werden ist es wünschenswert dies im Welt-Koordinatensystem anzugeben, und somit lediglich die gewünschten Endeffektorparameter anzugeben.+Im Abschnitt [[biomechanik:projekte:ws2012:armkinematik#Beschreibung des Roboterarms|Beschreibung des Roboterarms]] wurden bereits die Begriffe Konfiguration und Zustand im Bezug auf den Roboterarm erläutert. Soll der Roboter nun eine bestimmte Konfiguration beziehungsweise einen bestimmten Zustand einnehmen, lassen sich die Gelenkprameter definieren. Soll hingegen der Endeffektor  positioniert werden oder eine vorgegebene Trajektorie abgefahren werden ist es wünschenswert dies im Welt-Koordinatensystem anzugeben, und somit lediglich die gewünschten Endeffektorparameter anzugeben.
  
 ==== Joint Space ==== ==== Joint Space ====
Zeile 56: Zeile 58:
 Jeder Vektor im Joint Space stellt also eine eindeutige Konfiguration beziehungsweise einen eindeutigen Zustand dar. Jeder Vektor im Joint Space stellt also eine eindeutige Konfiguration beziehungsweise einen eindeutigen Zustand dar.
 Mit Hilfe der Kinematik kann man nun die Endeffektorparameter aus den Winkelparametern bestimmen. Wobei jeder Vektor im Joint Space genau einem Vektor im Task Space entspricht. Mit Hilfe der Kinematik kann man nun die Endeffektorparameter aus den Winkelparametern bestimmen. Wobei jeder Vektor im Joint Space genau einem Vektor im Task Space entspricht.
-Ein Problem bei Angaben im Joint Space ist die hohe Dimensionalität. Die Anzahl der Parameter entspricht $3N_{dof}$ wobei $N_dof$ die Anzahl der Freiheitsgrade darstellt. Dies gilt unter der Vorrausseztzung, dass keine Redundanzen vorkommen. Die Dimensionalität wächst hier also linear mit den Freiheitsgraden.+Ein Problem bei Angaben im Joint Space ist die hohe Dimensionalität. Die Anzahl der Parameter entspricht $3N_{dof}$ wobei $N_{dof}$ die Anzahl der Freiheitsgrade darstellt. Dies gilt unter der Vorrausseztzung, dass keine Redundanzen vorkommen. Die Dimensionalität wächst hier also linear mit den Freiheitsgraden.
 Der Mensch agiert im Joint Space, wenn das Verhalten der Gelenke und nicht die Positionierung des Endeffektors im Vordergrund steht. So zum Beispiel beim Gewichtheben oder auch beim Tanzen. Der Mensch agiert im Joint Space, wenn das Verhalten der Gelenke und nicht die Positionierung des Endeffektors im Vordergrund steht. So zum Beispiel beim Gewichtheben oder auch beim Tanzen.
  
Zeile 63: Zeile 65:
 Analog zum Joint Space lässt sich nun auch der Vektorraum definieren der sich aus den Vektoren der Endeffektorparameter zusammensetzt. Dieser Wird als Task Space bezeichnet. Jeder Vektor im Task Space entspricht einer eindeutigen Positionierung und Orientierung des Endeffektors. Analog zum Joint Space lässt sich nun auch der Vektorraum definieren der sich aus den Vektoren der Endeffektorparameter zusammensetzt. Dieser Wird als Task Space bezeichnet. Jeder Vektor im Task Space entspricht einer eindeutigen Positionierung und Orientierung des Endeffektors.
 Die Umwandlung von Endeffektorparameter in Winkelparameter wird als Inverse Kinematik bezeichnet. Anders als bei der direkten Kinematik ist diese Transformation nicht eindeutig. Es gibt also nicht zu jedem Vektor im Task Space nur einen Vektor im Joint Space. Dies wiederum bedeutet, dass ein Ziel das der gleiche Zustand des Endeffektors durch verschiedene Zustände restlichen Roboters erreicht werden kann. Die Umwandlung von Endeffektorparameter in Winkelparameter wird als Inverse Kinematik bezeichnet. Anders als bei der direkten Kinematik ist diese Transformation nicht eindeutig. Es gibt also nicht zu jedem Vektor im Task Space nur einen Vektor im Joint Space. Dies wiederum bedeutet, dass ein Ziel das der gleiche Zustand des Endeffektors durch verschiedene Zustände restlichen Roboters erreicht werden kann.
-Ein weiterer Unteschied zum Joint Space liegt in der Dimensionalität. Die Anzahl der Parameter entspricht hier nun $3N_{pos}+N_{ori}$ wobei $0 \leq N_{pos} \leq 3$ der Anzahl der Dimensionen entspricht in der sich der Endeffektor bewegen kann und $N_{ori} \in \{0,1,3\}$ die Anzahl Dimensionen darstellt in der sich der Endeffektor orientieren kann .+Ein weiterer Unteschied zum Joint Space liegt in der Dimensionalität. Die Anzahl der Parameter entspricht hier nun $3N_{pos}+3N_{ori}$ wobei $0 \leq N_{pos} \leq 3$ der Anzahl der Dimensionen entspricht in der sich der Endeffektor bewegen kann und $0 \leq N_{ori} \leq 3$ die Anzahl der Dimensionen darstellt in der sich der Endeffektor orientieren kann .
  
-Da $N_{pos}$ von $N_{dof}$ abhängt und die Beziehung  $N_{pos} \leq N_{dof}$ immer zutrifft ist ersichtich, dass die Dimensionalität des Task Spaces immer niedriger ist als die des Joint Spaces. +Da $N_{pos}$ und $N_{ori}$ von $N_{dof}$ abhängen und die Beziehung  $N_{pos}+N_{ori} \leq N_{dof}$ immer zutrifft ist ersichtich, dass die Dimensionalität des Task Spaces immer niedriger oder gleich der des Joint Spaces ist. Außerdem gilt immer $N_{pos} + N_{ori} \leq 6$, was bedeutet das, im Gegensatz zum Joint Space, der Task Spaces in seiner Dimensionalität nach oben beschränkt ist.
 Das Standardbeispiel einer Aktion im Task Space ist das Greifen nach einem Gegenstand. Der Mensch kennt die Position des Gegenstandes im Task Space und bewegt seine Hand dieser Position entgegen. Das Standardbeispiel einer Aktion im Task Space ist das Greifen nach einem Gegenstand. Der Mensch kennt die Position des Gegenstandes im Task Space und bewegt seine Hand dieser Position entgegen.
  
Zeile 71: Zeile 73:
 In diesem Abschnitt wird nun sowohl die Vorwärts- als auch die Inverse Kinematik für den eingangs vorgestellten Roboterarm beschrieben. In diesem Abschnitt wird nun sowohl die Vorwärts- als auch die Inverse Kinematik für den eingangs vorgestellten Roboterarm beschrieben.
 ==== Vorwärtskinematik ==== ==== Vorwärtskinematik ====
-Wie bereits in [XXX] erwähnt ermöglicht es die Vorwärts Kinematik Gelenksparameter in Endeffektorparameter umzuwandeln. Dadurch lassen sich zum Beispiel Konfigurationen bestimmen die zu einer Kollision des Endeffektors mit einem Hinderniss führen würden. +Wie bereits in [[biomechanik:projekte:ws2012:armkinematik#Joint und Task Space|Joint und Task Space]] erwähnt ermöglicht es die Vorwärts Kinematik Gelenkparameter in Endeffektorparameter umzuwandeln. Dadurch lassen sich zum Beispiel Konfigurationen bestimmen die zu einer Kollision des Endeffektors mit einem Hinderniss führen würden. 
-Für den hier beschriebenen Roboterarm berechnet sich die Endeffektor Position $(x,y)$ wie folgt aus den beiden Gelenkswinkeln $(\theta_1, \theta_2)$+Für den hier beschriebenen Roboterarm berechnet sich die Endeffektor Position $(x,y)$ wie folgt aus den beiden Gelenkwinkeln $(\theta_1, \theta_2)$
 <html><br /><br /></html><latex> <html><br /><br /></html><latex>
 \begin{align*} \begin{align*}
Zeile 91: Zeile 93:
  
 ==== Inverse Kinematik ==== ==== Inverse Kinematik ====
-Befindet man sich im Task Space und möchte nun die Gelenksparamter bestimmen, erreicht man dies indem man die obigen Formeln nach auflöst. Die daraus entstehenden Transformationen bezeichnet man als Inverse Kinematik. Für den hier betrachteten Roboterarm sehen diese Transformationen nun wie folgt aus+Befindet man sich im Task Space und möchte nun die Gelenkparamter bestimmen, erreicht man dies indem man die obigen Formeln nach auflöst. Die daraus entstehenden Transformationen bezeichnet man als Inverse Kinematik. Für den hier betrachteten Roboterarm sehen diese Transformationen nun wie folgt aus
 <html><br /><br /></html><latex> <html><br /><br /></html><latex>
 \begin{align*} \begin{align*}
 \theta_2 &= \cos^{-1}\left(\dfrac{x^2 - y^2 -l_1^2 - l_2^2}{2 l_1 l_2} \right)\\ \theta_2 &= \cos^{-1}\left(\dfrac{x^2 - y^2 -l_1^2 - l_2^2}{2 l_1 l_2} \right)\\
-\theta_1 &= \tan^{-1}\left(\dfrac{y}{x}\right) - \tan^{-1}\left(\dfrac{l_2 \sin(\theta_1)}{l_1 + l_2 \cos(\tehta_2)}\right)+\theta_1 &= \tan^{-1}\left(\dfrac{y}{x}\right) - \tan^{-1}\left(\dfrac{l_2 \sin(\theta_2)}{l_1 + l_2 \cos(\tehta_2)}\right)
 \end{align*} \end{align*}
 </latex><html><br /><br /></html> </latex><html><br /><br /></html>
Zeile 102: Zeile 104:
  
 ===== Dynamik ===== ===== Dynamik =====
-Steuert man den Roboterarm nur entsprechend der bisher betrachteten kinematischen Gleichungen fällt auf, dass die berechnete und die tatsächliche Konfiguration von einander abweichen. Dies liegt daran, dass bei der Kinematik keine Kräfte betrachtet werden, es allerdings eine Vielzahl von sowohl äußeren als auch inneren Kräften gibt, die auf den Roboter wirken. Die Betrachtung dieser Kräfte wird als Dynamik bezeichnet.+Steuert man den Roboterarm nur entsprechend der bisher betrachteten kinematischen Gleichungen fällt auf, dass die berechnete und die tatsächliche Konfiguration voneinander abweichen. Dies liegt daran, dass bei der Kinematik keine Kräfte betrachtet werden, es allerdings eine Vielzahl von sowohl äußeren als auch inneren Kräften gibt, die auf den Roboter wirken. Die Betrachtung dieser Kräfte wird als Dynamik bezeichnet.
  
 ==== Inverse Dynamik ==== ==== Inverse Dynamik ====
 +Die Bewegungen der Gelenke und damit des Roboters werden eingeleitet indem Drehmomente auf die einzelnen Gelenke gegeben werden. Die Berechnung dieser Drehmomente die auch als "motor commands" bezeichnet werden wird durch die Inverse Dynamik beschrieben. Die Transformation ist allgemein gegeben als
 +<html><br /><br /></html><latex>
 +\begin{align*}
 +\mathbf{u} &= \mathbf{M}(\boldsymbol{\theta})\boldsymbol{\ddot{\theta}}+\mathbf{C}(\boldsymbol{\theta},\boldsymbol{\dot{\theta}})+\mathbf{G}(\boldsymbol{\theta})
 +\end{align*}
 +</latex><html><br /><br /></html>
 +
 +===== Bewertung des Wiki-Moduls =====
  
 +^ Kategorie ^ Lioutikov ^ Anmerkungen|
 +^ Inhalt (max. 10) | 7 Pkt  | |
 +^ Form (max. 5)    | 2 Pkt  | Zitation, Quellen und Literaturverzeichnis fehlen. |
 +^ Bonus (max. 2)   | 0 Pkt  | |
 +^ Einzelbewertung  | 9 Pkt  | 15 Punkte = 100% |
 +^ Gesamtbewertung  |        | 9/15 Punkte = 60,0% |
biomechanik/projekte/ws2012/armkinematik.1360607219.txt.gz · Zuletzt geändert: 28.11.2022 00:48 (Externe Bearbeitung)


Warning: Undefined variable $orig_id in /is/htdocs/wp1019470_OPI92FFHXV/www/wikiLehre/lib/plugins/openas/action.php on line 232