Docente Vincenzo LIPPIELLO Dipartimento di Informatica e Sistemistica Universitá degli Studi di Napoli Federico II

Documenti analoghi
CINEMATICA DIFFERENZIALE

Inversione della cinematica differenziale

Spazio dei giunti e spazio operativo

Cinematica differenziale inversa Statica

Cinematica differenziale

Corso di Percezione Robotica (PRo) Modulo B. Fondamenti di Robotica

Corso di Robotica 1 Cinematica inversa

Modello dinamico dei robot: approccio di Newton-Eulero

ROBOTICA. Studio di macchine che possano sostituire l uomo nell esecuzione di un compito, sia in termini di attività fisica che decisionale

Modello dinamico dei robot: approccio Lagrangiano

Corso di Percezione Robotica Modulo B. Fondamenti di Robotica

UNIVERSITÀ DEGLI STUDI DI NAPOLI FEDERICO II

PIANIFICAZIONE DI TRAIETTORIE

Robotica industriale. Richiami di statica del corpo rigido. Prof. Paolo Rocco

SISTEMI DI CONTROLLO CINEMATICA E DINAMICA DEI ROBOT

Corso di Fisica I per Matematica

Esercitazioni di Meccanica Razionale

Controllo dei robot. I testi. Introduzione al corso. Sito web con materiale aggiuntivo: home.dei.polimi.it/rocco/controllorobot

di manipolatori seriali

DEDUZIONE DEL TEOREMA DELL'ENERGIA CINETICA DELL EQUAZIONE SIMBOLICA DELLA DINAMICA

Statica. Basilio Bona. DAUIN-Politecnico di Torino. Basilio Bona (DAUIN-Politecnico di Torino) Statica / 16

MECCANICA DEI ROBOT E DELLE MACCHINE AUTOMATICHE LM Anno accademico (ing. M. Troncossi)

1 Sistemi di riferimento

Cinematica dei robot

Compito del 14 giugno 2004

Richiami di algebra delle matrici a valori reali

1 Cinematica del punto Componenti intrinseche di velocità e accelerazione Moto piano in coordinate polari... 5

UNIVERSITÀ DEGLI STUDI DI FIRENZE. Registro dell'insegnamento

Robotica: Errata corrige

Identificazione dei parametri dinamici. Formulazione di Newton Eulero. Dinamica diretta e dinamica inversa. Modello dinamico nello spazio operativo

Dinamica Rotazionale

4 Cinematica diretta dei robot

Esercizi da fare a casa

Controlli Automatici II. Controllo dei robot manipolatori

Modello dinamico dei robot:

Teoria dei Sistemi e Controlli Automatici M

Argomenti Capitolo 1 Richiami

A.A. 2014/2015 Corso di Algebra Lineare

Risposta in vibrazioni libere di un sistema lineare viscoso a più gradi di libertà. Prof. Adolfo Santini - Dinamica delle Strutture 1

Introduzione e modellistica dei sistemi

UNIVERSITA DEGLI STUDI DI PAVIA REGISTRO. DELLE LEZIONI-ESERCITAZIONI- SEMINARI Anno accademico 2011/12

SPAZI EUCLIDEI, APPLICAZIONI SIMMETRICHE, FORME QUADRATICHE

Φ D 2 L. k > 0. M O=A s. sistema (che è rappresentato in figura ). Infine, vogliamo calcolare le reazioni vincolari sul sistema.

UNIVERSITÀ DEGLI STUDI DI NAPOLI FEDERICO II FACOLTÀ DI INGEGNERIA TESINA DI CONTROLLO DEI ROBOT

Calcolo vettoriale. Versore: vettore u adimensionale di modulo unitario (rapporto tra un vettore e il suo modulo)

Elementi di Cinematica e Dinamica dei Robot

Lezione 3: Le strutture cinematiche. Vari modi per fare un braccio

Esercitazioni di Meccanica Razionale

Esercizi di Complementi di Matematica (L-Z) a.a. 2015/2016

Robotica Modellistica, pianificazione e controllo

Robotica - 01CFIDV, 02CFICY docente: prof. Basilio BONA tel. 7023

Grandezze angolari. Lineare Angolare Relazione x θ x = rθ. m I I = mr 2 F N N = rf sin θ 1 2 mv2 1

ESERCIZI SULLA DINAMICA DI CORPI RIGIDI:

Cinematica e Dinamica di un manipolatore Puma

EQUAZIONI DIFFERENZIALI

Controllo dei Robot. Corso di Controllo dei Robot Introduzione. Paolo Lino. Dipartimento di Ing. Elettrica e dell Informazione (DEI)

Introduzione al corso

EQUAZIONI DIFFERENZIALI

Prima Precedente Avanti Ultima Vai Indietro Schermo Pieno Chiudi Esci

Controllo nello spazio cartesiano

DINAMICA DI SISTEMI AEROSPAZIALI

Sistemi di coordinate

Modulo 01: Omogeneizzazione della classe Sistemi di misura Richiami di trigonometria

8 Sistemi vincolati e coordinate lagrangiane

Lezione VI Cinematica e dinamica del manovellismo. Cinematica e dinamica di un manovellismo ordinario centrato

CAPITOLO. 1 Gli strumenti di misura Gli errori di misura L incertezza nelle misure La scrittura di una misura 38

REGISTRO DELLE ESERCITAZIONI

Esercitazioni di Meccanica Razionale

Costruzioni in zona sismica

Robot con ridondanza cinematica

Esercitazioni di Meccanica Razionale

Lavoro. Esempio. Definizione di lavoro. Lavoro motore e lavoro resistente. Lavoro compiuto da più forze ENERGIA, LAVORO E PRINCIPI DI CONSERVAZIONE

Lezione 8 Dinamica del corpo rigido

La fisica di Feynmann Meccanica

Geometria BATR-BCVR Esercizi 9

Programma dettagliato del corso di MECCANICA RAZIONALE Corso di Laurea in Ingegneria Civile

Corso di Geometria Lezione II: Spazi vettoriali

Introduzione alla cinematica dei sistemi. Angoli di Eulero

PROVA SCRITTA DI MECCANICA RAZIONALE (11 giugno 2005) (C.d.L. Ing. Edile - Architettura. Prof. A. Muracchini)

Meccanica. 5. Cinematica del Corpo Rigido. Domenico Galli. Dipartimento di Fisica e Astronomia

approfondimento Cinematica ed energia di rotazione equilibrio statico di un corpo esteso conservazione del momento angolare

Calcolo vettoriale. Grandezze scalari: caratterizzate da un valore numerico in una unità di misura scelta (ex: massa, temperatura, ecc)

Laboratorio di Automatica Alcuni temi per tesi BIAR in Automazione e Robotica

Esame di Fisica con Laboratorio Corso di Laurea in Scienze dell Architettura Università degli Studi di Udine 29 gennaio 2010 Mario Paolo Giordani

Il vettore velocità angolare (avendo scelto θ come in Figura) si scrive come:

3. Vettori, Spazi Vettoriali e Matrici

Formulazione delle equazioni del moto per un sistema lineare a tre gradi di libertà. Proprietà delle matrici di rigidezza e di flessibilità

2 Sistemi lineari. Metodo di riduzione a scala.

Introduzione alla Fisica Moderna - a.a

Analisi e Controllo di un manipolatore S.C.A.R.A.

Indice 3. Note di utilizzo 9. Ringraziamenti 10. Introduzione 11

I sistemi manifatturieri

Progetto e Realizzazione di un Robot a Cinematica Parallela per Applicazioni Mediche

Fisica Generale I (primo modulo) A.A , 9 febbraio 2009

Calcolo della risposta di un sistema lineare viscoso a più gradi di libertà con il metodo dell Analisi Modale

Universita degli Studi di Ancona Laurea in Ingegneria Meccanica ed Informatica a Distanza Anno Accademico 2005/2006. Matematica 2 (Analisi)

Macchina a regime periodico

Capitolo 2. Statica del corpo rigido. 2.1 Azioni su un corpo rigido

UNIVERSITA DEGLI STUDI DI PAVIA REGISTRO. DELLE LEZIONI ESERCITAZIONI SEMINARI Anno accademico 2016/17

Soluzioni agli Esercizi di Geometria e Algebra per Ingegneria Aerospaziale (nuovo ordinamento)

Transcript:

MATERIALE DIDATTICO Docente Vincenzo LIPPIELLO Dipartimento di Informatica e Sistemistica Universitá degli Studi di Napoli Federico II Tel. 0817683635 lippiell@unina.it http://wpage.unina.it/lippiell Libro di testo B. Siciliano, L. Sciavicco, L. Villani e G. Oriolo, Robotica: Modellistica, Pianificazione e Controllo, III edizione, McGraw-Hill Libri Italia, 2008 Lucidi proiettati a lezione disponibili in formato pdf sul sito web del docente Si ringrazia il Prof. Bruno Siciliano per aver fornito il materiale necessario alla produzione dei lucidi

ROBOTICA Studio di macchine che possano sostituire l uomo nell esecuzione di un compito, sia in termini di attività fisica che decisionale Radici culturali mitologia automa robot (robota = lavoro esecutivo) letteratura fantascientifica: le 3 leggi fondamentali (Asimov)

Robotica definita come scienza che studia la connessione intelligente tra percezione e azione sistema meccanico (locomozione + manipolazione) sistema sensoriale (sensori propriocettivi ed eterocettivi) sistema di governo Robotica avanzata spiccate caratteristiche di autonomia: applicazioni in ambiente ostile + applicazioni di servizio ancora in età infantile Robotica industriale progettazione, governo e applicazioni dei robot in ambito industriale tecnologia matura

L automazione è una tecnologia il cui obiettivo è quello di sostituire la macchina all uomo in un processo di produzione, non solo per quanto riguarda l esecuzione delle operazioni materiali, ma anche per ciò che concerne l elaborazione intelligente delle informazioni sullo stato del processo. automazione rigida (produzione in serie di grossi volumi di manufatti di caratteristiche costanti) automazione programmabile (produzione di piccoli e medi lotti di manufatti di caratteristiche variabili) automazione flessibile (produzione di lotti variabili di manufatti diversi) Robot industriale macchina con elevate caratteristiche di versatilità e flessibilità un robot è una struttura meccanica multifunzionale e riprogrammabile progettato per spostare materiali, parti, utensili o dispositivi specializzati secondo movimenti variabili programmati per l esecuzione di una varietà di compiti diversi (Robot Institute of America, 1980) componente tipico di sistemi di automazione programmabile

