M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion Se i parametri di Denavit-Hartemberg non corrispondono con quelli di progetto a causa di tolleranze.

Slides:



Advertisements
Presentazioni simili
Metodo di Calcolo Numerico per Equazioni differenziali Ordinarie
Advertisements

Le distribuzioni di probabilità continue
Dipartimento di Economia
20 – Lincertezza di misura Tecnologie Informatiche per la Qualità Università degli Studi di Milano – Polo di Crema - Dipartimento di Tecnologie dellInformazione.
Intervalli di confidenza
Autovalori e autovettori
METODI EQUAZIONI DIFFERENZIALI Funzioni che mettono in relazione una variabile indipendente ( es. x), una sua funzione ( es. y = f(x) ) e la.
COORDINATE POLARI Sia P ha coordinate cartesiane
Cinematica diretta Un manipolatore è costituito da un insieme di corpi rigidi (bracci) connessi in cascata tramite coppie cinematiche (giunti). Si assume.
Cinematica del braccio di un robot
Cinematica differenziale
Dinamica del manipolatore
ODE PROBLEMA DI CAUCHY IN 1-D Sia f : I x RR, I  R.
Variabili casuali a più dimensioni
Espressione dell’incertezza di misura (UNI CEI 9)
LE TRASFORMAZIONI GALILEIANE
Algebra delle Matrici.
Metodi Quantitativi per Economia, Finanza e Management Lezione n° 11.
Teoria e Tecniche del Riconoscimento
MODELLO DI REGRESSIONE LINEARE MULTIPLA
Dip. Economia Politica e Statistica
DIFFERENZA TRA LE MEDIE
Abbiamo visto un esempio di applicazione del teorema, ma a noi interessa l’applicazione del Teorema di Bayes alla combinazione delle informazioni, ovvero.
Fondamenti di “sensor fusion” Mariolino De Cecco, Luca Baglivo
Il problema cinematico inverso tratta la determinazione delle variabili di giunto assegnata la posizione e l’assetto dell’organo finale del manipolatore.
Un manipolatore è costituito da un insieme di corpi rigidi (bracci) connessi in cascata tramite coppie cinematiche (giunti) a formare una catena cinematica.
Cinematica differenziale
Inversione differenziale della Cinematica
Simulazione - Inversione Cinematica
Esempio – Manipolatore Antropomorfo
SUPERFICIE NELLO SPAZIO, FORMULE DELLA DIVERGENZA E DI STOKES
Metodi di ricerca in Psicologia
Corso di biomatematica lezione 6: la funzione c2
Stima ed algoritmi di consensus distribuito: considerazioni su IKF
STATISTICA a.a METODO DEI MINIMI QUADRATI REGRESSIONE
ISTOGRAMMI E DISTRIBUZIONI : i xixi
Valutazione della stima: gli intervalli di confidenza
ONDE ELETTROMAGNETICHE
Corso di Chimica Fisica II 2013 Marina Brustolon
Cenni di teoria degli errori
Studente Claudia Puzzo
Incertezza di misura Laboratorio n. 2 a.a
Lezione 4 Probabilità.
Lezione 13 Equazione di Klein-Gordon Equazione di Dirac (prima parte)
Propagazione degli errori
Daniele Santamaria – Marco Ventura
Le distribuzioni campionarie
Unità 2 Distribuzioni di probabilità Misure di localizzazione Misure di variabilità Asimmetria e curtosi.
Errori casuali Si dicono casuali tutti quegli errori che possono avvenire, con la stessa probabilità, sia in difetto che in eccesso. Data questa caratteristica,
Vettori dello spazio bidimensionale (R 2)
Regressione Lineare parte 2 Corso di Misure Meccaniche e Termiche David Vetturi.
PROPAGAZIONE DEGLI ERRORI:
Lezione B.10 Regressione e inferenza: il modello lineare
Strumenti statistici in Excell
IL CAMPIONE.
Calcolo delle probabilità a cura di Maurizio Brizzi
Elaborazione statistica di dati
MATEMATICA PER L’ECONOMIA e METODI QUANTITATIVI PER LA FINANZA a. a
M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion Fondamenti di “sensor fusion” Mariolino De Cecco, Luca Baglivo, Mattia Tavernini.
TRATTAMENTO STATISTICO DEI DATI ANALITICI
M. De Cecco - Sensor Fusion: teoria ed applicazione alla percezione di sistemi robotici SLAM Simultanea localizzazione e mappatura di veicoli autonomi.
La covarianza.
Operazioni di campionamento CAMPIONAMENTO Tutte le operazioni effettuate per ottenere informazioni sul sito /area da monitorare (a parte quelle di analisi)
Le funzioni matematiche e il piano cartesiano
L’analisi di regressione e correlazione Prof. Luigi Piemontese.
Regressione semplice e multipla in forma matriciale Metodo dei minimi quadrati Stima di beta Regressione semplice Regressione multipla con 2 predittori.
In alcuni casi gli esiti di un esperimento possono essere considerati numeri naturali in modo naturale. Esempio: lancio di un dado In atri casi si definisce.
Ipotesi operative TeoriaEsperienza diretta e/o personale Quesito Piano esecutivo Scelta popolazione Scelta strumenti Scelta metodi statistici Discussione.
Valutazioni applicate alle decisioni di investimento Arch. Francesca Torrieri Analisi di sensitività e analisi del rischio.
Se i parametri di Denavit-Hartemberg non corrispondono con quelli di progetto a causa di tolleranze meccaniche, si può avere una errata corrispondenza.
Transcript della presentazione:

