Forum di www.mascal.it - Robonox V2
Forum di www.mascal.it
Home | Profilo | Registrazione | Discussioni attive | Utenti | Cerca | FAQ
Nome utente:
Password:
Salva la password
Hai dimenticato la password?

 Tutti i forum
 Robonox
 Firmware
 Robonox V2
 Nuova discussione  Partecipa alla discussione
 Versione stampabile
Autore  Discussione Discussione successiva  

mascal
Forum Admin

Italy
54 invii

Spedito - 31 lug 2008 :  10:15:51  Mostra profilo  Visita l'homepage di mascal  Rispondi con citazione
Come ho accennato nel post della risposta da IXS, ho un progetto per l'evoluzione di Robonox.

Faccio un piccolo riassunto della situazione attuale:

1.IXS non rilascia i sorgenti del firmware, che quindi deve essere interpretato dal disassemblato, senza commenti o aiuti di altro tipo

2.Il firmware attuale controlla i servo con una precisione di circa 1,5 gradi e non consente l'utilizzo di ulteriori sensori/attuatori

3.Se anche si potessero utilizzare dei sensori aggiuntivi, sarebbero comunque inutili poiché non si può comandare il robot con istruzioni che comprendono test di valori e cose simili

La prima opzione che mi era venuta in mente era quella di riscrivere il firmware, sfruttando quello esistente. Purtroppo, a parte la notevole complessità nel capire il firmware attuale, non si sarebbe risolto il problema della precisione dei servo.

A questo punto mi sono chiesto se non era il caso di creare semplicemente (si fa per dire) una scheda processore completamente nuova. Mi sono fatto inviare dei campioni gratuiti dalla Microchip (perché sono i processori che conosco meglio) e la scheda in progettazione avrà le seguenti caratteristiche:

- Due processori PIC16F628 a 20MHz per il pilotaggio dei servo (12 ogni processore). Questo consentirà una precisione di 0.36 gradi circa

- Un processore PIC16F876 a 20MHz per la comunicazione seriale, la gestione dei segnali analogici e digitali non legati ai servo e un interprete per il linguaggio di programmazione che sto realizzando (un'evoluzione del basic)

- Una EEPROM seriale da 128K per contenere le istruzioni che Robonox dovrà interpretare

Alla fine si potranno controllare 24 servo con risoluzione elevata e 12 segnali tra analogici e digitali. Quelli digitali potranno essere programmati in ingresso o in uscita e quelli in uscita potranno essere fissi (0 o 1) oppure con segnale pwm che varia da 0 a 100%.
A questi segnali si aggiungeranno quelli per il controllo della tensione di alimentazione e per l'accelerometro, portando i segnali totali a 15.

Inoltre ci sarà la possibilità di disabilitare qualunque servo, riducendo così leggermente il consumo (ad esempio la testa che si usa davvero poco è inutile tenerla sempre attiva).

Resteranno la possibilità di comunicare via seriale con il pc e di aggiornare il firmware in caso si trovino dei bug o si vogliano aggiungere ulteriori funzioni.

Ovviamente, visto l'aumento degli integrati e soprattutto dei segnali utilizzabili, dovrò trovare il modo di organizzare al meglio la nuova scheda, mantenendo le dimensioni attuali e non sarà facile...

Passato il periodo delle vacanze mi ci metterò di impegno e vi terrò aggiornati sulla situazione.

Ciao!!

Mascal
http://www.mascal.it

mascal
Forum Admin

Italy
54 invii

Spedito - 12 dic 2008 :  08:45:43  Mostra profilo  Visita l'homepage di mascal  Rispondi con citazione
Ok lo ammetto, sono stato un po' assente negli ultimi tempi!

Purtroppo il mio tempo libero si è abbastanza ridotto a causa di variazioni organizzative nel mio posto di lavoro, ma il progetto di un nuovo Robonox sta andando avanti (anche se non rapidamente come speravo)!

Appena avrò un po' di tempo aggiornerò anche le pagine del sito con le info sulle novità. Nel frattempo metto un po' di notizie qui.

Il pilotaggio dei servo utilizzando i PIC ha dato buoni risultati, soprattutto per quanto riguarda la precisione che è leggermente aumentata. Purtroppo i servo hanno una qualità decisamente bassa e più di tanto non si può ottenere.

Attualmente sto avendo un po' di problemi di comunicazione tra i PIC che pilotano i servo e il PIC principale, ma conto di risolverli entro breve tempo.

Infine sto seriamente pensando ad un nuovo metodo per programmare il robot: oltre all'utilizzo di un linguaggio tipo Basic con l'aggiunta di istruzioni specifiche per Robonox, vorrei utilizzare come supporto di memoria una scheda microSD invece della eeprom.

Perché questa scelta? Semplice, oltre alla maggiore memoria disponibile, utilizzando una scheda SD sarà possibile programmare il robot senza utilizzare cavi di collegamento con il computer, inserendo la scheda in un normalissimo lettore di schede per il pc.
Inoltre sarà possibile anche utilizzare la scheda per consentire al robot di memorizzare eventuali dati raccolti dai sensori, visto che ci sarà la possibilità di collegarne diversi.

Faccio un esempio:
Dopo avere realizzato (in questo caso collegando il robot al pc con un cavo seriale) una libreria di movimenti, sarebbe possibile creare un programma che sfrutta questa libreria e sceglie quali movimenti utilizzare in dipendenza dei sensori. Mettiamo il caso che dotate il robot di un sensore infrarosso per gli ostacoli, mentre lo fate andare in giro per la casa potrebbe memorizzare tutti i dati del sensore per creare una mappa che il programma potrebbe utilizzare per spostarsi, magari per tornare in un certo punto se la batteria si sta scaricando.

Le possibilità sono davvero tante, ma ovviamente prima devo riuscire a creare il firmware per fare tutto questo e temo che non sarà facile...

Alla prossima.
Ciao!!!

Mascal
http://www.mascal.it
Vai ad inizio pagina

raros
Appena iscritto

Italy
2 invii

Spedito - 27 dic 2008 :  18:32:30  Mostra profilo  Rispondi con citazione
Ok Mascal.
Buon lavoro e... In bocca al lupo.

Ciao, buone feste ed un felice anno nuovo.

Raros
Vai ad inizio pagina
   Discussione Discussione successiva  
 Nuova discussione  Partecipa alla discussione
 Versione stampabile
Vai a:


Forum di www.mascal.it © 2008 Mascal Vai ad inizio pagina
 Image Forums 2001 Creato da: Snitz Forums 2000 Version 3.4.06