Difference between revisions of "ROBOWII"

From AIRWiki
Jump to: navigation, search
(Indice)
(Indice)
Line 38: Line 38:
 
#Nintendo Wii Remote
 
#Nintendo Wii Remote
 
#*Bluetooth
 
#*Bluetooth
##*Accelerometro
+
#*Accelerometro
##*Sensore ad infrarossi
+
#*Sensore ad infrarossi
##Librerie
+
#Librerie
##*Librerie principali
+
#*Librerie principali
##*Wiiuse: caratteristiche principali
+
#*Wiiuse: caratteristiche principali
##*Wiiuse: utilizzo
+
#*Wiiuse: utilizzo
##Altri utilizzi del Wiimote
+
#Altri utilizzi del Wiimote
##*Wiimote head tracking desktop VR display
+
#*Wiimote head tracking desktop VR display
##*Low-cost multi-point interactive whiteboards using Wiimote
+
#*Low-cost multi-point interactive whiteboards using Wiimote
##*Wiinstruments
+
#*Wiinstruments
##Logica fuzzy e Mr. Brian
+
#Logica fuzzy e Mr. Brian
##*Fuzzyficazione
+
#*Fuzzyficazione
##*Definizione dei predicati
+
#*Definizione dei predicati
##*Scelta dei comportamenti da attivare (CANDO)
+
#*Scelta dei comportamenti da attivare (CANDO)
##*Valutazione delle regole
+
#*Valutazione delle regole
##*Fusione dei risultati
+
#*Fusione dei risultati
##*Defuzzyficazione
+
#*Defuzzyficazione
##*Mr. Brian
+
#*Mr. Brian
##DCDT (Device Communication Development Toolkit)
+
#DCDT (Device Communication Development Toolkit)
##*Inizializzazione del Dispatcher e creazione degli agenti
+
#*Inizializzazione del Dispatcher e creazione degli agenti
##*La classe StringModuleMember
+
#*La classe StringModuleMember
##Localizzazione
+
#Localizzazione
##*ArToolKit ed ArToolKitPlus
+
#*ArToolKit ed ArToolKitPlus
##*Calcolo della matrice di roto-traslazione
+
#*Calcolo della matrice di roto-traslazione
##*Calibrazione dei marker
+
#*Calibrazione dei marker
##Robot utilizzato
+
#Robot utilizzato
  
#ROBOWII
+
ROBOWII
##Struttura di gioco
+
#Struttura di gioco
##*Descrizione
+
#*Descrizione
##*Pseudocodice
+
#*Pseudocodice
##*Altre caratteristiche
+
#*Altre caratteristiche
##Moduli software sviluppati/modificati
+
#Moduli software sviluppati/modificati
##*WiimExpert
+
#*WiimExpert
##*BrianExpert
+
#*BrianExpert
##*MotorExpert
+
#*MotorExpert
##*PositionDummyExpert
+
#*PositionDummyExpert
##*VisionExpert
+
#*VisionExpert
##*PositionExpert
+
#*PositionExpert
##*LogExpert
+
#*LogExpert
##Configurazione dei comportamenti
+
#Configurazione dei comportamenti
##*Dati in ingresso
+
#*Dati in ingresso
##*Comportamenti
+
#*Comportamenti
 
+
#Risultati
+
##AlignToGoal e GotoGoal
+
##StayInArea
+
##EscapeIR
+
  
 +
Risultati
 +
#AlignToGoal e GotoGoal
 +
#StayInArea
 +
#EscapeIR
 +
#Video
  
  

Revision as of 17:27, 29 September 2008

RoboWii

Wiimote.jpg


Lo scopo del nostro lavoro è quello di studiare l'utilizzo del Wii Remote, il controller principale della console Nintendo Wii, in ambito robotico, mediante la creazione di un gioco basato sull'interazione fra il Wii Remote e un robot.


Essendo il Wii Remote (di seguito abbreviato in Wiimote) dotato di un accelerometro, di una telecamera sensibile all'infrarosso, di uno speaker, di 4 led e della possibilità di vibrare, può essere utilizzato come interfaccia uomo-computer in svariate applicazioni della robotica. In particolare, abbiamo sviluppato un sistema di gioco (Robowii) che consiste nel cercare di colpire un bersaglio, montato su di un robot, mentre il robot stesso cerca di raggiungere una determinata posizione.

Robowii robot.jpg


Abbiamo utilizzato un robot a 2 ruote fisse parallele, controllabili separatamente. Robowii è stato sviluppato in Linux, utilizzando il linguaggio C++. La comunicazione con il Wiimote è stata ottenuta tramite la libreria Wiiuse. Sono stati, inoltre, utilizzati i seguenti software, precedentemente sviluppati dal Politecnico di Milano all'interno del progetto MRT (da interpretare sia come Milan Robocup Team, sia come Modular Robotic Toolkit):

  • DCDT, per lo scambio di messaggi all'interno dei vari componenti di Robowii
  • Mr. Brian, per la programmazione dei comportamenti del robot tramite logica fuzzy
  • Inoltre abbiamo utilizzato il software di localizzazione, precedentemente sviluppato per il progetto Lurch, per permettere al robot di localizzare la sua posizione all'interno del campo di gioco, utilizzando una telecamera ed appositi marker. Questo software si basa sulle librerie ArtToolkitPlus.



Partecipanti a questo progetto: Antonio Bianchi, Ben Chen

Advisor: Andrea Bonarini

  • Inizio del progetto: marzo 2008
  • Primo prototipo: realizzazione conclusa
  • Stato attuale: lavori in corso


Indice

SOFTWARE E TECNOLOGIE UTILIZZATE

  1. Nintendo Wii Remote
    • Bluetooth
    • Accelerometro
    • Sensore ad infrarossi
  2. Librerie
    • Librerie principali
    • Wiiuse: caratteristiche principali
    • Wiiuse: utilizzo
  3. Altri utilizzi del Wiimote
    • Wiimote head tracking desktop VR display
    • Low-cost multi-point interactive whiteboards using Wiimote
    • Wiinstruments
  4. Logica fuzzy e Mr. Brian
    • Fuzzyficazione
    • Definizione dei predicati
    • Scelta dei comportamenti da attivare (CANDO)
    • Valutazione delle regole
    • Fusione dei risultati
    • Defuzzyficazione
    • Mr. Brian
  5. DCDT (Device Communication Development Toolkit)
    • Inizializzazione del Dispatcher e creazione degli agenti
    • La classe StringModuleMember
  6. Localizzazione
    • ArToolKit ed ArToolKitPlus
    • Calcolo della matrice di roto-traslazione
    • Calibrazione dei marker
  7. Robot utilizzato

ROBOWII

  1. Struttura di gioco
    • Descrizione
    • Pseudocodice
    • Altre caratteristiche
  2. Moduli software sviluppati/modificati
    • WiimExpert
    • BrianExpert
    • MotorExpert
    • PositionDummyExpert
    • VisionExpert
    • PositionExpert
    • LogExpert
  3. Configurazione dei comportamenti
    • Dati in ingresso
    • Comportamenti

Risultati

  1. AlignToGoal e GotoGoal
  2. StayInArea
  3. EscapeIR
  4. Video


| Guide to MRT software

--Ben Chen 12:20, 9 April 2008 (CEST)