Navigazione di Veicoli Autonomi



Documenti analoghi
Le molle. M. Guagliano

Rette e curve, piani e superfici

CINEMATICA DEL CORPO RIGIDO

L'equazione di continuità

Forze come grandezze vettoriali

GIROSCOPIO. Scopo dell esperienza: Teoria fisica. Verificare la relazione: ω p = bmg/iω

15 febbraio Soluzione esame di geometria - 12 crediti Ingegneria gestionale - a.a COGNOME... NOME... N. MATRICOLA...

Ottimizzazione Multi Obiettivo

LE FUNZIONI A DUE VARIABILI

H ds = 2πRH = Ni H = Ni 2πR. N(k m 1) M = 0.05A

Dimensione di uno Spazio vettoriale

Consideriamo due polinomi

EQUAZIONI DIFFERENZIALI. 1. Trovare tutte le soluzioni delle equazioni differenziali: (a) x = x 2 log t (d) x = e t x log x (e) y = y2 5y+6

Teoria in sintesi 10. Attività di sportello 1, 24 - Attività di sportello 2, 24 - Verifica conclusiva, 25. Teoria in sintesi 26

4 Dispense di Matematica per il biennio dell Istituto I.S.I.S. Gaetano Filangieri di Frattamaggiore EQUAZIONI FRATTE E SISTEMI DI EQUAZIONI

RETTE, PIANI, SFERE, CIRCONFERENZE

La pista del mio studio Riflettiamo sulla pista. Guida per l insegnante

Capitolo 4: Ottimizzazione non lineare non vincolata parte II. E. Amaldi DEIB, Politecnico di Milano

Esempi di funzione. Scheda Tre

Luigi Piroddi

u 1 u k che rappresenta formalmente la somma degli infiniti numeri (14.1), ordinati al crescere del loro indice. I numeri u k

Macroeconomia. Laura Vici. LEZIONE 8. Rimini, 7 ottobre Il mercato dei titoli

Forze, leggi della dinamica, diagramma del. 28 febbraio 2009 (PIACENTINO - PREITE) Fisica per Scienze Motorie

Massimi e minimi vincolati di funzioni in due variabili

Energia potenziale elettrica e potenziale. In queste pagine R indicherà una regione in cui è presente un campo elettrostatico.

~ Copyright Ripetizionando - All rights reserved ~ STUDIO DI FUNZIONE

1 Serie di Taylor di una funzione

Per studio di funzione intendiamo un insieme di procedure che hanno lo scopo di analizzare le proprietà di una funzione f ( x) R R

a) Il campo di esistenza di f(x) è dato da 2x 0, ovvero x 0. Il grafico di f(x) è quello di una iperbole -1 1

Esercizi di Macroeconomia per il corso di Economia Politica

Raccomandazione del Parlamento europeo 18/12/2006 CLASSE PRIMA COMPETENZE ABILITÀ CONOSCENZE. Operare con i numeri

Teorema di Sostituzione

Economia Applicata ai sistemi produttivi Lezione II Maria Luisa Venuta 1

mese richiesta

Studio di una funzione razionale fratta (autore Carlo Elce)

Proposta di soluzione della prova di matematica Liceo scientifico di Ordinamento

Appunti sulla Macchina di Turing. Macchina di Turing

ISTITUTO COMPRENSIVO MONTEGROTTO TERME SCUOLA PRIMARIA DISCIPLINA: MATEMATICA - CLASSE PRIMA OBIETTIVI DI APPRENDIMENTO

SISTEMI VINCOLATI. 1. Punto fisso: il vincolo impedisce ogni spostamento del punto.

ESTRAZIONE DI DATI 3D DA IMMAGINI DIGITALI. (Visione 3D)

La propagazione delle onde luminose può essere studiata per mezzo delle equazioni di Maxwell. Tuttavia, nella maggior parte dei casi è possibile

L EQUILIBRIO UNIVERSALE dalla meccanica celeste alla fisica nucleare

