Robot e Agenti Hardware - Sumowar: Studio e Sviluppo di Algoritmi per la Competizione tra Agenti Robotici

Pagina creata da Dario Fumagalli
 
CONTINUA A LEGGERE
Robot e Agenti Hardware - Sumowar: Studio e Sviluppo di Algoritmi per la Competizione tra Agenti Robotici
Robot e Agenti Hardware

Sumowar: Studio e Sviluppo di Algoritmi
 per la Competizione tra Agenti Robotici

      Stefano Cacciaguerra (scacciag@cs.unibo.it)
Robot e Agenti Hardware - Sumowar: Studio e Sviluppo di Algoritmi per la Competizione tra Agenti Robotici
Contenuti

   Introduzione

   Esempi

   Caratteristiche

   Come Programmarli
Robot e Agenti Hardware - Sumowar: Studio e Sviluppo di Algoritmi per la Competizione tra Agenti Robotici
Introduzione
I robot stanno entrando prepotentemente nella nostra società:

    Il braccio robotico ha rivoluzionato l’industria promuovendo
   precisione millimetrica in lavori pesanti.

    I rover della NASA ci hanno permesso di esplorare Marte.

    Il robot domestico Roomba è in grado di lavare i pavimenti in
   modalità autonoma.

Diventano un evento mediatico servito alle grandi folle le
competizioni tra robot che mescolano la ricerca scientifica con lo
sviluppo industriale in uno show di grande effetto:

                 La DARPA Grand Challenge 2005
Robot e Agenti Hardware - Sumowar: Studio e Sviluppo di Algoritmi per la Competizione tra Agenti Robotici
Robot
Robot una macchina capace di risolvere i compiti, percependo stimoli
ed interagendo col mondo esterno.

Industria: Indispensabili per affrontare problemi gravosi, in condizioni
ambientali difficili dove risulta necessaria una precisione millimetrica
(es: verniciatura, saldatura e montaggio).

Ricerca: Nella medicina si studiano nano-tecnologie chirurgiche e robot
per operazioni a distanza. Nella fisica aerospaziale, i rover della NASA
spediti su Marte studiano il pianeta.

Uso domestico: Roomba della IRobot pulisce i pavimenti e Ambrogio
della Zucchetti taglia l’erba del giardino.

Intrattenimento: giocattoli tecnologici, capaci di interagire
direttamente con l’uomo come Aibo ERS-7 e Sdr-4x II della SONY.
Robot e Agenti Hardware - Sumowar: Studio e Sviluppo di Algoritmi per la Competizione tra Agenti Robotici
Robot
Robot e Agenti Hardware - Sumowar: Studio e Sviluppo di Algoritmi per la Competizione tra Agenti Robotici
Competizioni tra Robot
Oggigiorno, il progresso tecnologico e l’abbattimento dei costi dei
materiali e dei dispositivi elettronici, permette anche a semplici amatori
di costruire dei robot personalizzati.

Diventa interessante promuovere i progetti migliori misurando i robot
attraverso opportune competizioni:

    la DARPA Grand Challenge 2005,

    la RoboCup,

    la RoboCup Rescue e

    la SumoWar.
Robot e Agenti Hardware - Sumowar: Studio e Sviluppo di Algoritmi per la Competizione tra Agenti Robotici
DARPA Grand Challenge 2005

La DARPA Grand Challenge 2005 è una competizione robotica, che
ha promosso il confronto tra mezzi mobili,

 capaci di seguire un percorso lungo più di 200 km

 in totale autonomia,

 guidati da un’intelligenza artificiale,

 da dispositivi di localizzazione GPS e di visione artificiale.

Su cinquanta team partecipanti, soltanto venti hanno passato le
qualificazioni preliminari e solo cinque sono arrivate alla fine del
percorso.
Robot e Agenti Hardware - Sumowar: Studio e Sviluppo di Algoritmi per la Competizione tra Agenti Robotici
DARPA Grand Challenge 2005

Immagine e film
Robot e Agenti Hardware - Sumowar: Studio e Sviluppo di Algoritmi per la Competizione tra Agenti Robotici
RobCup
La RoboCup è un progetto internazionale che promuove partite di calcio tra
agenti robotici.

