La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Se i parametri di Denavit-Hartemberg non corrispondono con quelli di progetto a causa di tolleranze meccaniche, si può avere una errata corrispondenza.

Presentazioni simili


Presentazione sul tema: "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:

1 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

2 La procedura di taratura ha sempre come obiettivo:
determinare stime accurate dei parametri del modello matematico 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 Taratura Cinematica

3 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 [x1 … xl], 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: Taratura Cinematica – stima dell’incertezza

4 … ripassiamo il caso scalare
Da cui scaturisce una matrice di dimensione m x m: l il numero di ripetizioni Come si impiega tale matrice per la stima dell’incertezza? … ripassiamo il caso scalare Taratura Cinematica – stima dell’incertezza

5 p x ( ) .      680 2 950 3 997 p(zi >z) p(zi<z) = F(z)
-3 -2 -1 1 2 3 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 z p(zi<z) = F(z) p(zi >z) Probability Density Function PDF 5 Valori notevoli: p x ( ) . 680 2 950 3 997 Valori notevoli spiegare il significato di questi valori Taratura Cinematica – stima dell’incertezza

6 Taratura Cinematica – stima dell’incertezza scalare
Intervallo pari a ±2 x: posizione Intervallo pari a ±2 x0: posizione attesa (media) … quindi possiamo dire che la posizione del manipolatore è pari a: x0 ± 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] Taratura Cinematica – stima dell’incertezza scalare

7 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 Taratura Cinematica – stima dell’incertezza vettoriale

8 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 Taratura Cinematica – stima dell’incertezza vettoriale

9 Taratura Cinematica – stima dell’incertezza vettoriale
Come si perviene all’intervallo nel caso scalare? k x0 Taratura Cinematica – stima dell’incertezza vettoriale

10 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! Taratura Cinematica – stima dell’incertezza vettoriale

11 Taratura Cinematica – stima dell’incertezza vettoriale
x0 S0 S1 x v Se opero la seguente trasformazione: matrice degli autovettori di C Taratura Cinematica – stima dell’incertezza vettoriale

12 Taratura Cinematica – stima dell’incertezza vettoriale
NOTA: la matrice C-1 è simmetrica e quindi gli autovettori sono ortogonali 1 ed 2 sono gli autovalori di C Equazione dell’ellisse nelle coordinate S1 Cosa rappresenta A??? Cosa rappresentano 1 2 ??? Taratura Cinematica – stima dell’incertezza vettoriale

13 Taratura Cinematica – stima dell’incertezza vettoriale
Nota sugli autovalori ed autovettori della matrice inversa 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

14 S1 S0 Taratura Cinematica – stima dell’incertezza vettoriale
Cosa rappresenta A: S1 S0 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

15 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% Taratura Cinematica – stima dell’incertezza vettoriale

16 Esempio - Stima dell’incertezza di posizionamento
% 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

17 Esempio - Stima dell’incertezza di posizionamento
% 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

18 Esempio - Stima dell’incertezza di posizionamento
% 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

19 Esempio - Stima dell’incertezza di posizionamento
% 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

20 Se andiamo ad ingrandire la zona della posizione nominale dell’organo finale:
v1 v2 Che restituisce i seguenti autovalori ed autovettori: Esempio - Stima dell’incertezza di posizionamento

21 Come sarà disposto adesso l’ellisse?
% 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 Come sarà disposto adesso l’ellisse? Che autovalori ed autovettori avrà? Esempio - Stima dell’incertezza di posizionamento

22 Esempio - Stima dell’incertezza di posizionamento
% 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

23 Se andiamo ad ingrandire la zona della posizione nominale dell’organo finale:
v2 v1 Esempio - Stima dell’incertezza di posizionamento

24 Esempio - Stima dell’incertezza di posizionamento
% 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

25 Se andiamo ad ingrandire la zona della posizione nominale dell’organo finale:
v2 v1 Notare la corrispondenza tra autovettori ed autovalori associati Esempio - Stima dell’incertezza di posizionamento

26 Esempi di applicazione della stima dell’incertezza:
- robot di misura (ovvio) - inserimento verticale di un oggetto !!! % 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 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) Esempio - Stima dell’incertezza di posizionamento

27 … partiamo di nuovo dal caso scalare
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

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

29 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: Taratura Cinematica – Stima esplicita dell’incertezza

30 Taratura Cinematica – Stima esplicita dell’incertezza
E quindi: Nel caso di non correlazione tra i due parametri = 0 Che fornisce la classica formula di propagazione dell’incertezza combinata (di Kline Mc Klintoc): Taratura Cinematica – Stima esplicita dell’incertezza

31 Dunque nel caso vettoriale (supponiamo per semplicità un vettore a due componenti):
dove f è lo Jacobiano della funzione f E quindi: Taratura Cinematica – Stima esplicita dell’incertezza

32 non è altro se non una mera generalizzazione vettoriale della formula di propagazione dell’incertezza combinata Verifichiamolo: Taratura Cinematica – Stima esplicita dell’incertezza

33 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 Esempio – Stima esplicita dell’incertezza

34 Andiamo a verificare un esempio:
% 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 intervallo Esempio – Stima esplicita dell’incertezza

35 Esempio – Stima esplicita dell’incertezza
Si risolva il caso di incertezza anche sui parametri di lunghezza dei bracci (considerandoli scorrelati, ovvero ipotizzando alcune correlazioni): Se entrambi i bracci sono stati realizzati mediante la stessa macchina utensile Esempio – Stima esplicita dell’incertezza


Scaricare ppt "Se i parametri di Denavit-Hartemberg non corrispondono con quelli di progetto a causa di tolleranze meccaniche, si può avere una errata corrispondenza."

Presentazioni simili


Annunci Google