. Si determina quindi quale distanza viene percorsa lungo l asse y in questo intervallo di tempo: h = v 0y ( d

Capitolo 2. Operazione di limite

Università di Siena Sede di Grosseto Secondo Semestre Macroeconomia. Paolo Pin ( pin3@unisi.it ) Lezione 6 29 Aprile 2011

Condizionamento, congestione e capacità economica delle strade.

x 2 + y2 4 = 1 x = cos(t), y = 2 sin(t), t [0, 2π] Al crescere di t l ellisse viene percorsa in senso antiorario.

CONTINUITÀ E DERIVABILITÀ Esercizi proposti. 1. Determinare lim M(sinx) (M(t) denota la mantissa di t)

Le equazioni. Diapositive riassemblate e rielaborate da prof. Antonio Manca da materiali offerti dalla rete.

Domande a scelta multipla 1

Corrispondenze e funzioni

2.1 Definizione di applicazione lineare. Siano V e W due spazi vettoriali su R. Un applicazione

QUESITO 1 A FISICA. Il candidato illustri il primo principio della termodinamica. Consideri poi la seguente

Matematica 1 - Corso di Laurea in Ingegneria Meccanica

r i =. 100 In generale faremo riferimento al tasso unitario.

Microeconomia, Esercitazione 3 Effetto reddito, sostituzione, variazione compensativa, domanda di mercato, surplus del consumatore.

1 Definizione: lunghezza di una curva.

Slide Cerbara parte1 5. Le distribuzioni teoriche

ondulatorio della luce; tuttavia l'ottica geometrica eç un punto di partenza

Massimi e minimi vincolati

Soluzione di equazioni quadratiche

A.S CLASSE PRIMA SCUOLA PRIMARIA D ISTITUTO COMPETENZA CHIAVE EUROPEA DISCIPLINA

Esercizi svolti sui numeri complessi

Ricordiamo ora che a è legata ad x (derivata seconda) ed otteniamo

PROBLEMI TRADIZIONALI SIMULAZIONE DELLA PROVA DI MATEMATICA

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Matematica generale CTF

L espressione torna invece sempre vera (quindi la soluzione originale) se cambiamo contemporaneamente il verso: 1 < 0.

Grandezze scalari e vettoriali

2. Giovedì 5/03/2015, ore: 2(4) Spazi vettoriali euclidei. Vettori nello spazio fisico: Prodotto scalare e prodotto

DISEGNO TECNICO INDUSTRIALE

Teoria delle code. Sistemi stazionari: M/M/1 M/M/1/K M/M/S

INTRODUZIONE AL CONTROLLO OTTIMO

Trasformazioni Geometriche 1 Roberto Petroni, 2011

Parte 2. Determinante e matrice inversa

Anche nel caso che ci si muova e si regga una valigia il lavoro compiuto è nullo: la forza è verticale e lo spostamento orizzontale quindi F s =0 J.

ELEMENTI DI ALGEBRA LINEARE E GEOMETRIA Corso di Laurea Ingegneria Edile-Architettura

Come visto precedentemente l equazione integro differenziale rappresentativa dell equilibrio elettrico di un circuito RLC è la seguente: 1 = (1)

Q 1 = C carica numero 1 Q 2 = C carica numero 2 forza esercitata tra le cariche distanza tra le cariche, incognita

MATEMATICA CLASSE PRIMA

UNIVERSITÀ DEGLI STUDI DI TERAMO

LE SUCCESSIONI 1. COS E UNA SUCCESSIONE

2 Argomenti introduttivi e generali

Progettazione del robot

La spirale iperbolica: Fu descritta per la prima volta da Pierre Varignon ( ). L equazione, espressa in coordinate polari, è del tipo:

MAPPE DI KARNAUGH. Nei capitoli precedenti si è visto che è possibile associare un circuito elettronico o elettrico ad una funzione logica.

GEOMETRIA DELLE MASSE

Parte 3. Rango e teorema di Rouché-Capelli

Introduzione al MATLAB c Parte 2

FUNZIONE. Si scrive: A B f: A B x y=f(x) (si legge: f funzione da A in B) x f y= f(x)

Sia data la rete di fig. 1 costituita da tre resistori,,, e da due generatori indipendenti ideali di corrente ed. Fig. 1

Metodi Frequenziali per il Progetto di Controllori MIMO: Controllori Decentralizzati

Intorni Fissato un punto sull' asse reale, si definisce intorno del punto, un intervallo aperto contenente e tutto contenuto in

Progetto di simulazione molecolare per il corso di Complementi di algoritmi A.A

I Numeri Complessi. Si verifica facilmente che, per l operazione di somma in definita dalla (1), valgono le seguenti

1. calcolare l accelerazione del sistema e stabilire se la ruota sale o scende [6 punti];

INTEGRALI DEFINITI. Tale superficie viene detta trapezoide e la misura della sua area si ottiene utilizzando il calcolo di un integrale definito.

Anno 4 Grafico di funzione

Matematica e Statistica

CORSO DI LAUREA IN INGEGNERIA.

Transcript:

Luca Baglivo Navigazione i Veicoli Autonomi Pianificazione e Controllo i Traiettoria Appunti per il corso i Robotica Spaziale per Ingegneria Aerospaziale

PREFAZIONE Lo scopo ella presente ispensa è quello i fornire una panoramica introuttiva elle teorie e applicazioni i base sulla pianificazione e il controllo i traiettoria ei robot mobili in particolare ei veicoli autonomi. Nell ambito trattato vi è un inevitabile coinvolgimento ello stuio ei sistemi non olonomi, e anzi proprio a causa i questa caratteristica ei robot mobili si è creato e si va ancora sviluppano un filone i ricerca che mira a fornire ei metoi generali per la navigazione ei robot non olonomi al pari i quelli forniti al più maturo stuio ei problemi inerenti i robot olonomi. E naturale, quini, fare riferimento ai robot manipolatori in quanto sistemi olonomi per comprenere le ifferenze i applicazione e i complessità elle teorie nell uno e nell altro campo. Desiero ringraziare il prof. Mariolino De Cecco e il prof. Francesco Angrilli per gli importanti spunti, per i preziosi consigli e per lo stimolo alla preparazione i questa ispensa. SOMMARIO Dopo una necessaria introuzione sui sistemi non olonomi vengono escritti alcuni ei principali moelli cinematici i veicoli autonomi su ruote la cui costruzione è strettamente connessa all imposizione el vincolo i non slittamento elle ruote. Il moello cinematico el robot coniziona in moo stringente i task i pianificazione e controllo el moto. Si riportano alcuni metoi i pianificazione el moto che sfruttano la proprietà i nilpotenza i molti sistemi non olonomi. E escritto un metoo per la pianificazione i percorsi a curvatura continua che tengano conto ei vincoli non olonomi e ei vincoli meccanici e inamici el robot. Per il moello i tipo automobile è escritto un metoo per la pianificazione ei controlli a ciclo aperto. Ai controlli pianificati è necessario aggiungere i controlli i feeback che consentano i portare a termine il task correttamente anche in presenza egli inevitabili isturbi i misura, eviazioni alle conizioni iniziali previste e eviazioni al moello ieale. Si presenta un introuzione al controllo in feeback sia con approccio teorico (feeback statico linearizzato), sia con approccio euristico (algoritmi euristici i inseguimento).

INDICE. INTRODUZIONE... 3.. Ambienti strutturati, semi-strutturati, non strutturati... 3. PRINCIPALI MODELLI CINEMATICI DI AGV... 4.. Sistemi non olonomi... 4.. Moello monociclo... 5.3. Moello a guia ifferenziale... 7.4. Moello a tre ruote e car-like... 9.5. Moello automobile con N rimorchi....6. Sistemi olonomi e non olonomi... 4.7. Altri esempi i sistemi non olonomi... 4 3. PIANIFICAZIONE E CONTROLLO DELLA TRAIETTORIA... 5 3.. Percorsi e traiettorie ammissibili... 6 3.. Path following e Trajectory tracking... 7 3.3. Pianificazione el percorso e pianificazione el moto... 9 3.4. Metoi i pianificazione el moto per sistemi non olonomi... 3.4.. Sistemi in chaine form.... 3.4.. Pianificazione i traiettorie open-loop... 4 3.4.3. Percorsi a curvatura continua. Clotoii.... 7 3.4.4. Percorsi a curvatura polinomiale... 33 3.5. Controllo i traiettoria... 35 3.5.. Controllabilità... 36 3.5.. Feeback statico linearizzato... 38 3.5.3. Applicazione el feeback linearizzato al controllo i traiettoria rettilinea... 39 3.5.4. Metoi euristici per l inseguimento i percorso... 4 4. BIBLIOGRAFIA... 43

. INTRODUZIONE La robotica mobile si occupa ello stuio ei sistemi robotici in grao i spostarsi autonomamente in un certo tipo i ambiente per assolvere un eterminato compito e trova al giorno oggi molte applicazioni in svariati campi, al settore civile a quello inustriale, al militare all aerospaziale. Nell ambito ella robotica mobile lo stuio elle tecniche i navigazione autonoma è essenziale poiché si occupa el problema principale, quello i renere il robot in grao i localizzarsi, pianificare il proprio moto e controllarne l esecuzione. Il problema ella localizzazione vee la necessità i utilizzare egli strumenti i misura ella posizione che siano aatti all ambiente in cui il robot opera e i integrare più sensori in un sistema i localizzazione. Per ottenere un unica misura i posizione che integri in moo ottimo le singole misure ei vari strumenti, si utilizzano opportune tecniche che sono oggetto i stuio el più generale problema el sensor fusion []. Altro problema fonamentale ella navigazione autonoma è la pianificazione el moto, intesa a ue livelli: un livello alto i strategia globale che riguara il raggiungimento ell obiettivo finale, e, a esso funzionale, un livello più basso i pianificazione locale. A causa i inevitabili fattori i isturbo, è necessario, come per i robot manipolatori a maggior ragione anche per i robot mobili, un controllo in feeback el moto pianificato. A meno i poche eccezioni, al punto i vista cinematico i robot mobili su ruote sono sistemi non olonomi. I sistemi non olonomi sono caratterizzati a equazioni i vincolo sulle velocità elle variabili che escrivono il sistema. Queste equazioni non sono integrabili e tipicamente compaiono quano il sistema ha un numero i controlli inferiore al numero ei grai i libertà. A esempio un robot i tipo automobile ha ue controlli, la velocità lineare e angolare, mentre le variabili che escrivono l evoluzione el sistema sono tre, a esempio la posizione cartesiana i un suo punto e l assetto. La conseguenza ei vincoli non olonomi è che non tutte le traiettorie nello spazio elle variabili generalizzate el robot sono ammissibili. Per questo le tecniche ella geometria classica sviluppate per il moto ei sistemi olonomi quali i manipolatori, non sono applicabili a quelli non olonomi... Ambienti strutturati, semi-strutturati, non strutturati La strategia complessiva i pianificazione e controllo el moto ipene fortemente alla tipologia ell ambiente in cui il robot si muove. Si possono classificare tre macro-categorie i ambienti in base alle informazioni ell ambiente i cui si ispone: Ambienti strutturati: si ispone i una completa conoscenza topologica el layout egli spazi liberi e ella islocazione egli ostacoli oltre alla posizione el target. Un esempio tipico è quello i un ambiente logistico inustriale (magazzino merci al coperto, macchine per la pallettizzazione etc.). Il percorso può essere completamente pianificato a priori off-line e situazioni impreviste non sono gestibili al robot per portare a compimento il proprio task Ambienti semi-strutturati: la conoscenza ell ambiente non è completa poichè, a esempio non si ispone a priori i sufficienti informazioni sul target o perché è prevista una gestione flessibile el percorso a livello locale e in tempo reale per l aggiramento i ostacoli non conosciuti a priori. Il robot può pianificare il moto in uno spazio a esso circostante moificano il percorso già pianificato globalmente off-line. Ambienti non strutturati: non si ispone i informazioni sufficienti per pianificare globalmente il moto a priori. Il robot eve essere in grao i localizzarsi in tempo reale rispetto all ambiente e pianificare il moto in itinere per portare a termine il task (problema SLAM, Simultaneous Localization an Map Builing). 3

. PRINCIPALI MODELLI CINEMATICI DI AGV In questo capitolo vengono riportati i principali moelli cinematici i veicoli autonomi utilizzati nella robotica mobile. Questi moelli servono a escrivere l evoluzione nel tempo elle variabili i interesse el sistema, ossia i ciò che viene efinito lo stato el sistema nello spazio elle sue possibili configurazioni efinite al vettore i coorinate generalizzate o variabili i configurazione. Queste coorinate sono in numero pari a quello ei grai i libertà el sistema e possono avere o meno significato fisico. La costruzione ei moelli cinematici parte a una fonamentale ipotesi che li accomuna, quella i sussistenza el vincolo i non slittamento elle ruote. Questo vincolo appartiene alla classe ei vincoli non olonomi o anolonomi, ciò che matematicamente, nel caso ei robot mobili su ruote, si trauce in una restrizione ei possibili valori i moulo e irezione ella velocità e, i conseguenza, elle possibili traiettorie realizzabili a a partire a una certa configurazione. I moelli che rispettano questo vincolo sono ieali; in realtà sussistono sempre elle eviazioni al moello a causa ella stessa effettiva non iealità ei vincoli. In questa trattazione si focalizza l attenzione al moello i controllo el sistema consierato ieale. Inoltre, anche nell ipotesi in cui vengano rispettati, i vincoli introucono elle complicazioni nella pianificazione e nel controllo i traiettoria ei veicoli non olonomi... Sistemi non olonomi Si consieri il sistema meccanico la cui configurazione può essere escritta completamente al vettore i coorinate generalizzate q Q, appartenente allo spazio vettoriale reale Q i imensione n. Tipicamente il moto el sistema è soggetto a vincoli ovuti alla struttura stessa el sistema oppure al moo in cui è attuato o controllato. Tali vincoli possono essere bilaterali o unilaterali (rispettivamente espressi a equazioni o isequazioni) e possono ipenere o meno al tempo. Limitatamente ai vincoli bilaterali non ipenenti al tempo, le relazioni matematiche che esprimono il vincolo possono essere equazioni nelle coorinate generalizzate e/o nelle loro erivate (in tal caso il vincolo è etto ifferenziale). I vincoli etti olonomi possono avere la forma: h( q) =, i =,.., k < n ( -) i Le funzioni hi : Q si assumono continue e inipenenti e il sistema soggetto a tali vincoli è etto anch esso olonomo. La maggior parte ei manipolatori forniscono un tipico esempio i vincoli olonomi Un sistema soggetto a tali vincoli è costretto a restringere l insieme elle proprie configurazioni possibili a un sottospazio i Q i imensione n k.. La configurazione el sistema può essere escritta non più a n ma a n k nuove coorinate generalizzate che rappresentano i grai i libertà el sistema. A esempio, nel caso i una catena cinematica a base fissa costituita a ue elementi vincolati con ue coppie rotoiali (o prismatiche), una a telaio e l altra tra i ue elementi, il sistema privo i vincoli possiee n = m = grai i libertà ( m = 6 per ogni corpo libero nello spazio), mentre i vincoli olonomi elle coppie rotoiali (ciascuna impone 5 vincoli singoli) tolgono k = 5 = g..l. per cui la configurazione el sistema può essere completamente escritta a n k = g..l. I vincol etti cinematici incluono le coorinate generalizzate e le velocità. Nella forma lineare rispetto alle velocità generalizzate (etta i Pfaffian): a ( q) q =, i =,..., k < n, oppure T i 4

T A ( q) q = ( -) T La matrice A è costituita a k vettori inipenenti. Questi vincoli limitano i possibili movimenti el sistema restringeno l insieme elle velocità generalizzate che possono essere realizzate in una ata configurazione, il tipico esempio è quello i una ruota con il vincolo i non strisciamento riportato nel paragrafo seguente. E naturale che l esistenza i vincoli olonomi implica l esistenza i vincoli cinematici ottenuti per erivazione rispetto al tempo: hi q =, i =,..., q k Invece il contrario non è necessariamente vero. Accae infatti che i vincoli cinematici non sono integrabili, ossia non possono essere messi nella forma (-). A esempio, nel caso i un solo vincolo cinematico, se il vincolo è integrabile allora esiste una funzione hq ( ) tale per cui h/ q= a T ( q) e hq ( ) = c, ove c è una costante i integrazione legata alle conizioni iniziali q. Se i vincoli non sono integrabili, i vincoli e il sistema meccanico sono etti non olonomi o anolonomi. Un esempio tipico i sistema non olonomo è l automobile. Le velocità i un automobile sono vincolate perché le ruote non possono muoversi in irezione laterale. Perciò, la stessa automobile non può muoversi i lato né ruotare sul posto. Nonostante ciò, sappiamo che è possibile parcheggiare un autovettura in qualsiasi punto e con qualsiasi orientazione compatibilmente con la presenza i ostacoli... Moello monociclo δ y Figura : Moello uniciclo con quattro coorinate generalizzate. Si consieri un isco che può rotolare senza strisciare su un piano (Figura ), manteneno verticale il proprio piano meio. La configurazione è completamente escritta a quattro variabili: ue coorinate cartesiane (, y ) el punto i contatto con il terreno rispetto a un sistema fisso; l angolo δ efinisce l orientazione el isco rispetto all asse ; l angolo φ tra un asse raiale fissato sul isco e l asse verticale. A causa el vincolo i non-slittamento, le velocità generalizzate el sistema non possono assumere valori arbitrari. Infatti, inicano con R il raggio el isco, evono soisfare i vincoli Rφ cos( δ) = 5

y Rφ sin( δ) =, oppure in forma matriciale: cos T R δ A ( q) q = y = Rsinδ φ che chiaramente esprimono la conizione che la velocità el centro el isco si mantenga nel piano meio el isco, ossia risulti sempre tangente alla traiettoria. Da questi vincoli ifferenziali non è possibile ottenere una relazione sulle coorinate generalizzate, il numero i grai i libertà elle velocità el sistema è riotto a ue (4 meno ) ma non si possono riurre le coorinate generalizzate. In altre parole i vincoli restano solo sulle velocità e non sono integrabili e, come conseguenza, non c è alcuna limitazione sulle configurazioni che possono essere raggiunte al isco. Infatti è possibile muovere il isco a una configurazione [, y, δ, φ ] a una configurazione [, y, δ, φ ] attraverso la seguente sequenza i moto:. Si fa rotolare il isco portano il punto i contatto a (, y ) a (, y ) lungo una qualsiasi curva i lunghezza R( φ φ + kπ ), con k intero positivo. Si fa ruotare il isco attorno al proprio asse verticale a δ a δ. Chiaramente le curve possibili sono infinite. Dalle equazioni ei vincoli si evince subito il moello cinematico el monociclo che costituisce la base per qualsiasi tipo i moello ottenuto a vincoli i non slittamento: cosδ y = sinδ v+ w δ ( -3) Nel moello sono introotti i ue controlli v e w, rispettivamente la velocità el centro el isco e la velocità angolare el isco attorno all asse verticale, che sono in numero pari a quello ei grai i libertà sulle velocità. φ Figura : Disco vincolato su guia rettilinea. 6

Diverso è il caso, anche se quasi ientico, i un isco che rotola senza strisciare su i una guia rettilinea verticale che, chiaramente, genera un vincolo integrabile, quini olonomo, e ciò riuce il numero i coorinate generalizzate a ue a una poiché in questo caso la coorinata rettilinea e l angolo i rotazione φ sono legati a una relazione finita i proporzionalità tramite il raggio el isco. Matematicamente: = φr Perciò, integrano: = φr+ c ove c è una costante che ipene alle conizioni inziali. In questo esempio il vincolo singolo T sulle velocità è scritto nella forma i Pfaffian con a ( q) = [ R] e è possibile ottenere la T soluzione i h/ q= a ( q), che è hq ( ) = φr = c. Appare anche eviente come, in presenza i vincoli sulle velocità, è importante stabilire se essi siano integrabili o meno al fine i analizzare qual è lo spazio elle configurazioni raggiungibili al sistema, cioè se questo spazio è ristretto ai vincoli oppure no e in tal caso i vincoli sono non olonomi..3. Moello a guia ifferenziale ICR RC P L Y X δ b P v = [ y δ] b P R y O Figura 3: Schema el moello ifferential rive. Un classico sistema i locomozione per robot mobili è costituito a ue ruote motrici parallele, controllate in velocità o in accelerazione a ue motori inipenenti. Poiché ue ruote non sono sufficienti per un appoggio stabile, si aggiungono elle ruote folli per mantenere il veicolo con inclinazione costante rispetto al terreno. Preneno come riferimento il punto meio tra le ruote motrici, P v, la configurazione el sistema è efinita a tre coorinate: il vettore [, y ] che iniviua la posizione i P v e l angolo i assetto δ che efinisce la irezione istantanea i moto el veicolo e coincie con l orientazione elle ruote motrici. Detta b la istanza tra le ruote, vr, vl, v rispettamene le velocità ella ruota estra e sinistra e quella el punto i riferimento, il moello cinematico può essere scritto come 7

vr + vl cosδ vcosδ vr + vl y = sinδ = vsinδ ( -4) δ vr v v L R v L b b Il moello si ottiene semplicemente consierano la rotazione el veicolo attorno al proprio centro i istantanea rotazione (ICR) e esprimeno la velocità v el punto i riferimento in funzione elle velocità elle ruote estra e sinistra. Si riportano i seguito i calcoli per maggior chiarezza. Nel sistema i riferimento mobile soliale al robot, le componenti non nulle (lungo l asse ) ei vettori velocità sono: Pv v = = δ Rc t PR vr = = δ ( Rc + b/ ) t PL vl = = δ ( Rc b/ ) t Sommano e sottraeno membro a membro le ultime ue equazioni si ottiene: vr + vl v = v v = δb R L Il moello cinematico cambia a secona elle coorinate generalizzate e ei controlli che si scelgono, riguaro a questi ultimi si riportano ue esempi i moelli ello stesso sistema. Il primo è un moello inamico controllato irettamente utilizzano accelerazioni u e u elle ruote: vr + vl cosδ vr + vl y sinδ δ = ur u vr v + L L ( -5) v R b v L Il secono ha come controlli la velocità el punto meio tra le ruote motrici e la velocità angolare el veicolo, perciò: cosδ y = sinδ v+ w ( -6) δ R L 8

Il moello (-6) è formalmente ientico a quello ricavato per il monociclo. Come si verà nel paragrafo eicato, le caratteristiche i controllabilità e gli stessi vincoli el sistema cambiano al variare el moello che si consiera..4. Moello a tre ruote e car-like y ICR b/sin(α) α y ICR α Y X Y P v P v X b b O δ Figura 4: Moello a tre ruote O δ Figura 5: Moello automobile (car-like) y ICR α P v O δ Figura 6: Moello biciclo Si vuole costruire il moello i un veicolo a tre ruote, con ruote posteriori a asse fisso e ruota anteriore sterzante (Figura 4). Si utilizzano le coorinate generalizzate [ yδ,,, α ], ove (, y ) sono le coorinate cartesiane el punto meio ell asse posteriore (P v ), δ è l angolo che misura l assetto el veicolo rispetto all asse, α è l angolo i sterzata ella ruota anteriore misurato rispetto all asse i simmetria longituinale el veicolo. Innanzitutto si iniviuano i vincoli el sistema, risulta eviente che essi sono ue vincoli i non slittamento: uno per la ruota anteriore, l altro vincolo è unico per tutte le ruote posteriori (tra loro parallele) e si può pensare imposto su una ruota fittizia posta nel punto P v, infatti qualsiasi ruota che si trovi con il proprio asse i rotolamento allineato con l asse posteriore è vincolata a seguire lo stesso atto i moto rigio in moo soliale a quello ell asse e secono una velocità a esso ortogonale. Dette (, y ) le coorinate ella ruota anteriore si può scrivere: a vincolo non olonomo per la ruota anteriore sin( δ + α) y cos( δ + α) = a a vincolo non olonomo per la ruota posteriore a 9

sinδ y cosδ = Poiché = + bcosδ a y = y+ bsinδ a Il primo vincolo iventa: ( δbsin δ)sin( δ + α) ( y + δbcos δ)cos( δ + α) = = sin( δ + α) y cos( δ + α) δbcosα = Per cui la matrice ei vincoli è T sin( δ + α) cos( δ + α) bcosα A ( q) = sinδ cosδ Il rango ella matrice è costante per qualsiasi valore i δ e α e vale. Ciò implica che lo spazio elle soluzioni el sistema costituito ai ue vincoli, cioè elle velocità generalizzate ammissibili, ha imensione : possiamo controllare il sistema con ue grai i libertà sulle velocità. Esistono vari moi per ottenere il moello cinematico i un sistema soggetto a vincoli T cinematici, uno i essi è quello i partire all equazione ei vincoli Aq=, valutare il rango ella T matrice A, e calcolare il nucleo associato alla matrice. Tuttavia il risultato i questa operazione non porta alla scrittura i un moello con immeiato significato fisico perciò è preferibile ricavare il moello ai metoi cinematici ella meccanica. Si consieri la rotazione el veicolo attorno al proprio centro i istantanea rotazione (ICR); etto P a il vettore posizione ella ruota anteriore rispetto al sistema i riferimento fisso, R e R rispettivamente il raggio i curvatura in corrisponenza ella ruota anteriore e el punto i riferimento : P v ca cv v v a b = δrca = δ sinα b = δrc v = δ tanα Le granezze sopra ricavate esprimono rispettivamente la velocità ella ruota anteriore e el punto i riferimento e i loro segni ipenono alle convenzioni stabilite per i segni i δ e i b. Dalla prima equazione: δ = v a sinα b ( -7) Dalla secona equazione risulta anche l espressione ella curvatura κ Il eterminante el minore formato alle prime ue righe e alle prime ue colonne vale sinα, per α = i ue eterminanti ei minori formati alla terza colonna e rispettivamente alla prima e secona colonna non si annullano mai contemporaneamente per ogni valore i δ.

tanα δ = v = κv κ = R b ( -8) cv Perciò, voleno esprimere le velocità e ell assetto e ell angolo i sterzo: y in funzione ella velocità el punto i riferimento, b = vcosδ = δ cosδ = va cosαcosδ tanα b y = vsinδ = δ sinδ = va cosαsinδ tanα ( -9) In tal moo il moello cinematica el sistema, nella forma el sistema i controllo, il seguente: cos cos α δ cosαsin δ y = sinα u δ + u ( -) b α Dove i controlli in questo caso scelti, i più comunemente usati, sono la velocità i trazione ella ruota anteriore e la velocità i sterzata. Se invece il sistema è controllato tramite la velocità i trazione ell asse posteriore è sufficiente sostituire a u il controllo u' = ucosα e il moello iventa: cos δ sinδ y = tanα u' + u ( -) δ b α Come atteso, le prime ue equazioni el moello (-) sono quelle el monociclo ma in questo caso la velocità i variazione i assetto è ipenente alla velocità i sterzata. E anche importante notare che quest ultimo moello possiee una singolarità in α =± π / che corrispone alla situazione la ruota sterzante è isposta ortogonalmente all asse longituinale. Questa singolarità invece non compare nel moello (-) a trazione anteriore. Un altra importante consierazione è che i moelli ricavati, quano si prene come riferimento il punto meio elle ruote posteriori, sono valii non solo per il veicolo a tre ruote ma anche per il sistema quariciclo (tipo automobile). Infatti entrambi si possono sintetizzare in un sistema in cui le ruote, sia quelle sterzanti anteriori, che quelle posteriori, vaano a coinciere con ue sole ruote virtuali, una anteriore sterzante e l altra posteriore, poste sull asse i simmetria longituinale, ossia al sistema biciclo (Figura 6). Nel caso el sistema quariciclo le ruote sterzanti evono essere orientate in funzione ell angolo i sterzo α ella ruota sterzante virtuale, in moo a iniviuare un unico centro i istantanea rotazione el veicolo (Figura 5).

.5. Moello automobile con N rimorchi y δ N δ N- α δ δ = P v b b Figura 7: Moello automobile con N rimorchi Un moello più complesso i quello appena visto si ottiene aggiungeno N rimorchi a un robot triciclo o moello automobile con trazione posteriore. Il moello cinematicamente più semplice prevee che ciascun rimorchio sia agganciato nel punto meio ell asse posteriore el preceente. Si può scegliere come vettore i coorinate generalizzate quello el moello automobile a cui si aggiunge l angolo i assetto i ciascun rimorchio, misurato tra il proprio asse i simmetria e l asse (Figura 7): q= [, y, αδ,, δ,..., δ, δ ] T N N La imensione ello spazio elle coorinate generalizzate, il numero i grai i libertà, è perciò N+4. I vincoli non olonomi sono ue per la motrice e altri N vincoli per l asse posteriore ell i-esimo rimorchio, le cui coorinate si ottengono a : i i = bjcosδ j j= i yi = y bjsinδ j j= i =,.., N Gli N+ vincoli sono: vincolo per l asse anteriore ella motrice sin( δ + α) y cos( δ + α) = a a vincolo per l asse posteriore ella motrice sinδ y cos δ = vincoli per l asse posteriore ell i-esimo rimorchio sinδ y cosδ = i =,.., N i i i i Esprimeno i vincoli solo in funzione elle coorinate generalizzate si ottiene:

sinδ y cos δ = sin( δ + α) y cos( δ + α) δ b cosα = i sinδ y cos δ + δ b cos( δ δ ) = i =,.. N i i j j i j j= ( -) Anziché trovare il nucleo associato alla matrice ei vincoli per ottenere il moello cinematico el sistema i controllo, si possono scrivere irettamente le equazioni cinematiche: = vcosδ y = vsinδ v tanα δo = b δ = v sin( δ δ ) i i i i bi v = v cos( δ δ ) i =,.., N i i i i Dove v i è la velocità lineare ell asse posteriore (punto meio) ell i-esimo rimorchio. Infine il moello cinematico: y α δ cosδ sinδ tan α / b sin( δ δ) / b δ = cos( δ δ)sin( δ δ) / b δ cos( δ j δ j ) sin( δi δi ) / bi δ i δ cos( δ δ ) sin( δ δ ) / b i ( j= ) N ( j= ) N N N N N N + u u ( -3) I controlli restano ue come nel caso el moello automobile, la velocità i trazione posteriore la velocità i sterzata. u u e 3

.6. Sistemi olonomi e non olonomi SISTEMI OLONOMI SISTEMI NON OLONOMI Esempio: manipolatori con coppie rotoiali e/o Esempio: veicoli su ruote con puro rotolamento prismatiche Tipo i vincoli e numero i controlli applicabili N corpi + p vincoli geometrici semplici (es. N corpi+p vincoli geometrici semplici moto nel piano) N =6*N-p grai i libertà(g..l.) N = 6*N-p g..l. N velocità inipenenti N velocità inipenenti N g..l. + k vincoli cinematici integrabili N corpi + k vincoli cinematici non integrabili n = N -k g..l. n = N variabili i configurazione (v..c.) q i, i =,..n variabili i giunto (o coorinate q i, i =,..n variabili i configurazione (o generalizzate) coorinate generalizzate) n velocità inipenenti m = n-k velocità inipenenti m = n controlli non ifferenziali m < n controlli ifferenziali (cinematici, a partire alle velocità) Pianificazione el moto Traiettoria cartesiana esierata () t Traiettoria cartesiana esierata () t Calcolo la traiettoria nello spazio ei giunti: qt () = f( ()) t Calcolo le m velocità i controllo esierate v (t) = v = g( ( t)).7. Altri esempi i sistemi non olonomi I vincoli non olonomi possono genearasi a causa i iversi fattori, i natura fisica o legati al tipo i controllo, alcuni i essi sono:. Superfici che rotolano senza strisciare Esempi: oltre ai robot mobili su ruote, la manipolazione i oggetti con ita robotiche (Figura 9). Conservazione el momento angolare in sistemi multiboy Esempi: manipolatori flottanti nello spazio senza attuatori esterni robot saltanti bilanciati inamicamente (Figura 8) tuffatori e astronauti in sospensione aerea satelliti con stabilizzazione i assetto 4

Figura 8: Robot saltellante Figura 9: Mano robotica con 5 ita 3. Speciali compiti i controllo robot rionanti (a esempio con 3 g..l nel piano ma target senza specifica sull assetto) robot subacquei (6 coorinate generalizzate, 4 inputs i velocità) 3. PIANIFICAZIONE E CONTROLLO DELLA TRAIETTORIA Gli obiettivi ella pianificazione el moto si ifferenziano a secona che essa sia a alto livello o a basso livello. Gli obiettivi i basso livello sono le strategie i pianificazione el moto che consentono i conseguire gli obiettivi primari, i alto livello. Strategie i moto a basso livello possono essere: Percorsi geometrici Traiettorie, ovvero percorsi parametrizzati nel tempo Sequenze i comani i movimento basate sulle informazioni ei sensori i cui il robot ispone Mentre gli obiettivi primari possono essere: Muoversi verso il target senza colliere con ostacoli (ambiente qualsiasi) Costruire una mappa ell ambiente (non strutturato) Trovare un oggetto (in ambiente non strutturato o semi-strutturato) Il compito più ostico è quello ella pianificazione a basso livello i un percorso compatibile (ammissibile) con i vincoli cinematici non olonomi. Mentre per un robot omniirezionale (Figura ) qualsiasi percorso è ammissible, per i robot non olonomi è richiesto un certo grao i continuità nelle funzioni che efiniscono geometricamente il percorso. A esempio, i percorsi ottimi per il veicolo i Rees e Shepp [] preveono una iscontinuità nella curvatura (sulla quale si impone un limite superiore a causa el limite sull angolo i sterzata) e possono essere effettuati all asse posteriore i un veicolo sterzante solo a conizione che il veicolo si fermi nei punti i iscontinuità. Per questo tipo i veicoli, naturalmente, i percorsi con iscontinuità nella tangente non sono ammessi oppure, se pianificati, non possono essere effettuati nemmeno iealmente con errore nullo. Risulta anche importante, per l analisi sulla fattibilità elle traiettorie pianificate e sulla controllabilità el veicolo, la scelta el punto i riferimento per il quale il percorso e la traiettoria sono pianificati. 5

a) b) Figura : a) robot con quattro ruote sterzanti e motrici. 8 grai i libertà i controllo. b) robot con tre ruote, ciascuna può traslare trasversalmente senza strisciare. 3.. Percorsi e traiettorie ammissibili Lo spazio elle configurazioni i un robot mobile è efinito al minimo numero i parametri (coorinate generalizzate) che permettono i localizzare l intero sistema nel suo ambiente (a esempio il vettore [ yδ,,, α ] nel caso el moello trattato nel.4). Come per i manipolatori si è soliti istinguere tra traiettorie cartesiane e traiettorie nello spazio ei giunti, per i robot mobili si efinisce traiettoria una ata funzione vettoriale continua nel ominio el tempo costituita a m funzioni scalari, tante quanti sono i controlli el sistema (a esempio velocità i trazione e angolo i sterzata). Una traiettoria è ammissibile se e solo se, ate le conizioni iniziali e finali ella configurazione, è una soluzione el sistema i equazioni ifferenziali che costituiscono il moello cinematico el robot. Un percorso è ciò che nello spazio elle configurazioni corrispone a una ata traiettoria. In altri termini, se si applica una ata legge i moto (traiettoria) al robot, ciò che ne risulta nello spazio cartesiano è un percorso. Un percorso ammissibile corrispone a una traiettoria ammissibile. Le relazioni matematiche che intercorrono tra percorso e traiettoria non sono banali per un sistema non olonomo proprio a causa ella non integrabilità el sistema i equazioni ifferenziali el moello cinematico. Infatti, a esempio, per il moello automobile in cui il vettore elle variabili i configurazione è [ yδ,,, κ ] e è costituito alle coorinate cartesiane (, y ) el punto meio ell asse posteriore, all assetto δ e alla curvatura κ, si ha: t () = vt ()cos δ () t t () cos δ ( t) yt () = vt ()sin δ () t yt () sin δ ( t) vt () = + ut () () δ() t κ() t v() t δ () t κ t = κ () t κ () t = u() t ( 3-) I controlli sono la velocità ell asse posteriore, v, e la variazione i curvatura rispetto al tempo, u. Voleno passare alla variabile temporale a t alla coorinata curvilinea s è sufficiente tenere presente che: s vt () = t δ () s s κ() s = δ() t = κ() t = κ() t v() t s t 6

