Lagorino : un robot didattico Open Source
Indice dei contenuti
Introduzione
Lagorino è un piccolo robot didattico, basato su Arduino, costruito con componenti facilmente reperibili nel mercato on line e parti realizzabili dai makers attraverso la stampa 3D o il taglio laser.
Nella sua configurazione base Lagorino è un line follower capace di muoversi seguendo una linea in modo fluido e rapido. E’ allo studio una versione per il minisumo e inoltre i componenti meccanici sono stati scelti in funzione della loro versatilità per cui è possibile modificarlo e adattarlo a progetti ludici o didattici differenti.
Il progetto di Lagorino è nato come supporto ad un corso di robotica di base che si è tenuto a Langhirano (PR) nella primavera del 2017, da cui il nome (incrocio tra il toponimo leggendario “Lagorano” e la scheda arduino). E’ un progetto open e ogni contributo, modifica, espansione e utilizzo non commerciale è promosso e supportato dal progettista e dal RoboMakersLab di Langhirano.
Da un punto di vista didattico, pur nella sua semplicità, Lagorino permette di affrontare tutte le tematiche base della robotica: dispositivi di input e output, controllo motori, programmazione e algoritmi, trasmissione e ricezione dati, interfacciamento con personal computer, ecc.
Inoltre, la possibilità per gli allievi di confrontarsi in semplici competizioni con hardware sostanzialmente uguali, stimola lo studio di soluzioni software più complesse e funzionali.
Meccanica
Il robot didattico Lagorino è stato pensato per essere costruito con costi contenuti, sviluppando parallelamente le conoscenze base per l’utilizzo delle attrezzature che sempre più frequentemente sono a disposizione delle scuole e dei FabLab, come stampanti 3D e/o macchine per il taglio laser.
La meccanica del robot è basata su pochi elementi, alcuni dei quali sono realizzabili sia con stampa 3D che con taglio laser, altri invece solo con stampa 3D e altri da acquistare on-line. I componenti che costituiscono la parte meccanica sono i seguenti:
- Telaio base (stampa 3D o Taglio laser)
- Piastra superiore (stampa 3D o Taglio laser)
- Ruote (stampa 3D)
- Protezione sensori di linea (stampa 3D – grazie al contributo di Marco Gelati)
- Motoriduttore Tamiya Double Gear Box 70168
- Ball Caster Pololu 3/8”
I files necessari per la stampa 3D/taglio laser sono al paragrafo Downloads.
Elettronica
La parte elettronica è sostanzialmente uno shield per Arduino Nano e integra una interfaccia di comunicazione bluetooth, un doppio ponte H (SN754410) per il controllo dei due motori DC, due pulsanti, alcuni led e un doppio connettore femmina che consente un facile accesso a tutti i pin dell’arduino tramite semplici cavetti jumper, similmente a quanto succede sui modelli più grandi (arduino uno, ecc…).
E’ possibile alimentare scheda e motori con due sorgenti separate o con un’unica sorgente da 7 a 12V (ideale è l’utilizzo di una batteria LiPo 2S, ovvero con due celle in serie in modo da avere 7.4V).
E’ quindi possibile e facile connettere sensori o circuiti aggiuntivi a scopo didattico o di test e a questo scopo è inoltre presente una piccola breadboard sulla parte frontale del robot. Il modulo arduino viene alloggiato in un connettore a doppia fila, in modo da permettere il facile collegamento di circuiti ausiliari o il collegamento di strumentazione.
In funzione della facilità di realizzazione e della limitazione del numero di componenti, nonché della possibilità di testare soluzioni software differenti a scopo didattico, sono state fatte alcune scelte circuitali alternative a quelle consuete nel mondo arduino; questo permette sia una programmazione base con l’utilizzo delle librerie standard, sia un approfondimento delle potenzialità del microcontrollore mediante lo studio del datasheet e la scrittura di codice ottimizzato per lo schema hardware.
Maggiori informazioni sulla parte elettronica e gli sketch per Arduino sono disponibili al paragrafo Downloads.
Esplorando le possibili alternative sarà possibile approfondire la teoria e la pratica relativamente a vari argomenti quali, a titolo di esempio:
- Generazione di segnali PWM di frequenza e duty cycle variabile
- Controllo dei motori DC in modalità “looked anti phase” e “sign magnitude”
- Configurazione del modulo bluetooth HC-05 attraverso comandi AT
- Comunicazione seriale wireless con personal computer o smartphone
- Utilizzo avanzato degli ingressi analogici
- Algoritmo ad istogramma per la determinazione dell’errore sulla linea
- Algoritmo P.I.D. per il controllo della posizione del robot sulla linea
La scheda ha tutti i componenti, sia SMD (montaggio superficiale) che TH (attraverso foro) sulla faccia superiore del PCB (circuito stampato), in modo da semplificare il montaggio e la saldatura.
Condizioni d’uso
Data la natura sperimentale e non commerciale del progetto, questo viene fornito così com’è, con i suoi pregi e i suoi difetti e, benché sia difficile pensare a danni o situazioni di pericolo che possano essere provocate da questo piccolo robot, l’autore e i suoi collaboratori declinano ogni responsabilità.
Il progetto può essere liberamente scaricato, utilizzato e modificato per qualsiasi uso a patto che sia citato il nome dell’autore e che sia riportato il link alla pagina facebook di ArtigianatoRobotico.
Sarebbe veramente gradito se gli utilizzatori scrivessero sulla stessa pagina qualche riga circa il tipo di impiego e le eventuali modifiche o aggiunte apportate, che potrebbero essere integrate nella documentazione nel caso fossero giudicate di interesse generale.
Lagorino è in costante evoluzione per cui si invitano gli interessati a seguirne gli sviluppi e gli appuntamenti di gara su ArtigianatoRobotico o sul sito ufficiale del gruppo robotico di Langhirano (PR) www.robomakerslab.it.
Downloads
- File per stampa 3D (346 download)
- File per taglio laser (306 download)
- File EagleCad per realizzazione PCB (381 download)
- Sorgenti Arduino (369 download)
- Manuali PDF (526 download)