Modifiche recenti - Cerca:

Categorie

Pagine utente

Winzipedia

Uso dell'wiki

modifica il menu

01-1L1-RobotMobili

Robotica.01-1L1-RobotMobili Versioni

Nascondi le modifiche minori - Mostra le modifiche

02/03/2012 ore 00:06 CET di 151.55.6.121 -
Modificata la linea 125: da:
{$text( dove d e' la distanza tra le due ruote posteriori, ) theta_i text( e' l'angolo di sterzo della ruota interna e ) theta_o text( l'angolo di sterzo della ruota esterna)$}
a:
{$text( dove d e' la distanza tra le due ruote posteriori, ) theta_i text( e' l'angolo di sterzo della ruota interna e ) theta_o text( e' l'angolo di sterzo della ruota esterna)$}
02/03/2012 ore 00:05 CET di 151.55.6.121 -
Modificata la linea 125: da:
{$text( dove d e' la distanza tra le due ruote posteriori, ) theta_i text( l'angolo di sterzo della ruota interna e ) theta_o text( l'angolo di sterzo della ruota esterna)$}
a:
{$text( dove d e' la distanza tra le due ruote posteriori, ) theta_i text( e' l'angolo di sterzo della ruota interna e ) theta_o text( l'angolo di sterzo della ruota esterna)$}
02/03/2012 ore 00:05 CET di 151.55.6.121 -
Modificate le linee 125-126: da:
{$text( dove d la distanza tra le due ruote posteriori, ) theta_i text( l'angolo di sterzo della ruota interna e ) theta_o text( l'angolo di sterzo della ruota esterna)$}
a:
{$text( dove d e' la distanza tra le due ruote posteriori, ) theta_i text( l'angolo di sterzo della ruota interna e ) theta_o text( l'angolo di sterzo della ruota esterna)$}
Modificate le linee 135-136: da:
Questo robot composto da 3 ruote omnidirezionali orientate a l'una con l'altra, la tangenziale delle singole ruote si ricava da:
{$ V_1 = omega_1 r = V_x + omega_p R text( con )omega_p text( pari alla angolare di rotazione del robot e ) omega_1 text( pari alla velocita' angolare della ruota 1)$}
a:
Questo robot composto da 3 ruote omnidirezionali orientate a l'una con l'altra, la velocita' tangenziale delle singole ruote si ricava da:
{$ V_1 = omega_1 r = V_x + omega_p R text( con )omega_p text( pari alla velocita' angolare di rotazione del robot e ) omega_1 text( pari alla velocita' angolare della ruota 1)$}
02/03/2012 ore 00:04 CET di 151.55.6.121 -
Modificata la linea 136: da:
{$ V_1 = omega_1 r = V_x + omega_p R text( con )omega_p text( pari alla angolare di rotazione del robot e ) omega_1 text( pari alla angolare della ruota 1)$}
a:
{$ V_1 = omega_1 r = V_x + omega_p R text( con )omega_p text( pari alla angolare di rotazione del robot e ) omega_1 text( pari alla velocita' angolare della ruota 1)$}
Modificate le linee 3-5: da:
'''Autori:''' [[Profiles/Francesco | Francesco Gianni]]\\
'''Hanno contribuito:'''
a:
'''Autore:''' [[Profiles/Francesco | Francesco Gianni]]
Modificata la linea 108: da:
{$alpha = text( angolo di sterzo, 0 se procede in modo rettilineo, +/- se ruota su se stesso)$}
a:
{$alpha = text(angolo di sterzo, 0 se procede in modo rettilineo, +/- 90 gradi se ruota su se stesso)$}
Modificate le linee 70-72: da:
{$ V_L = r omega_l text( dove ) r = text(raggio della ruota e ) omega_l = text( angolare della ruota)$}
{$ V_R = r omega_r text( dove ) r = text(raggio della ruota e ) omega_r = text( angolare della ruota)$}
a:
{$ V_L = r omega_l text( dove ) r = text(raggio della ruota e ) omega_l = text(velocita' angolare della ruota)$}
{$ V_R = r omega_r text( dove ) r = text(raggio della ruota e ) omega_r = text(velocita' angolare della ruota)$}
Modificate le linee 25-26: da:
Il robot contare su informazioni che ricava dall'ambiente, ad esempio riconoscere oggetti di cui conosce la posizione nell'ambiente, oppure l'ambiente essere strutturato in modo da offrire servizi per la localizzazione assoluta (es. GPS).
a:
Il robot contare su informazioni che ricava dall'ambiente, ad esempio riconoscere oggetti di cui conosce la posizione nell'ambiente, oppure l'ambiente essere strutturato in modo da offrire servizi per la localizzazione assoluta (es. GPS, telecamere che riprendono la scena).
09/11/2006 ore 20:18 CET di Vincenzo - Correzione integrali
Modificate le linee 131-134: da:
{$x_(k+1) = x_k + int^{k+t}_{k} v(t) cos(theta(t)) dt$}
{$y_(k+1) = y_k + int^{k+t}_{k} v(t) sin(theta(t)) dt$}
{$theta_(k+1) = theta_k + int^(k+t)_k w(t) dt$}
a:
{$x_(k+1) = x_k + int_{k}^{k+t} v(t) cos(theta(t)) dt$}
{$y_(k+1) = y_k + int_{k}^{k+t} v(t) sin(theta(t)) dt$}
{$theta_(k+1) = theta_k + int_k^(k+t) w(t) dt$}
09/11/2006 ore 18:34 CET di Francesco -
Modificata la linea 136: da:
Questo robot composto da 3 ruote orientate a l'una con l'altra, la tangenziale delle singole ruote si ricava da:
a:
Questo robot composto da 3 ruote omnidirezionali orientate a l'una con l'altra, la tangenziale delle singole ruote si ricava da:
Modificate le linee 141-142: da:
dove R la distanza della singola ruota dal centro del robot, Vx e Vy sono le assolute del robot rispetto agli assi X e Y e OMEGAp la rotazione angolare del robot.
a:
dove R la distanza della singola ruota dal centro del robot, Vx e Vy sono le assolute del robot rispetto agli assi X e Y e OMEGAp la rotazione angolare del robot. Il vantaggio principale di questo tipo di robot la nel cambio di direzione.
09/11/2006 ore 18:28 CET di Francesco -
Modificata la linea 119: da:
Questa soluzione usata su veicoli di grosse dimensioni, come le comuni autovetture, le due ruote anteriori ruotano su bracci separati e quindi con angolature differenti, in modo da individuare un CIR unico che si trova sulla retta passante per l'asse posteriore.
a:
Questa soluzione usata su veicoli di grosse dimensioni, come le comuni autovetture, le due ruote anteriori ruotano su bracci separati e quindi con angolature differenti, in modo da individuare un CIR unico che si trova sulla retta passante per l'asse posteriore delle ruote.
09/11/2006 ore 18:20 CET di Francesco -
Modificata la linea 56: da:
Le ruote orientabili, ovvero quelle ruote che sono libere di cambiare direzione (es. ruote dietro carrello), possono essere centrate, quando l'asse di rotazione passa per il centro della ruota, oppure eccentriche quando l'asse non passa per il centro della ruota.
a:
Le ruote orientabili, ovvero quelle ruote che sono libere di cambiare direzione (es. ruote dietro del carrello della spesa), possono essere centrate, quando l'asse di rotazione passa per il centro della ruota, oppure eccentriche quando l'asse non passa per il centro della ruota.
09/11/2006 ore 18:11 CET di Francesco -
Modificate le linee 7-8: da:
->[-I robot mobili possono essere di molti tipologie, vedremo come si classificano, le loro e le che devono avere a prescindere dal modello.-]
a:
->[-I robot mobili possono essere di molte tipologie, vedremo come si classificano, le loro e le che devono avere a prescindere dal modello.-]
09/11/2006 ore 18:11 CET di Francesco -
Modificate le linee 141-144: da:
dove R la distanza della singola ruota dal centro del robot, Vx e Vy sono le del robot rispetto agli assi X e Y e
a:
dove R la distanza della singola ruota dal centro del robot, Vx e Vy sono le assolute del robot rispetto agli assi X e Y e OMEGAp la rotazione angolare del robot.

!!!Cingolato
Questo tipo di robot ha bisogno di uno slittamento dei cingoli per poter ruotare, il CIR essere in un punto qualsiasi all'interno dell'impronta a terra del cingolo. Solitamente viene usato per la movimentazione su terrene accidentati.
09/11/2006 ore 17:59 CET di Francesco -
Modificate le linee 131-132: da:
{$x_(k+1) = x_k + int^(k+t)_(k) v(t) cos(theta(t)) dt$}
{$y_(k+1) = y_k + int^(k+t)_(k) v(t) sin(theta(t)) dt$}
a:
{$x_(k+1) = x_k + int^{k+t}_{k} v(t) cos(theta(t)) dt$}
{$y_(k+1) = y_k + int^{k+t}_{k} v(t) sin(theta(t)) dt$}
Modificata la linea 137: da:
{$ V_1 = omega_1 r = V_x + omega_p R$ text( con )omega_p text( pari alla angolare di rotazione del robot e ) omega_1 text( pari alla angolare della ruota 1)}
a:
{$ V_1 = omega_1 r = V_x + omega_p R text( con )omega_p text( pari alla angolare di rotazione del robot e ) omega_1 text( pari alla angolare della ruota 1)$}
08/11/2006 ore 15:57 CET di Francesco -
Modificate le linee 133-141: da:
{$theta_(k+1) = theta_k + int^(k+t)_k w(t) dt$}
a:
{$theta_(k+1) = theta_k + int^(k+t)_k w(t) dt$}

!!!Omnidirectional drive
Questo robot composto da 3 ruote orientate a l'una con l'altra, la tangenziale delle singole ruote si ricava da:
{$ V_1 = omega_1 r = V_x + omega_p R$ text( con )omega_p text( pari alla angolare di rotazione del robot e ) omega_1 text( pari alla angolare della ruota 1)}
{$ V_2 = omega_2 r = -0,5 V_x + 0,867 V_y + omega_p R$}
{$ V_3 = omega_3 r = -0,5 V_x - 0,867 V_y + omega_p R$}

dove R la distanza della singola ruota dal centro del robot, Vx e Vy sono le del robot rispetto agli assi X e Y e
08/11/2006 ore 15:50 CET di Francesco -
Modificate le linee 131-132: da:
{$x_(k+1) = x_k + int^(k+t)_k v(t) cos(theta(t)) dt$}
{$y_(k+1) = y_k + int^(k+t)_k v(t) sin(theta(t)) dt$}
a:
{$x_(k+1) = x_k + int^(k+t)_(k) v(t) cos(theta(t)) dt$}
{$y_(k+1) = y_k + int^(k+t)_(k) v(t) sin(theta(t)) dt$}
08/11/2006 ore 15:48 CET di Francesco -
Aggiunte le linee 127-133:

!!!Synchro drive
Questo robot dotato di 3 o 4 ruote che sterzano in modo congiunto e si muovono nella stessa direzione con la stessa . Utilizza 2 motori, uno per sterzare le ruote e uno per farle rotolare. Dal momento che le ruote sono sempre parallele tra di loro il robot ruota intorno al suo centro, il CIR sempre all'infinito.
Le equazioni del moto sono le seguenti:
{$x_(k+1) = x_k + int^(k+t)_k v(t) cos(theta(t)) dt$}
{$y_(k+1) = y_k + int^(k+t)_k v(t) sin(theta(t)) dt$}
{$theta_(k+1) = theta_k + int^(k+t)_k w(t) dt$}
08/11/2006 ore 15:29 CET di Francesco -
Modificata la linea 120: da:
Per calcolare l'angolo di sterzo delle singole ruote, dato un CIR intorno al quale vogliamo ruotare, possiamo ricondurci al caso del tricycle drive: dato il CIR abbiamo la distanza L tra il CIR stesso e il punto mediano dell'assale posteriore del robot, data l la distanza tra la ruota anteriore e l'assale posteriore e {$theta$} l'angolo di sterzo abbiamo:
a:
Per calcolare l'angolo di sterzo delle singole ruote, dato un CIR intorno al quale vogliamo ruotare, possiamo ricondurci al caso del tricycle drive: dato il CIR abbiamo la distanza L tra il CIR stesso e il punto mediano dell'assale posteriore del robot, data l la distanza tra la ruota anteriore e l'assale posteriore e THETA l'angolo di sterzo abbiamo:
Modificate le linee 125-126: da:
{$cotan(theta) = - d/21 + cotan(theta_o)$}
a:
{$cotan(theta) = - d/21 + cotan(theta_o)$}
{$text( dove d la distanza tra le due ruote posteriori, ) theta_i text( l'angolo di sterzo della ruota interna e ) theta_o text( l'angolo di sterzo della ruota esterna
)$}
08/11/2006 ore 15:26 CET di Francesco -
Modificate le linee 116-118: da:
Con T indichiamo l'intervallo di tempo k ... k+1, il prodotto v * T sostituibile con l'incremento lineare della ruota nell'intervallo di tempo k ... k+1, essendo dimensionalmente il prodotto di una per un tempo.

!!!
a:
Con T indichiamo l'intervallo di tempo k ... k+1, il prodotto v * T sostituibile con l'incremento lineare della ruota nell'intervallo di tempo k ... k+1, essendo dimensionalmente il prodotto di una per un tempo. Con L indichiamo la distanza tra l'asse posteriore e la ruota anteriore.

!!!Ackerman steering
Questa soluzione usata su veicoli di grosse dimensioni, come le comuni autovetture, le due ruote anteriori ruotano su bracci separati e quindi con angolature differenti, in modo da individuare un CIR unico che si trova sulla retta passante per l'asse posteriore.
Per calcolare l'angolo di sterzo delle singole ruote, dato un CIR intorno al quale vogliamo ruotare, possiamo ricondurci al caso del tricycle drive: dato il CIR abbiamo la distanza L tra il CIR stesso e il punto mediano dell'assale posteriore del robot, data l la distanza tra la ruota anteriore e l'assale posteriore e {$theta$} l'angolo di sterzo abbiamo:
{$theta = arctan(l/L) $}

le relazioni che legano questo angolo all'angolo di sterzo delle due ruote dello sterzo di Ackerman sono le seguenti:
{$cotan(theta) = d/21 + cotan(theta_i)$}
{$cotan(theta) = - d/21 + cotan(theta_o)$}
08/11/2006 ore 14:39 CET di Francesco -
Aggiunte le linee 115-118:

Con T indichiamo l'intervallo di tempo k ... k+1, il prodotto v * T sostituibile con l'incremento lineare della ruota nell'intervallo di tempo k ... k+1, essendo dimensionalmente il prodotto di una per un tempo.

!!!
08/11/2006 ore 14:27 CET di Francesco -
Aggiunte le linee 113-114:
{$y_(k+1) = y_k + L/(tan(alpha_k)) [-cos(theta_k + (v_k sin(alpha_k))/L T) + cos(theta_k)]$}
{$theta_(k+1) = theta_k + (v_k sin(alpha_k)T/L)$}
08/11/2006 ore 14:24 CET di Francesco -
Modificata la linea 112: da:
{$x_(k+1) = x_k + L/(tan(alfa_k)) [sin(theta_k + (v_k sin(alfa_k))/L T) - sin(theta_k)]$}
a:
{$x_(k+1) = x_k + L/(tan(alpha_k)) [sin(theta_k + (v_k sin(alpha_k))/L T) - sin(theta_k)]$}
08/11/2006 ore 14:22 CET di Francesco -
Modificata la linea 108: da:
{$alfa = text( angolo di sterzo, 0 se procede in modo rettilineo, +/- se ruota su se stesso)$}
a:
{$alpha = text( angolo di sterzo, 0 se procede in modo rettilineo, +/- se ruota su se stesso)$}
08/11/2006 ore 14:22 CET di Francesco -
Modificate le linee 104-112: da:
* quindi ruota sul posto fino a raggiungere l'orientamento voluto.
a:
* quindi ruota sul posto fino a raggiungere l'orientamento voluto.

!!!Tricycle drive
Il tricycle drive un robot composto da una ruota anteriore sterzabile e due ruote posteriori, i parametri caratteristici che useremo per identificarne la posizione e l'orientamento nello spazio sono i seguenti:
{$alfa = text( angolo di sterzo, 0 se procede in modo rettilineo, +/- se ruota su se stesso)$}
{$theta, X, Y = text( indicano l'orientamento e la posizione assoluta nello spazio)$}

Le equazioni che ci permettono di calcolare la posizione del robot al tempo k+1 risultano:
{$x_(k+1) = x_k + L/(tan(alfa_k)) [sin(theta_k + (v_k sin(alfa_k))/L T) - sin(theta_k)]$}
04/11/2006 ore 17:00 CET di Francesco -
Modificata la linea 102: da:
* il robot ruota sul posto in modo da essere orientato nella direzione del target;
a:
* il robot ruota sul posto in modo da orientarsi nella direzione del target;
04/11/2006 ore 16:14 CET di Francesco -
Modificate le linee 97-98: da:
{$x_k=x_(k-1)+r_k[sin(theta_(k-1))-sin(theta)]$}
{$y_k=y_(k-1)+r_k[cos(theta_(k-1))-cos(theta)]$}
a:
{$x_k=x_(k-1)+r_k[sin(theta_(k-1))-sin(theta_k)]$}
{$y_k=y_(k-1)+r_k[cos(theta_(k-1))-cos(theta_k)]$}

Per quanto riguarda la cinematica inversa solitamente le equazioni sono difficilmente invertibili, anche nel caso particolare di costanti si ha indeterminazione sulla posizione angolare.
Un metodo euristico che si potrebbe utilizzare per raggiungere la posizione X Y con un orientamento specifico il seguente:
* il robot ruota sul posto in modo da essere orientato nella direzione del target;
* avanza in modo rettilineo fino a raggiungere il target;
* quindi ruota sul posto fino a raggiungere l'orientamento voluto.
04/11/2006 ore 16:06 CET di Francesco -
Modificate le linee 87-98: da:
{$y(t) = - L/2 (omega_r+omega_l)/(omega_r-omega_l) cos[(omega_r-omega_l) r/L t]$}
a:
{$y(t) = - L/2 (omega_r+omega_l)/(omega_r-omega_l) cos[(omega_r-omega_l) r/L t]$}

Possiamo anche riscrivere le equazioni in funzione delle distanze percorse dalle due ruote nell'intervallo di tempo che va da k-1 a k:

{$DL_k= omega_l r (t_k - t_(k-1))$}
{$DR_k= omega_r r (t_k - t_(k-1))$}
il raggio di curvatura possiamo riscriverlo come:
{$r_k= L/2 (DR_k+DL_k)/(DR_k-DL_k)$}
la posizione assoluta individuabile dalle tre equazioni:
{$theta_k=theta_(k-1)+(DR_k-DL_k)/L$}
{$x_k=x_(k-1)+r_k[sin(theta_(k-1))-sin(theta)]$}
{$y_k=y_(k-1)+r_k[cos(theta_(k-1))-cos(theta)
]$}
04/11/2006 ore 15:51 CET di Francesco -
Modificate le linee 76-87: da:
{$R = L/2 (V_R+V_L)/(V_R-V_L)$}
a:
{$R = L/2 (V_R+V_L)/(V_R-V_L) text( oppure anche come ) R = L/2 (omega_r+omega_l)/(omega_R-omega_L)$}

Dati quattro istanti di tempo t0 ... t3, tali per cui dall'istante t0 all'istante t1 il robot accellera, dall'istante t1 a t2 il robot mantiene la sua e dall'istante t2 all'istante t3 frena, possiamo calcolare la lunghezza D dell'arco percorso con la seguente formula:
{$D= int (V_L+V_R)/2 dt = 1/2 r int (omega_r+omega_l) dt = 1/2 r (omega_r+omega_l) (t_3-t_0+t_2-t_1)/2$}

da questa possiamo calcolare anche l'angolo corrispondente al raggio D:
{$theta = D/R$}

Vediamo ora alcune formule di cinematica diretta che ci permettono di calcolare le coordinate del robot al tempo t, nel caso la sua sia costante:
{$theta(t) = r/L (omega_r-omega_l)t$}
{$x(t) = L/2 (omega_r+omega_l)/(omega_r-omega_l) sin[(omega_r-omega_l) r/L t]$}
{$y(t) = - L/2 (omega_r+omega_l)/(omega_r-omega_l) cos[(omega_r-omega_l) r/L t]
$}
04/11/2006 ore 14:28 CET di Francesco -
Modificate le linee 74-76: da:
{$v = (V_R+V_L)/2 text( e ) omega=(V_R-V_L)/L$}
a:
{$v = (V_R+V_L)/2 text( e ) omega=(V_R-V_L)/L$}
dove L la distanza tra le due ruote, il raggio di rotazione R si calcola come:
{$R = L/2 (V_R+V_L)/(V_R-V_L)
$}
04/11/2006 ore 14:26 CET di Francesco -
Modificata la linea 74: da:
{v = (V_R+V_L)/2 text( e ) omega=(V_R-V_L)/L}
a:
{$v = (V_R+V_L)/2 text( e ) omega=(V_R-V_L)/L$}
04/11/2006 ore 14:26 CET di Francesco -
Modificate le linee 70-74: da:
{$ V_L = r omega_l text( dove ) r = text(raggio della ruota e ) omega_l = text( angolare della ruota)$}
a:
{$ V_L = r omega_l text( dove ) r = text(raggio della ruota e ) omega_l = text( angolare della ruota)$}
{$ V_R = r omega_r text( dove ) r = text(raggio della ruota e ) omega_r = text( angolare della ruota)$}

mentre la lineare e angolare dell'intero robot essere calcolata come:
{v = (V_R+V_L)/2 text( e ) omega=(V_R-V_L)/L
}
04/11/2006 ore 14:19 CET di Francesco -
Modificata la linea 70: da:
{$ V_L = r omega_l text( dove ) r = text( raggio della ruota e ) omega_l = text( angolare della ruota)$}
a:
{$ V_L = r omega_l text( dove ) r = text(raggio della ruota e ) omega_l = text( angolare della ruota)$}
04/11/2006 ore 14:19 CET di Francesco -
Modificata la linea 70: da:
{$ V_L = r \omega$}
a:
{$ V_L = r omega_l text( dove ) r = text( raggio della ruota e ) omega_l = text( angolare della ruota)$}
04/11/2006 ore 14:12 CET di Francesco -
Modificate le linee 68-70: da:
Ha due ruote motorizzate in asse tra di loro, non orientabili ne sterzabili, una terza ruota passiva libera di ruotare che ha il solo scopo di mantenere il robot in equilibrio. Variando la delle due ruote il robot ruota intorno ad un CIR che si trova sull'asse delle ruote stesse.
a:
Ha due ruote motorizzate in asse tra di loro, non orientabili ne sterzabili, una terza ruota passiva libera di ruotare che ha il solo scopo di mantenere il robot in equilibrio. Variando la delle due ruote il robot ruota intorno ad un CIR che si trova sull'asse delle ruote stesse.
Di seguito vediamo come possibile calcolare le lineari delle singole ruote:
{$ V_L = r \omega$}
04/11/2006 ore 14:06 CET di Francesco -
Aggiunte le linee 67-68:
!!!Differential drive
Ha due ruote motorizzate in asse tra di loro, non orientabili ne sterzabili, una terza ruota passiva libera di ruotare che ha il solo scopo di mantenere il robot in equilibrio. Variando la delle due ruote il robot ruota intorno ad un CIR che si trova sull'asse delle ruote stesse.
04/11/2006 ore 10:10 CET di Francesco -
Modificate le linee 62-66: da:
I gradi di sono dati dal numero di ruote indipendenti centrate sterzabili, due o ruote sterzabili dipendenti sono riconducibili, per questo calcolo, ad una singola ruota sterzabile indipendente.
a:
I gradi di sono dati dal numero di ruote indipendenti centrate sterzabili, due o ruote sterzabili dipendenti sono riconducibili, per questo calcolo, ad una singola ruota sterzabile indipendente.


!!Tipi di robot e classificazione
03/11/2006 ore 18:18 CET di Francesco - Manca la classificazione/cinematica dei vari tipi di robot, a breve...
03/11/2006 ore 18:16 CET di 193.204.253.17 -
03/11/2006 ore 18:16 CET di 193.204.253.17 -
Modificate le linee 61-62: da:
Geometricamente il CIR essere visto come il centro della circonferenza alla quale appartiene l'arco che il robot percorre.
a:
Geometricamente il CIR essere visto come il centro della circonferenza alla quale appartiene l'arco che il robot percorre.
I gradi di sono dati dal numero di ruote indipendenti centrate sterzabili, due o ruote sterzabili dipendenti sono riconducibili, per questo calcolo, ad una singola ruota sterzabile indipendente
.
03/11/2006 ore 18:09 CET di 193.204.253.17 -
Modificate le linee 60-61: da:
Per definire i gradi di di un robot necessario calcolare il CIR (Centro di Istantanea Rotazione), questo punto si trova all'intersezione degli assi ortogonali al piano di ogni singola ruota e passanti per il suo centro. Un robot in grado di muoversi per puro rotolamente solo se possiede almeno un CIR. Se il CIR unico il robot ha un solo grado di , se il CIR essere qualsiasi punto su una retta il robot ha due gradi di , mentre se il CIR essere un qualsiasi punto del piano, a seconda dell'orientamento delle ruote, allora si dice che il robot ha tre gradi di .
Geometricamente il CIR essere visto come il centro della circonferenza sulla quale il robot alla quale appartiene l'arco che il robot percorre.
a:
Per definire i gradi di di un robot necessario calcolare il CIR (Centro di Istantanea Rotazione), questo punto si trova all'intersezione degli assi ortogonali al piano di ogni singola ruota e passanti per il suo centro. Un robot in grado di muoversi per puro rotolamente solo se possiede almeno un CIR. Se il CIR unico il robot ha un solo grado di , se il CIR essere un qualsiasi punto su una retta allora il robot ha due gradi di , mentre se il CIR essere un qualsiasi punto del piano, a seconda dell'orientamento delle ruote, allora si dice che il robot ha tre gradi di .
Geometricamente il CIR essere visto come il centro della circonferenza alla quale appartiene l'arco che il robot percorre.
03/11/2006 ore 18:07 CET di 193.204.253.17 -
Modificate le linee 38-39: da:

!!!
a:


!!!Coordinamento

Per riuscire ad essere autonomo il robot deve saper coordinare internamente le proprie risorse, quali sensori, attuatori, mappe e la comunicazione con altri robot o operatori.


!!Cinematica dei robot mobili

!!!Tipi di ruote
La meccanica basilare dei robot impone alcune convenzioni:


* ogni ruota continene al massimo un link di sterzo
* tutti gli assi di sterzo sono perpendicolari al suolo



Le ruote orientabili, ovvero quelle ruote che sono libere di cambiare direzione (es. ruote dietro carrello), possono essere centrate, quando l'asse di rotazione passa per il centro della ruota, oppure eccentriche quando l'asse non passa per il centro della ruota.




03/11/2006 ore 16:14 CET di 193.204.253.17 -
Modificate le linee 29-39: da:
Il robot ha un modello dell'ambiente che essere una mappa su cui riportata la posizione di tutti gli ostacoli e nella quale il robot in grado di collocarsi. Il modello dell'ambiente potrebbe essere anche l'ambiente stesso, il robot usa i propri sensori per individuare gli ostacoli ed evitarli.
a:
Il robot ha un modello dell'ambiente che essere una mappa su cui riportata la posizione di tutti gli ostacoli e nella quale il robot in grado di collocarsi. Il modello dell'ambiente potrebbe essere anche l'ambiente stesso, il robot usa i propri sensori per individuare gli ostacoli ed evitarli.

!!!Pianificazione
Con pianificazione si intende la del robot di trovare la strada verso una destinazione, seguendo un tragitto che essere il breve, il veloce o il preciso.
La pianificazione del percorso si basa sulla conoscenza dell'ambiente in forma di mappa, che essere di tipo geometrica, di occupazione, topologica o ibrida, ma indipendentemente dal tipo il robot deve saper distinguere tra spazi liberi e occupati.
La pianificazione del percorso deve tenere conto della forma del robot e dei suoi gradi di , le varie forme che avere un robot saranno analizzate in seguito.

!!!Esplorazione
Il robot usare i propri sensori sonar, laser o telecamere, per crearsi un modello dell'ambiente. Deve essere in grado di stimare la delle informazioni che ha riguardo all'ambiente, sulla base dell'incertezza della propria posizione, dei dati sensoriali e delle approssimazioni del modello.

!!!
03/11/2006 ore 15:43 CET di 193.204.253.17 -
Modificate le linee 27-29: da:
!!!Navigazione
a:
!!!Navigazione
L'ambiente in cui si muove il robot essere statico o dinamico ad esempio se sono presenti altri oggetti in movimento, l'ambiente essere strutturato o non strutturato se possibile o meno fare delle ipotesi sulla sua struttura (es. muri lineari). L'ambiente essere parzialmente osservabile da parte del robot, infatti alcune sue caratteristiche potrebbero sfuggire al robot (es. buchi nel pavimento).
Il robot ha un modello dell'ambiente che essere una mappa su cui riportata la posizione di tutti gli ostacoli e nella quale il robot in grado di collocarsi. Il modello dell'ambiente potrebbe essere anche l'ambiente stesso, il robot usa i propri sensori per individuare gli ostacoli ed evitarli.
03/11/2006 ore 14:24 CET di 193.204.253.17 -
Modificate le linee 23-27: da:
Il robot deve sapere sempre dove si trova, in quanto deve essere in grado di raggiungere una nuova destinazione, deve poter riconoscere l'ambiente circostante e, sulla base dei suoi dati sensoriali, deve poter ricostruire una rappresentazione dell'ambiente in cui si muove.
a:
Il robot deve sapere sempre dove si trova, in quanto deve essere in grado di raggiungere una nuova destinazione, deve poter riconoscere l'ambiente circostante e, sulla base dei suoi dati sensoriali, deve poter ricostruire una rappresentazione dell'ambiente in cui si muove.
Purtroppo molto difficile tenere traccia della posizione del robot mentre si muove, ci sono imprecisioni dovute agli attuatori, ai sensori e altre dovute alla natura stessa dell'ambiente, che causare uno spostamento non desiderato del robot (es. buccia di banana).
Il robot contare su informazioni che ricava dall'ambiente, ad esempio riconoscere oggetti di cui conosce la posizione nell'ambiente, oppure l'ambiente essere strutturato in modo da offrire servizi per la localizzazione assoluta (es. GPS).

!!!Navigazione
03/11/2006 ore 14:09 CET di 193.204.253.17 -
Modificate le linee 22-28: da:




!!!Sottosezione
Contenuto della sottosezione
.
a:
!!!Localizzazione
Il robot deve sapere sempre dove si trova, in quanto deve essere in grado di raggiungere una nuova destinazione, deve poter riconoscere l'ambiente circostante e, sulla base dei suoi dati sensoriali, deve poter ricostruire una rappresentazione dell'ambiente in cui si muove
.
03/11/2006 ore 13:52 CET di 193.204.253.17 -
Modificate le linee 12-26: da:
* [[Localizzazione]]: dove sono?

* [[Navigazione]]: come mi muovo evitando gli ostacoli?

* [[Pianificazione]]: quale strada seguo?

* [[Esplorazione]]: come rappresento l'ambiente circostante?

* [[Coordinamento]]: come mi comporto o come interagisco con altri robot o operatori?
a:
* ''Localizzazione'': dove sono?

* ''Navigazione'': come mi muovo evitando gli ostacoli?

* ''Pianificazione'': quale strada seguo?

* ''Esplorazione'': come rappresento l'ambiente circostante?

* ''Coordinamento'': come mi comporto o come interagisco con altri robot o operatori?
03/11/2006 ore 13:44 CET di 193.204.253.17 -
Aggiunta la linea 2:
Modificate le linee 7-11: da:
->[-Contenuto del sommario.-]

!!Sezione
Contenuto della sezione
.
a:
->[-I robot mobili possono essere di molti tipologie, vedremo come si classificano, le loro e le che devono avere a prescindere dal modello.-]

!! di un robot mobile
Tutti i robot mobili devono avere alcune , vediamo un rapido elenco che approfondiremo in seguito:

* [[Localizzazione]]: dove sono?

* [[Navigazione]]: come mi muovo evitando gli ostacoli?

* [[Pianificazione]]: quale strada seguo?

* [[Esplorazione]]: come rappresento l'ambiente circostante?

* [[Coordinamento]]: come mi comporto o come interagisco con altri robot o operatori?



Modificata la linea 2: da:
'''Autori:''' Francesco Gianni\\
a:
'''Autori:''' [[Profiles/Francesco | Francesco Gianni]]\\
Modificata la linea 1: da:
! Robot Mobili
a:
! Lezione 1: i robot mobili (L1.1)
19/10/2006 ore 20:45 CEST di Vincenzo - Creazione della pagina
Aggiunte le linee 1-12:
! Robot Mobili
'''Autori:''' Francesco Gianni\\
'''Hanno contribuito:'''

->'''Sommario'''
->[-Contenuto del sommario.-]

!!Sezione
Contenuto della sezione.

!!!Sottosezione
Contenuto della sottosezione.
Modifica - Versioni - Stampa - Modifiche recenti - Cerca
Ultima modifica il 02/03/2012 ore 00:06 CET