corso di percezione robotica (pro) modulo b. fondamenti...
TRANSCRIPT
![Page 1: Corso di Percezione Robotica (PRo) Modulo B. Fondamenti ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione_b.iii...Jacobiano geometrico = matrice di trasformazione dipendente dalla](https://reader035.vdocuments.site/reader035/viewer/2022081410/60946d5b229e896a817a6a28/html5/thumbnails/1.jpg)
Corso di Percezione Robotica (PRo)
Modulo B. Fondamenti di Robotica
Fondamenti di controllo dei robot
![Page 2: Corso di Percezione Robotica (PRo) Modulo B. Fondamenti ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione_b.iii...Jacobiano geometrico = matrice di trasformazione dipendente dalla](https://reader035.vdocuments.site/reader035/viewer/2022081410/60946d5b229e896a817a6a28/html5/thumbnails/2.jpg)
Modulo B. Fondamenti di controllo dei Robot
Controllo del moto di un giunto:Il controllo PID
Controllo del moto di un manipolatorePianificazione delle traiettorieControllo del moto nello spazio dei giuntiControllo del moto nello spazio operativo: cinematica differenziale e Jacobiano
Dexter Arm: Meccanica, Cinematica, Controllo, Interfacce software
![Page 3: Corso di Percezione Robotica (PRo) Modulo B. Fondamenti ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione_b.iii...Jacobiano geometrico = matrice di trasformazione dipendente dalla](https://reader035.vdocuments.site/reader035/viewer/2022081410/60946d5b229e896a817a6a28/html5/thumbnails/3.jpg)
Sistema di controllo
Un sistema di controllo fornisce un comando in tensione o in corrente agli attuatori (motori) in modo da far assumere ai giunti una configurazione desiderata
![Page 4: Corso di Percezione Robotica (PRo) Modulo B. Fondamenti ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione_b.iii...Jacobiano geometrico = matrice di trasformazione dipendente dalla](https://reader035.vdocuments.site/reader035/viewer/2022081410/60946d5b229e896a817a6a28/html5/thumbnails/4.jpg)
a
Schema di una unità di controllo
amplificatore di potenza
Motore
Encoder
Riduttore mot +
mot -
Unità di controllo
Posizione
Segnale di riferimento
GIUNTO Alimentazione
![Page 5: Corso di Percezione Robotica (PRo) Modulo B. Fondamenti ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione_b.iii...Jacobiano geometrico = matrice di trasformazione dipendente dalla](https://reader035.vdocuments.site/reader035/viewer/2022081410/60946d5b229e896a817a6a28/html5/thumbnails/5.jpg)
a
Schema di una unità di controllo
Motore
Encoder
Riduttore mot +
mot -
GIUNTO
A tensioni in ingresso al motore di segno
opposto corrispondono rotazioni opposte del
motore
![Page 6: Corso di Percezione Robotica (PRo) Modulo B. Fondamenti ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione_b.iii...Jacobiano geometrico = matrice di trasformazione dipendente dalla](https://reader035.vdocuments.site/reader035/viewer/2022081410/60946d5b229e896a817a6a28/html5/thumbnails/6.jpg)
a
Schema di una unità di controllo
Motore
Encoder
Riduttore
Unità di controllo
Posizione
Segnale di riferimento
GIUNTO Alimentazione
Encoder: sensore che misurala rotazione dei giunti in valore relativo o assoluto. La misurazione avviene in “tacche di encoder”Riduttore: meccanismo che riduce i giri dell’asse montato sul giunto rispetto ai giri del motore (es. riduzione 1:N)Amplificatore di potenza: amplifica un segnale di riferimento in un segnale di potenza per muovere il motoreUnità di controllo: unità che produce un segnale di riferimento per il motore
amplificatore di potenza
![Page 7: Corso di Percezione Robotica (PRo) Modulo B. Fondamenti ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione_b.iii...Jacobiano geometrico = matrice di trasformazione dipendente dalla](https://reader035.vdocuments.site/reader035/viewer/2022081410/60946d5b229e896a817a6a28/html5/thumbnails/7.jpg)
Relazione tra posizione del giunto e posizione encoder
θ: posizione giunto in gradiq: posizione giunto in tacche di encoderN: rapporto di riduzione del motoreR: risoluzione dell’encoder (numero di tacche per giro)
θ = x 360°q
R x N
![Page 8: Corso di Percezione Robotica (PRo) Modulo B. Fondamenti ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione_b.iii...Jacobiano geometrico = matrice di trasformazione dipendente dalla](https://reader035.vdocuments.site/reader035/viewer/2022081410/60946d5b229e896a817a6a28/html5/thumbnails/8.jpg)
Controllo del moto di un giunto
Obiettivo: muovere il giunto dallaposizione attuale θi (espressa in gradi)alla posizione desiderata θf in un intervallo di tempo t :
θi ⇒ θf θi ⇒ qi
qi ⇒ qf θf ⇒ qf
![Page 9: Corso di Percezione Robotica (PRo) Modulo B. Fondamenti ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione_b.iii...Jacobiano geometrico = matrice di trasformazione dipendente dalla](https://reader035.vdocuments.site/reader035/viewer/2022081410/60946d5b229e896a817a6a28/html5/thumbnails/9.jpg)
Controllo ad anello chiuso(feedback control)
La variabile da controllare è misurata e confrontata con il valore desideratola differenza, o errore, è elaborata secondo un algoritmo prefissatoil risultato di quest'elaborazione costituisce il valore d'ingresso dell'attuatore
Attuatore+
Sensore
Valore desiderato
-
posizione attuale
err Algoritmo di controllo
V
![Page 10: Corso di Percezione Robotica (PRo) Modulo B. Fondamenti ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione_b.iii...Jacobiano geometrico = matrice di trasformazione dipendente dalla](https://reader035.vdocuments.site/reader035/viewer/2022081410/60946d5b229e896a817a6a28/html5/thumbnails/10.jpg)
Controllo PID(Proporzionale, Integrativo e Derivativo):
E’ un sistema di controllo ad anello chiuso in cuil'errore è processato con un algoritmo di tipo Proporzionale, Integrativo e derivativo. Quest'algoritmo è composto di tre parti:
proporzionale, così detta perché il suo effetto è proporzionale all'errore; Integrativa, perché produce in uscita una correzione che rappresenta l'integrale dell'errore nel tempo;Derivativa perché genera una correzione che è funzione della derivata prima dell'errore.
Non tutti i sistemi di controllo ad anello chiuso fanno uso di un algoritmo di tipo P.I.D.
![Page 11: Corso di Percezione Robotica (PRo) Modulo B. Fondamenti ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione_b.iii...Jacobiano geometrico = matrice di trasformazione dipendente dalla](https://reader035.vdocuments.site/reader035/viewer/2022081410/60946d5b229e896a817a6a28/html5/thumbnails/11.jpg)
Controllo PID(Proporzionale, Integrativo e Derivativo):
In un controllo PID l’errore è dato in ingressoal sistema di controllo il quale calcola le componenti derivativa e integrale e il segnaledi uscita V
Attuatore+
Sensore
Valore desiderato
-
posizione attuale
ePID
V
![Page 12: Corso di Percezione Robotica (PRo) Modulo B. Fondamenti ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione_b.iii...Jacobiano geometrico = matrice di trasformazione dipendente dalla](https://reader035.vdocuments.site/reader035/viewer/2022081410/60946d5b229e896a817a6a28/html5/thumbnails/12.jpg)
Controllo PID(Proporzionale, Integrativo e derivativo):
Kp è il guadagno o costante proporzionaleKi è il guadagno o costante integraleKd è il guadagno o costante derivativae rappresenta l’errore, ovvero la differenza traposizione desiderata e la posizione attuale
( )
dtde
e
qqedtteKeKeKV
dq
qiqdqp
=
−=++= ∫
&
&
![Page 13: Corso di Percezione Robotica (PRo) Modulo B. Fondamenti ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione_b.iii...Jacobiano geometrico = matrice di trasformazione dipendente dalla](https://reader035.vdocuments.site/reader035/viewer/2022081410/60946d5b229e896a817a6a28/html5/thumbnails/13.jpg)
Controllo PID
Componente ProporzionaleLa tensione V imposta al motore è proporzionale alladifferenza tra la posizione effettiva misurata dalsensore e la posizione desiderata
K * errV
Motoreqdposizione desiderata Robot
Encoder
+
-
qa (posizione attuale)
e
![Page 14: Corso di Percezione Robotica (PRo) Modulo B. Fondamenti ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione_b.iii...Jacobiano geometrico = matrice di trasformazione dipendente dalla](https://reader035.vdocuments.site/reader035/viewer/2022081410/60946d5b229e896a817a6a28/html5/thumbnails/14.jpg)
Controllo PID
Componente Proporzionale:La tensione imposta al motore nell’unità di tempo è proporzionale alla differenza tra la posizione effettivamisurata dal sensore e la posizione voluta
eKV qp=
qqe dp −=
KP costante proporzionale
q
![Page 15: Corso di Percezione Robotica (PRo) Modulo B. Fondamenti ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione_b.iii...Jacobiano geometrico = matrice di trasformazione dipendente dalla](https://reader035.vdocuments.site/reader035/viewer/2022081410/60946d5b229e896a817a6a28/html5/thumbnails/15.jpg)
Controllo PID
Componente Proporzionale: comportamento del sistema
Posizione desiderata: 1
• Il motore oscilla prima di convergere verso la posizione desiderata
• Il sistema si assesta senza annullare l’errore
![Page 16: Corso di Percezione Robotica (PRo) Modulo B. Fondamenti ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione_b.iii...Jacobiano geometrico = matrice di trasformazione dipendente dalla](https://reader035.vdocuments.site/reader035/viewer/2022081410/60946d5b229e896a817a6a28/html5/thumbnails/16.jpg)
Controllo PID
Componente derivativa:
dtde
e pp =&
qqe
eKeKV
dp
qdqp
−=
+= &
Derivata dell’errore nel tempo
Kd costante derivativa
q
![Page 17: Corso di Percezione Robotica (PRo) Modulo B. Fondamenti ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione_b.iii...Jacobiano geometrico = matrice di trasformazione dipendente dalla](https://reader035.vdocuments.site/reader035/viewer/2022081410/60946d5b229e896a817a6a28/html5/thumbnails/17.jpg)
Controllo PID
Controllo Proporzionale e Derivativo:
• Riduzione delle oscillazioni
• Diminuzione del tempo di assestamento
• Il sistema si assesta senza annullare l’errore
![Page 18: Corso di Percezione Robotica (PRo) Modulo B. Fondamenti ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione_b.iii...Jacobiano geometrico = matrice di trasformazione dipendente dalla](https://reader035.vdocuments.site/reader035/viewer/2022081410/60946d5b229e896a817a6a28/html5/thumbnails/18.jpg)
Controllo PID
Componente integrativa:
( )dtteK qi ∫ Integrazione dell’errore nel tempo
Ki costante integrativa
qqe
KeKV
dp
qp
−=
+= ( )dtteK qi+ ∫q
![Page 19: Corso di Percezione Robotica (PRo) Modulo B. Fondamenti ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione_b.iii...Jacobiano geometrico = matrice di trasformazione dipendente dalla](https://reader035.vdocuments.site/reader035/viewer/2022081410/60946d5b229e896a817a6a28/html5/thumbnails/19.jpg)
Controllo PID
Controllo Proporzionale e Integrativo:
• Il sistema si assesta annullando l’errore
![Page 20: Corso di Percezione Robotica (PRo) Modulo B. Fondamenti ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione_b.iii...Jacobiano geometrico = matrice di trasformazione dipendente dalla](https://reader035.vdocuments.site/reader035/viewer/2022081410/60946d5b229e896a817a6a28/html5/thumbnails/20.jpg)
Controllo PIDControllo Proporzionale, Derivativo e Integrativo
( )
dtde
e
qqedtteKeKeKV
qp
dp
qiqdqp
=
−=++= ∫
&
&
q
q
![Page 21: Corso di Percezione Robotica (PRo) Modulo B. Fondamenti ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione_b.iii...Jacobiano geometrico = matrice di trasformazione dipendente dalla](https://reader035.vdocuments.site/reader035/viewer/2022081410/60946d5b229e896a817a6a28/html5/thumbnails/21.jpg)
Controllo PIDControllo Proporzionale, Derivativo e Integrativo:
• Le costanti Kp, Kd, Kivengono determinate in modo empirico o con metodi specifici
![Page 22: Corso di Percezione Robotica (PRo) Modulo B. Fondamenti ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione_b.iii...Jacobiano geometrico = matrice di trasformazione dipendente dalla](https://reader035.vdocuments.site/reader035/viewer/2022081410/60946d5b229e896a817a6a28/html5/thumbnails/22.jpg)
Controllo del moto di un manipolatore
Obiettivo del controllo del moto di un manipolatore è muovere il braccio da unaposizione iniziale ad una posizione finale espresse nelle coordinate dello spaziooperativoIn generale, il problema del controllo del moto di un manipolatore consiste neldeterminare l’andamento delle forze o coppieche gli attuatori devono applicare ai giunti in modo da garantire l’esecuzione di unatraiettoria pianificata
![Page 23: Corso di Percezione Robotica (PRo) Modulo B. Fondamenti ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione_b.iii...Jacobiano geometrico = matrice di trasformazione dipendente dalla](https://reader035.vdocuments.site/reader035/viewer/2022081410/60946d5b229e896a817a6a28/html5/thumbnails/23.jpg)
Controllo del moto di un manipolatore
Nel controllo del moto di un manipolatore si individuano le seguentiproblematiche:
CinematicaCinematica differenziale e staticaDinamicaPianificazione di treiettorieControllo del motoControllo dell’interazione
![Page 24: Corso di Percezione Robotica (PRo) Modulo B. Fondamenti ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione_b.iii...Jacobiano geometrico = matrice di trasformazione dipendente dalla](https://reader035.vdocuments.site/reader035/viewer/2022081410/60946d5b229e896a817a6a28/html5/thumbnails/24.jpg)
Pianificazione di traiettorieOBIETTIVO: generare gli ingressi di riferimento
per il sistema di controllo del moto per muovere il braccio da xstart --> xf
PERCORSO: luogo dei punti dello spazio deigiunti o dello spazio operativo che ilmanipolatore deve descrivere nell’esecuzionedel movimento assegnato
TRAIETTORIA: percorso su cui è specificata la legge oraria di moto (velocità ed accelerazione in ogni punto)
![Page 25: Corso di Percezione Robotica (PRo) Modulo B. Fondamenti ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione_b.iii...Jacobiano geometrico = matrice di trasformazione dipendente dalla](https://reader035.vdocuments.site/reader035/viewer/2022081410/60946d5b229e896a817a6a28/html5/thumbnails/25.jpg)
Pianificazione di traiettorieOBIETTIVO: generare gli ingressi di riferimento per il sistema
di controllo del moto:xstart --> xf
DATI IN INPUT:definizione del percorsovincoli del percorsovincoli dovuti alla dinamica del manipolatore
DATI IN OUTPUT:nello spazio dei giunti: traiettorie dei vari giuntinello spazio operativo: traiettoria dell’organo terminale
![Page 26: Corso di Percezione Robotica (PRo) Modulo B. Fondamenti ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione_b.iii...Jacobiano geometrico = matrice di trasformazione dipendente dalla](https://reader035.vdocuments.site/reader035/viewer/2022081410/60946d5b229e896a817a6a28/html5/thumbnails/26.jpg)
![Page 27: Corso di Percezione Robotica (PRo) Modulo B. Fondamenti ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione_b.iii...Jacobiano geometrico = matrice di trasformazione dipendente dalla](https://reader035.vdocuments.site/reader035/viewer/2022081410/60946d5b229e896a817a6a28/html5/thumbnails/27.jpg)
Pianificazione di traiettorieL’algoritmo di pianificazione deve in generalesoddisfare i seguenti requisiti:
Le traiettorie generate devono rendereminima una opportuna funzione pesoLe posizioni e le velocità dei giunti sianofunzioni continue del tempoSiano minimizzati effetti indesiderati (e.g. traiettorie a curvatura non regolare)
![Page 28: Corso di Percezione Robotica (PRo) Modulo B. Fondamenti ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione_b.iii...Jacobiano geometrico = matrice di trasformazione dipendente dalla](https://reader035.vdocuments.site/reader035/viewer/2022081410/60946d5b229e896a817a6a28/html5/thumbnails/28.jpg)
Controllo del moto di un manipolatore
Il controllo del moto può essererealizzato nello
spazio dei giuntispazio operativo
![Page 29: Corso di Percezione Robotica (PRo) Modulo B. Fondamenti ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione_b.iii...Jacobiano geometrico = matrice di trasformazione dipendente dalla](https://reader035.vdocuments.site/reader035/viewer/2022081410/60946d5b229e896a817a6a28/html5/thumbnails/29.jpg)
Controllo del motonello spazio dei giunti
Muovere il braccio da xi a xd espresse nello spazio operativo del robot senza interessarsi alla traiettoria percorsa dall’organo terminale del braccioSi determina la posizione finale del braccio nello spazio dei giunti qf tramite la cinematica inversa
qd = K-1 (xd)Si muovono i giunti dalla posizione attuale qialla posizione desiderata qd
![Page 30: Corso di Percezione Robotica (PRo) Modulo B. Fondamenti ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione_b.iii...Jacobiano geometrico = matrice di trasformazione dipendente dalla](https://reader035.vdocuments.site/reader035/viewer/2022081410/60946d5b229e896a817a6a28/html5/thumbnails/30.jpg)
Controllo del motonello spazio dei giunti
L’inversione cinematica viene effettuata al di fuori del ciclo di controllo
![Page 31: Corso di Percezione Robotica (PRo) Modulo B. Fondamenti ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione_b.iii...Jacobiano geometrico = matrice di trasformazione dipendente dalla](https://reader035.vdocuments.site/reader035/viewer/2022081410/60946d5b229e896a817a6a28/html5/thumbnails/31.jpg)
Controllo del motonello spazio dei giunti
Nell’effettuazione del movimento l’organo terminale del manipolatore esegue nello spazio operativo un percorso non prevedibile, a causa degli effetti non lineari introdotti dalla cinematica diretta
![Page 32: Corso di Percezione Robotica (PRo) Modulo B. Fondamenti ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione_b.iii...Jacobiano geometrico = matrice di trasformazione dipendente dalla](https://reader035.vdocuments.site/reader035/viewer/2022081410/60946d5b229e896a817a6a28/html5/thumbnails/32.jpg)
Traiettorie nello spazio deigiunti
Moto punto-punto: il manipolatore deve muoversi dauna configurazione iniziale delle variabili di giunto ad una finale in un intervallo di tempo fissato tf.Per imporre la legge di moto su un giunto si possonoscegliere funzioni polinomiali.Polinomio cubico: consente di imporre i valori inizialeqi e finale qf delle variabili di giunto e le velocitàiniziale e finale (generalmente nulle).Polinomio di quinto grado: consente di imporre i valori iniziale qi e finale qf delle variabili di giunto, le velocità iniziale e finale e il valore dell’accelerazioneiniziale e finale.
![Page 33: Corso di Percezione Robotica (PRo) Modulo B. Fondamenti ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione_b.iii...Jacobiano geometrico = matrice di trasformazione dipendente dalla](https://reader035.vdocuments.site/reader035/viewer/2022081410/60946d5b229e896a817a6a28/html5/thumbnails/33.jpg)
Controllo del moto di un giuntoProfilo di velocità trapezoidale
Presenta una accelerazione costante nellafase di partenza, una velocità di crociera e una decelerazione costante nella fase diarrivo. La traiettoria corrispondente è di tipopolinomiale misto: un tratto lineareraccordato con due tratti parabolicinell’intorno delle posizioni iniziale e finale.
![Page 34: Corso di Percezione Robotica (PRo) Modulo B. Fondamenti ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione_b.iii...Jacobiano geometrico = matrice di trasformazione dipendente dalla](https://reader035.vdocuments.site/reader035/viewer/2022081410/60946d5b229e896a817a6a28/html5/thumbnails/34.jpg)
Profilo di velocità trapezoidale
Posizione
Velocità
Accelerazione
NB: velocità ed accelerazioni all’istante finale ed iniziale possono essere diverse da zero
![Page 35: Corso di Percezione Robotica (PRo) Modulo B. Fondamenti ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione_b.iii...Jacobiano geometrico = matrice di trasformazione dipendente dalla](https://reader035.vdocuments.site/reader035/viewer/2022081410/60946d5b229e896a817a6a28/html5/thumbnails/35.jpg)
Controllo del moto nello spaziodei giunti
Il pianificatore delle traiettorie stabilisce per ogni giunto la traiettoria di movimento in accordo alla legge utilizzata Il movimento viene eseguito tramite il controllo PID
xd qd
qa
Pianificatore {q(t),q(t)}Kin-1
Controllo
Encoder
Attuatori
.
![Page 36: Corso di Percezione Robotica (PRo) Modulo B. Fondamenti ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione_b.iii...Jacobiano geometrico = matrice di trasformazione dipendente dalla](https://reader035.vdocuments.site/reader035/viewer/2022081410/60946d5b229e896a817a6a28/html5/thumbnails/36.jpg)
Controllo del moto nello spaziooperativo
Nell’effettuazione del movimento da xi axd l’organo terminale del manipolatore esegue nello spazio operativo un traiettoria in accordo ad una legge prestabilita
Es. traiettoria lineare o curvilinea
![Page 37: Corso di Percezione Robotica (PRo) Modulo B. Fondamenti ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione_b.iii...Jacobiano geometrico = matrice di trasformazione dipendente dalla](https://reader035.vdocuments.site/reader035/viewer/2022081410/60946d5b229e896a817a6a28/html5/thumbnails/37.jpg)
Traiettorie nello spaziooperativo
L’algoritmo di pianificazione di traiettoria nellospazio operativo genera la legge di motodell’organo terminale, secondo un percorso dicaratteristiche geometriche definite nellospazio operativo.
Il risultato di una pianificazione è unasequenza di n-uple: (t, p(t),, Φ(t), p(t), ω(t))
.
![Page 38: Corso di Percezione Robotica (PRo) Modulo B. Fondamenti ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione_b.iii...Jacobiano geometrico = matrice di trasformazione dipendente dalla](https://reader035.vdocuments.site/reader035/viewer/2022081410/60946d5b229e896a817a6a28/html5/thumbnails/38.jpg)
Controllo del moto nello spaziooperativo
L’inversione cinematica viene effettuata all’interno del ciclo di controllo
![Page 39: Corso di Percezione Robotica (PRo) Modulo B. Fondamenti ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione_b.iii...Jacobiano geometrico = matrice di trasformazione dipendente dalla](https://reader035.vdocuments.site/reader035/viewer/2022081410/60946d5b229e896a817a6a28/html5/thumbnails/39.jpg)
Controllo del moto nello spaziooperativo
Il pianificatore delle traiettorie stabilisce per ogni giunto la traiettoria di movimento in accordo alla legge utilizzata Il movimento viene eseguito dal controllore
xd
xi
Pianif. {t, p(t), Φ(t), p(t), ω(t))} Controllo.
Encoder
Attuatori
Kinqa
![Page 40: Corso di Percezione Robotica (PRo) Modulo B. Fondamenti ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione_b.iii...Jacobiano geometrico = matrice di trasformazione dipendente dalla](https://reader035.vdocuments.site/reader035/viewer/2022081410/60946d5b229e896a817a6a28/html5/thumbnails/40.jpg)
Controllo del moto nello spaziooperativo
Il problema del controllo nello spaziooperativo richiede in ogni istante la risoluzione di due problemi:
1) Inversione cinematica per convertire le specifiche di moto espresse nello spaziooperativo in specifiche di moto nello spaziodei giunti
2) Sistema di controllo nello spazio dei giunti in grado di garantire l’inseguimento deiriferimenti ottenuti al punto 1)
![Page 41: Corso di Percezione Robotica (PRo) Modulo B. Fondamenti ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione_b.iii...Jacobiano geometrico = matrice di trasformazione dipendente dalla](https://reader035.vdocuments.site/reader035/viewer/2022081410/60946d5b229e896a817a6a28/html5/thumbnails/41.jpg)
Controllo del moto nello spaziooperativo
far eseguire al manipolatore la treiettoriapianificata (t, p(t), Φ(t), p(t), ω(t))determinare velocità e accelerazioni dei giuntinel tempo per raggiungere la posizione finale desiderata espressa nelle coordinate cartesiane (calcolo dello Jacobiano)determinare tensioni e correnti da applicareai motori per far assumere ai giunti velocità e accelerazioni calcolate dallo Jacobiano
.
![Page 42: Corso di Percezione Robotica (PRo) Modulo B. Fondamenti ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione_b.iii...Jacobiano geometrico = matrice di trasformazione dipendente dalla](https://reader035.vdocuments.site/reader035/viewer/2022081410/60946d5b229e896a817a6a28/html5/thumbnails/42.jpg)
Determinazione della relazione tra le velocità deigiunti e le corrispondenti velocità angolari e linearidell’organo terminale. Tali legami sono descritti da una matrice ditrasformazione (Jacobiano) dipendente dallaconfigurazione del manipolatore.
Cinematica differenziale
![Page 43: Corso di Percezione Robotica (PRo) Modulo B. Fondamenti ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione_b.iii...Jacobiano geometrico = matrice di trasformazione dipendente dalla](https://reader035.vdocuments.site/reader035/viewer/2022081410/60946d5b229e896a817a6a28/html5/thumbnails/43.jpg)
Jacobiano geometrico = matrice ditrasformazione dipendente dalla configurazione
corrente del braccio
J(q) = Jacobiano geometricop = velocità dell’effettore finale
ω = velocità di rotazione dell’effettore finaleq = velocità ai giunti
Cinematica differenziale
( )qqJp
v &&
=⎥⎦
⎤⎢⎣
⎡=
ω
..
![Page 44: Corso di Percezione Robotica (PRo) Modulo B. Fondamenti ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione_b.iii...Jacobiano geometrico = matrice di trasformazione dipendente dalla](https://reader035.vdocuments.site/reader035/viewer/2022081410/60946d5b229e896a817a6a28/html5/thumbnails/44.jpg)
Determinare le velocità ai giunti data la velocità nellospazio operativo
Metodi di integrazione numerica consentono di ricavareil vettore q dal vettore delle velocità ai giunti
J-1 è l’inversa dello Jacobiano
Cinematica differenziale
( )qqJp
v &&
=⎥⎦
⎤⎢⎣
⎡=
ω
( ) ⎥⎦
⎤⎢⎣
⎡= −
ωp
qJq&
& 1
![Page 45: Corso di Percezione Robotica (PRo) Modulo B. Fondamenti ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione_b.iii...Jacobiano geometrico = matrice di trasformazione dipendente dalla](https://reader035.vdocuments.site/reader035/viewer/2022081410/60946d5b229e896a817a6a28/html5/thumbnails/45.jpg)
Singolarità cinematicheLe configurazioni che causano una diminuzione di rango
della matrice Jacobiana J sono dette singolaritàcinematiche.
In corrispondenza delle singolarità:a) si ha una perdita di mobilità della strutturab) possono esistere infinite soluzioni al problema
cinematico inversoc) velocità ridotte nello spazio operativo possono
causare velocità molto elevate nello spazio deigiunti
![Page 46: Corso di Percezione Robotica (PRo) Modulo B. Fondamenti ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione_b.iii...Jacobiano geometrico = matrice di trasformazione dipendente dalla](https://reader035.vdocuments.site/reader035/viewer/2022081410/60946d5b229e896a817a6a28/html5/thumbnails/46.jpg)
Controllo del moto nello spazio operativo
t
pf
pi
p(t)
t
p(t)
t
q(t)J-1(q(t))
Posizione nello spazio operativo nel
tempo
Velocità dell’effettore
finale nel tempo
Velocità dei giunti nel
tempo
Pianificatore delle traiettorie
(t,p(t),, Φ(t), p(t), ω(t))
Velocità ai giunti
(t, q(t))J-1(q(t)) ..
![Page 47: Corso di Percezione Robotica (PRo) Modulo B. Fondamenti ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione_b.iii...Jacobiano geometrico = matrice di trasformazione dipendente dalla](https://reader035.vdocuments.site/reader035/viewer/2022081410/60946d5b229e896a817a6a28/html5/thumbnails/47.jpg)
Controllo del moto nello spaziooperativo
x(t+dt)
x(t)=k(q(t))
+
-
(x,ω).
q = J-1(q(t)) (x,ω)..
q(t+dt) = f(q(t),q(t)).q
.
PID
Robotq(t)
q(t+dt)
JacobianoCinematica inversa
Cinematica diretta
Posizione desiderata(da Pianif.)
![Page 48: Corso di Percezione Robotica (PRo) Modulo B. Fondamenti ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione_b.iii...Jacobiano geometrico = matrice di trasformazione dipendente dalla](https://reader035.vdocuments.site/reader035/viewer/2022081410/60946d5b229e896a817a6a28/html5/thumbnails/48.jpg)
Performance di un manipolatore industriale
Payload: massimo carico sollevabileVelocità: velocità massima di movimento nellospazio operativoAccuratezza: scostamento tra la posizione calcolatasulla base dei parametri di targa dal sistema dicontrollo e la posizione realeRipetibilità: misura della capacità del manipolatoredi tornare in una posizione precedentemente assunta(funzione del sistema e degli algoritmi di controllo, oltre che delle caratteristiche meccaniche del robot).
![Page 49: Corso di Percezione Robotica (PRo) Modulo B. Fondamenti ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione_b.iii...Jacobiano geometrico = matrice di trasformazione dipendente dalla](https://reader035.vdocuments.site/reader035/viewer/2022081410/60946d5b229e896a817a6a28/html5/thumbnails/49.jpg)
KUKA KR 15/2
Dof: 6Payload: 15 kgMax. reach: 1570 mmRepeatability: <± 0.1 mmWeight: 222 kg
![Page 50: Corso di Percezione Robotica (PRo) Modulo B. Fondamenti ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione_b.iii...Jacobiano geometrico = matrice di trasformazione dipendente dalla](https://reader035.vdocuments.site/reader035/viewer/2022081410/60946d5b229e896a817a6a28/html5/thumbnails/50.jpg)
Il manipolatore PUMA 560
Dof: 6Payload: 2 kgVelocità dell’effettore: 1.0 m/sRipetibilità: <± 0.1 mmPeso: 120 lb
![Page 51: Corso di Percezione Robotica (PRo) Modulo B. Fondamenti ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione_b.iii...Jacobiano geometrico = matrice di trasformazione dipendente dalla](https://reader035.vdocuments.site/reader035/viewer/2022081410/60946d5b229e896a817a6a28/html5/thumbnails/51.jpg)
Dexter ArmCable actuatedd.o.f.: 8Workspace: 1200 mm x 350°Repeatability: + 1mmVelocity: 0.2 m/sPayload: 2 KgWeight: 40 Kg
![Page 52: Corso di Percezione Robotica (PRo) Modulo B. Fondamenti ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione_b.iii...Jacobiano geometrico = matrice di trasformazione dipendente dalla](https://reader035.vdocuments.site/reader035/viewer/2022081410/60946d5b229e896a817a6a28/html5/thumbnails/52.jpg)
Manus
Cable actuatedd.o.f.: 6Velocity: 0.2 m/sPayload: 2 KgPower: 24V DCWeight: 12 Kg
![Page 53: Corso di Percezione Robotica (PRo) Modulo B. Fondamenti ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione_b.iii...Jacobiano geometrico = matrice di trasformazione dipendente dalla](https://reader035.vdocuments.site/reader035/viewer/2022081410/60946d5b229e896a817a6a28/html5/thumbnails/53.jpg)
DLR Arm
![Page 54: Corso di Percezione Robotica (PRo) Modulo B. Fondamenti ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione_b.iii...Jacobiano geometrico = matrice di trasformazione dipendente dalla](https://reader035.vdocuments.site/reader035/viewer/2022081410/60946d5b229e896a817a6a28/html5/thumbnails/54.jpg)
The Dexter Arm
![Page 55: Corso di Percezione Robotica (PRo) Modulo B. Fondamenti ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione_b.iii...Jacobiano geometrico = matrice di trasformazione dipendente dalla](https://reader035.vdocuments.site/reader035/viewer/2022081410/60946d5b229e896a817a6a28/html5/thumbnails/55.jpg)
The Dexter Arm
Workspace: 1200 mm x 350°Repeatability: + 1mmVelocity: 0.2 m/sPayload: 2 KgD.o.f.: 8Power: 24V DCWeight: 40 Kg
![Page 56: Corso di Percezione Robotica (PRo) Modulo B. Fondamenti ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione_b.iii...Jacobiano geometrico = matrice di trasformazione dipendente dalla](https://reader035.vdocuments.site/reader035/viewer/2022081410/60946d5b229e896a817a6a28/html5/thumbnails/56.jpg)
The Dexter Arm8-d.o.f. anthropomorphic redundant robot arm, composed of trunk, shoulder, elbow and wristdesigned for service applications and personal assistance in residential sites, such as houses or hospitals
mechanically coupled structure: the mechanical transmission system is realized with pulleys and steel cablesmain characteristics: reduced accuracy,lighter mechanical structure, safe and intrinsically compliant structure
![Page 57: Corso di Percezione Robotica (PRo) Modulo B. Fondamenti ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione_b.iii...Jacobiano geometrico = matrice di trasformazione dipendente dalla](https://reader035.vdocuments.site/reader035/viewer/2022081410/60946d5b229e896a817a6a28/html5/thumbnails/57.jpg)
The Dexter armTransmission system realized with pulleys and steel cablesJoints J0 and J1 are actuated by motors and driving gear-boxes directly connected to the articulation axisJoints J2,..,J7 are actuated by DC-motors installed on link 1
![Page 58: Corso di Percezione Robotica (PRo) Modulo B. Fondamenti ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione_b.iii...Jacobiano geometrico = matrice di trasformazione dipendente dalla](https://reader035.vdocuments.site/reader035/viewer/2022081410/60946d5b229e896a817a6a28/html5/thumbnails/58.jpg)
Trasmission #6
![Page 59: Corso di Percezione Robotica (PRo) Modulo B. Fondamenti ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione_b.iii...Jacobiano geometrico = matrice di trasformazione dipendente dalla](https://reader035.vdocuments.site/reader035/viewer/2022081410/60946d5b229e896a817a6a28/html5/thumbnails/59.jpg)
Trasmissions #2-5 and 7
![Page 60: Corso di Percezione Robotica (PRo) Modulo B. Fondamenti ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione_b.iii...Jacobiano geometrico = matrice di trasformazione dipendente dalla](https://reader035.vdocuments.site/reader035/viewer/2022081410/60946d5b229e896a817a6a28/html5/thumbnails/60.jpg)
Anthropomorphic structure
Shoulder
ElbowWrist
Trunk
![Page 61: Corso di Percezione Robotica (PRo) Modulo B. Fondamenti ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione_b.iii...Jacobiano geometrico = matrice di trasformazione dipendente dalla](https://reader035.vdocuments.site/reader035/viewer/2022081410/60946d5b229e896a817a6a28/html5/thumbnails/61.jpg)
θ8
θ7
θ6 θ5
θ4
θ2
θ1
x8
z8 z7≡x6
x7
z6
z5
z4
x4≡x5
x2≡x3
z3
z2
x0≡z1
x1
z0
θ3
Geometric Configuration
![Page 62: Corso di Percezione Robotica (PRo) Modulo B. Fondamenti ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione_b.iii...Jacobiano geometrico = matrice di trasformazione dipendente dalla](https://reader035.vdocuments.site/reader035/viewer/2022081410/60946d5b229e896a817a6a28/html5/thumbnails/62.jpg)
Denavit-Hartenberg ParametersJoint ai [mm] di [mm] αi [rad] θi [rad]
1 0 0 π/2 θ1
2 144 450 -π/2 θ2
3 0 0 π/2 θ3
4 -100 350 -π/2 θ4
5 0 0 π/2 θ5
6 -24 250 -π/2 θ6
7 0 0 π/2 θ7
8 100 0 0 θ8
![Page 63: Corso di Percezione Robotica (PRo) Modulo B. Fondamenti ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione_b.iii...Jacobiano geometrico = matrice di trasformazione dipendente dalla](https://reader035.vdocuments.site/reader035/viewer/2022081410/60946d5b229e896a817a6a28/html5/thumbnails/63.jpg)
The Dexter Workspace
![Page 64: Corso di Percezione Robotica (PRo) Modulo B. Fondamenti ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione_b.iii...Jacobiano geometrico = matrice di trasformazione dipendente dalla](https://reader035.vdocuments.site/reader035/viewer/2022081410/60946d5b229e896a817a6a28/html5/thumbnails/64.jpg)
Joint Ranges
![Page 65: Corso di Percezione Robotica (PRo) Modulo B. Fondamenti ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione_b.iii...Jacobiano geometrico = matrice di trasformazione dipendente dalla](https://reader035.vdocuments.site/reader035/viewer/2022081410/60946d5b229e896a817a6a28/html5/thumbnails/65.jpg)
Sistema di controllo
Driver di Potenza Dexter
(Attuatori e Encoder)
Schede Controllo Assi
PID
Convertitore AD/DA
CPUControllo Tensioni per i
motori
Segnali Encoder
PC
Segnali di
riferimento
![Page 66: Corso di Percezione Robotica (PRo) Modulo B. Fondamenti ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione_b.iii...Jacobiano geometrico = matrice di trasformazione dipendente dalla](https://reader035.vdocuments.site/reader035/viewer/2022081410/60946d5b229e896a817a6a28/html5/thumbnails/66.jpg)
Architettura software
ARM
Arm Controller
Libreria dei comandi
![Page 67: Corso di Percezione Robotica (PRo) Modulo B. Fondamenti ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione_b.iii...Jacobiano geometrico = matrice di trasformazione dipendente dalla](https://reader035.vdocuments.site/reader035/viewer/2022081410/60946d5b229e896a817a6a28/html5/thumbnails/67.jpg)
Interfacce Softwarebool read_arm_q (double* q)
q: puntatore ad un array di 8 double in cui viene restituita la posizione in gradi dei giunti del braccio
bool move_arm_q(double* q)
q: puntatore ad un array di 8 double contenente la posizione in gradi dei giunti del braccio
![Page 68: Corso di Percezione Robotica (PRo) Modulo B. Fondamenti ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione_b.iii...Jacobiano geometrico = matrice di trasformazione dipendente dalla](https://reader035.vdocuments.site/reader035/viewer/2022081410/60946d5b229e896a817a6a28/html5/thumbnails/68.jpg)
Interfacce Softwarebool read_arm_c (double* p)
p: puntatore ad un array di 6 double contenenti posizione in mm ed orientamento in gradi del braccio nello spazio cartesiano
![Page 69: Corso di Percezione Robotica (PRo) Modulo B. Fondamenti ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione_b.iii...Jacobiano geometrico = matrice di trasformazione dipendente dalla](https://reader035.vdocuments.site/reader035/viewer/2022081410/60946d5b229e896a817a6a28/html5/thumbnails/69.jpg)
Interfacce Softwarebool move_arm_c7(double* p, double elbow, double J0,
double velocity)
p: puntatore ad un array di 6 double contenenti posizione in mm ed orientamento in gradi nello spazio cartesianoElbow: angolo del gomito espresso in gradiJ0: posizione finale del giunto 0Velocity: frazione della velocità massima di movimento
Inversione cinematica su 7 dof
![Page 70: Corso di Percezione Robotica (PRo) Modulo B. Fondamenti ...didawiki.di.unipi.it/lib/exe/fetch.php/pro/lezione_b.iii...Jacobiano geometrico = matrice di trasformazione dipendente dalla](https://reader035.vdocuments.site/reader035/viewer/2022081410/60946d5b229e896a817a6a28/html5/thumbnails/70.jpg)
Interfacce Softwarebool move_arm_c(double* p, double elbow, double velocity)
p: puntatore ad un array di 6 double contenenti posizione in mm ed orientamento in gradi nello spazio cartesianoElbow: angolo del gomito espresso in gradiVelocity: frazione della velocità massima di movimento
Inversione cinematica su 8 dof