Per cui il moello iventa: () s = cos δ () s ys () = sin δ () s δ() s = κ() s κ () s = u() s Se infine si integrano le equazioni el moello si ottiene s () s = cos δ() s s ; δ() s = κ() s s s s y() s = sin δ() s s ; κ() s = u() s s s ( 3-) Queste equazioni, pur esseno integrabili in forma numerica e utilizzate come moello per la ricostruzione oometrica (noti che siano i controlli applicati) non sono una soluzione el sistema i equazioni ifferenziali in senso classico in quanto l assetto, che è una elle variabili i configurazione (stato) el sistema, compare all interno egli integrali; in altre parole per ottenere la soluzione el sistema, ate le conizioni iniziali e finali, si ovrebbe integrare una elle incognite. 3.. Path following e Trajectory tracking Un ulteriore efinizione i traiettoria è quella i percorso a cui viene associata la legge temporale con cui il percorso viene seguito al robot. Questa accezione viene utilizzata per istinguere tre classi i problemi in base al compito assegnato al robot: Moto punto-punto Inseguimento i percorso (path following) Inseguimento i traiettoria (trajectory tracking) Moto punto-punto? q i =( i,y i,δ i,α i ) Figura : Moto punto-punto. Non ci sono specifiche sulla traiettoria ma solo sulle configurazioni iniziale e finale Il robot eve arrivare a una posa (posizione e assetto) finale parteno a una ata posa iniziale. In generale eve raggiungere una configurazione finale ata una configurazione iniziale nello spazio elle coorinate generalizzate. Dal punto i vista el controllo il problema è quello i 7

