Espositori 2016



VICHI un piccolo ROBOT
VICHI un piccolo ROBOT

VICHI un piccolo ROBOT

VICHI è un prototipo di una piattaforma INFORMATICA e HARDWARE a basso costo che implementa un sistema programmabile.
La piattaforma mette a disposizione dell’utente finale gli strumenti per sviluppare applicazioni con cui è possibile interagire tramite un device che non è un terminale come un computer o un smatphone, ma un sistema che ha una testa, due braccia, due occhi … un piccolo robot.
L’obiettivo è di utilizzare la piattaforma come strumento educativo nell’ambito dell’insegnamento del coding, si vuole fornire uno strumento a studenti e appassionati di tecnologia che permetta di sperimentare la programmazione non solo per lo sviluppo di applicazioni “classiche” ma anche per governare un oggetto che ha una interazione fisica con l’ambiente esterno.
Il linguaggio di programmazione è JAVA
La piattaforma VICHI è costituita da due componenti:
• una componete HARDWARE che implementa un piccolo robot.
• una componente SOFTWARE sviluppata in java che implementa:
- il sistema centrale di controllo del robot, VICHIDaemon
- strumenti per interagire con VICHI per impartire comandi di movimento
1. VICHI il Robot
Le componenti hardware che compongono il robot sono:
1. Due Raspberry Pi2 per il sistema di elaborazione centrale
2. Due Arduino UNO per la gestione dei sensori e dei servo controller
3. Due Servo controller
4. Tre sensori di distanza
5. 15 servo motori
6. Due Webcam

Se volessimo paragonare il ruolo delle componenti hardware con un sistema biologico avremmo che:
• I due Raspberry realizzano il “CERVELLO”. Il Raspberry di per sé non ha grandi capacità di calcolo, per questo motivo si è pensato di realizzare un piccolo cluster di due nodi in modo da distribuire il carico di lavoro e avere maggiore performance elaborativa.
• I due Arduino realizzano il “SISTEMA NERVOSO”, controllano i servo motori, tramite due servo controller specifici, e i sensori di distanza.
• I servo motori sono i “MUSCOLI”.
• Le Webcam sono gli “OCCHI”

2. Sistema software di controllo
Il sistema software che gestisce VICHI è sviluppato prevalentemente con il linguaggio di programmazione Java con una parte sviluppata in C.
Il sistema è costituito dalle seguenti componenti:
• VichiDaemon è un Application Server sviluppato in java che implementa le primitive per il controllo del robot.
• CamServer è il modulo applicativo che gestisce la webcam. Acquisisce l’immagine e la trasmette via TCP/IP all’Application Server (VichiDaemon)
• SerialInterface è il modulo per la comunicazione di VichiDaemon con Arduino
• VichiController è il modulo applicativo sviluppato in C per la gestione dei servo motori e dei sensori
Tutte le componenti software sono in esecuzione sul sistema di elaborazione di VICHI che è costituito dai due Raspberry Pi2.
Il sistema di elaborazione è un piccolo sistema distribuito a due nodi. In un nodo gira VichiDaemon in configurazione MASTER e nel secondo nodo gira VichiDaemon in configurazione SLAVE.
3. come si programma vichi
VICHI è una piattaforma programmabile, cioè si possono implementare APP per far compiere al robot attività diverse.
Le APP sono costituire da due tipi di componenti:
• i SERVICE che sono le componenti software che implementano le logiche per elaborare le informazioni che il robot percepisce dall’ambiente esterno. Per esempio lo stream delle immagini che si catturano tramite le Webcam o le informazioni provenienti dai sensori di distanza.
• i BEHAVIOR sono le componenti che realizzano il comportamento di VICHI. Il comportamento è definito da un sistema a stati: a seconda dello stato viene attivato un componente BEHAVIOR specifico.
4. CONLUSIONI
Possibili evoluzioni di VICHI nell'’ambito educational, integrazione con SCRATCH o l’implementazione di un linguaggio visuale sviluppato ad hoc.
Italy

VICHI un piccolo ROBOT

Natale Di Domenico

Mi chiamo Natale Di Domenico ho 47 anni, sono nato ad Augusta l’11 aprile del 1969 e attualmente vivo Monte Porzio Catone (Roma).
Sono laureato in Scienze dell’informazione all’Università di Pisa e attualmente lavoro presso una società di sviluppo software in ambito bancario.
Sono un esperto di programmazione Object Oriented e in particolar modo del linguaggio JAVA.
Ho una profonda esperienza nella realizzazione di sistemi distribuiti e processi di comunicazione basati su TCP/IP.
Amo la tecnologia e sono molto attratto dalla robotica e dai sistemi intelligenti e mi diletto nella realizzazione di sistemi in cui mi piace mettere insieme lo sviluppo software e semplici sistemi hardware basati su Raspberry e Arduino.

  C27 (pav. 5)
Back
 
Dati aggiornati il 13/05/2024 - 11.24.21