Progetto Bertoo - Biblioteca comunale di Concesio
40989
post-template-default,single,single-post,postid-40989,single-format-standard,ajax_updown_fade,page_not_loaded,,qode-title-hidden,qode-theme-ver-7.7,wpb-js-composer js-comp-ver-4.7.4,vc_responsive

04 Ott Progetto Bertoo

L'idea è semplice … la realizzazione un po' meno.
Si tratta di un piccolo robot a forma di carrello dotato di motori e alimentato a batteria, che svolga le funzioni di aiutante bibliotecario, dovrebbe cioè condurre la persona che cerca un lungo i corridoi della fino ad arrivare davanti allo scaffale giusto, indicando con un puntatore laser la copertina del libro cercato.
Sembra un'idea da fantascienza o la sceneggiatura di un , eppure è fattibile e noi del BiblioLab lo stiamo realizzando!

Abbiamo costruito un primo prototipo, piuttosto “grezzo” ma con molte funzionalità

In apparenza poco più di un giocattolo ma è servito per “farci le ossa” .

Poi ci fu un secondo prototipo più evoluto, già in grado di ricevere via Bluetooth un percorso assegnato ed eseguirlo.

Ci siamo resi conto a questo punto che bisognava ripensare il tutto per vari motivi, tra cui il cablaggio con breadboard e vari fili quasi volanti che facilmente perdevano le connessioni.
Inoltre il prototipo utilizzava 4 schede Arduino UNO tra loro connesse via I2C bus e probabilmente se ne sarebbero dovute aggiungere altre.
Questa proliferazione di schede non sarebbe un grande problema se non fosse che ogni modifica diventava un incubo, infatti si doveva scegliere la scheda giusta, eventualmente anche quelle che risentivano della modifica in modo indiretto, riprogrammare il tutto e accorgersi poi che servivano anche aggiornamenti su altre schede, insomma la cosa diventava ingestibile.

Abbiamo deciso di mantenere l'ambiente Arduino ma abbiamo anche valutato altre alternative, principalmente il Raspberry e una SBC (Single Board Computer).
Il Raspberry sarebbe un'ottima scelta sotto tutti i punti di vista ma richiede una buona conoscenza di Linux e non è così vicino all'hardware come il mondo Arduino.
E' vero che si può programmare tutto in Python ma aggiornamenti del sistema operativo o aggiunte di moduli software richiedono necessariamente Linux e se qualcosa non va a buon fine è impossibile uscirne senza una confidenza a livello professionale.
Nel nostro gruppo nessuno aveva una conoscenza abbastanza approfondita di questo Sistema Operativo quindi l'abbiamo abbandonato.
La scelta di una scheda SBC era improponibile perché richiederebbe tastiera, monitor, mouse come un vero e proprio PC.
Arduino invece, è stato rinnovato di recente con un IDE evoluto, sono uscite schede in grado di competere con Raspberry, è ben conosciuto da tutti e facilmente comprensibile anche per appassionati non professionisti. Per avere un hardware all'altezza, abbiamo scelto la scheda ESP32 completa di WiFi, BLE e tutte le classiche periferiche di Arduino.

Il nostro BERTO si deve muovere da solo e viaggiare per la biblioteca quindi deve poter svoltare, retrocedere, girare su se stesso, evitare gli ostacoli e soprattutto sapere dove si trova.
La struttura è già fatta, abbiamo scelto una valigetta porta-attrezzi, svuotata e fissata su un telaio in alluminio a cui sono fissati due motori con rispettive ruote motrici da un lato e due ruote libere dal lato opposto.

I due motori sono del tipo passo-passo il che potrebbe stupire a prima vista dato che solitamente nei comuni robot si usano i classici motori in Corrente Continua.
Perché una scelta così insolita?
Questi motori sono semplici, economici e reperibili.
Sono anche facili da pilotare grazie ad una schedina Driver apposita, inoltre sono perfetti per manovre calibrate ad esempio per una rotazione precisa o per far girare su stesso il carrello.
Non richiedono un Encoder e nemmeno un gruppo riduttore.
Non hanno una grande coppia ma pilotandoli con attenzione cioè senza mai partire al 100% ma sempre in rampa, vanno abbastanza bene.

Le due ruote motrici sono calettate direttamente sugli alberi motore.

Per quanto riguarda l'orientamento, che è l'aspetto più problematico per un robot autonomo, ci sono state lunghe discussioni.
La conclusione è che ricavare una posizione assoluta è praticamente impossibile (almeno al nostro livello di hobbisti).
Il GPS non ha senso perché non abbastanza preciso, una bussola magnetica è troppo influenzata dagli scaffali metallici e darebbe solo una informazioe angolare.
Il segnale WiFi potrebbe in teoria essere usato a patto di installare una serie di router e poi elaborare il segnale ricevuto sull base dlla sua intensità, cosa troppo complessa che richiederebbe anche antenne particolari.
Una navigazione inerziale sarebbe possibile ma senza correzioni porterebbe ad errori macroscopici.
L'installazione a pavimento di target tipo RFID si è rivelata impraticabile e inaffidabile.
Alla fine, fortunatamente, ci siamo accorti che la soluzione era scritta sul pavimento grazie al fatto che le mattonelle di colore chiaro sono separate da fughe di colore scuro, per cui basta seguirle e tutto avviene come se dovessimo percorrere una scacchiera.
Dunque basta un inseguitore di fughe e il gioco è fatto, o quasi.
Si devono anche riconoscere gli incroci e poi svoltare in base ad un programma prefissato del tipo:
Prosegui diritto per 5 incroci, al 6° svolta a destra e prosegui per altri 8 incroci poi svolta a sinistra ecc..
Se ad ogni libro associamo il percorso e aggiungiamo il livello di scaffale, il nostro obiettivo potrebbe essere raggiunto.

Progetto dell'inseguitore della linea di fuga.
A differenza di tutti i sistemi attualmente usati per inseguire una linea scura (line-tracking) , abbiamo realizzato un meccanismo ad “anello chiuso” .
Ne parleremo alla prossima puntata

Nessun commento

Sorry, the comment form is closed at this time.

Whatsapp della Biblioteca
Contattaci via WhatsApp