stabilizzare il robot in un punto i equilibrio nello spazio elle variabili i configurazione. Per un veicolo tipo automobile sono isponibili solo ue controlli, a esempio velocità i trazione anteriore e velocità i sterzata, per moificare le quattro variabili i configurazione ( yδ,,, α ). La situazione resta la stessa anche per un veicolo con N rimorchi in cui si hanno ue input e N+4 variabili i configurazione. Un eventuale retroazione sul controllo utilizza come errore la ifferenza tra la configurazione corrente e quella esierata. Inseguimento i percorso s q i =( i,y i,δ i,α i ) Figura : Inseguimento i percorso. L'obiettivo è annulare la istanza alla traiettoria inipenentemente al tempo Il robot eve raggiungere e seguire un percorso nello spazio cartesiano parteno a una ata configurazione iniziale entro o fuori al percorso. L algoritmo i controllo è basato sulla escrizione geometrica ella traiettoria cartesiana, usualmente parametrizzata secono la coorinata curvilinea s. La legge temporale i controllo non è specificata poiché l obiettivo principale è quello i avvicinare il più possibile il veicolo alla traiettoria riucenone la istanza a essa. Perciò l evoluzione el parametro s nel tempo può essere scelta arbitrariamente e i ue input possono essere scalati rispetto al tempo senza cambiare il percorso. Una scelta può essere quella i mantenere costante l input i velocità i trazione o i variarla secono una qualsiasi legge temporale, e i effettuare il controllo sull inseguimento ageno solo sull angolo i sterzata. Inseguimento i traiettoria e(t) () t ( t ) ( t ) et () = [ e (), t e ()] t y t q(t)= ((t), y(t),δ(t),α(t)) Figura 3: Inseguimento i traiettoria. Il compito è i inseguire il percorso secono una legge temporale imposta 8