ROBOT INDUSTRIALE Componenti: una struttura meccanica o manipolatore che consiste in un insieme di corpi rigidi (bracci) interconnessi tra di loro per mezzo di articolazioni (giunti); nel manipolatore si individuano una struttura portante, che ne assicura mobilità, un polso, che conferisce destrezza, e un organo terminale che esegue il compito per cui il robot è utilizzato attuatori che imprimono il movimento al manipolatore attraverso l azionamento dei giunti; si impiegano usualmente motori elettrici, idraulici e talvolta pneumatici sensori che misurano lo stato del manipolatore (sensori propriocettivi) ed eventualmente lo stato dell ambiente (sensori eterocettivi) una unità di governo (calcolatore) con funzioni di controllo e supervisione dei movimenti del manipolatore

CAPACITÀ DI IMPIEGO Trasporto palettizzazione carico e scarico di magazzini e macchine operatrici/utensili selezione e smistamento di parti Manipolazione (lavorazione/assemblaggio) saldatura, verniciatura, incollaggio fresatura, trapanatura, avvitatura, taglio laser/getto d acqua assemblaggio di gruppi meccanici/elettrici, montaggio di schede elettroniche, cablaggio Misura collaudo dimensionale, rilevamento di profili, individuazione di difetti di fabbricazione

STRUTTURA DEI MANIPOLATORI Struttura meccanica a catena cinematica aperta o a catena cinematica chiusa Gradi di mobilità (giunti prismatici o rotoidali) Gradi di libertà (descrizione di un compito) Spazio di lavoro (porzione dell ambiente circostante a cui può accedere l organo terminale)

Manipolatore cartesiano Tre giunti prismatici: ad ogni grado di mobilità corrisponde un grado di libertà ottime caratteristiche di rigidezza meccanica, precisione di posizionamento del polso costante nello lo spazio di lavoro, operazioni di trasporto e assemblaggio, azionamenti elettrici (talvolta pneumatici)

Manipolatore a portale manipolazione di oggetti di dimensione e peso rilevanti

Manipolatore cilindrico Un giunto rotoidale e due prismatici: ad ogni grado di mobilità corrisponde un grado di libertà (in coordinate cilindriche) buone caratteristiche di rigidezza meccanica, la precisione di posizionamento del polso si riduce al crescere dello sbraccio orizzontale, operazioni di trasporto di oggetti anche di peso rilevante, azionamenti idraulici (o elettrici)

Manipolatore sferico Due giunti rotoidali e uno prismatico: ad ogni grado di mobilità corrisponde un grado di libertà (in coordinate sferiche) discrete caratteristiche di rigidezza meccanica, la precisione di posizionamento del polso si riduce al crescere dello sbraccio radiale, operazioni di lavorazione, azionamenti elettrici

Manipolatore SCARA (Selective Compliance Assembly Robot Arm) Due giunti rotoidali e uno prismatico elevata rigidezza a carichi verticali e cedevolezza a carichi orizzontali, la precisione di posizionamento del polso si riduce al crescere della distanza del polso stesso dall asse del primo giunto, manipolazione di piccoli oggetti, azionamenti elettrici

Manipolatore antropomorfo Tre giunti rotoidali: spalla e gomito (che connette braccio e avambraccio) struttura più destra precisione di posizionamento variabile, applicazioni molteplici, azionamenti elettrici

Polso sferico Tre giunti rotoidali: determinano l orientamento dell organo terminale caratteristiche di compattezza e destrezza, disaccoppiamento tra posizione e orientamento Organo terminale Specificato in relazione al compito che il robot deve eseguire pinza (trasporto), utensile o dispositivo specializzato (lavorazione e assemblaggio)

MODELLISTICA E CONTROLLO DI MANIPOLATORI Modellistica struttura meccanica (cinematica + cinematica differenziale + statica + dinamica) attuatori sensori Controllo pianificazione del moto controllo nello spazio libero controllo nello spazio vincolato unità di governo

Cinematica Relazioni tra posizioni dei giunti e posizione e orientamento dell organo terminale Cinematica differenziale Relazioni tra velocità dei giunti e velocità (lineare e angolare) dell organo terminale Statica Relazioni tra forze e coppie applicate ai giunti e forze e momenti applicati all organo terminale in situazioni di equilibrio

Dinamica Equazioni del moto del manipolatore in funzione delle forze e momenti agenti su di esso Pianificazione di traiettorie Generazione delle leggi di moto per le variabili di interesse (giunti/organo terminale) Attuatori e sensori Attuazione del moto, Misura di variabili di interesse

Controllo del moto Determinazione delle forze/coppie agli attuatori per garantire l esecuzione delle traiettorie di riferimento Controllo dell interazione Gestione del contatto tra organo terminale e ambiente Unità di governo Implementazione delle leggi di controllo, Interfaccia con operatore

CINEMATICA Relazioni tra posizioni dei giunti e posizione e orientamento dell organo terminale Matrice di rotazione Rappresentazioni minime dell orientamento Trasformazioni omogenee Cinematica diretta Spazio dei giunti e spazio operativo Calibrazione cinematica Problema cinematico inverso

POSIZIONE E ORIENTAMENTO DI UN CORPO RIGIDO Terna di riferimento Σ : O xyz e Terna solidale al corpo Σ : O x y z Posizione (vettore posizione dell origine) + Orientamento (versori: coseni direttori) o = o x x + o y y + o z z = o x o y o z x = x x x + x y y + x z z x x = x T x... y = y x x + y y y + y z z y x = y T x... z = z x x + z y y + z z z z x = z T x... o vettore applicato (modulo, direzione e punto di applicazione)

MATRICE DI ROTAZIONE R = x y z = x x y x z x x y y y z y = x z y z z z x T x y T x z T x x T y y T y z T y x T z y T z z T z Matrice ortogonale: 6 vincoli ortogonalità (3): x T y = 0, x T z = 0, y T z = 0 norma unitaria (3): x T x = 1, y T y = 1, z T z = 1 det(r) = ±1: terna levogira/destrogira R T R = I R T = R 1 R SO(m) gruppo speciale ortonormale delle matrici reali (m m) con colonne ortonormali e determinante unitario

Rotazioni elementari Rotazione di α intorno a z (positiva in senso antiorario) R z (α) = cosα sinα 0 sinα cosα 0 0 0 1

Rotazione di β intorno a y R y (β) = cosβ 0 sinβ 0 1 0 sinβ 0 cosβ Rotazione di γ intorno a x R x (γ) = 1 0 0 0 cosγ sinγ 0 sinγ cosγ Vale R k ( ϑ) = Rk T (ϑ), con k = x, y, z Prima interpretazione di R come operatore di rotazione Σ Σ : R esprime l operazione di rotazione che bisogna compiere intorno ad un asse dello spazio per sovrapporre gli assi della della terna di riferimento, Σ, agli assi omologhi della terna solidale al corpo, Σ

