Regressore.. - Ingegneria Meccanica, Nucleare e della Produzione

Regressore.. - Ingegneria Meccanica, Nucleare e della Produzione Regressore.. - Ingegneria Meccanica, Nucleare e della Produzione

dimnp.unipi.it
from dimnp.unipi.it More from this publisher
12.07.2015 Views

5.1. Studio di cinematica diretta, cinematica differenziale e dinamicaMatrice di Trasformazione dal sistema di riferimento {i-1} a {i} (di D-H)A[i_] := {{Cos[link[i][[4]]], -Sin[link[i][[4]]]*Cos[link[i][[2]]],Sin[link[i][[4]]]*Sin[link[i][[2]]],link[i][[1]]*Cos[link[i][[4]]]}, {Sin[link[i][[4]]],Cos[link[i][[4]]]*Cos[link[i][[2]]], -Cos[link[i][[4]]]*Sin[link[i][[2]]],link[i][[1]]*Sin[link[i][[4]]]}, {0, Sin[link[i][[2]]],Cos[link[i][[2]]], link[i][[3]]}, {0, 0, 0, 1}};A01 = A[1];A12 = A[2];A23 = A[3];A34 = A[4];A45 = A[5];A56 = A[6];Matrice di trasformazione da terna base a end-effectorA06 = A01.A12.A23.A34.A45.A56;n06 = A06[[1 ;; 3, 1]];s06 = A06[[1 ;; 3, 2]];a06 = A06[[1 ;; 3, 3]];p06 = A06[[1 ;; 3, 4]];Successivamente è stata studiata la cinematica differenziale del manipolatore, checaratterizza i legami tra le velocità dei giunti e le corrispondenti velocità lineare eangolare dell’end effector. Tali legami sono descritti dalla matrice di trasformazionedenominata Jacobiano geometrico.A questo punto si procede affrontando lo studio della dinamica del manipolatoredi Stanford considerato. Tale studio è condotto allo scopo di verificare l’efficienzadel metodo per il calcolo diretto della dinamica nel regressore, tramite un confrontotra le τ ottenute eseguendo il prodotto τ = Y (q, ˙q, ¨q) π e considerando il modellodinamico nello spazio dei giunti τ = B(q) ¨q + C(q, ˙q) ˙q + G(q).Per la definizione di quest’ultimo modello sono stati costruiti i Jacobiani relativi aibaricentri di ciascun link. La matrice B(q) è ottenuta adoperando tali Jacobiani,le caratteristiche inerziali dei bracci e le matrici di rotazione calcolate nell’ambitodella risoluzione della cinematica diretta; la matrice C(q, ˙q) è costruita a partire24

5.1. Studio di cinematica diretta, cinematica differenziale e dinamicadalla matrice B tramite l’utilizzo dei simboli di Christoffel; infine la matrice G(q) èottenuta per derivazione diretta dell’energia potenziale U(q) rispetto al vettore dellevariabili di giunto q.Il codice Mathematica che implementa il calcolo della forma matriciale del modellodinamico è presentato di seguito.DinamicaCalcolo di B (matrice d’inerzia)Formule per il calcolo dei Jacobiani dei vari linkJacobiano di posizionejpl[i_, j_] := z[2] /; j == 3; (* giunto prismatico *)jpl[i_, j_] := S[z[j - 1]].(pg[i] - p[j - 1]);(*giunto rotoidale*)Jacobiano di orientazionejol[i_, j_] := {0, 0, 0} /; j == 3; (* giunto prismatico *)jol[i_, j_] := z[j - 1];(*giunto rotoidale*)Calcolo del Jacobiano del link 1Jp[1] = Transpose[{jpl[1, 1], {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0,0, 0}}];Jo[1] = Transpose[{jol[1, 1], {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0,0, 0}}];Calcolo del Jacobiano del link 2Jp[2] = Transpose[{jpl[2, 1],jpl[2, 2], {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}}];Jo[2] = Transpose[{jol[2, 1],jol[2, 2], {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}}];Calcolo del Jacobiano del link 3Jp[3] = Transpose[{jpl[3, 1], jpl[3, 2],jpl[3, 3], {0, 0, 0}, {0, 0, 0}, {0, 0, 0}}];Jo[3] = Transpose[{jol[3, 1], jol[3, 2],jol[3, 3], {0, 0, 0}, {0, 0, 0}, {0, 0, 0}}];Calcolo del Jacobiano del link 425

5.1. Studio di cinematica diretta, cinematica differenziale e dinamicadalla matrice B tramite l’utilizzo dei simboli di Christoffel; infine la matrice G(q) èottenuta per derivazione diretta dell’energia potenziale U(q) rispetto al vettore dellevariabili di giunto q.Il codice Mathematica che implementa il calcolo <strong>della</strong> forma matriciale del modellodinamico è presentato di seguito.DinamicaCalcolo di B (matrice d’inerzia)Formule per il calcolo dei Jacobiani dei vari linkJacobiano di posizionejpl[i_, j_] := z[2] /; j == 3; (* giunto prismatico *)jpl[i_, j_] := S[z[j - 1]].(pg[i] - p[j - 1]);(*giunto rotoidale*)Jacobiano di orientazionejol[i_, j_] := {0, 0, 0} /; j == 3; (* giunto prismatico *)jol[i_, j_] := z[j - 1];(*giunto rotoidale*)Calcolo del Jacobiano del link 1Jp[1] = Transpose[{jpl[1, 1], {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0,0, 0}}];Jo[1] = Transpose[{jol[1, 1], {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0,0, 0}}];Calcolo del Jacobiano del link 2Jp[2] = Transpose[{jpl[2, 1],jpl[2, 2], {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}}];Jo[2] = Transpose[{jol[2, 1],jol[2, 2], {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}}];Calcolo del Jacobiano del link 3Jp[3] = Transpose[{jpl[3, 1], jpl[3, 2],jpl[3, 3], {0, 0, 0}, {0, 0, 0}, {0, 0, 0}}];Jo[3] = Transpose[{jol[3, 1], jol[3, 2],jol[3, 3], {0, 0, 0}, {0, 0, 0}, {0, 0, 0}}];Calcolo del Jacobiano del link 425

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!