In questo caso il robot eve raggiungere e seguire una traiettoria nello spazio cartesiano parteno a una ata configurazione iniziale entro o fuori alla traiettoria, ovvero un percorso con una legge temporale imposta. Si può pensare che il robot ebba inseguire e raggiungere un robot virtuale che si muove lungo il percorso esierato con velocità variabile secono una legge esierata. Dal punto i vista el controllo, l obiettivo è quello i minimizzare l errore cartesiano et () tra la posizione effettiva el robot e quella prevista per ogni istante i tempo t. 3.3. Pianificazione el percorso e pianificazione el moto Per quanto etto, la pianificazione non olonoma el moto corrispone alla pianificazione i traiettorie ammissibili e può essere assimilata al problema ella pianificazione ei controlli a ciclo aperto per ottenere un ato percorso, ciò che nel caso ei manipolatori corrispone a un problema i cinematica inversa. Il problema, a monte, è quello i pianificare un percorso compatibile sia con i vincoli non olonomi che con la presenza i ostacoli potenzialmente interposti tra il punto i partenza e quello i arrivo. Questo problema applicato ai veicoli autonomi è etto i steering. In ambiente strutturato la pianificazione el percorso e el moto può essere calcolata a priori a livello globale, ossia inclueno il task completo (Figura 4). Tuttavia sussiste l esigenza i pianificare in tempo reale il percorso a livello locale (in un certo intorno el robot) per permettere al robot i aggirare ostacoli imprevisti (Figura 5) o inforcare un pallet in posizione non nota a priori. Per un moto punto-punto è sufficiente risolvere in moo iretto il problema calcolano una legge i moto che consenta i guiare il robot alla configurazione i partenza a quella i arrivo. In tal moo il percorso risulta essere un output ell algoritmo i pianificazione e non può essere imposto come input, non ci sono vincoli costituiti a ostacoli fisici ma bisogna tenere comunque conto egli ostacoli virtuali, come a esempio la limitazione sull angolo i sterzata ( α < α π /). La trasformazione elle coorinate generalizzate in coorinate chaine form ma (vei 3.4.), quano il sistema sia trasformabile, consente i risolvere agevolmente il problema. Figura 4: Esempio i pianificazione el percorso per un veicolo con rimorchio. Figura 5: Pianificazione el percorso e aggiramento ostacoli imprevisti. Se invece è richiesto che il robot segua un ato percorso (ammissibile, libero a ostacoli, ottimizzato per il minimo tempo i percorrenza, minima accelerazione angolare etc.) è necessario seguire una elle seguenti strategie: A. Inseguire il percorso o la traiettoria cartesiana con algoritmi euristici (vei 3.5.4) B. Pianificare il moto con metoi teorico-matematici (vei 3.4) calcolano la legge i moto esierata 9

