ROBOWII

From AIRWiki
Revision as of 17:29, 29 September 2008 by BenChen (Talk | contribs) (Indice)

Jump to: navigation, search

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)