Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
vuoi
o PayPal
tutte le volte che vuoi
T T R
i j
i,j
sempre definite come matrici di trasformazione; relazione sempre invertibile. Possiamo
1
esprimere P come una matrice omogenea per un vettore?
1,2 >
1 0
0 1
−
r r
R r
1,2 0,2
0,1
>
0 0 1 1 1 0
1
−
R r r = r =⇒ P = = = P
0,2 0,1 1,2 1,2 0,2
1 1 1
0 1
1×3
La matrice appena individuata è semplicemente l’inversa della precedente. Quando una
>
0 1 ←
matrice ha l’INVERSA, essa è UNICA! [ R = R ] definizione di SΘ(3). Le matrici
0
1
di trasformazione omogenee viste, presentano tutte delle uniche inverse. L’insieme delle ma-
trici omogenee è quindi chiuso rispetto al prodotto. Si possono utilizzare per compiere varie
trasformazioni. 0
r
0,p
0 0 1 2 p−2 p−1
P = = [ T T T . . . T P ]
0,p 1 2 3 p−1 p−1,p
1
Nel nostro caso: 0
r
0,p
0 0 1 2
[ P = = T T P ]
0,p 1 2 2,p
1
Cambiamento notazione apici.
Nulla di concettuale nella trattazione. Utili dal punto di vista computazionale. Sostan-
zialmente, in una catena cinematica di un manipolatore robotico, gli elementi individuati li
34
sappiamo scrivere a mano! Duali: tipicamente le matrici di rotazione attorno gli assi le sappia-
mo scrivere molto semplicemente. Il vettore posizione tra una terna e l’altra è un parametro
spesso noto dalla geometria del sistema. Scriviamo le matrici elementari T . 25 terne. Succede
ovviamente di trattare con questi numeri. La matrice di trasformazione (tipicamente) in tel
caso avrà 25 parametri dentro! Scriviamo le venticinque matrici elementari, e dopodiché ci
0 0
serve R nel caso del venticinquesimo giunto. T sarà quella finale che avrà in alto a sinistra
25 25
la vera e propria matrice di rotazione. Conti elementari. Integrazione della SDE Ṙ = S(ω)R.
Integrare assetto per l’assetto finale. Funzioni MATLAB per graficare l’assetto di una matrice
di rotazione. Robotics Toolbox, disponibile gratuitamente. Non banalissima come interfaccia
ma sicuramente molto esplicita. Tutte le funzioni di base per modellistica / controllo di robot
sono già implementate.
Questo formalismo è utile per risolvere il problema geometrico diretto. Dove sta l’end-
effector rispetto alla terna base? Ciascuna delle T dipende da un solo parametro di giunto. In
termini di MAPPING abbiamo: 0 1 2 0
{< 7→
0 >, < 1 >, < 2 >, < 3 >} [ T T T = T ]
1 2 3 3
L’assetto dell’end-effector rispetto alla terna base è l’elemento in alto a sinistra. Assetto
dell’end-effector, praticamente. Problema geometrico diretto risolto completamente da questo
metodo. Giunti sferici, con tre gradi di libertà. Problema geometrico INVERSO: quali valori
ai giunti dobbiamo assegnare affinché l’assetto finale dell’end-effector sia quello che voglio io,
predeterminato? Rimane ovviamente il problema della NON-univocità della soluzione. Nei
Robot ridondanti il problema è mal posto: o abbiamo infinite soluzioni oppure non ne abbiamo
proprio.
2.2.2 RECAP
2 2
{ }.
r , P Possibili sensori/attuatori per metodi robotici. Sintesi del Controllo. Prof.
2,x 2,x {YPR,
Alessandro De Luca Trasformazioni omogenee}. ZX’Z” Euler Angles. Individuiamo una
terna finale rispetto a quella iniziale compiendo tre rotazioni successive, ogni volta prenden-
do l’asse locale. Utilità del metodo: le matrici elementari di rotazione le sappiamo scrivere.
L’ordine conta! È importante:
− −c −
c c s c s s s c c s s
φ ψ φ θ ψ φ ψ φ θ ψ φ θ
−s − −c
s c + c c s s c c c s
R (φ, θ, ψ) = R (φ)R (θ)R (ψ) =
0 00 0 00
Z φ ψ φ θ ψ φ ψ φ θ ψ φ θ
ZX Z X Z
s s s c c
θ ψ θ ψ θ
Il problema inverso è: GIVEN R, (φ, θ, ψ) =?
q 2 2
{± }
θ = atan2 r + r , r
33
13 23
r r
31 32
{ }
ψ = atan2 ,
s s
θ θ
r
r
13 23
{ }
φ = atan2 ,
s s
θ θ
Si noti che l’ambiguità si ha nel segno della prima equazione del sistema, che si ripercuote
inevitabilmente sulle altre due.
Spesso abbiamo una terna assoluta, sulla base del manipolatore tipicamente. Spesso essa
si mette in terna base. CINEMATICA DIRETTA/INVERSA. Discorso delle formule dedotte
per ricavare il vettore velocità angolare di una terna < n > rispetto alla terna < 0 >. Com-
posizione di velocità angolari tra frame successivi. Formula alla base del cosiddetto Modello
35
cinematico diretto per catene di manipolatori. Fondamentale distinguere tra catene cinemati-
che aperte e chiuse. Quelle viste sinora sono tutte aperte. Chiuse se tra due punti vi sono più
modi per raggiungerli. Ad esempio due manipolatori a base fissa che si ”stringono le mani”.
Nel momento in cui si stringono le mani abbiamo praticamente un link comune. Due vincoli
anziché uno solo. Moti interni non arbitrari. I giunti li possiamo muovere purché rispettino
la condizione al CONTORNO. Non è quindi più vero che l’EE può avere orientazione arbitra-
ria. A volte possiamo avere catene cinematiche che si chiudono prima dell’EE. Variabili non
completamente indipendenti.
Negli esempi visti sinora, ogni giunto può assumere dei valori delle variabili indipendenti
da quelli dei giunti precedenti. Invece abbiamo dei Robot completamente chiusi. ROBOT
→
PARALLELI (Piattaforme di Strumenti) si può modificare sia la posizione sulla superficie
che l’assetto. Si utilizzano tantissimo nei simulatori / videogiochi. Addirittura nelle Simulazioni
Aeree ruotiamo proprio l’intera cabina! Catene cinematiche particolarmente complicate da
studiare.
Aspetto importante: si distinguono nella modellistica dei manipolatori: lo spazio operativo
è lo spazio fisico all’interno del quale il robot si muove. Poi abbiamo lo spazio dei giunti, entro
{Angolo,
il quale formuliamo i comandi di velocità angolare}. Ma l’obiettivo è che l’EE alla
fine faccia qualcosa. Il task / compito robotico viene formulato nello spazio operativo, ma il
{Geometrico,
comando viene dato nello spazio ai giunti! Comando: Cinematico, Dinamico}.
JACOBIANO = Matrice che mappa le velocità ai giunti con la velocità nello spazio operativo.
{forze,
Dinamica: coppie, accelerazioni}. Mapping di queste grandezze tra i due spazi. JOINT
Space. Può avere più o meno variabili a seconda di come è fatto il robot. Lo spazio di task è
quello operativo. Al più 6 qui, in generale. I gradi di libertà fisici nello spazio dell’EE sono sei,
sebbene non tutti i task li richiedano tutti e sei. Non sono sempre sei! Dipendono ovviamente
dal particolare task considerato. Es. Robot che falsifica le firme: nello spazio xy, 2D (due gradi
di libertà). Al più sei comunque. Nello spazio dei giunti invece dipende dal particolare robot.
Concetto di Ridondanza del Robot rispetto al task: più gradi di libertà ai giunti rispetto a
quelli ai task. È una cosa molto buona: implica che, sia per il problema geometrico che per
{Fault
quello cinematico ci sarà utile: Tolerance, Ottimizzazione rispetto ad un criterio}. I
robot puramente attuati, ma non ridondanti, sono quelli per ccui (n = m), ove:
(
n := dof (JOIN T )
m := dof (T ASK)
ove dof (·) sta per degree-of-freedom. Poi abbiamo i robot sotto-attuati (n < m). Sono
divertenti, ma complicati. La bicicletta / automobile sono dei sistemi sottoattuati. Per un’au-
tomobile che si muove su ruote tradizionali, un task tipico è il parcheggio, ove abbiamo tre gradi
di libertà ai TASK e due ai JOINT.
In ambito industriale tipicamente abbiamo ATTUAZIONE piena o SOVRATTUAZIONE
addirittura. Le variabili ai giunti robotici, tipicamente le chiamiamo con q. < 0 > in terna
base, tipicamente. Robot tipici:
• PRISMATICI;
• ROTAZIONALI.
Tipiche possibilità per le geometrie dei Robot come Prismatici: telescopici, tipo l’antenna.
Rotazionale: vi è una rotazione, Un manipolatore antropomorfo dovrebbe avere sette tutte di
tipo R. (RRRRRRR). I nostri sono in particolare sferici, ovvero giunti composti da tre giunti
rotazionali elementari, i cui assi di rotazione NON sono paralleli tra di loro e si incontrano in
36
un punto comune. Ecco perché un braccio antropomorfo ne possiede tre rotazionali (RRR).
{SCARA as Selective Compliance Assembly Robot Arm: RRP}.
Compliance: in Italiano viene tradotto con il termine cedevolezza, nel contesto meccanico.
Rappresenta quanto una struttura meccanica è cedevole rispetto a forze esterne. Di quanto si
sposta qualitativamente rispetto alle forze esterne. L’Inglese è molto più vicino al significato
corrente. Discorso puramente intuitivo. Se i link SCARA sono molto lunghi, la coppia alla base
del robot è molto grande, a seguito di un’eventuale applicazione di forze relativamente basse
alla punta del Robot. In tutte le applicazioni di Assembly, un modo per avere cedevolezza è non
mettere poli nell’origine in un eventuale regolatore alla base del Robot. E bisognerebbe inoltre
scegliere una costante di Bode K relativamente piccola.
B
Denavit - Hartenberg (DH). Modello geometrico diretto, tirato fuori in maniera abbastanza
elementare. Metodi convenzionali. L’RT di MATLAB utilizza questa convenzione per definire
una catena cinematica.
Avevamo ricavato questa equazione:
n
X
0 0 k−1 k−1 k−1
×
v = R ( ω r + ṙ )
k−1 k,n k−1,k
n/0 k/k−1
k=1
ove il termine sottolineato rappresenta la velocità angolare del frame < k > rispetto a
− −
< k 1 > proiettato in < k 1 >. Ricordiamo che < 0 > è la terna base del manipolatore,
terna inerziale. L’indice k = 1, n mi identifica le terne che costituiscono la catena cinematica.
In realtà sono (n + 1), ivi includendo anche la terna base.
> k k
k
k −S(
= S( ω ) = ω )
Ṙ R
k−1 k−1/k k/k−1
k−1
0 0 k
ω non è altro che [ R ω ]. La formula precedente era stata dedotta da alcuni
k
k/k−1 k/k−1
precedenti passaggi. Conti spiegati nelle dispense.
n F IN AL
X 0 0 0 k−1
0 ×
= ( ω r + R ṙ ) = (. . . )
v k−1,k k−1 k−1,k
k−1/0
n/0 k=1 n
X 0 k−1 k−1 k−1
×
(. . . ) = R ( ω r + ṙ ))
k−1 k,n k−1,k
k/k−1
k=1
ove il prim