Obbiettivo: la creazione (entro il 2050) di una squadra formata da undici
agenti robotici umanoidi, capaci di battere la squadra vincitrice dell’ultimo
campionato mondiale di calcio (regole della FIFA).

     progettazione del singolo agente,
     collaborazione tra gli agenti (gioco di squadra),
     calcolo di una strategia cooperativa per vincere una partita.

La difficoltà risiede nella completa dinamicità del problema:

     l’agente stesso,
     i suoi compagni di squadra e
     gli avversari,

mutano il loro stato in modo imprevedibile e non deterministico.
Robot e Agenti Hardware - Sumowar: Studio e Sviluppo di Algoritmi per la Competizione tra Agenti Robotici
RobCup
RoboCup Rescue o RescueCup
La RoboCup Rescue è un progetto internazionale derivato dalla RoboCup

Obbiettivo: promuovere lo sviluppo e la ricerca per il salvataggio di esseri
umani in ambienti colpiti da catastrofi come terremoti, maremoti, tornado,
attacchi nucleari ed incidenti aerei.

Le squadre specializzate si avvalgono di macchine robotiche, in grado di
raggiungere gli eventuali superstiti:

    in totale autonomia,
    di prestar loro il primo soccorso e
    condurli al più vicino centro di raccolta.

Problemi da superare:

    la realizzazione di un sistema di visione artificiale,
    la ricerca di tecniche motorie per la massima mobilità e
    l’implementazione di sistemi di interfacciamento ai parametri vitali
   dei superstiti per valutare la loro condizione.
RoboCup Rescue o RescueCup
SumoWar
SumoWar identifica un torneo ad eliminazione diretta, basato sul
regolamento internazionale delle gare di Sumo.

Scontro diretto di due robot che sfruttando tutte le loro capacità cercano
di buttare l’avversario fuori dal ring.

Scenario: un ring di forma circolare di colore nero, al cui interno sono
posizionati i robot.

Durata: Un match si protrae fino alla vittoria di uno dei partecipanti o
allo scadere della durata massima pari a 3 minuti.

Vittoria: sfida è ripetuta tre volte ed il robot che ha vinto più match
sarà considerato qualificato per lo scontro successivo.
MiniSumo
Esistono tre categorie diverse, in base al peso ed alle dimensioni:

    SumoWar, fino a 3 kg e 20x20 cm
    MiniSumo, fino a 500 g e10x10 cm
    MicroSumo, fino a 100 g e 5x5 cm

Scenario per il MiniSumo: prevede un ring di 77cm di diametro,
delimitato sul bordo da una linea bianca larga 2,5cm, in cui a 10cm dal
centro sono poste due linee di partenza marroni di dimensione 1x10cm.
MiniSumo
All’inizio dell’incontro i robot sono posti all’interno dell’arena, in una
qualsiasi posizione nel semicerchio delimitato dalla propria linea di
partenza e dal bordo.

Al via, i robot vengono accesi e devono necessariamente rimanere
immobili per 5 secondi, per permettere al team di allontanarsi dal ring.

Ogni singolo match si conclude assegnando al robot vincitore uno Yuko:

    il robot butta fuori dal ring l'avversario con un’azione legittima
    l'avversario esce fuori dal ring (per qualsiasi ragione)
    l'avversario viene squalificato.
MiniSumo

Il robot non deve:

    utilizzare dispositivi che ostacolano le operazioni dell'avversario,

    danneggiano la superficie del ring,

    spruzzano liquidi, polveri o gas,

    arrecare alcun danno voluto al robot avversario,

    fissarsi alla superficie del ring.
MiniSumo
Progettazione
Le grandi competizioni sottopongono gli agenti hardware ad obiettivi a
lungo termine, variando le singole prove che compongono queste gare.

Si cerca di costruire un agente autonomo ed intelligente capace di
adattarsi all’ambiente della competizione.