C. Integrare il metoo B. con un algoritmo i controllo retroazionato sulla legge i moto pianificata per tenere conto ei possibili errori i inseguimento e riurli (vei 3.5.). 3.4. Metoi i pianificazione el moto per sistemi non olonomi 3.4.. Sistemi in chaine form. Esistono forme canoniche per i moelli cinematici che sono funzionali allo sviluppo i strategie i controllo sia a ciclo aperto che retroazionato. La forma canonica più utilizzata è la forma a catena o chaine form. Un sistema a catena è nella seguente forma: = u = f( ) u 3 = f3(, ) u p = fp(,,.., p ) u m Dove i i sono le variabili i configurazione el sistema e Σ imi = n, la somma elle loro imensioni è pari al numero i grai i libertà. Per un sistema i controllo con ue input la forma canonica è etta a forma a catena singola (, n ): = u = u 3 = u n = u n ( 3-3) Dove si è supposto che tutte le i siano granezze scalari. L input u è chiamato input generatore e le variabili e sono chiamate variabili i base. Si nota che se u è costante (o costante a tratti), il sistema è lineare (o lineare a tratti). Si imostra che i sistemi nella forma (, n ) a catena sono completamente controllabili. Essi sono caratterizzati a una particolare proprietà etta nilpotenza [4]. Esistono conizioni necessarie e sufficienti perché un sistema a ue input sia trasformabile in chaine form tramite:. un cambio i coorinate = φ( q). una trasformazione invertibile egli input v = β ( q)u. Si imostra che un sistema non olonomo con m = input e n = 3,4 coorinate generalizzate può sempre essere messo nella forma a catena. Inoltre i moelli ei veicoli con N rimorchi, se con ciascun rimorchio incernierato nel punto meio ell asse posteriore el preceente, possono essere trasformati in chaine form. Nel caso in cui vi sia un offset nella cerniera, solo moelli i veicoli con un numero i rimorchi minore i ue possono essere trasformati in chaine form. Per esempio, si consieri il moello cinematico (-3) el monociclo. Utilizzano la trasformazione i coorinate