M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion Se i parametri di Denavit-Hartemberg non corrispondono con quelli di progetto a causa di tolleranze meccaniche, si può avere una errata corrispondenza tra la posizione realmente ottenuta imponendo dei valori alle variabili di giunto e la posizione calcolata tramite cinematica diretta. Tale accuratezza di posizionamento può dipendere dalla posizione nello spazio di lavoro. L’effetto appena descritto causa effetti sistematici. Altra cosa è la ripetibilità di posizionamento, essa dipende dalla struttura meccanica, dai trasduttori e dal controllo NOTA: Tramite taratura si possono compensare gli effetti sistematici ma non quelli casuali connessi con la ripetibilità Taratura Cinematica

M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion Taratura Cinematica La procedura di taratura ha sempre come obiettivo: 1.determinare stime accurate dei parametri del modello matematico 2.Effettuare una stima dell’accuratezza del sistema in funzione del campo di lavoro La procedura si basa sulla raccolta di dati sperimentali ingresso-uscita confrontati con un sistema più accurato almeno di un ordine di grandezza Nel nostro caso è necessario un sistema di misura della posizione dell’organo terminale che abbia un volume comparabile ed un’accuratezza di un ordine di grandezza migliore rispetto all’applicazione cui il robot è demandato (la procedura non si basa sulla misura diretta dei parametri geometrici – del resto notevolmente più complessa) Nel nostro caso i parametri sono quelli di Denavit-Hartemberg ovvero della cinematica diretta

M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion Taratura Cinematica – stima dell’incertezza In ipotesi di distribuzione gaussiana degli effetti interferenti, l’accuratezza si stima tramite varianza definita come: Nel caso di un robot si ha: che il problema non è scalare: la postura è un vettore in generale di 6 componenti che i valori dei residui [  x 1 …  x l ], se la procedura di taratura è arrivata al punto di compensare gli effetti sistematici, hanno valor medio circa zero Dunque si può stimare la matrice di covarianza come:

M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion Taratura Cinematica – stima dell’incertezza Da cui scaturisce una matrice di dimensione m x m: Come si impiega tale matrice per la stima dell’incertezza? … ripassiamo il caso scalare l il numero di ripetizioni

M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion Valori notevoli: px px px (). (). ().       z p(z i <z) = F(z) p(z i >z) Taratura Cinematica – stima dell’incertezza Probability Density Function PDF