Un robot trascorre la propria vita artificiale attraversando ciclicamente
le tre seguenti fasi:

    sensazione: utilizza il sistema di acquisizione dati, provenienti
   dal mondo esterno, e crea una sua rappresentazione (sensazione)
   dell’ambiente in cui vive;
    elaborazione: ottenuta una sensazione determina il
   comportamento da adottare, inviando le opportune informazioni
   (mossa o azione) agli attuatori;
    attuazione: concretizza la mossa attraverso gli attuatori
   trasformando informazioni in opportune grandezze fisiche.
Sumovore K SV,
Sensori
I sensori possono captare frequenze sonore, luminose, radiofrequenze, e
rilevare urti, forze, pressioni, spostamenti, posizioni relative e assolute.
Sistema di Elaborazione
Il sistema di elaborazione è realizzato attraverso opportuni
microprocessori, che si differenziano per velocità di calcolo, quantità e
tipologia delle linee predisposte per lo I/O.
Attuatori
Gli attuatori possono essere motori sincroni e asincroni, altoparlanti,
foto emettitori a lunghezza d’onda variabile, pistoni pneumatici o
elettrici, relè, moduli a radiofrequenza, dispositivi di trasmissione dati
seriale wireless.
Sumovore K SV è un Kit
Sumovore K SV è un kit sviluppato per la competizione MiniSumo che
sfrutta un comportamento istintivo realizzato attraverso mosse
preconfigurate ottenuto dalle connessioni della rete logica che compone
il suo cervello

Al presentarsi di un preciso stimolo percepito nel mondo esterno reagisce
in un solo ed unico modo.

Non possiede un meccanismo capace di immagazzinare le sensazioni
pervenute o tenere la cronologia delle mosse realizzate

    non è capace di capire quali nuove situazioni si verifichino e di
   intraprendere scelte diverse dovute all’esperienza.
Sumovore K SV è un Kit
Per aumentare la possibilità di vittoria abbiamo dotato la configurazione
hardware del robot di un nuovo cervello cibernetico programmabile.

È possibile:
    sfruttare più precisamente i sensori,
    elaborare azioni non previste dal kit base,
    eseguire manovre più sofisticate,
    immagazzinare le precedenti esperienze, ed
    evolvere la capacità mentale per riconoscere nuove situazioni

    comportamento maggiormente adattivo nella competizione
SumoWar come Applicazione Industriale
  La SumoWar non ha un riscontro diretto sulla realtà. Parafrasando,
  diviene possibile associare il comportamento di un SumoBot a quello di
  un’applicazione commerciale come il robot lava pavimenti.

            SumoBot                                Roomba

 esplora il proprio ambiente per      esplora la stanza per riuscire a
scoprire i confini del ring           coprire tutta la sua superficie

 cerca l’avversario per caricarlo     evita gli ostacoli

 trovare la posizione ottimale        ottimizzare il tempo        per
per spingere l’avversario fuori dal   coprire  la    stanza il      più
ring                                  velocemente possibile
Implementazione
Il kit di base prevede l’assemblamento di tre sezioni:

Sense Board: ha la funzione di raccogliere i dati percepiti dai sensori
infrarosso posizionati davanti e sotto il robot.

Main Board: si occupa di alimentare i circuiti elettronici e di pilotare il
sistema motorio composto di due motori asincroni indipendenti.

Brain Board: è definita come cervello cibernetico del robot, in quanto
analizza i dati percepiti dai sensori e, di conseguenza, decide il
movimento da impartire al sistema motorio.
Implementazione
La brain board è stata sostituita da una scheda utilizza del micro-
controllore PIC 16F877A della Microchip che racchiude nel singolo
chip diverse periferiche hardware, memorie EEPROM e una CPU RISC
a 20MHz.

Il software è stato scritto in ANSI C e compilato in linguaggio macchina
utilizzando il compilatore PICC-LITE della HiTech.

L’uso del PIC migliora la valutazione dei valori dei segnali dei sensori, il
sistema motorio permettendo al robot di compiere tutte le manovre
possibili e di modulare la potenza sprigionata.
Le 4 Strategie
Le strategie implementano diverse modalità di esplorazione dello spazio
circostante. Individuato l’avversario, la strada più breve è percorsa in
moto rettilineo.