= cosδ + ysinδ = sinδ + ycosδ 3 = δ e la trasformazione i input v = u + u = ( sinδ + ycos δ ) u + u v = u 3 è immeiato verificare, ricorano che = v cosδ e y = v sinδ che il sistema trasformato risulta nella forma canonica a catena. E interessante notare inoltre che le nuove variabili e 3 sono semplicemente le coorinate cartesiane el monociclo espresse nel sistema i coorinate soliale al robot e orientato con l asse allineato con l asse rispetto a cui è misurato l assetto el veicolo. Per quanto riguara il moello triciclo o, equivalentemente, automobile, si può utilizzare il seguente cambio i coorinate: 3 3 4 = tanα = bcos δ = tanδ = y ( 3-4) e la trasformazione i input u v = cosδ u v = 3sinδ sin α + bcos δ cos αu bcos δ 3 ( 3-5) per cui il sistema assume la forma a catena = u = u 3 = u 4 = u 3 ( 3-6) In questo caso la trasformazione i coorinate, e quini la forma a catena, è efinita per δ π / ± kπ, k. Si verifica che, come preveibile, anche il sistema a catena singola è non olonomo ma in questo caso si possono utilizzare proceure opportune per ottenere classi i soluzioni al problema ella pianificazione el moto punto-punto, ovvero traiettorie (leggi i moto) che guiano il robot a una configurazione i partenza a una configurazione i arrivo assegnate. E possibile utilizzare ifferenti tipi i ingressi ( ut ( ) ): ingressi sinusoiali ingressi costanti a tratti

ingressi polinomiali Ingressi sinusoiali Sceglieno per i ue input u = a + a sin( ωt) u = b + b cos( ωt) + b cos( ωt) +... + b cos[( n ) ωt] n ( 3-7) si generano n + incognite per variare n coorinate generalizzate a una ata conizione iniziale a una ata conizione finale in un ato tempo T. Integrano (a partire alla prima equazione a cascata fino all ultima) le equazioni ifferenziali el moello (3-3) in cui si sostituiscono gli ingressi nella forma sinusoiale (3-7), si ottiene un sistema lineare che ha come incognite gli n + coefficienti. Si imostra [7] che, se a, il sistema è invertibile. Nel caso specifico el moello (3-6) si hanno quattro coorinate e cinque parametri ( a, a, b, b, b). Una possibile proceura risolutiva [8] è la seguente - si calcolano le coorinate trasformate iniziali e finali - si integrano le equazioni in cascata a partire alla prima nell intervallo i tempo T = π / ω - si sceglie un valore i a - si risolve il sistema calcolano gli altri quattro coefficienti ( a, b, b, b ). Al variare el tempo imposto T e el parametro, varierà la geometria el percorso pianificato. In Figura 6 è riportato un esempio i applicazione (utilizzano il coice i calcolo simbolico Mathematica ) con ue iversi valori i. Inoltre la geometria el percorso non è invariante alla a rotazione, ossia ipene all assetto iniziale e finale δ e δ f e non solo alla ifferenza δ δ f. a goal goal start start Figura 6: Pianificazione el moto con le stesse conizioni inziali e finali ma con iversi valori i a Ingressi costanti a tratti Si suivie il tempo totale i moto T in sottointervalli i lunghezza ue input sono costanti Δ in ciascuno ei quali i u ( τ ) = u k u ( τ ) = u k con τ [( k ) Δ, kδ ]

Se si mantiene u sempre costante e si prenono n sottointervalli ( k =,.., n-) in moo che ( n ) Δ = T e u = f T ove n è il numero i coorinate generalizzate, f e sono rispettivamente il valore finale e iniziale ella variabile, gli n valore costanti ( u,, u,,.., u, n ) ell input u si ottengono risolveno un sistema lineare triangolare che consegue all integrazione elle equazioni el moello a catena. Nel caso in cui le ascisse el punto i partenza e i arrivo coinciono è necessario aggiungere un punto intermeio, inoltre non è possibile effettuare manovre automatiche con inversione ella velocità. y @md 4 Traiettoria goal 3 start 3 4 @md Figura 7: Traiettoria ottenuta con input costanti a tratti mês Velocità motoruota vs Tempo 4 6 8 seconi.9.8.7.6.5.4 ra.6.4. -. -.4 -.6 Angolo i sterzo vs Tempo 4 6 8 seconi Figura 8: Input i velocità ella motoruota Figura 9: Comano angolo i sterzata. Presenta iscontinuità i velocità (tangente al grafico) In Figura 8 e in Figura 9 risulta eviente come gli input i velocità i trazione e i angolo i sterzata siano elle funzioni continue ma le conizioni iniziali e finali su v e α sono libere in quanto non vengono imposte nelle equazioni risolutive. Inoltre la velocità i sterzata (erivata el grafico i Figura 9) può presentare elle iscontinuità. 3