M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion Taratura Cinematica – stima dell’incertezza scalare x: posizione Intervallo pari a ±2  x 0 : posizione attesa (media) Intervallo pari a ±2  … quindi possiamo dire che la posizione del manipolatore è pari a: x 0 ± 2  con il 95% di probabilità Ovvero che c’è una probabilità del 95% che la vera posizione del manipolatore cada all’interno dell’intervallo [x-2  x+2  ]

M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion Taratura Cinematica – stima dell’incertezza vettoriale Densità di probabilità bidimensionale: Le due coordinate possono rappresentare la posizione nel piano della pinza di un robot planare

M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion Taratura Cinematica – stima dell’incertezza vettoriale La funzione vista dall’alto rappresenta i punti di equiprobabilità che uniti tracciano delle ellissi che coincidono con la forma quadratica all’esponente della formula della gaussiana … nel caso scalare i punti di equiprobabilità erano sempre due equispaziati dalla media

M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion Taratura Cinematica – stima dell’incertezza vettoriale Come si perviene all’intervallo nel caso scalare? x0x0 k

M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion Taratura Cinematica – stima dell’incertezza vettoriale Analogamente nel caso vettoriale: Che è una forma quadratica associata ad una matrice definita positiva (tale matrice è proprio la matrice di Covarianza! Calcolata dagli scarti al quadrato) e quindi un ellisse!

M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion x0x0 00 11 x v matrice degli autovettori di C Se opero la seguente trasformazione: Taratura Cinematica – stima dell’incertezza vettoriale

M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion  1 ed  2 sono gli autovalori di C Equazione dell’ellisse nelle coordinate  1 Cosa rappresenta A??? Cosa rappresentano  1  2 ??? Taratura Cinematica – stima dell’incertezza vettoriale NOTA: la matrice C -1 è simmetrica e quindi gli autovettori sono ortogonali

M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion Quindi gli autovettori di C e C -1 sono gli stessi, gli autovalori sono inversi, per questo  1 ed  2 sono gli autovalori di C Taratura Cinematica – stima dell’incertezza vettoriale Nota sugli autovalori ed autovettori della matrice inversa

M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion 00 11 la trasformazione A rappresenta una trasformazione di coordinate: la matrice C è simmetrica e quindi gli autovettori sono tra loro ortogonali. Verosimilmente è dal sistema 1 allo 0. In questo modo l’equazione è un ellisse in forma canonica: Taratura Cinematica – stima dell’incertezza vettoriale Cosa rappresenta A:

M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion Taratura Cinematica – stima dell’incertezza vettoriale La probabilità che la vera posizione del manipolatore sia all’interno di un ellisse di equiprobabilità è pari all’integrale della funzione all’interno dell’ellisse stesso Analogamente al caso scalare si ha che integrando all’interno dell’ellisse associato alla matrice con elementi pari a circa due volte gli autovalori la probabilità è 95% … in questo caso la probabilità che la vera posizione del manipolatore cada all’interno dell’ellisse tracciato in figura è del 95%

M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion % Generazione stocastica delle variabili: Niter = 5000; a1 = normrnd(1, 10e-3, Niter, 1); a2 = normrnd(1, 10e-3, Niter, 1); teta1 = normrnd(pi/2, 1*pi/180, Niter, 1); teta2 = normrnd(-pi, 1*pi/180, Niter, 1); % Cinematica diretta: Px = a1.*cos(teta1) + a2.*cos(teta1+teta2); Py = a1.*sin(teta1) + a2.*sin(teta1+teta2); plot(Px, Py, '.'), axis([ ]), grid on Esempio - Stima dell’incertezza di posizionamento

M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion % Generazione stocastica delle variabili: Niter = 1000; a1 = normrnd(1, 10e-3, Niter, 1); a2 = normrnd(1, 10e-3, Niter, 1); teta1 = pi/2; %gli angoli sono conosciuti teta2 = -pi; % Cinematica diretta: Px = a1.*cos(teta1)+a2.*cos(teta1+teta2); Py = a1.*sin(teta1)+a2.*sin(teta1+teta2); plot(Px, Py, '.'), axis([ ]), grid on Esempio - Stima dell’incertezza di posizionamento