Rappresentazione di un vettore Terna solidale e terna di riferimento con origine comune (o = o) p = p = p x p y p z p x p y p z p = p xx + p yy + p zz p = x y z p { p = Rp p = R T p

Esempio p x = p x cosα p y sinα p y = p x sinα + p y cosα p = R z (α)p p z = p z Seconda interpretazione di R come matrice di trasformazione delle coordinate di un vettore espresse nella terna Σ nelle coordinate dello stesso vettore espresse nella terna Σ

Rotazione di un vettore p e p = Rp vettori espressi nella stessa terna di riferimento Il vettore p, espresso nella terna Σ, ha norma pari a quella di p e risulta ruotato rispetto a p secondo la matrice R Infatti se p = Rp si ha p T p = p T R T Rp = p T p

Esempio p x = p x cosα p y sinα p y = p x sinα + p y cosα p = R z (α)p p z = p z Terza interpretazione di R come operatore matriciale di rotazione di un vettore di un angolo prefissato intorno ad un generico asse di rotazione nello spazio

Significati della matrice di rotazione Fornisce l orientamento di una terna di coordinate rispetto ad un altra: i vettori colonna sono i coseni direttori degli assi della terna ruotata rispetto alla terna di partenza Rappresenta una trasformazione di coordinate che mette in relazione le coordinate di uno stesso punto in due terne differenti (di origine comune) È l operatore che consente di ruotare un vettore in una stessa terna di coordinate

COMPOSIZIONE DI MATRICI DI ROTAZIONE Tre terne di riferimento con origine comune:σ 0 : O x 0, y 0, z 0, Σ 1 : O x 1, y 1, z 1, Σ 2 : O x 2, y 2, z 2 Stesso vettore espresso nelle tre terne p 1 = R 1 2p 2, p 0 = R 0 1p 1, p 0 = R 0 2p 2 R 0 2 = R 0 1R 1 2 dove R j i é la matrice di rotazione di Σ i rispetto a Σ j, ovvero che descrive la rotazione Σ j Σ i R j i = (Ri j) 1 = (R i j) T Rotazione in terna corrente (moltiplicazione da sx a dx) Σ 0 Σ 1 Σ 2 R1 0 R2 1 Rotazione in terna fissa (moltiplicazione da dx a sx) R 0 2 = R 0 1R 1 2 Σ 0 Σ 1 Σ 0 Σ 2 Σ 2 R1 0 R0 1 R 2 1 R1 0 R 0 2 = R 1 2R 0 1

Esempio (rotazioni ZY e Y Z): rotazioni in terna fissa e mobile, non commutatività delle rotazioni

RAPPRESENTAZIONI MINIME DELL ORIENTAMENTO Rappresentazioni dell orientamento Matrice di rotazione: 9 parametri con 6 vincoli solo 3 sono indipendenti Asse/angolo: 4 parametri con 1 vincolo solo 3 sono indipendenti Rappresentazioni in termini di 3 angoli che rappresentano 3 rotazioni elementari intorno ad assi coordinati 12 sequenze possibili (escludendo rotazioni successive intorno ad assi paralleli)

Angoli di Eulero (ZY Z) Rotazione ZY Z in terna corrente R ZYZ = R z (ϕ)r y (ϑ)r z (ψ) = c ϕc ϑ c ψ s ϕ s ψ c ϕ c ϑ s ψ s ϕ c ψ c ϕ s ϑ s ϕ c ϑ c ψ + c ϕ s ψ s ϕ c ϑ s ψ + c ϕ c ψ s ϕ s ϑ s ϑ c ψ s ϑ s ψ c ϑ Se ϑ = 0, π: rotazioni intorno ad assi paralleli la rappresentazione degenera

Problema inverso Assegnata R = r 11 r 12 r 13 r 21 r 22 r 23 r 31 r 32 r 33 i 3 angoli di Eulero sono (segno ): per ϑ (0, π) ϕ = Atan2(r 23, r 13 ) ( ) ϑ = Atan2 r13 2 + r2 23, r 33 ψ = Atan2(r 32, r 31 ) per ϑ ( π, 0) ϕ = Atan2( r 23, r 13 ) ( ) ϑ = Atan2 r13 2 + r2 23, r 33 ψ = Atan2( r 32, r 31 ) Per ϑ = 0, π le soluzioni degenerano, in quanto è possibile solo determinare ϕ ± ψ : Singolarità di rappresentazione

Angoli di RPY (ZY X) Rotazione ZY X in terna corrente (o XY Z in terna fissa) R RPY = R z (ϕ)r y (ϑ)r x (ψ) = c ϕc ϑ c ϕ s ϑ s ψ s ϕ c ψ c ϕ s ϑ c ψ + s ϕ s ψ s ϕ c ϑ s ϕ s ϑ s ψ + c ϕ c ψ s ϕ s ϑ c ψ c ϕ s ψ s ϑ c ϑ s ψ c ϑ c ψ Se ϑ = ±π/2: rotazioni intorno ad assi paralleli la rappresentazione degenera

Problema inverso Assegnata R = r 11 r 12 r 13 r 21 r 22 r 23 r 31 r 32 r 33 i 3 angoli di RPY sono (segno ): per ϑ ( π/2, π/2) per ϑ (π/2, 3π/2) ϕ = Atan2(r 21, r 11 ) ( ) ϑ = Atan2 r 31, r32 2 + r2 33 ϕ = Atan2( r 21, r 11 ) ( ) ϑ = Atan2 r 31, r32 2 + r2 33 ψ = Atan2(r 32, r 33 ) ψ = Atan2( r 32, r 33 ) Per ϑ = ±π/2 le soluzioni degenerano, in quanto è possibile solo determinare ϕ ± ψ : Singolarità di rappresentazione

ROTAZIONE INTORNO A UN ASSE ARBITRARIO Rappresentazione a 4 parametri (ϑ e r = [r x r y r z ] T ) R(ϑ, r) = R z (α)r y (β)r z (ϑ)r y ( β)r z ( α) sinα = r y r 2 x + r 2 y cosα = r x r 2 x + r 2 y sinβ = r 2 x + r 2 y cosβ = r z

Espressione esplicita rx 2 (1 c ϑ) + c ϑ r x r y (1 c ϑ ) r z s ϑ r x r z (1 c ϑ ) + r y s ϑ R(ϑ, r) = r x r y (1 c ϑ ) + r z s ϑ ry 2(1 c ϑ) + c ϑ r y r z (1 c ϑ ) r x s ϑ r x r z (1 c ϑ ) r y s ϑ r y r z (1 c ϑ ) + r x s ϑ rz(1 2 c ϑ ) + c ϑ La rappresentazione non è univoca poichè R(ϑ, r) = R( ϑ, r)

Problema inverso Assegnata R = r 11 r 12 r 13 r 21 r 22 r 23 r 31 r 32 r 33 l angolo e l asse equivalente sono (per sinϑ 0): ( ) somma elementi diagonale: ϑ = cos 1 r11 + r 22 + r 33 1 2 differenze elementi fuori diagonale: r = 1 r 32 r 23 r 13 r 31 2 sinϑ r 21 r 12 componenti del versore dell asse vincolate: r 2 x + r 2 y + r 2 z = 1 soluzione per sin ϑ = 0: ϑ = { 0 π ϑ = 0 formule ricavabili dall espressione di R asse non definito (singolarità della rappresentazione)

TRASFORMAZIONI OMOGENEE Trasformazione di coordinate (traslazione + rotazione) p 0 = o 0 1 + R0 1 p1 Trasformazione inversa (R 1 0 = (R0 1 )T ) p 1 = R 1 0o 0 1 + R 1 0p 0

Rappresentazione omogenea p = [ ] p 1 Matrice di trasformazione omogenea A 0 1 = [ R 0 1 o 0 1 0 T 1 ] Trasformazione di coordinate p 0 = A 0 1 p1

Trasformazione inversa ove Si noti che p 1 = A 1 0 p0 = ( A 0 1) 1 p 0 A 1 0 = [ R 1 0 R 1 0o 0 1 0 T 1 A 1 A T A non è ortogonale ] Successione di trasformazioni p 0 = A 0 1 A1 2...An 1 n p n

CINEMATICA DIRETTA Catena cinematica aperta base sequenza bracci organo terminale sequenza di bracci connessi tramite giunti variabile di giunto q i = grado di mobilità giunti rotoidali e prismatici Problema della cinematica diretta: determinare posizione+orientamento dell organo terminale in funzione delle variabili di giunto

Manipolatore Terne { Terna base Terna utensile: versori n e (normale), s e (sliding) e a e (approach) Equazione cinematica diretta T b e (q) = nb e(q) s b e(q) a b e(q) p b e(q) 0 0 0 1

Manipolatore planare a due bracci T b e (q) = = nb e s b e a b e p b e 0 0 0 1 0 s 12 c 12 a 1 c 1 + a 2 c 12 0 c 12 s 12 a 1 s 1 + a 2 s 12 1 0 0 0 0 0 0 1

CONVENZIONE DI DENAVIT-HARTENBERG Manipolatore ad n giunti. Successione di n + 1 terne solidali ai bracci (Σ 0...Σ n ) Σ 0 : fissata alla base, Σ b : terna base, Σ e : terna utensile Terne fissate in modo arbitrario secondo procedure sistematiche

si sceglie l asse z i giacente lungo l asse del giunto i + 1 si individua O i all intersezione dell asse z i con la normale comune agli assi z i 1 e z i, e con O i si indica l intersezione della normale comune con z i 1 si assume l asse x i diretto lungo la normale comune agli assi z i 1 e z i con verso positivo dal giunto i al giunto i + 1 si sceglie l asse y i in modo da completare una terna levogira

Definizione non univoca della terna: con riferimento alla terna 0, per la quale la sola direzione dell asse z 0 risulta specificata: si possono quindi scegliere arbitrariamente O 0 ed x 0 con riferimento alla terna n, per la quale il solo asse x n risulta soggetto a vincolo (deve essere normale all asse z n 1 ): infatti non vi è giunto n+1, per cui non è definito z n e lo si può scegliere arbitrariamente quando due assi consecutivi sono paralleli, in quanto la normale comune tra di essi non è univocamente definita quando due assi consecutivi si intersecano, in quanto il verso di x i è arbitrario quando il giunto i è prismatico, nel qual caso la sola direzione dell asse z i 1 è determinata

Parametri di Denavit-Hartenberg a i distanza di O i da O i ; d i coordinata su z i 1 di O i ; α i angolo intorno all asse x i tra l asse z i 1 e l asse z i valutato positivo in senso antiorario; ϑ i angolo intorno all asse z i 1 tra l asse x i 1 e l asse x i valutato positivo in senso antiorario. a i e α i sono sempre costanti se il giunto è rotoidale la variabile è ϑ i se il giunto è prismatico la variabile è d i

Trasformazione di coordinate Σ i 1 Σ i rotazione di ϑ i intorno a z i 1 traslazione di d i lungo z i 1 A i 1 i = Σ i Σ i rotazione di α i intorno a x i traslazione di a i lungo x i A i 1 i (q i ) = A i 1 i A i i = A i i = c ϑi s ϑi c αi s ϑi s αi a i c ϑi s ϑi c ϑi c αi c ϑi s αi a i s ϑi 0 s αi c αi d i 0 0 0 1 c ϑi s ϑi 0 0 s ϑi c ϑi 0 0 0 0 1 d i 0 0 0 1 1 0 0 a i 0 c αi s αi 0 0 s αi c αi 0 0 0 0 1 q i = { di prismatico rotoidale ϑ i

Composizione di trasformazioni T 0 n(q) = A 0 1(q 1 )A 1 2(q 2 )...A n 1 n (q n ) T e b (q) = T b 0T 0 n(q)t n e

Procedura operativa 1. Individuare e numerare consecutivamente gli assi dei giunti; assegnare, rispettivamente, le direzioni agli assi z 0,..., z n 1 2. Fissare la terna base posizionandone l origine sull asse z 0 ; gli assi x 0 e y 0 sono scelti in maniera tale da ottenere una terna levogira Eseguire i passi da 3 a 5 per i = 1,...,n 1: 3. Individuare l origine O i all intersezione di z i con la normale comune agli assi z i 1 e z i. Se gli assi z i 1 e z i sono paralleli e il giunto i è rotoidale, posizionare O i in modo da annullare d i ; se il giunto i è prismatico, scegliere O i in corrispondenza di una posizione di riferimento per la corsa del giunto (ad esempio un fine-corsa) 4. Fissare l asse x i diretto lungo la normale comune agli assi z i 1 e z i con verso positivo dal giunto i al giunto i + 1 5. Fissare l asse y i in modo da ottenere una terna levogira

Per completare: 6. Fissare la terna n scegliendo l asse x n perpendicolare all asse z n 1 ; se il giunto n è di rotazione, allineare z n lungo la direzione di z n 1 7. Costruire per i = 1,...,n la tabella dei parametri a i, d i, α i, ϑ i 8. Calcolare sulla base dei parametri di cui al punto 7 le matrici di trasformazione omogenea A i 1 i (q i ) per i = 1,...,n 9. Calcolare la funzione cinematica diretta Tn(q) 0 = A 0 1...A n 1 n orientamento della terna n rispetto alla terna base 10. Calcolare T e b (q) = T b 0 T 0 n (q)t n e che fornisce posizione e

Manipolatore planare a tre bracci Braccio a i α i d i ϑ i 1 a 1 0 0 ϑ 1 2 a 2 0 0 ϑ 2 3 a 3 0 0 ϑ 3

A i 1 i = T 0 3 = A0 1 A1 2 A2 3 = c i s i 0 a i c i s i c i 0 a i s i i = 1, 2, 3 0 0 1 0 0 0 0 1 c 123 s 123 0 a 1 c 1 + a 2 c 12 + a 3 c 123 s 123 c 123 0 a 1 s 1 + a 2 s 12 + a 3 s 123 0 0 1 0 0 0 0 1

Manipolatore sferico Braccio a i α i d i ϑ i 1 0 π/2 0 ϑ 1 2 0 π/2 d 2 ϑ 2 3 0 0 d 3 0

A 0 1 = c 1 0 s 1 0 s 1 0 c 1 0 0 1 0 0 0 0 0 1 A 2 3 = A 1 2 = 1 0 0 0 0 1 0 0 0 0 1 d 3 0 0 0 1 c 2 0 s 2 0 s 2 0 c 2 0 0 1 0 d 2 0 0 0 1 T 0 3 = A0 1 A1 2 A2 3 = c 1 c 2 s 1 c 1 s 2 c 1 s 2 d 3 s 1 d 2 s 1 c 2 c 1 s 1 s 2 s 1 s 2 d 3 + c 1 d 2 s 2 0 c 2 c 2 d 3 0 0 0 1

Manipolatore antropomorfo Braccio a i α i d i ϑ i 1 0 π/2 0 ϑ 1 2 a 2 0 0 ϑ 2 3 a 3 0 0 ϑ 3

A i 1 i = A 0 1 = c 1 0 s 1 0 s 1 0 c 1 0 0 1 0 0 0 0 0 1 c i s i 0 a i c i s i c i 0 a i s i 0 0 1 0 0 0 0 1 i = 2, 3 T 0 3 = A0 1 A1 2 A2 3 = c 1 c 23 c 1 s 23 s 1 c 1 (a 2 c 2 + a 3 c 23 ) s 1 c 23 s 1 s 23 c 1 s 1 (a 2 c 2 + a 3 c 23 ) s 23 c 23 0 a 2 s 2 + a 3 s 23 0 0 0 1

Polso sferico Braccio a i α i d i ϑ i 4 0 π/2 0 ϑ 4 5 0 π/2 0 ϑ 5 6 0 0 d 6 ϑ 6

A 3 4 = c 4 0 s 4 0 s 4 0 c 4 0 0 1 0 0 0 0 0 1 T 3 6 = A3 4 A4 5 A5 6 = A 5 6 = A 4 5 = c 6 s 6 0 0 s 6 c 6 0 0 0 0 1 d 6 0 0 0 1 c 5 0 s 5 0 s 5 0 c 5 0 0 1 0 0 0 0 0 1 c 4 c 5 c 6 s 4 s 6 c 4 c 5 s 6 s 4 c 6 c 4 s 5 c 4 s 5 d 6 s 4 c 5 c 6 + c 4 s 6 s 4 c 5 s 6 + c 4 c 6 s 4 s 5 s 4 s 5 d 6 s 5 c 6 s 5 s 6 c 5 c 5 d 6 0 0 0 1

Manipolatore di Stanford T 0 6 = T 0 3 T 3 6 = n0 s 0 a 0 p 0 0 0 0 1

p 0 = n 0 = s 0 = a 0 = c 1 s 2 d 3 s 1 d 2 + ( ) c 1 (c 2 c 4 s 5 + s 2 c 5 ) s 1 s 4 s 5 d6 s 1 s 2 d 3 + c 1 d 2 + ( ) s 1 (c 2 c 4 s 5 + s 2 c 5 ) + c 1 s 4 s 5 d6 c 2 d 3 + ( s 2 c 4 s 5 + c 2 c 5 )d 6 ( ) c 1 ( c2 (c 4 c 5 c 6 s 4 s 6 ) s 2 s 5 c 6 ) s1 (s 4 c 5 c 6 + c 4 s 6 ) s 1 c2 (c 4 c 5 c 6 s 4 s 6 ) s 2 s 5 c 6 + c1 (s 4 c 5 c 6 + c 4 s 6 ) s 2 (c 4 c 5 c 6 s 4 s 6 ) c 2 s 5 c 6 ( ) c 1 ( c2 (c 4 c 5 s 6 + s 4 c 6 ) + s 2 s 5 s 6 ) s1 ( s 4 c 5 s 6 + c 4 c 6 ) s 1 c2 (c 4 c 5 s 6 + s 4 c 6 ) + s 2 s 5 s 6 + c1 ( s 4 c 5 s 6 + c 4 c 6 ) s 2 (c 4 c 5 s 6 + s 4 c 6 ) + c 2 s 5 s 6 c 1(c 2 c 4 s 5 + s 2 c 5 ) s 1 s 4 s 5 s 1 (c 2 c 4 s 5 + s 2 c 5 ) + c 1 s 4 s 5 s 2 c 4 s 5 + c 2 c 5

Manipolatore antropomorfo con polso sferico Braccio a i α i d i ϑ i 1 0 π/2 0 ϑ 1 2 a 2 0 0 ϑ 2 3 0 π/2 0 ϑ 3 4 0 π/2 d 4 ϑ 4 5 0 π/2 0 ϑ 5 6 0 0 d 6 ϑ 6

c 3 0 s 3 0 c 4 0 s 4 0 A 2 s 3 = 3 0 c 3 0 A 3 s 4 = 4 0 c 4 0 0 1 0 0 0 1 0 d 4 0 0 0 1 0 0 0 1 ( ) a 2 c 1 c 2 + d 4 c 1 s 23 + d 6 c1 (c 23 c 4 s 5 + s 23 c 5 ) + s 1 s 4 s 5 p 0 ( ) = a 2 s 1 c 2 + d 4 s 1 s 23 + d 6 s1 (c 23 c 4 s 5 + s 23 c 5 ) c 1 s 4 s 5 a 2 s 2 d 4 c 23 + d 6 (s 23 c 4 s 5 c 23 c 5 ) ( ) c 1 c23 (c 4 c 5 c 6 s 4 s 6 ) s 23 s 5 c 6 n 0 ( ) + s1 (s 4 c 5 c 6 + c 4 s 6 ) = s 1 c23 (c 4 c 5 c 6 s 4 s 6 ) s 23 s 5 c 6 c1 (s 4 c 5 c 6 + c 4 s 6 ) s 23 (c 4 c 5 c 6 s 4 s 6 ) + c 23 s 5 c 6 ( ) c 1 c23 (c 4 c 5 s 6 + s 4 c 6 ) + s 23 s 5 s 6 s 0 ( ) + s1 ( s 4 c 5 s 6 + c 4 c 6 ) = s 1 c23 (c 4 c 5 s 6 + s 4 c 6 ) + s 23 s 5 s 6 c1 ( s 4 c 5 s 6 + c 4 c 6 ) s 23 (c 4 c 5 s 6 + s 4 c 6 ) c 23 s 5 s 6 a 0 = c 1(c 23 c 4 s 5 + s 23 c 5 ) + s 1 s 4 s 5 s 1 (c 23 c 4 s 5 + s 23 c 5 ) c 1 s 4 s 5 s 23 c 4 s 5 c 23 c 5

SPAZIO DEI GIUNTI E SPAZIO OPERATIVO Spazio dei giunti q = q 1.. IR n q n q i = ϑ i (giunto rotoidale) q i = d i (giunto prismatico) Spazio operativo p (posizione) φ (orientamento) Equazione cinematica diretta x = [ ] p φ IR m m 6 x = k(q)

Esempio x = p x p y φ = k(q) = a 1c 1 + a 2 c 12 + a 3 c 123 a 1 s 1 + a 2 s 12 + a 3 s 123 ϑ 1 + ϑ 2 + ϑ 3 Nel caso più generale il calcolo di φ(q) non è attuabile in forma diretta, ma deve passare attraverso la risoluzione del problema (inverso) R 0 n(q) φ(q)

Spazio di lavoro Spazio di lavoro raggiungibile p = p(q) q im q i q im i = 1,...,n elementi di superficie planare, sferica, toroidale e cilindrica Spazio di lavoro destro orientamenti diversi SPD SPR

Esempio configurazioni ammissibili (gomito alto/basso q 2 <> 0) spazio di lavoro (gomito alto/basso DAEFD/BCDAB)

Accuratezza scostamento tra posizione conseguita con la postura assegnata e posizione calcolata tramite la cinematica diretta valori tipici: (0.2, 1) mm Ripetibilità capacità del manipolatore di tornare in una posizione precedentemente raggiunta valori tipici: (0.02, 0.2) mm Ridondanza cinematica m < n (intrinseca) r < m = n (funzionale)

CALIBRAZIONE CINEMATICA Valori precisi dei parametri DH per migliorare l accuratezza di un manipolatore Equazione cinematica diretta in funzione di tutti i parametri x = k(a, α, d, ϑ) a = [a 1...a n ] T... ϑ = [ϑ 1...ϑ n ] T x m : locazione misurata x n : locazione nominale (parametri fissi + variabili giunto) x = x m x n : errore

Per piccoli scostamenti: x = k k a + a α = Φ(ζ n ) ζ k k α + d + d ϑ ϑ ζ = [a α d ϑ] T a = a m a n... ζ = ζ m ζ n Φ: matrice di calibrazione m equazioni in 4n incognite ( ζ)

l misure (lm 4n) x = x 1. x l = Φ 1. Φ l ζ = Φ ζ Soluzione ζ = ( Φ T Φ) 1 ΦT x ζ = ζ n + ζ... finché ζ converge stime più accurate dei parametri fissi correzioni alle misure dei trasduttori Inizializzazione postura di riferimento (home)

PROBLEMA CINEMATICO INVERSO Cinematica diretta q = T oppure q = x Cinematica inversa T = q oppure x = q Complessità esistenza di soluzioni ammissibili? soluzione analitica (in forma chiusa)? soluzioni multiple, infinite soluzioni Intuizione algebrica e geometrica Tecniche numeriche

Soluzione del manipolatore planare a tre bracci Soluzione algebrica φ = ϑ 1 + ϑ 2 + ϑ 3 p Wx = p x a 3 c φ = a 1 c 1 + a 2 c 12 p Wy = p y a 3 s φ = a 1 s 1 + a 2 s 12

Soluzione per ϑ 2 (± gomito basso/alto), 1 c 2 1 (altrimenti / SPR) c 2 = p2 Wx + p2 Wy a2 1 a2 2, s 2 = ± 1 c 2 2 2a 1 a, ϑ 2 = Atan2(s 2, c 2 ) 2 Soluzione per ϑ 1 (ϑ 2 noto) s 1 = (a 1 + a 2 c 2 )p Wy a 2 s 2 p Wx p 2 Wx + p2 Wy, c 1 = (a 1 + a 2 c 2 )p Wx + a 2 s 2 p Wy p 2 Wy + p2 Wy, ϑ 1 = Atan2(s 1, c 1 ) Soluzione per ϑ 3 da angolo di orientamento (ϑ 1 e ϑ 2 noti) ϑ 3 = φ ϑ 1 ϑ 2

Soluzione geometrica OW = p 2 Wx + p2 Wy Teorema dei coseni p 2 Wx + p2 Wy = a2 1 + a2 2 + 2a 1a 2 cos(π ϑ 2 )

Soluzione per ϑ 2 (ϑ 2 (0, π) / ϑ 2 ( π, 0) gomito basso/alto), (altrimenti / SPR) p 2 Wx + p2 Wy a 1 + a 2 c 2 = p2 Wx + p2 Wy a2 1 a2 2 2a 1 a 2, ϑ 2 = cos 1 (c 2 ) Soluzione per ϑ 1 (± se ϑ 2 <> 0), β (0, π) α = Atan2(p Wy, p Wx ), β = cos 1 p2 Wx + p2 Wy + a2 1 a 2 2 2a 1 p 2 Wx + p2 Wy ϑ 1 = α ± β Soluzione per ϑ 3 ϑ 3 = φ ϑ 1 ϑ 2

Soluzione di manipolatori con polso sferico Assegnati p e R = [n s a] Soluzione disaccoppiata: punto polso p W = p d 6 a calcolo di p W (q 1, q 2, q 3 ) cinematica inversa per (q 1, q 2, q 3 ) calcolo di R 0 3(q 1, q 2, q 3 ) calcolo di R 3 6 (ϑ 4, ϑ 5, ϑ 6 ) = R 0 3 T R cinematica inversa per (ϑ 4, ϑ 5, ϑ 6 )

Soluzione del manipolatore antropomorfo DisallineamentoΣ 3 :d 4 = a 3,d 6 = 0,ϑ 3 ϑ 3 + π 2 senza polso = cinematica del manipolatore antropomorfo Se p Wx 0 e p Wy 0 (altrimenti soluzioni per ϑ 1 ) ϑ 1 = Atan2(p Wy, p Wx ) (oppure ϑ 1 = π + Atan2(p Wy, p Wx ) se ϑ 2 π ϑ 2 )

Bracci 2+3: planare a due bracci, con p Wx p 2 Wx + p2 Wy e p Wy p Wz c 3 = p2 Wx + p2 Wy + p2 Wz a2 2 a2 3 2a 2 a 3 ϑ 3 = Atan2(s 3, c 3 ) s 3 = ± 1 c 2 3 s 2 = c 2 = (a 2 + a 3 c 3 )p Wz a 3 s 3 p 2 Wx + p2 Wy p 2 Wx + p2 Wy + p2 Wz (a 2 + a 3 c 3 ) p 2 Wx + p2 Wy + a 3s 3 p Wz p 2 Wx + p2 Wy + p2 Wz ϑ 2 = Atan2(s 2, c 2 )

Quattro configurazioni ammissibili (a meno di fine corsa...) soluzione univoca solo se p Wx 0 p Wy 0 Se p Wx = 0 e p Wy = 0 soluzioni (è possibile ricavare ϑ 2 e ϑ 3 a prescindere dal valore di ϑ 1 ) singolarità cinematica

Soluzione del polso sferico Soluzione inversa per angoli di Eulero ZY Z! R 3 6 = n 3 x s 3 x a 3 x n 3 y s 3 y a 3 y n 3 z s 3 z a 3 z ϑ 5 (0, π) ϑ 5 ( π, 0) ϑ 4 = Atan2(a 3 y, a ( 3 x) ) ϑ 5 = Atan2 (a 3 x) 2 + (a 3 y) 2, a 3 z ϑ 6 = Atan2(s 3 z, n3 z ) ϑ 4 = Atan2( a ( 3 y, a3 x ) ) ϑ 5 = Atan2 (a 3 x )2 + (a 3 y )2, a 3 z ϑ 6 = Atan2( s 3 z, n 3 z)

CINEMATICA DIFFERENZIALE Relazioni tra velocità dei giunti e velocità dell organo terminale Jacobiano geometrico Jacobiano analitico Singolarità cinematiche Analisi della ridondanza Inversione della cinematica differenziale Algoritmi per l inversione cinematica STATICA Relazioni tra forze all organo terminale e coppie ai giunti

JACOBIANO GEOMETRICO T(q) = R(q) p(q) 0 T 1 Obiettivo v = [ ] ṗ ω ṗ = J P (q) q ω = J O (q) q = J(q) q J = [ JP J O ]

Derivata di una matrice di rotazione Essendo R(t)R T (t) = I Ṙ(t)RT (t) + R(t)ṘT (t) = O Posto: S(t) = Ṙ(t)RT (t) Ṙ(t) = S(t)R(t) con S(t) + S T (t) = O S(t) è una matrice antisimmetrica

Interpretazione (p costante): p(t) = R(t)p ṗ(t) = Ṙ(t)p ṗ(t) = S(ω(t))R(t)p essendo (dalla meccanica dei corpi rigidi) ṗ(t) = ω(t) R(t)p si può interpretare S(ω) come l operatore matriciale che descrive il prodotto vettoriale ω Pertanto Ṙ(t) = S(ω(t))R(t) con S(ω) = 0 ω z ω y ω z 0 ω x ω y ω x 0 Proprietà: RS(ω)R T = S(Rω)

Esempio: rotazione elementare intorno a z R z (α(t)) = cosα(t) sinα(t) 0 sin α(t) cos α(t) 0, ω(t) = 0 0 1 0 0 α(t) S(ω(t)) = α sinα(t) α(t) cosα(t) 0 cosα(t) sinα(t) 0 α cosα(t) α(t) sinα(t) 0 sin α(t) cos α(t) 0 = 0 0 0 0 0 1 0 α(t) 0 α(t) 0 0 0 0 0

p 0 = o 0 1 + R0 1 p1 = o 0 1 + r0 1 ṗ 0 = ȯ 0 1 + R 0 1ṗ1 + Ṙ0 1p 1 = ȯ 0 1 + R0 1ṗ1 + S(ω 0 1 )R0 1 p1 = ȯ 0 1 + R0 1ṗ1 + ω 0 1 r0 1

Velocità di un braccio Velocità lineare p i = p i 1 + R i 1 r i 1 i 1,i = p i 1 + r i 1,i ṗ i = ṗ i 1 + R i 1 ṙ i 1 i 1,i + ω i 1 R i 1 r i 1 i 1,i = ṗ i 1 + v i 1,i + ω i 1 r i 1,i con v i 1,i = R i 1 ṙ i 1 i 1,i

Velocità angolare R i = R i 1 R i 1 i S(ω i )R i = S(ω i 1 )R i + R i 1 S(ω i 1 i 1,i )Ri 1 i = S(ω i 1 )R i + S(R i 1 ω i 1 i 1,i )R i ω i = ω i 1 + R i 1 ω i 1 i 1,i = ω i 1 + ω i 1,i con ω i 1,i = R i 1 ω i 1 i 1,i

ṗ i = ṗ i 1 + v i 1,i + ω i 1 r i 1,i ω i = ω i 1 + ω i 1,i Giunto prismatico: { ωi 1,i = 0 v i 1,i = d i z i 1 { ωi = ω i 1 ṗ i = ṗ i 1 + d i z i 1 + ω i r i 1,i { { Giunto rotoidale: ω i 1,i = ϑ i z i 1 ω i = ω i 1 + ϑ i z i 1 v i 1,i = ω i 1,i r i 1,i ṗ i = ṗ i 1 + ω i r i 1,i

Calcolo dello Jacobiano J = [ j 1... j n ] = j P1... j Pn j O1 j On Velocità angolare giunto i prismatico giunto i rotoidale q i j Oi = 0 = j Oi = 0 q i j Oi = ϑ i z i 1 = j Oi = z i 1

Velocità lineare giunto i prismatico q i j Pi = d i z i 1 = j Pi = z i 1 giunto i rotoidale q i j Pi = ω i 1,i r i 1,n = ϑ i z i 1 (p p i 1 ) = j Pi = z i 1 (p p i 1 )

Colonna dello Jacobiano geometrico [ jpi j Oi ] [ zi 1 ] 0 = [ ] zi 1 (p p i 1 ) z i 1 per un giunto prismatico per un giunto rotoidale z i 1 = R 0 1 (q 1)...R i 2 i 1 (q i 1)z 0 : da R 0 i 1 (III colonna) p = A 0 1 (q 1)...A n 1 n (q n ) p 0 : da T 0 n (IV colonna) p i 1 = A 0 1(q 1 )...A i 2 i 1 (q i 1) p 0 : con z 0 = 0 0 0 0 e p 0 = 0 1 1 da A 0 i 1 (IV colonna)

Rappresentazione in terna differente [ ] ṗu ω u = = J u = [ R u O O [ R u O O R u R u [ R u O O R u ][ ] ṗ ω ] J q ] J

Manipolatore planare a tre bracci J(q) = [ ] z0 (p p 0 ) z 1 (p p 1 ) z 2 (p p 2 ) z 0 z 1 z 2 p 0 = 0 0 0 p 1 = a 1c 1 a 1 s 1 p 2 = a 1c 1 + a 2 c 12 a 1 s 1 + a 2 s 12 0 0 p = a 1c 1 + a 2 c 12 + a 3 c 123 a 1 s 1 + a 2 s 12 + a 3 s 123 0 z 0 = z 1 = z 2 = 0 0 1

J = a 1 s 1 a 2 s 12 a 3 s 123 a 2 s 12 a 3 s 123 a 3 s 123 a 1 c 1 + a 2 c 12 + a 3 c 123 a 2 c 12 + a 3 c 123 a 3 c 123 0 0 0 0 0 0 0 0 0 1 1 1 J P = [ ] a1 s 1 a 2 s 12 a 3 s 123 a 2 s 12 a 3 s 123 a 3 s 123 a 1 c 1 + a 2 c 12 + a 3 c 123 a 2 c 12 + a 3 c 123 a 3 c 123 Solo 3 righe non nulle

Manipolatore antropomorfo J = [ ] z0 (p p 0 ) z 1 (p p 1 ) z 2 (p p 2 ) z 0 z 1 z 2 p 0 = p 1 = 0 0 p 2 = 0 z 0 = p = 0 0 1 c 1(a 2 c 2 + a 3 c 23 ) s 1 (a 2 c 2 + a 3 c 23 ) a 2 s 2 + a 3 s 23 z 1 = z 2 = a 2c 1 c 2 a 2 s 1 c 2 a 2 s 2 s 1 c 1 0

J = s 1 (a 2 c 2 + a 3 c 23 ) c 1 (a 2 s 2 + a 3 s 23 ) a 3 c 1 s 23 c 1 (a 2 c 2 + a 3 c 23 ) s 1 (a 2 s 2 + a 3 s 23 ) a 3 s 1 s 23 0 a 2 c 2 + a 3 c 23 a 3 c 23 0 s 1 s 1 0 c 1 c 1 1 0 0 J P = s 1(a 2 c 2 + a 3 c 23 ) c 1 (a 2 s 2 + a 3 s 23 ) a 3 c 1 s 23 c 1 (a 2 c 2 + a 3 c 23 ) s 1 (a 2 s 2 + a 3 s 23 ) a 3 s 1 s 23 0 a 2 c 2 + a 3 c 23 a 3 c 23 Solo 3 righe linearmente indipendenti e s 1 ω y = c 1 ω z

JACOBIANO ANALITICO ṗ = p q q = J P(q) q φ = φ q q = J φ(q) q p = p(q) φ = φ(q) } ẋ = [ ] ṗ φ x = k(q) = k(q) q q = [ ] JP (q) J φ (q) q = J A (q) q Jacobiano analitico: J A (q) = k(q) q J J A poichè ω φ

Velocità di rotazione in terna corrente di angoli di Eulero ZYZ per effetto di ϕ: [ ω x ω y ω z ] T = ϕ [0 0 1 ] T per effetto di ϑ: [ ω x ω y ω z ] T = ϑ [ s ϕ c ϕ 0] T per effetto di ψ: [ ω x ω y ω z ] T = ψ [ c ϕ s ϑ s ϕ s ϑ c ϑ ] T

Composizione di velocità di rotazione elementari ω = 0 s ϕ c ϕ s ϑ 0 c ϕ s ϕ s ϑ φ = T(φ) φ 1 0 c ϑ Essendo: det(t) = s ϑ T(φ) singolare per ϑ = 0, π (singolarità di rappresentazione) in tal caso si ha ωx 2 + ω2 y = ϑ 2 Quindi: φ può essere espressa mediante una ω equivalente ω che non possono essere espresse mediante una φ equivalente (in corrispondenza di singolarità di rappresentazione)

Significato fisico di ω ω = [ π/2 0 0 ] T 0 t 1 ω = [ 0 π/2 0] T 0 t 1 ω = [ 0 π/2 0 ] T 1 < t 2 ω = [ π/2 0 0] T 1 < t 2 Due diverse leggi orarie per ω(t) corrispondenti allo stesso integrale Viceversa, 2 0 φ(t)dt = φ(2) φ(0) 2 0 ω(t)dt = [ π/2 π/2 0 ] T

Relazione tra Jacobiano analitico e Jacobiano geometrico v = [ ] I O ẋ = T O T(φ) A (φ)ẋ J = T A (φ)j A Jacobiano geometrico grandezze di significato fisico Jacobiano analitico grandezze differenziali di variabili nello spazio operativo Sono equivalenti solo in particolari casi (ad es., quando la struttura è in grado di imporre rotazioni dell organo terminale solo intorno ad un asse fisso nello spazio) Esempio: per il manipolatore planare a 3 bracci (con φ = ϑ 1 + ϑ 2 + ϑ 3 ed eliminando le righe nulle in J) si ha J J A

SINGOLARITÀ CINEMATICHE v = J(q) q se J diminuisce di rango = singolarità cinematiche (a) perdita di mobilità ( non è possibile imporre leggi di moto arbitrarie all organo terminale) (b) si possono avere soluzioni al problema cinematico inverso (c) nell intorno di una singolarità si possono generare velocità elevate nello spazio dei giunti (a fronte di velocità ridotte dell organo terminale) Classificazione Singolarità ai confini dello spazio di lavoro raggiungibile: manipolatore tutto steso o ripiegato Singolarità all interno dello spazio di lavoro raggiungibile: allineamento di assi di moto o configurazioni particolari dell organo terminale

Manipolatore planare a due bracci [ ] a1 s J = 1 a 2 s 12 a 2 s 12 a 1 c 1 + a 2 c 12 a 2 c 12 det(j) = a 1 a 2 s 2 Due singolarità ai confini dello SdLR: s 2 = 0 ϑ 2 = 0, ϑ 2 = π [ (a 1 + a 2 )s 1 (a 1 + a 2 )c 1 ] T parallelo a [ a 2 s 1 a 2 c 1 ] T (componenti di velocità dell organo terminale non indipendenti)

Disaccoppiamento di singolarità Strutture con struttura portante + polso sferico Singolarità della struttura portante Singolarità del polso

J ha una struttura a blocchi (3 3) J = [ ] J11 J 12 J 21 J 22 Con (ultimi 3 giunti rotoidali) J 12 = [ z 3 (p p 3 ) z 4 (p p 4 ) z 5 (p p 5 ) ] e J 22 = [ z 3 z 4 z 5 ] Se p = p W = p W p i paralleli a z i (i = 3, 4, 5) J 12 = [ 0 0 0 ] J è triangolare a blocchi det(j) = det(j 11 )det(j 22 ) Condizioni di singolarità (di struttura portante e di polso) det(j 11 ) = 0 det(j 22 ) = 0

Singolarità di polso Essendo J 22 = [ z 3 z 4 z 5 ] (con z 4 z 5 ) Due singolarità cinematiche per ϑ 5 = 0, ϑ 5 = π z 3 z 5, verificabile ovunque nello SdLR Perdita di mobilità della struttura rotazioni uguali e opposte di ϑ 4 e ϑ 6 non producono alcuna rotazione dell organo terminale la struttura non è in grado di imporre rotazioni intorno a direzioni z 3, z 4

Singolarità di struttura portante Si noti che, nonostante si abbia J P J 11, si può comunque utilizzare J P ai fini del calcolo delle singolarità Manipolatore antropomorfo det(j P ) = a 2 a 3 s 3 (a 2 c 2 + a 3 c 23 ) = 0 s 3 = 0 a 2 c 2 + a 3 c 23 = 0

Singolarità di gomito (s 3 = 0) ϑ 3 = 0 ϑ 3 = π ai confini dello SdLR

Singolarità di spalla (a 2 c 2 + a 3 c 23 = 0) p x = p y = 0 configurazioni singolari caratterizzabili nello spazio cartesiano (asse di rotazione del giunto 1) soluzioni al problema cinematico inverso ( valore di ϑ 1 genera lo stesso p) il manipolatore non è in grado di generare velocità lineari al piano della struttura

ANALISI DELLA RIDONDANZA Cinematica differenziale: v = J(q) q n : numero di gradi di mobilità della struttura (dimensione di q) r : numero di gradi di libertà del compito (componenti di v da specificare) n r : gradi di mobilità ridondanti Quindi v : vettore (r 1) delle componenti di velocità dell organo terminale necessarie per specificare il compito J : matrice (r n) estratta dalla Jacobiano (righe corrispondenti alle componenti di v)

Cinematica differenziale: trasformazione (configurazione dipendente) fra due sottospazi (sottospazio) immagine (range) di J : R(J) IR r (sottospazio) nullo di J : N(J) IR n in generale: dim ( R(J) ) + dim ( N(J) ) = n se (J) = r (Jacobiano di rango pieno): dim ( R(J) ) = r e dim ( N(J) ) = n r R(J) ricopre tutto IR r N(J) è non vuoto se n > r

Se N(J) q = q + P q 0 con q 0 arbitrario e R(P) N(J) (P è un proiettore in N(J)) Infatti J q = J q + JP q 0 = J q = v poichè JP q 0 = 0, q 0 Il vettore di velocità q 0 genera moti interni della struttura che non alterano v

INVERSIONE DELLA CINEMATICA DIFFERENZIALE Equazione cinematica non lineare: soluzioni in forma chiusa della cinematica inversa ricavabili solo per strutture semplici, non ridondanti e in configurazioni non singolari Equazione cinematica differenziale lineare nelle velocità Data v(t) + condizioni iniziali = (q(t), q(t)) se n = r q = J 1 (q)v q(t) = regola di integrazione numerica (Eulero) t 0 q(ς)dς + q(0) q(t k+1 ) = q(t k ) + q(t k ) t

Manipolatori ridondanti J è (r n) con r < n soluzioni Si pone un problema di ottimo vincolato Per una data configurazione q, trovare le soluzioni q che soddisfino la cinematica diretta (vincolo) v = J q e che minimizzino g( q) = 1 2 qt W q con W > O e simmetrica Metodo dei moltiplicatori di Lagrange (λ IR r ) g( q, λ) = 1 2 qt W q + λ T (v J q)

Condizioni necessarie ( ) T g = 0 W q J T λ = 0 q ( ) T g = 0 v J q = 0 λ Soluzione ottima q = W 1 J T (JW 1 J T ) 1 v che corrisponde ad un minimo poiché 2 g q 2 = W > O Se W = I (min locale di q ), la soluzione è dove J è la pseudo-inversa destra di J q = J v J = J T (JJ T ) 1

Utilizzo della ridondanza: per una data configurazione q, trovare le soluzioni q che soddisfino la cinematica diretta (vincolo) v = J q e che minimizzino g ( q) = 1 2 ( qt q T 0 )( q q 0 ) = 1 2 q q 0 2 (soluzioni prossime a q 0 e che soddisfano il vincolo cinematico) Procedendo sempre con il metodo dei moltiplicatori di Lagrange g ( q, λ) = 1 2 ( qt q T 0 )( q q 0 ) + λ T (v J q) si ha la soluzione ottima q = J v + (I J J) q 0 I J J è un proiettore in N(J) (I J J) q 0 rappresenta moti interni della struttura (soluzione omogenea)

Caratterizzazione dei moti interni: funzione obiettivo secondaria, w(q), da massimizzare (localmente) compatibilmente con l obiettivo primario (vincolo cinematico) ( ) T w(q) q 0 = k 0, k 0 > 0 q misura di manipolabilità w(q) = det ( J(q)J T (q) ) distanza dai fine-corsa dei giunti w(q) = 1 2n n ( qi q i i=1 q im q im ) 2 distanza da un ostacolo w(q) = min p,o p(q) o

Singolarità cinematiche Le soluzioni precedenti valgono solo se J è di rango pieno Se J non è di rango pieno (singolarità) il sistema v = J q contiene equazioni linearmente dipendenti se v R(J) soluzione q estraendo tutte le equazioni linearmente indipendenti (traiettoria fisicamente eseguibile) se v / R(J) il sistema non è risolvibile (traiettoria non eseguibile) Inversione nell intorno di singolarità: det(j) piccolo q elevate inversa a minimi quadrati smorzata (k > 0: fattore di smorzamento che rende meglio condizionata l inversione matriciale) J = J T (JJ T + k 2 I) 1 dove q minimizza (vincolo cinematico incorporato in g ) g ( q) = v J q 2 + k 2 q 2

ALGORITMI PER L INVERSIONE CINEMATICA Inversione cinematica q(t k+1 ) = q(t k ) + J 1 (q(t k ))v(t k ) t... o anche J, J fenomeni di deriva della soluzione Soluzione algoritmica errore nello spazio operativo e = x d x = x d k(q) ė = ẋ d ẋ = ẋ d J A (q) q trovare q = q(e): e 0 (fascia di tolleranza)

(Pseudo-)inversa dello Jacobiano Linearizzazione della dinamica di errore q = J 1 A (q)(ẋ d + Ke) ė + Ke = 0 Se K > O dinamica d errore A.S. Per un manipolatore ridondante q = J A (ẋ d + Ke) + (I J A J A) q a

Trasposta dello Jacobiano Si cerca di ricavare una legge q = q(e) senza linearizzare la dinamica di errore Metodo di Lyapunov V (e) = 1 2 et Ke con K simmetrica e d.p. V (e) > 0 e 0, V (0) = 0 Forma quadratica d.p. V (e) = e T Kẋ d e T Kẋ = e T Kẋ d e T KJ A (q) q La scelta q = J T A(q)Ke comporta che V (e) = e T Kẋ d e T KJ A (q)j T A (q)ke se ẋ d = 0 e J A di rango pieno V < 0 con V > 0 (asintotica stabilità di e = 0) se N(JA T) V = 0 se Ke N(JA T ) q = 0 con e 0 (stallo?)

Schema a blocchi Utilizzo di sole funzioni di cinematica diretta (k(q) e J A (q)) Se ẋ d 0 ( V non definita in segno) e(t) limitato (conviene aumentare la norma di K)

Esempio J T P = 0 0 0 c 1 (a 2 s 2 + a 3 s 23 ) s 1 (a 2 s 2 + a 3 s 23 ) 0 N(JP T ) : a 3 c 1 s 23 a 3 s 1 s 23 a 3 c 23 ν y = 1, ν z = 0 ν x tanϑ 1 Se K = ki 3 e N(J T P ) (p d lungo la retta al piano della struttura passante per W) stallo (p d non fisicamente raggiungibile)

Confronto tra gli algoritmi per l inversione cinematica Manipolatore planare a tre bracci p x p y φ x = k(q) = a 1c 1 + a 2 c 12 + a 3 c 123 a 1 s 1 + a 2 s 12 + a 3 s 123 ϑ 1 + ϑ 2 + ϑ 3 a 1 = a 2 = a 3 = 0.5 m J = J A = a 1s 1 a 2 s 12 a 3 s 123 a 2 s 12 a 3 s 123 a 3 s 123 a 1 c 1 + a 2 c 12 + a 3 c 123 a 2 c 12 + a 3 c 123 a 3 c 123 1 1 1

Configurazione iniziale: q i = [ π π/2 π/2] T rad p di = [ 0 0.5] T m, φ di = 0 rad Traiettoria desiderata: p d (t) = [ ] 0.25(1 cosπt), φ 0.25(2 + sin πt) d (t) = sin π 24 t, 0 t 4 y x Simulazione in MATLAB con integrazione numerica di Eulero ( t = 1 ms) q(t k+1 ) = q(t k ) + q(t k ) t

Integrazione a ciclo aperto di q = J 1 A (q)ẋ deriva numerica 2 x 10 3 pos error norm 0 x 10 5 orien error 1.5 0.2 [m] 1 [rad] 0.4 0.6 0.5 0.8 0 0 1 2 3 4 5 [s] 1 0 1 2 3 4 5 [s]

Algoritmo di inversione a ciclo chiuso q = J 1 A (q)(ẋ d +Ke) K = diag{500, 500, 100} deriva numerica assente errori di inversione più piccoli 5 joint pos 10 joint vel [rad] 0 1 3 [rad/s] 5 0 1 2 2 5 3 [m] 5 0 1 2 3 4 5 [s] 0.8 0.6 0.4 0.2 1 x 10 5 pos error norm 0 0 1 2 3 4 5 [s] 10 0 1 2 3 4 5 [s] [rad] 1 2 3 4 0 x 10 8 orien error 5 0 1 2 3 4 5 [s]

Ridondanza funzionale: φ libero (r = 2, n = 3) (senza sfruttamento della ridondanza) q = J P (ṗ d + K P e P ) K P = diag{500, 500} 5 x 10 6 pos error norm 0.5 orien 4 [m] 3 2 [rad] 0 0.5 1 0 0 1 2 3 4 5 [s] 1 0 1 2 3 4 5 [s] q = J T P (q)k Pe P K P = diag{500, 500} 0.01 pos error norm 0.5 orien 0.008 [m] 0.006 0.004 [rad] 0 0.5 0.002 0 0 1 2 3 4 5 [s] 1 0 1 2 3 4 5 [s]

q = J P (ṗ d+k P e P )+(I J ( ) T w(q) P J P) q 0, q 0 = k 0, K P = diag{500, 500}, k 0 = 50 q w(q) = w(ϑ 2, ϑ 3 ) = 1 2 (s2 2 + s 2 3) (misura di manipolabilità) 5 1 joint pos 5 1 joint pos [rad] 0 3 2 [rad/s] 0 2 3 5 0 1 2 3 4 5 [s] [m] 5 x 10 6 4 3 2 1 pos error norm 0 0 1 2 3 4 5 [s] [rad] 5 0 1 2 3 4 5 [s] 1 0.95 0.9 manip 0.85 0 1 2 3 4 5 [s]

3 ( qi q i ) 2 (distanza dai fine-corsa dei giunti), k 0 = 250 w(q) = 1 6 i=1 q im q im 2π q 1 2π, π/2 q 2 π/2, 3π/2 q 3 π/2 [rad] joint 1 pos 6 4 2 0 2 4 6 0 1 2 3 4 5 [s] joint 3 pos 5 [rad] joint 2 pos 6 4 2 0 2 4 6 0 1 2 3 4 5 [s] 2 x pos error norm 10 4 1.5 [rad] 0 [m] 1 0.5 5 0 1 2 3 4 5 [s] 0 0 1 2 3 4 5 [s]

STATICA Relazione tra forze e momenti (forze) γ all organo terminale e forze e/o coppie (coppie) τ ai giunti con il manipolatore in configurazione di equilibrio lavoro elementare compiuto dalle coppie ai giunti (τ R n ) dw τ = τ T dq lavoro elementare compiuto dalle forze all organo terminale (γ R r ) dw γ = f T dp + µ T ωdt = f T J P (q)dq + µ T J O (q)dq = γ T J(q)dq vincoli olonomi e indipendenti da t spostamenti elementari spostamenti virtuali { δwτ = τ T δq Lavori virtuali associati ai due sistemi di forze δw γ = γ T J(q)δq

Principio dei lavori virtuali il manipolatore è in equilibrio statico se e solo se δw τ = δw γ δq τ = J T (q)γ δw γ = 0, δq N(J) τ = 0 all equilibrio

Dualità cineto-statica v = J(q) q τ = J T (q)γ N(J) R (J T ) R(J) N (J T ) Forze γ N(J T ) interamente assorbite dalla struttura (reazioni vincolari) un manipolatore in configurazione singolare resta nella q corrente γ N(J T )

Interpretazione fisica dello schema con la trasposta dello Jacobiano dinamica ideale (massa nulla e attrito unitario): τ = q τ = J T Ke forza elastica Ke che tira l organo terminale verso la postura desiderata nello spazio operativo ha effetto solo se Ke / N(J T )

ELLISSOIDI DI MANIPOLABILITÀ Indici di valutazione delle prestazioni di un manipolatore attitudine ad eseguire un dato compito Ellissoide di manipolabilità in velocità insieme delle velocità ai giunti a norma costante q T q = 1 Sfera manipolatore ridondante in configurazione non singolare: q = J (q)v v T( J(q)J T (q) ) 1 v = 1 Ellissoide

Assi dell ellissoide { autovettori ui di JJ T direzioni valori singolari σ i = λ i (JJ T ) dimensioni Volume dell ellissoide proporzionale alla misura di manipolabilità w(q) = det ( J(q)J T (q) ) per manipolatori non ridondanti { w(q) > 0 in configurazione non singolare w(q) = 0 in configurazione singolare w(q) = det(j)

Ellissoide di manipolabilità in forza insieme delle coppie ai giunti a norma costante τ T τ = 1 Sfera γ T( J(q)J T (q) ) γ = 1 Ellissoide Dualità cineto-statica stessi assi, dimensione in proporzione inversa una direzione lungo la quale si ha elevata manipolabilità in velocità è una direzione lungo la quale si ha scarsa manipolabilità in forza, e viceversa

Manipolatore planare a due bracci Misura di manipolabilità: w(q 2 ) = det(j) = a 1 a 2 s 2 misura normalizzata: w(q 2 ) = s 2 nei casi più complessi: w(q) = 1 cond(j) = σ r σ 1 w : max ϑ2 per ϑ 2 = ±π/2, max a1,a 2 per a 1 = a 2 (a parità di estensione a 1 + a 2 ) Valori singolari (a 1 = a 2 = 1) [m] 2.5 2 1.5 1 0.5 max min 0 0 0.5 1 1.5 2 [m]

Ellissi di manipolabilità in velocità (a 1 = a 2 = 1) 1 0.5 [m] 0 0.5 1 0 0.5 1 1.5 2 [m] Ellissi di manipolabilità in forza (a 1 = a 2 = 1) 1 0.5 [m] 0 0.5 1 0 0.5 1 1.5 2 [m]

Manipolatore trasformatore meccanico di velocità e forze dallo spazio dei giunti allo spazio operativo rapporto di trasformazione lungo la direzione u per l ellissoide in forza α(q) = ( ) 1/2 u T J(q)J T (q)u rapporto di trasformazione lungo la direzione u per l ellissoide in velocità β(q) = (u T( J(q)J T (q) ) 1 u ) 1/2 conservazione energia: α dove β e viceversa utilizzo dei gradi di mobilità ridondanti

Compatibilità della struttura ad eseguire un compito assegnato lungo una direzione compiti di attuazione (elevato rapporto di trasformazione) compiti di controllo (basso rapporto di trasformazione) Scrittura su superficie orizzontale (controllo), lancio di un peso in direzione orizzontale (attuazione) velocity force velocity writing plane force throwing direction

DINAMICA Equazioni del moto del manipolatore in funzione delle forze e momenti agenti su di esso Formulazione di Lagrange Proprietà notevoli del modello dinamico Dinamica diretta e dinamica inversa

FORMULAZIONE DI LAGRANGE Lagrangiana (energia cinetica) (energia potenziale) L = T U λ i, i = 1,...,n: coordinate generalizzate λ 1. = λ n q 1. = q q n Equazioni di Lagrange d L dt λ L = ξ i i λ i i = 1,...,n ξ i, i = 1,...,n: forze generalizzate associate alle λ i (forze esterne, forze non conservative)

Equazioni del moto L(q, q) = T (q, q) U(q) = 1 2 n n n ( b ij (q) q i q j + mli g0 T p l i (q)+m mi g0 T p m i (q) ) i=1 j=1 i=1 ( ) d L = d ( ) T = dt q i dt q i T q i = 1 2 U q i = = n j=1 k=1 n j=1 n j=1 n n b ij (q) q j + j=1 b jk (q) q i ( m lj g T 0 ( m lj g T 0 j (l j) q k q j n j=1 p lj q i + m mj g T 0 n i=1 db ij (q) dt n j=1 p mj q i ) Pi (q) + m m j g0 T j (m j) Pi q j = ) (q) n n b ij (q) q j + j=1 n j=1 k=1 n i=1 = g i (q) n j=1 n n j=1 k=1 b ij (q) q k q k q j

Quindi (per i = 1,...,n) n b ij (q) q j + j=1 n j=1 k=1 n h ijk (q) q k q j + g i (q) = ξ i con h ijk = b ij 1 b jk q k 2 q i termini in accelerazione: b ii : rappresenta il momento di inerzia visto all asse del giunto i, nella configurazione corrente del manipolatore, quando gli altri giunti sono bloccati (non dipende da q i ) b ij : tiene conto dell effetto dell accelerazione del giunto j sul giunto i termini quadratici in velocità: h ijj q j 2 : rappresenta l effetto centrifugo indotto al giunto i dalla velocità del giunto j; si noti che h iii = 0, poiché b ii / q i = 0 h ijk q j q k : rappresenta l effetto di Coriolis indotto al giunto i dalle velocità dei giunti j e k termini dipendenti solo dalla configurazione: g i : rappresenta la coppia generata all asse del giunto i nella configurazione corrente del manipolatore per effetto della gravità

Forze non conservative (ξ i ) coppie di attuazione: τ coppie di attrito viscoso: F v q coppie di attrito statico: f s (q, q) F s sgn ( q) coppie di bilanciamento di forze di contatto (interazione manipolatore-ambiente): J T (q)h Modello dinamico nello spazio dei giunti B(q) q + C(q, q) q + F v q + f s ( q) + g(q) = τ J T (q)h con C = {c ij } i,j=1,n, dove i cofficienti c ij sono scelti in modo tale che: n c ij q j = j=1 n n h ijk q k q j j=1 k=1... sono possibili diverse scelte per i coefficienti c ij

PROPRIETÀ NOTEVOLI DEL MODELLO DINAMICO Anti-simmetria della matrice N(q, q) = se i c ij sono scelti opportunamente, si ha Ḃ(q) 2C(q, q) w T N(q, q)w = 0, w IR n N(q, q) = N T (q, q) Principio di conservazione dell energia (Hamilton) 1 2 d ( q T B(q) q ) = q T( τ F v q f s ( q) g(q) J T (q)h ) dt q T N(q, q) q = 0 valida scelta deic ij

Linearità nei parametri dinamici vettore (11 1) di parametri dinamici (diventa (13 3) con gli attriti) π i = [ m i m i l Ci x m i l Ci y m i l Ci zîixx Îixy Î ixz Î iyy Î iyz Î izz I mi ] T Î i : tensore d inerzia valutato rispetto all origine della Σ i m i ri,c i i : momento primo d inerzia equazioni del moto in forma lineare nei parametri τ = Y (q, q, q)π con Y = y11 T y12 T... y1n T 0 T y22 T... y2n T, π =............ 0 T 0 T... ynn T π 1 π 2. π n

Manipolatore planare a due bracci Motori masse m mi momenti di inerzia I mi p mi = p i 1 z mi = z i 1

B(q) = [ ] b11 (ϑ 2 ) b 12 (ϑ 2 ) b 21 (ϑ 2 ) b 22 b 11 = I l1 + m l1 l 2 1 + kr1i 2 m1 + I l2 + m l2 (a 2 1 + l 2 2 + 2a 1 l 2 c 2 ) + I m2 + m m2 a 2 1 b 12 = b 21 = I l2 + m l2 (l 2 2 + a 1 l 2 c 2 ) + k r2 I m2 b 22 = I l2 + m l2 l 2 2 + k2 r2 I m2 C(q, q) = [ h ϑ2 h( ϑ 1 + ϑ ] 2 ) h ϑ 1 0 g(q) = h 111 = 1 2 b 11 h 122 = b 12 1 q 2 2 h 212 = h 221 = 1 2 [ g1 g 2 ] q 1 = 0 h 112 = h 121 = 1 2 b 22 = h h 211 = b 21 1 q 1 q 1 2 b 22 = 0 h 222 = 1 b 22 = 0 q 1 2 q 2 b 11 q 2 = m l2 a 1 l 2 s 2 = h b 11 q 2 = h g 1 = (m l1 l 1 + m m2 a 1 + m l2 a 1 )gc 1 + m l2 l 2 gc 12 g 2 = m l2 l 2 gc 12

Anti-simmetria N(q, q) = Ḃ(q) 2C(q, q) = [ 2h ϑ2 h ϑ 2 h ϑ 2 0 ] [ h ϑ2 h( 2 ϑ 1 + ϑ ] 2 ) h ϑ 1 0 = [ 0 2h ϑ 1 h ϑ 2 2h ϑ 1 + h ϑ 2 0 ] Equazioni del moto ( Il1 + m l1 l 2 1 + k2 r1 I m 1 + I l2 + m l2 (a 2 1 + l2 2 + 2a 1l 2 c 2 ) + I m2 + m m2 a 2 ) 1 ϑ1 + ( I l2 + m l2 (l 2 2 + a ) 1l 2 c 2 ) + k r2 I m2 ϑ2 2m l2 a 1 l 2 s 2 ϑ1 ϑ2 m l2 a 1 l 2 s 2 ϑ2 2 + (m l1 l 1 + m m2 a 1 + m l2 a 1 )gc 1 + m l2 l 2 gc 12 = τ 1 ( Il2 + m l2 l 2 2 + k2 r2 I ) m 2 ϑ2 + ( I l2 + m l2 (l 2 2 + a ) 1l 2 c 2 ) + k r2 I m2 ϑ1 + m l2 a 1 l 2 s 2 ϑ2 1 + m l2 l 2 gc 12 = τ 2

DINAMICA DIRETTA E DINAMICA INVERSA Dinamica diretta (simulazione) note q(t 0 ), q(t 0 ), τ(t) (e h(t)), determinare q(t), q(t), q(t) per t > t 0 Dinamica inversa (pianificazione e controllo) note q(t), q(t), q(t) (e h(t)), determinare τ(t) Per un manipolatore ad n giunti, il numero di operazioni per il calcolo della dinamica è: O(n 2 ) per la dinamica diretta, O(n) per la dinamica inversa Schema computazionale per la dinamica diretta q = B 1 (q)(τ τ ) τ (q, q) = C(q, q) q + F v q + f s ( q) + g(q) + J T (q)h note q(t k ), q(t k ), τ(t k ), si calcola q(t k ) = B 1 (q(t k ))(τ(t k ) τ (q(t k ), q(t k ))) si integra numericamente con passo t per calcolare q(t k+1 ) e q(t k+1 ), ad esempio, mediante l algoritmo di Eulero: q(t k+1 ) = q(t k ) + q(t k ) t, q(t k+1 ) = q(t k ) + q(t k ) t