WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Gleichungssystem in Matrix realisieren

 

Bibonaut
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 60
Anmeldedatum: 06.06.13
Wohnort: Berlin
Version: 2013a
     Beitrag Verfasst am: 25.06.2013, 15:25     Titel:
  Antworten mit Zitat      
Hallo,

doch, du kannst deine Winkel und Verschiebungen, so wie ich es geschrieben habe berechnen, wenn du deine Transformationsreihenfolge kennst. Denn deine Translationsmatrizen verhalten sich genau so wie die Rotationsmatrizen.

ich versteh immer noch nicht, was du genau mit der Differenz deiner Matrizen lösen willst. Aus der Differenz bekommst du nicht deine gesuchten Winkel, da die Transformationen, genauer gesagt die trigonometrischen Funktionen, nicht linear sind.


<br />
sin(\alpha)-sin(\beta) \neq sin(\alpha-\beta)
<br />

Deine Funktionen für die Transformationen hast du, nehme ich mal an, selbst geschrieben. Kannst du sie hier mal mathematisch Ausformulieren oder den Code einstellen.

So, nochmal ein Beispiel mit den Bedingungen:
Dein System bewegt, wie ist ganz egal. Du bekommst nach einem Integrationsschritt die Lage deiner Körperkoordinatensysteme 1-6. Du weist an welcher Stelle in der Kette deine FHGs liegen. Deinen Angaben zufolge hast du 6 rotatorische Freiheitsgrade (alle Winkel als Syms definiert)

Also bekannt sind: K0in0 (global), K1in0, K2in0, K3in0 ... alle Körperlagen im raumfesten KS.
Weiterhin bekannt: K1in1, K2in2, K3in3 ... alle Körperlagen im Körpereigenem KS, meistens Einheitsmatrix.

Du musst jetzt von K0 bis K6 die unbekannten Winkel sukzessive ausrechnen.


<br />
^0 K_1 = R_{\beta 1}\cdot T_{d1} \cdot T_{a1} \cdot R_{\alpha 1}\cdot ^1 K_{1} \\
<br />
\text{Alle Transformationsmatrizen bis auf $R_{\beta 1}$ sind dir bekannt (Geometrie)} \\
<br />
^0 K_1 = R_{\beta 1}\cdot \left(T_{d1} \cdot T_{a1} \cdot R_{\alpha 1}\cdot ^1 K_{1}\right) \qquad\text{(Inverse Bilden und multiplikation von Rechts)} \\
<br />
R_{\beta 1} =  {^0 K_1} \cdot \left(T_{d1} \cdot T_{a1} \cdot R_{\alpha 1}\cdot ^1 K_{1}\right)^{-1}\\
<br />
\text{Aus der Matrix $R_{\beta 1}$ kannst du nun den Winkel bestimmen, ausserdem kennst du jetzt die Transformation von K1 nach K0:}\\
<br />
T_{01} = R_{\beta 1}\cdot T_{d1} \cdot T_{a1} \cdot R_{\alpha 1}\cdot ^1 K_{1} \\
<br />
\text{Damit kannst du auch K2in0 zu K2in1 transformieren:}\\
<br />
^1 K_{2} = T01^{-1}\,\cdot\quad {^0 K_{2}}\\
<br />
\text{Ab jetzt wiederholt sich das vorgehen. Das "neue" Problem ist:}\\
<br />
^1 K_2 = R_{\beta 2}\cdot T_{d2} \cdot T_{a2} \cdot R_{\alpha 2}\cdot \quad ^2 K_{2} \\
<br />
\text{Gleichung umstellen um $R_{\beta 2}$ zu berechnen:}\\
<br />
R_{\beta 2} =  {^1 K_2} \cdot \left(T_{d2} \cdot T_{a2} \cdot R_{\alpha 2}\cdot \quad{^2 K_{2}}\right)^{-1}\\
<br />
\text{...usw. bis du alle Winkel berechnet hast}
<br />

Ich hoffe, das ist verständlich. Besser kann ich es glaub ich nicht erklären.  ^i K_{j} heißt immer Koordinaten von Körper j im Koordinatensystem i.

Besten Gruß.
Private Nachricht senden Benutzer-Profile anzeigen


Neues Thema eröffnen Neue Antwort erstellen

Gehe zu Seite Zurück  1, 2

Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.