M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion % Generazione stocastica delle variabili: Niter = 1000; a1 = 1; a2 = 1; teta1 = normrnd(pi/2, 1*pi/180, Niter, 1); teta2 = normrnd(-pi, 1*pi/180, Niter, 1); % Cinematica Diretta: Px = a1.*cos(teta1)+a2.*cos(teta1+teta2); Py = a1.*sin(teta1)+a2.*sin(teta1+teta2); plot(Px, Py, '.'), axis([ ]), grid on Esempio - Stima dell’incertezza di posizionamento

M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion % Generazione stocastica delle variabili: Niter = 1000; a1 = normrnd(1, 10e-3, Niter, 1); a2 = normrnd(1, 10e-3, Niter, 1); teta1 = normrnd(pi/2, 1*pi/180, Niter, 1); teta2 = normrnd(-pi, 1*pi/180, Niter, 1); % Cinematica Diretta: Px = a1.*cos(teta1)+a2.*cos(teta1+teta2); Py = a1.*sin(teta1)+a2.*sin(teta1+teta2); plot(Px, Py, '.'), axis([ ]), grid on Esempio - Stima dell’incertezza di posizionamento

M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion Se andiamo ad ingrandire la zona della posizione nominale dell’organo finale: Che restituisce i seguenti autovalori ed autovettori: v1v1 v2v2 Esempio - Stima dell’incertezza di posizionamento

M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion % Generazione stocastica delle variabili: Niter = 5000; a1 = normrnd(1, 10e-3, Niter, 1); a2 = normrnd(1, 10e-3, Niter, 1); teta1 = normrnd(pi/2, 1*pi/180, Niter, 1); teta2 = normrnd(-135*pi/180, 1*pi/180, Niter, 1); % Cinematica diretta: Px = a1.*cos(teta1)+a2.*cos(teta1+teta2); Py = a1.*sin(teta1)+a2.*sin(teta1+teta2); plot(Px, Py, '.'), axis([ ]), grid on Esempio - Stima dell’incertezza di posizionamento Come sarà disposto adesso l’ellisse? Che autovalori ed autovettori avrà?

M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion % Generazione stocastica delle variabili: Niter = 5000; a1 = normrnd(1, 10e-3, Niter, 1); a2 = normrnd(1, 10e-3, Niter, 1); teta1 = normrnd(pi/2, 1*pi/180, Niter, 1); teta2 = normrnd(-135*pi/180, 1*pi/180, Niter, 1); % Cinematica diretta: Px = a1.*cos(teta1)+a2.*cos(teta1+teta2); Py = a1.*sin(teta1)+a2.*sin(teta1+teta2); plot(Px, Py, '.'), axis([ ]), grid on Esempio - Stima dell’incertezza di posizionamento

M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion Se andiamo ad ingrandire la zona della posizione nominale dell’organo finale: Esempio - Stima dell’incertezza di posizionamento v2v2 v1v1

M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion % Generazione stocastica delle variabili: Niter = 1000; a1 = normrnd(1, 10e-3, Niter, 1); a2 = normrnd(1, 10e-3, Niter, 1); teta1 = normrnd(pi/2, 1*pi/180, Niter, 1); teta2 = normrnd(-135*pi/180, 3*pi/180, Niter, 1); % Cinematica Diretta: Px = a1.*cos(teta1)+a2.*cos(teta1+teta2); Py = a1.*sin(teta1)+a2.*sin(teta1+teta2); plot(Px, Py, '.'), axis([ ]), grid on Esempio - Stima dell’incertezza di posizionamento

M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion Se andiamo ad ingrandire la zona della posizione nominale dell’organo finale: v2v2 v1v1 Notare la corrispondenza tra autovettori ed autovalori associati Esempio - Stima dell’incertezza di posizionamento

