Applications of Evolutionary Algorithms Giuseppe Nicosia Dep. of Mathematics and Computer Science University of Catania
Robotica Evolutiva
L'evoluzione di un'abilità di navigazione usando un robot fisico E possibile [Floreano e Mondada, 1994] addestrare delle reti neurali per il controllo di un robot autonomo che deve svolgere un compito di navigazione ed evitando gli ostacoli. Per questo esperimento Floreano e Mondada si sono serviti di un micro-robot di fabbricazione svizzera chiamato Khepera (
Robot Khepera Il robot (Mondada, Franzi e Ienne 1993) possiede una forma circolare con un diametro di 55 mm, un'altezza di 30 mm ed un peso di 70 g; esso si poggia su due ruote che hanno due piccoli supporti di Teflon. Le ruote, controllate da due motori DC, possono muoversi in entrambe le direzioni. Il robot dispone di 8 sensori di prossimità all'infrarosso (sei posizionati sulla parte frontale del robot e due nella parte posteriore).
Robot Khepera 2 Il microprocessore motorola con 256 Kbytes di RAM e di 512 Kbytes di ROM elabora tutte le routine input-output e può comunicare con un computer attraverso uno speciale cavo con contatti rotanti. Questa configurazione permette di sfruttare le capacità di memoria del computer esterno che può essere usato per registrare e analizzare il comportamento del robot e nel contempo per fornire energia elettrica al robot evitando tutti i problemi di ricarica delle batterie.
Ambiente L'ambiente in cui il robot agisce è costituito da uno spazio piano delimitato da mura di forma irregolare. Le dimensioni esterne di tale spazio sono approssimativamente 80 x 50 cm. Le mura sono state realizzate con del polistirolo celeste e il pavimento con un cartoncino grigio. Una lampadina di 60 watt è stata usata per illuminare costantemente l'ambiente.
Obiettivo L'obiettivo degli autori è quello di sviluppare un sistema di controllo per Khepera in grado di evitare ostacoli mantendo la traiettoria più lineare possibile e la velocità più alta possibile. L'addestramento evolutivo è stato realizzato implementando un algoritmo genetico standard (Goldberg 1989) con generazioni composte da 80 individui ognuno dei quali può compiere 80 azioni.
Architettura della rete neurale L'architettura della rete neurale è fissa ed è formata da un solo strato di pesi sinaptici che connettono gli otto sensori di Khepera con due unità di uscita. Le unità di uscita, direttamente collegate ai due motori di Khepera, hanno una soglia di attivazione adattiva, una funzione di attivazione sigmoide e connessioni ricorrenti. I pesi sinaptici e le soglie sono stati codificati nel genotipo come numeri reali.
LAlgoritmo Genetico Ogni azione motoria dura 300 ms. Ogni azione motoria dura 300 ms. La riproduzione degli individui è sessuata e di conseguenza sono stati usati entrambi gli operatori genetici, mutazioni e crossover. criterio di fitness utilizzato (F) è una funzione della velocità di rotazione delle due ruote e dei valori di attivazione dei sensori di prossimità con attività massima (I): La riproduzione degli individui è sessuata e di conseguenza sono stati usati entrambi gli operatori genetici, mutazioni e crossover. Il criterio di fitness utilizzato (F) è una funzione della velocità di rotazione delle due ruote e dei valori di attivazione dei sensori di prossimità con attività massima (I): F = V * (1 - sqrt ( DV ) ) * ( 1 - I )
Fitness function F = V * (1 - sqrt ( DV ) ) * ( 1 - I ) F ha tre componenti: la prima è massimizzata dalla velocità (V), la seconda dal movimento in direzione rettilinea (DV indica la differenza di rotazione delle ruote) e la terza dall'evitamento di ostacoli (I è tanto più grande quanto più il robot è vicino a un ostacolo).
Evoluzione nellambiente reale E importante notare che l'intero processo evolutivo viene realizzato interamente sul robot reale. Ciò significa che ogni rete di ogni generazione viene valutata lasciando il robot agire nell'ambiente reale per 80 passi (il «sistema nervoso» di ogni individuo viene sequenzialmente «iniettato» nel medesimo robot fisico).
Risultati In meno di 100 generazioni, Khepera evolve la capacità di muoversi evitando gli ostacoli (next slide). Comunque, già in prossimità della 50 a generazione, i migliori individui esibiscono un comportamento quasi ottimale. Gli ostacoli vengono evitati aggirandoli dolcemente senza urtare con le mura o incastrarsi negli angoli ( Floreano e Mondada 1994). Gli ostacoli vengono evitati aggirandoli dolcemente senza urtare con le mura o incastrarsi negli angoli ( Floreano e Mondada 1994). Ciascuna delle tre simulazioni richiede circa 60 ore. Ciascuna delle tre simulazioni richiede circa 60 ore.
Fitness del migliore individuo di ogni generazione Il grafico mostra i valori medi e lo scarto quadratico medio di tre simulazioni (cioè di tre processi evolutivi condotti partendo da generazioni iniziali casualmente diverse).