Robot e Agenti Hardware - Sumowar: Studio e Sviluppo di Algoritmi per la Competizione tra Agenti Robotici
←
→
Trascrizione del contenuto della pagina
Se il tuo browser non visualizza correttamente la pagina, ti preghiamo di leggere il contenuto della pagina quaggiù
Robot e Agenti Hardware Sumowar: Studio e Sviluppo di Algoritmi per la Competizione tra Agenti Robotici Stefano Cacciaguerra (scacciag@cs.unibo.it)
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 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.
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.
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.
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.
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