Ingressi polinomiali Un algoritmo simile a quello egli input costanti a tratti, ma con migliori prestazioni nel livello i continuità ( smoothness ) elle funzioni i input, è quello i utilizzare ei polinomi negli input. Sceglieno per i ue input: u = sign( ) f n = + +.. + n u c ct c t Come tempo totale si può scegliere T = f Si otterrà un sistema lineare nelle incognite ( c, c,.., cn ) ottenuto integrano le equazioni el moello a catena, el tipo c AT ( ) (, ) u f c u f 3 + f ui T = c n u f n Dove la matrice AT ( ) è invertibile per T Nel caso in cui le ascisse el punto i partenza e i arrivo coinciono è necessario aggiungere un punto intermeio, inoltre non è possibile effettuare manovre automatiche con inversione i velocità. 3.4.. Pianificazione i traiettorie open-loop I metoi finora visti consentono i calcolare un percorso ammissibile e i relativi controlli per portare un veicolo a una configurazione i partenza a una i arrivo (moto punto-punto). Per contro, non è possibile preveere esattamente quale sarà il percorso pianificato e ciò rene ancora più complesso il compito i far muovere il robot in un ambiente enso i ostacoli. E pertanto preferibile, se l ambiente è strutturato, pianificare un percorso libero a ostacoli e che sia anche ammissibile, non solo per quanto riguara i vincoli cinematici ma anche per ciò che concerne i limiti sui controlli (angolo massimo i sterzata, velocità massima i trazione e i sterzata, accelerazioni etc.). Per il moello automobile a trazione posteriore (-) è possibile calcolare gli input i velocità i trazione e i sterzata (traiettoria i input) in funzione el percorso cartesiano esierato, assumeno che questa sia una traiettoria ammissibile e con un certo grao i continuità [5]. E sufficiente imporre le coorinate cartesiane esierate ( (), t y() t ) in funzione el tempo a partire a un certo istante iniziale t. Dalle coorinate cartesiane è possibile ricavare le restanti variabili i configurazione esierate (assetto e angolo i sterzata) e i comani i input associati. Ciò è possibile perché a causa ei vincoli non olonomi il veicolo è obbligato a avere velocità e assetto tangenti alla traiettoria cartesiana e inoltre l angolo i sterzo è legato geometricamente alla curvatura el percorso e la velocità i sterzata è legata all accelerazione angolare esierata. Tutte queste variabili possono essere ottenute matematicamente a consierazioni geometriche e alle erivate rispetto al tempo ella traiettoria cartesiana. La traiettoria cartesiana esierata (percorso geometrico in funzione el tempo) è ammissibile quano può essere ottenuta come risultato ell evoluzione nel tempo ella configurazione el sistema secono le equazioni el moello cinematico ell automobile: 4

= cosδ v ( 3-8) ( 3-9) δ y = sin v tanα v δ = b ( 3-) α = v ( 3-) con input v t e v () t almeno continui a tratti. () v Si può ricavare alle (3-8) e (3-9) v () t =± () t + y () t il cui segno ipene alla scelta ella irezione el moto, in avanti o all inietro. Divieno la (3-9) per la (3-8) si ottiene l assetto esierato () t y () t δ () t, ( 3-) = ATAN v() t v() t Derivano la (3-8) e la (3-9) rispetto al tempo e moltiplicano la prima per y, la secona per e sottraeno membro a membro si ottiene () t y() t () t y () t δ () t = ( 3-3) v () t Il risultato appena ottenuto si può sostituire nella (3-) e ottenere così l angolo i sterzo il cui segno ipene al segno ella velocità i trazione α ( t) arctan () t y() t () t y () t ( 3-4) = b 3 v() t Infine per ottenere l input ottenuto: v è sufficiente erivare rispetto al tempo l angolo i sterzata appena v bv [( y y ) v 3( y y )( + y y )] () t = 6 v + b ( y y ) Le equazioni appena ricavate legano biunivocamente la traiettoria cartesiana alla traiettoria i input, ossia permettono i ottenere i controlli in funzione el tempo a ciclo aperto in seguito ai quali il robot segue il percorso esierato con la legge temporale imposta. Il controllo a ciclo aperto richiee che il robot si trovi esattamente nella configurazione iniziale prevista ( ( t), y( t), δ( t), α ( t) ) perché la traiettoria in uscita al sistema i controllo sia effettivamente quella esierata. Dalle equazioni risulta che gli input ipenono solo alla traiettoria cartesiana esierata in uscita e alle sue erivate fino al terzo orine. Perciò per garantire l esatta riproucibilità ella traiettoria esierata è necessario, oltre alla conizione suetta sulla configurazione iniziale, che la traiettoria sia erivabile tre volte rispetto al tempo. 5

E importante tenere conto che gli input contengono una singolarità, ossia non sono efiniti nel caso in cui v ( t ) = per qualche t t. Per questo inconveniente si utilizzano traiettorie cartesiane parametrizzate in funzione i un parametro geometrico el percorso, in tal moo la escrizione geometrica el percorso è separata a quella temporale. Se si inica con σ il parametro i percorso (quello più utilizzato è la coorinata curvilinea s ), la pianificazione ella traiettoria cartesiana implicherà una legge temporale σ ( t) che si può introurre nell equazione ella traiettoria esprimeno le coorinate cartesiane in funzione i σ : () t = ( σ ()) t = ( σ()) t σ() t = ( σ) σ() t t σ y () t = y ( σσ ) () t ( 3-5) (si utilizza l apice per istinguere la erivata rispetto al parametro i percorso a quella rispetto al tempo). La velocità lineare i input ella traiettoria nelle coorinate parametrizzate è etta pseuo-velocità e in ato punto corrisponente a un ato σ vale w =± + y σ ( 3-6) ( ) ( ) ( ) σ σ mentre la velocità i comano effettiva (che si ricora essere la velocità lineare el punto i riferimento el moello automobile, ossia il punto intermeio ell asse posteriore) vale v () t = w ( σ () t σ () t ( 3-7) y v w () s = v () t = s () t s Figura : Velocità i trazione in funzione ella coorinata curvilinea. La pseuo velocità è il moulo el versore tangente alla traiettoria, perciò sempre unitaria. Se si sceglie σ () t = s() t, le erivate () s = ()/ s s e y = y()/ s s sono le componenti cartesiane el versore tangente alla traiettoria nel punto corrisponente a s e perciò la pseuovelocità, che è il moulo i questo versore, avrà valore unitario, quini sempre iverso a zero. La conizione per cui v ( ) t = si ottiene quano σ ( t ) = mentre w ( ) σ. L espressione ell assetto esierato in funzione el parametro i percorso è sempre efinita senza punti singolari: ( σ) y ( σ) δ ( σ) = ATAN, w( σ ) w( σ ) 6

Grazie alla separazione tra ipenenza al tempo e ipenenza allo spazio anche le formule i α ( σ ) e w ( ) σ (con v() t = w( σ ) σ () t ) risultano senza singolarità poiché compaiono solo informazioni geometiche relative alla curvatura el percorso e alle erivate i orine superiore rispetto al parametro σ. Infatti ( σ ) y ( σ) ( σ) y ( σ) α ( σ) = arctan b 3 w ( σ ) w bw y y w y y + yy ( σ ) = 6 w + b ( y y ) [( ) 3( ' )( )] L espressione egli input in funzione ella traiettoria cartesiana el moello i robot automobile a trazione posteriore (per quella anteriore la trasformazione i input è immeiata e è funzione solo ell angolo i sterzata) si può ottenere anche per il moello a catena (,4). L evoluzione temporale ella traiettoria esierata è escritta al moello cinematico in chaine form = u = u = u = u 3 4 3 ( 3-8) Dalla traiettoria esierata in coorinate cartesiane ( (), ()) t y t e al cambio i coorinate (3-4) è possibile ottenere la traiettoria esierate nelle variabili trasformate in funzione i quelle cartesiane e elle loro erivate () t = () t y () t () t y () tt () () t = 3 () t y () t 3() t = () t () t = y () t 4 e anche l espressione egli input trasformati u () t = () t y y y y () t = 4 u 3( ) 3.4.3. Percorsi a curvatura continua. Clotoii. E noto, a partire agli stui i Dubin e Rees & Shepp, che i percorsi ottimi in termini i lunghezza, per un moello automobile semplificato (tre variabili i configurazione controllato in velocità angolare) sono costituiti a segmenti e archi i circonferenza. Uno svantaggio notevole i questa classe i percorsi è la presenza i iscontinuità ella curvatura. Queste iscontinuità si presentano in ogni transizione tra segmenti e archi in quanto la curvatura salta a zero a un valore non nullo. Poiché la curvatura è legata all angolo i sterzata alla relazione 7