1 / 23

Nipi

Nipi. Mini Robot Percezione robotica 05-06. Daniele Mazzei. Obbiettivi del progetto. Realizzazione di un minirobot utilizzando componenti elettronici di base. Apprendere i sistemi di programmazione e controllo dei microcontrollori

Download Presentation

Nipi

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Nipi Mini Robot Percezione robotica 05-06 Daniele Mazzei

  2. Obbiettivi del progetto • Realizzazione di un minirobot utilizzando componenti elettronici di base. • Apprendere i sistemi di programmazione e controllo dei microcontrollori • Scrittura di un software di gestione del comportamento reattivo che possa funzionare su un PIC. • Realizzazione di sensori per robot

  3. Il comportamento • L’idea è di realizzare un robot con comportamento bio-ispirato • Alcuni insetti volano in modo apparentemente casuale fino a che non sentono il bisogno di nutrirsi o di riprodursi • Iniziano quindi a seguire le tracce di odoranti per trovare una fonte di nutrimento o un partner (feromoni) • Durante il loro moto devono evitare ostacoli

  4. Il Robot • Struttura in materiale plastico. • Gruppo meccanico di riduzione preassemblato • Elettronica costruita su una board “millefori” sagomata • Ruote in gomma modello “Lego Mindstorm”

  5. L’Hardware

  6. Il microcontrollore

  7. I Sensori I sensori sono collegati ai convertitori analogico digitale del PIC che leggono con una risoluzione di 10 Bit e accettano ingresso tensioni variabili tra 0 e Vdd

  8. I Motori • I 2 motori vengono controllati mediante un ponte H • I due segnali PWM vengono inviati come “Enable” del ponte • Vengono utilizzati 4 pin digitali del pic per controllare il verso di rotazione dei motori.

  9. La porta seriale • Grazie alla presenza della porta seriale risulta notevolmente più semplice la fase di debug del software • E’ possibile il download del software sul PIC direttamente dalla seriale senza dover togliere il micocontrollore dallo zoccolo • Il segnale della porta seriale è stato adattato alla standard RS232 mediante l’utilizzo dell’integrato MAX232

  10. Il software • Il software è scritto in Basic mediante l’ambiente di sviluppo MicroBasic della Mikroelettronica. • Con l’ausilio della libreria fornita dal software sono state scritte le varie funzioni di controllo dei PWM e di lettura degli ADC • Il software è concepito come una macchina a stati finiti • Le interazioni con l’ambiente comportano i passaggi da uno stato all’altro

  11. Il software • Per simulare correttamente il comportamento di un insetto è necessario inserire un altro stato (Stato “5”) • Quando la batteria scende sotto una soglia prefissata il robot passa dalla modalità random a quella inseguimento luce (Stato “4”) • Smette di cercare la luce quando la batteria scende sotto una seconda soglia e si ferma per ricaricarsi mediante la cella fotovoltaica (Stato “5”) • Quando la batteria torna sopra un valore prefissato ricomincia l’andamento random (sato “o”)

  12. Il software • Nel Main vengono chiamate le varie funzioni di inizializzazione del controllore e di configurazione delle porte • Mediante uno “switch” viene analizzata la variabile “State” che indica lo stato di lavoro • All’avvio il robot parte nello stato “0”, muovendosi random e controllando gli ostacoli • Le funzioni di rilevamento ostacoli hanno diritto di cambiare il valore della variabile globale “State” • Al giro successivo del main se la variabile “State” è diversa da “0” si attua la strategia di evitamento prescelta

  13. Evitamento ostacoli • Le funzioni “Collision_Detection” e “Obstacle_Avoidance” vengono chiamate dal Main nello stato “0” • Se viene rilevato un contatto lo stato viene cambiato da “0” a: Stato 1 -> Contatto a Sx Stato 2 -> Contatto a Dx Stato 3 -> Contatto frontale o mancanza suolo Al successivo giro del Main si entra nella strategia di evitamento dipendente dallo stato

  14. Randoom • E’ stata realizzata una funzione in grado di generare numeri random: X=mod{(a*Timer),P} Dove: X = numero random generato a = costante Timer = Valore del clock P = Numero primo a scelta Mod{a,b} restituisce il resto della divisone intera fra a e b

  15. Inseguimento luce • I sensori di luminosità restituiscono valori fra 50 e 200 (200 -> buio, 50 -> max luce) • I motori accettano in ingresso valori di velocità (Duty cicle PWM) fra 50 e 150 • Il livello di luminosità viene quindi inviato al motore corrispondente limitandolo ad un max di 150 • Essendo inverso l’andamento dei sensori di luminosità si ottiene un fenomeno di inseguimento senza dover incrociare le connessioni

  16. I Test • Evitamento ostacoli. • Il robot è stato programmato per evitare ostacoli rilevati dai sensori di contatto a switch o dal senore IR frontale • E’ stata disattivata la funzione di andamento random per facilitare la ripresa

  17. Avvicinamento alla luce • Il test è stato condotto in ambiente buio, ponendo una torcia in un angolo

  18. Fuga dalla luce • Il software è stato modificato per invertire il comportamento del robot • Ogni sensore di luminosità influenza il motore opposto

  19. Risultati • Il robot si è rivelato essere un ottimo strumento di apprendimento per le problematiche relative all’assemblaggio di componenti elettronici di base • E’ stato possibile implementare con un solo PIC numerose funzioni tipiche dei comportamenti reattivi della robotica • I test hanno dimostrato come il robot sia in grado di seguire la luce ed evitare ostacoli • La realizzazione delle varie funzioni ha permesso al robot di avere un comportamento simile ad un insetto

  20. Pro • Il robot si è rilevato essere uno strumento funzionale a bassissimo costo per lo studio dell’elettronica, dei microcontrollori e della programmazione di minirobot • La realizzazione di robot non in Kit permette una continua evoluzione dell’architettura ed infinite possibilità di utilizzo • La presenza della porta seriale funzionante non solo per il download del software è una caratteristica che spesso non è presente sui robot in Kit • Grazie alla presenza del caricabatterie integrato il robot si ricarica con qualsiasi tensione in ingresso compresa fra 7 e 14 Volt

  21. Contro • La programmazione dei PIC si è rilevata essere di livello non abbastanza alto per essere utilizzata come controllore principale di un robot • L’utilizzo delle fotoresistenze come rilevatori di luce in configurazione a partitore di tensione si è rilevata essere una soluzione troppo semplificata • La realizzazione della scheda elettronica su board millefori ha comportato numerosi problemi di falso-contatto durante la fase di test

  22. Sviluppi futuri • Realizzazione di un PCB dell’architettura elettronica definitiva • Sostituzione delle fotoresistenze con fototransistor e mosfet di condizionamento segnale • Scrittura del codice in C • Implementazione di uno Heap al fine di gestire in modo parallelo i vari task previsti dal comportamento reattivo del robot • Inserimento di una connessione wireless per debug senza fili • Collegamento della cella fotovoltaica per la ricarica solare

  23. Grazie

More Related