M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion Esempio - Stima dell’incertezza di posizionamento Esempi di applicazione della stima dell’incertezza: - robot di misura (ovvio) - inserimento verticale di un oggetto !!! In questo caso in quale postura programmereste il robot per una operazione di inserimento verticale? (una applicazione in cui è importante centrare il foro ma meno la profondità di inserimento) % Generazione stocastica delle variabili: Niter = 1000; a1 = normrnd(1, 10e-3, Niter, 1); a2 = normrnd(1, 10e-3, Niter, 1); teta1 = normrnd( ?, 1*pi/180, Niter, 1); teta2 = normrnd( ?, 3*pi/180, Niter, 1); % Cinematica Diretta: Px = a1.*cos(teta1)+a2.*cos(teta1+teta2); Py = a1.*sin(teta1)+a2.*sin(teta1+teta2); plot(Px, Py, '.'), axis([ ]), grid on

M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion Fino adesso abbiamo usato la conoscenza del modello matematico (cinematica diretta) e della densità di probabilità (supposta gaussiana) associata con i suoi parametri per determinare la densità di probabilità associata con il vettore posizione impiegando la simulazione Montecarlo Se però si vuole la stima dell’incertezza in tempo reale è necessario determinare formule chiuse di propagazione per l’espressione della densità di probabilità, ovvero della matrice di covarianza … partiamo di nuovo dal caso scalare Taratura Cinematica – Stima esplicita dell’incertezza

M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion Abbiamo a disposizione un modello (espresso attraverso una generica funzione f ) che lega una variabile y ai parametri x i (supponiamo i = 2 per semplicità) vogliamo stimare l’incertezza su y,conoscendo le incertezze sulle singole x i. Calcoliamo lo sviluppo in serie di Taylor troncato al primo ordine: Taratura Cinematica – Stima esplicita dell’incertezza

M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion Taratura Cinematica – Stima esplicita dell’incertezza Determiniamo la varianza secondo la classica definizione, impiegando l’operatore E{.} definito valore atteso (Expected value) a cui sappiamo corrispondere una operazione di media: nel caso in questione (ipotizzando densità di probabilità gaussiana a media nulla per ciascun parametro): Ricordando:

M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion E quindi: Che fornisce la classica formula di propagazione dell’incertezza combinata (di Kline Mc Klintoc): Nel caso di non correlazione tra i due parametri = 0 Taratura Cinematica – Stima esplicita dell’incertezza

M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion Dunque nel caso vettoriale (supponiamo per semplicità un vettore a due componenti): Taratura Cinematica – Stima esplicita dell’incertezza dove  f è lo Jacobiano della funzione f E quindi:

M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion non è altro se non una mera generalizzazione vettoriale della formula di propagazione dell’incertezza combinata Verifichiamolo: Taratura Cinematica – Stima esplicita dell’incertezza

M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion Esempio – Stima esplicita dell’incertezza Torniamo al caso del manipolatore planare: Considerando solo i parametri angolo (non i parametri lunghezze dei bracci): [  1  2 ] Lo Jacobiano è funzione della postura del robot

M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion Esempio – Stima esplicita dell’incertezza % Generazione stocastica delle variabili: Niter = 1000; a1 = 1; a2 = 1; teta1 = normrnd(pi/2, 1*pi/180, Niter, 1); teta2 = normrnd(-pi, 1*pi/180, Niter, 1); % Cinematica Diretta: Px = a1.*cos(teta1)+a2.*cos(teta1+teta2); Py = a1.*sin(teta1)+a2.*sin(teta1+teta2); plot(Px, Py, '.'), axis([ ]), grid on Andiamo a verificare un esempio: intervallo

M. De Cecco - Lucidi del corso di Robotica e Sensor Fusion Si risolva il caso di incertezza anche sui parametri di lunghezza dei bracci (considerandoli scorrelati, ovvero ipotizzando alcune correlazioni): Esempio – Stima esplicita dell’incertezza Se entrambi i bracci sono stati realizzati mediante la stessa macchina utensile