6DOF
Release status: Concept
Description | Cinematica a sei gradi di libertà per Linapod sviluppata dall'ISW.
|
License | |
Author | |
Contributors | |
Based-on | [[]]
|
Categories | |
CAD Models | |
External Link |
Espongo le equazioni per la cinematica inversa a sei gradi di libertà di linapod, un robot sviluppato dall'ISW
Si introduce circa il funzionamento della cinematica, e si presuppone che le catene cinematiche siano funzionanti.
Con questi calcoli si vuole realizzare una macchia con sei gradi di libertà, in grado di muovere l'utensile in tutte le posizioni (x,y,z) e in tutte le rotazioni (alpha, beta, gamma).
Contents
Linapod
Linapod è un robot a cinematica parallela con sei gradi di libertà. Per poterli gestire si usano sei attuatori lineari prismatici.
Le sei catene cinematiche sono composte da tre giunti P-S-S (prismatico sferico sferico). il giunto lineare P è motorizzato, e tramite le posizioni dei sei giunti P si determina la posizione nei 6 gradi del'End-Effector.
Quindi si definisce:
Base: sistema di riferimento solidale con l'ambiente detto anche <math>{\left \{ A \right \}}</math>;
End-Effector: sistema di riferimento solidale con l'attuatore della macchina detto anche <math>{\left \{ EE \right \}}</math>.
Definizioni
si definiranno due sistemi di riferimento, Base <math>{\left \{ A \right \}}</math> e End-Effector <math>{\left \{ EE \right \}}</math>. Inoltre dove necessario i punti avranno un prefisso che indicherà a che sistema di riferimento al si appoggiano.
Base
definisco il sistema di riferimeto della base e che indicherò con <math>{\left \{ A \right \}}</math> come da figura.
Punti <math> ^{\left \{ A \right \}}B_i , i=1..6 </math> solidali al <math>{\left \{ A \right \}}</math> in coordinate omogenee.
<math> ^{\left \{ A \right \}}B_1:\left(\frac{\sqrt{3}\cdot d}{2},0,0,1 \right)</math>;
<math> ^{\left \{ A \right \}}B_2:\left(0,\frac{d}{2},0,1 \right)</math>;
<math> ^{\left \{ A \right \}}B_3:\left(0,D + \frac{d}{2},0,1 \right)</math>;
<math> ^{\left \{ A \right \}}B_4:\left(\frac{\sqrt{3}\cdot d}{2},D + d,0,1 \right)</math>;
<math> ^{\left \{ A \right \}}B_5:\left(\frac{\sqrt{3}\cdot (D+d)}{2},\frac{D}{2} + d,0,1 \right)</math>;
<math> ^{\left \{ A \right \}}B_5:\left(\frac{\sqrt{3}\cdot (D+d)}{2},\frac{D}{2},0,1 \right)</math>;
i <math> ^{\left \{ A \right \}}B_i</math> sono i sei assi su cui appoggiano i giunti prismatici.
Punti <math> ^{\left \{ A \right \}}P_i , i=1..6 </math> solidali al <math>{\left \{ A \right \}}</math> in coordinate omogenee rappresentano i sei punti comandati dagli attuatori, e i <math> c_i </math> rappresentano le variabili da comandare con gli attuatori.
<math> ^{\left \{ A \right \}}P_1:\left(\frac{\sqrt{3}\cdot d}{2},0,c_1,1 \right)</math>;
<math> ^{\left \{ A \right \}}P_2:\left(0,\frac{d}{2},c_2,1 \right)</math>;
<math> ^{\left \{ A \right \}}P_3:\left(0,D + \frac{d}{2},c_3,1 \right)</math>;
<math> ^{\left \{ A \right \}}P_4:\left(\frac{\sqrt{3}\cdot d}{2},D + d,c_4,1 \right)</math>;
<math> ^{\left \{ A \right \}}P_5:\left(\frac{\sqrt{3}\cdot (D+d)}{2},\frac{D}{2} + d,c_5,1 \right)</math>;
<math> ^{\left \{ A \right \}}P_6:\left(\frac{\sqrt{3}\cdot (D+d)}{2},\frac{D}{2},c_6,1 \right)</math>;
inoltre i sei braccetti che congiungono l'End-Effector sono di due misure <math> B </math> e <math> b </math>.
End-Effector
definisco i sei punti <math> Sf_i , i=1..6 </math> dei giunti sferici dell'end effector in coordinate omogenee riferiti al sistema di riferimento <math>{\left \{ EE \right \}}</math>. Il sistema di riferimento <math>{\left \{ EE \right \}}</math> è solidale all'End-Effector e l'origine coincide con la punta dell'attuatore.
<math> ^{\left \{ EE \right \}}Sf_1:\left(\frac{d}{2 \cdot \sqrt{3}},-\frac{d}{2},d,1 \right)</math>;
<math> ^{\left \{ EE \right \}}Sf_2:\left(-\frac{d}{2 \cdot \sqrt{3}},-\frac{d}{2},2 \cdot d,1 \right)</math>;
<math> ^{\left \{ EE \right \}}Sf_3:\left(-\frac{d}{\sqrt{3}},0,d,1 \right)</math>;
<math> ^{\left \{ EE \right \}}Sf_4:\left(-\frac{d}{2 \cdot \sqrt{3}},\frac{d}{2},2 \cdot d,1 \right)</math>;
<math> ^{\left \{ EE \right \}}Sf_5:\left(\frac{d}{2 \cdot \sqrt{3}},\frac{d}{2},d,1 \right)</math>;
<math> ^{\left \{ EE \right \}}Sf_6:\left(\frac{d}{\sqrt{3}},0,2 \cdot d,1 \right)</math>;
Matrice di rototraslazionezione Omogenea
definisco la matrice di rotazione del S.d.r. <math>{\left \{ EE \right \}}</math> (End Effector) rispetto <math>{\left \{ A \right \}}</math> (Base). tutti i conti sono fatti in coordinate omogenee.
nel definirla uso rotazione con angoli RPY rispetto alla terna fissa <math>{\left \{ A \right \}}</math>} definisco le due SOLE rotazioni: - Prima intorno all'asse 'x' di rotazione <math> \gamma</math> - Seconda intorno all'asse 'y' di rotazione <math> \beta</math> inteso verso antiorario positivo.
<math> \begin{bmatrix} \cos\beta & \sin\beta \sin\gamma & \sin\beta \cos\gamma & t_1 \\ 0 & \cos\gamma & -\sin\gamma & t_2 \\ -\sin\beta & \cos\beta \sin\gamma & \cos\beta \cos\gamma & t_3 \\ 0 & 0 & 0 & 1 \end{bmatrix} </math>
questa matrice applicata ai punti <math>^{\left \{ EE \right \}}Sf_i , i=1..0</math> me li riferisce al sistema di riferimento <math>{\left \{ A \right \}}</math>}. facendo così ho i punti dell'End-Effector roto-traslati riferiti al <math>{\left \{ A \right \}}</math>} e facili da usare per calcolare la cinematica inversa della macchina.
Punti <math>^{\left \{ A \right \}}Sf_i , i=1..0</math>
applico la matrice ai punti:
<math> ^{\left \{ A \right \}}Sf_i := \begin{bmatrix} \cos\beta & \sin\beta \sin\gamma & \sin\beta \cos\gamma & t_1 \\ 0 & \cos\gamma & -\sin\gamma & t_2 \\ -\sin\beta & \cos\beta \sin\gamma & \cos\beta \cos\gamma & t_3 \\ 0 & 0 & 0 & 1 \end{bmatrix} \cdot ^{\left \{ EE \right \}}Sf_i con i=1..6 </math>