Lineare: si muove in modo rettilineo ed implementa la
modulazione della potenza sprigionata minimizzando la perdita di
aderenza.

ZigZag: compie un movimento a zigzag aumentando la porzione di
spazio noto incrementando la probabilità di individuare l’avversario.

Roteante: sfrutta un movimento rotatorio sul proprio asse, per
trovare l’avversario ed è dipendente dalla posizione iniziale sul ring.

Circolare: compie un movimento circolare di raggio prefissato;
permette la visione di una porzione di spazio maggiore sfruttando la
forma del ring.
Sperimentazioni
Sperimentazioni in due fasi (ogni singolo test è stato condotto 30 volte):

I. Robot con cervello a logica hardware vs. cibernetico programmabile.

    Le 4 strategie vincono al 65%, 70%, 73% e 78%.

     Una migliore valutazione dei valori rilevati dai sensori e da una
    superiore capacità motoria (una migliore tenuta sul ring e alla migliore
    capacità di manovra).

II. È stato effettuato un girone all’italiana tra le 4 strategie realizzate.

    Le strategie Roteante e Circolare hanno probabilità di vittoria maggiori.

     Le strategie Roteante e Circolare controllano una più alta porzione
    dello spazio noto per un periodo più lungo sfruttando un cambiamento
    di direzione più repentino.
Risultati

Strategia    Hardware   Rettilinea   ZigZag   Rotazione   Circolare

Hardware        X         65 %       70 %       73 %        78 %

Rettilinea     35 %         X        45 %       55 %        64 %

 ZigZag        30 %       55 %         X        55 %        56 %

Rotazione      27 %       45 %       45 %        X          48 %

Circolare      22 %       36 %       44 %       52 %         X
Riferimenti
[1] R. C. Arkin, 1998, Behavior-Based Robotics, The MIT Press.
[2] D. Cook, 2002, Robot Building for Beginners, Apress.
[3] Defense Advanced Research Projects Agency, Darpa Challenge, Ottobre 2005,
http://www.grandchallenge.org.
[4] H. R. Everett,1995, Sensors for Mobile Robots: Theory and Application, A K Peters Ltd.
[5] D. W. Gage, 1993, Randomized Search Strategies with Imperfect Sensors, Proceedings of SPIE Mobile
Robots VIII, Vol. 2058, pp. 270-279.
[6] HiTech, compilatori C per sistemi embedded, Gennaio 2006, http://www.htsoft.com.
[7] J. L. Jones, D. Roth, 2004, Robot Programming, McGraw-Hill/TAB Electronics.
[8] J. Liu, C. K. Pok, H. K. Keung, 1999, Learning coordinated maneuvers in complex environments: A sumo
experiment, Proceedings of the IEEE Congress on Evolutionary Computation, pp. 343-349.
[9] D. Livingstone, 2006, Turing’s test and believable AI in games, ACM Computer in Entertainment, Vol. 4,
No. 1.
[10] MicroChip, microcontrollori PIC, Gennaio 2006, http://www.microchip.com.
[11] P. Miles, 2002, Robot Sumo: The Official Guide, McGraw-Hill.
[12] Nanotecnologie, Febbraio 2006, http://www.nanotech-now.com.
[13] NASA, Sezione robotica, Febbraio 2006, http://www-robotics.jpl.nasa.gov.
[14] M. Predko, 2002, Programming and Customizing PICmicro MCU Microcontrollers, McGraw-Hill.
[15] RoboCup, progetto internazione RoboCup, Dicembre 2005, http://www.robocup.org.
[16] RoboCup Rescue, progetto internazione RoboCup sezione Rescue, Dicembre 2005,
http://www.rescuesystem.org/robocuprescue.
[17] Robot per operazioni chirurgiche a distanza, Febbraio 2006,
http://robotica.mecc.polimi.it/ricerche_incorso/robotica_ricerca/prog_strateg.htm.
[18] Solarbotics, kit di montaggio robot ed accessori, Dicembre 2005, http://www.solarbotics.com.
[19] SumoWar, organizzazione internazione SumoWar, Dicembre 2005, http://www.fsi.co.jp/sumo-e.
Puoi anche leggere