Sommario:

Robot di navigazione con sensori a scarpa, senza GPS, senza mappa: 13 passaggi (con immagini)
Robot di navigazione con sensori a scarpa, senza GPS, senza mappa: 13 passaggi (con immagini)

Video: Robot di navigazione con sensori a scarpa, senza GPS, senza mappa: 13 passaggi (con immagini)

Video: Robot di navigazione con sensori a scarpa, senza GPS, senza mappa: 13 passaggi (con immagini)
Video: Quando provi a fare un complimento a una ragazza... 2024, Dicembre
Anonim

Di obluobluFollow About: oblu è un sensore di navigazione per interni Maggiori informazioni su oblu »

Il robot si muove in un percorso preprogrammato e trasmette (tramite bluetooth) le sue informazioni di movimento effettive a un telefono per il monitoraggio in tempo reale. Arduino è pre-programmato con il percorso e oblu viene utilizzato per rilevare il movimento del robot. oblu trasmette le informazioni di movimento ad Arduino a intervalli regolari. Sulla base di ciò, Arduino controlla i movimenti delle ruote per consentire al robot di seguire il percorso predefinito.

Passaggio 1: UNA BREVE INTRODUZIONE

UNA BREVE INTRODUZIONE
UNA BREVE INTRODUZIONE

Il progetto consiste nel far muovere il robot in un percorso predefinito con precisione, senza utilizzare GPS o WiFi o Bluetooth per il posizionamento, nemmeno mappe o planimetrie dell'edificio. E disegna il suo percorso effettivo (alla scala), in tempo reale. Il bluetooth può essere utilizzato come sostituto del cavo, per trasmettere informazioni sulla posizione in tempo reale.

Fase 2: L'INTERESSANTE STORIA DI SFONDO

L'INTERESSANTE STORIA DI SFONDO
L'INTERESSANTE STORIA DI SFONDO

L'obiettivo principale del nostro team è sviluppare sensori di navigazione pedonale montati su scarpe. Tuttavia, siamo stati contattati da un gruppo di ricerca accademico con l'esigenza di navigare in un robot all'interno e di monitorare simultaneamente la sua posizione in tempo reale. Volevano utilizzare tale sistema per mappare le radiazioni in una camera chiusa o rilevare perdite di gas in un impianto industriale. Tali luoghi sono pericolosi per gli esseri umani. alla ricerca di una soluzione robusta per la navigazione interna del nostro robot basato su Arduino.

La nostra scelta ovvia per qualsiasi modulo sensore di movimento (IMU) era "oblu" (Rif. immagine sopra). Ma la parte difficile qui era che il firmware esistente di oblu era adatto per il PDR (Pedestrian Dead Reckoning) o la navigazione pedonale per interni montati su piedi, in parole semplici. Le prestazioni PDR di oblu in interni come IMU su piedi sono piuttosto impressionanti. La disponibilità dell'app Android (Xoblu) per il monitoraggio in tempo reale di oblu come sensore di scarpe, aggiunge al vantaggio. Tuttavia, la sfida consisteva nell'utilizzare il suo algoritmo esistente, basato sul modello di camminata umana, per la navigazione del robot e il suo monitoraggio.

Step 3: UNA BREVE INTRODUZIONE A "oblu"

Image
Image
DESCRIZIONE DEL SISTEMA
DESCRIZIONE DEL SISTEMA

"oblu" è una piattaforma di sviluppo miniaturizzata, a basso costo e opensource destinata ad applicazioni di rilevamento del movimento indossabili. Funziona con una batteria ricaricabile agli ioni di litio e consente la ricarica della batteria USB integrata. Dispone di un modulo Bluetooth integrato (BLE 4.1) per la comunicazione wireless. "oblu" ospita un microcontrollore a virgola mobile a 32 bit (AT32UC3C di Atmel) che consente di risolvere complesse equazioni di navigazione a bordo. Quindi si esegue tutta l'elaborazione del movimento su oblu stesso e si trasmette solo il risultato finale. Ciò rende estremamente semplice l'integrazione di oblu con il sistema associato. "oblu" ospita anche un array multi-IMU (MIMU) che consente la fusione dei sensori e migliora le prestazioni di rilevamento del movimento. L'approccio MIMU aggiunge all'unicità di "oblu".

I calcoli interni di oblu si basano sulla camminata umana. oblu emette lo spostamento tra due passaggi successivi e il cambio di rotta. Come - quando il piede tocca il suolo, la velocità della suola è zero, cioè la suola è ferma. In questo modo oblu rileva i "passi" e corregge alcuni errori interni. E questa frequente correzione degli errori si traduce in ottime prestazioni di tracciamento. Quindi qui sta il trucco. E se anche il nostro robot camminasse allo stesso modo: muovi, ferma, muovi, ferma… Infatti, oblu potrebbe essere utilizzato per qualsiasi oggetto il cui movimento ha momenti regolari zero e diversi da zero. Così siamo andati avanti con oblu e in pochissimo tempo abbiamo potuto assemblare il nostro robot e il sistema di tracciamento.

Fase 4: QUAL È L'UTILITÀ DI "oblu"?

Trascorriamo quasi il 70% del nostro tempo al chiuso. Pertanto, ci sono molte applicazioni che richiedono la navigazione interna di esseri umani e macchine. La soluzione di posizionamento più comunemente utilizzata è il GPS/GNSS satellitare, ottimo per la navigazione all'aperto. Fallisce in ambienti interni o in ambienti urbani non accessibili al cielo sereno. Tali applicazioni sono il geo-rilevamento degli slum o delle aree sotto la fitta chioma degli alberi, la navigazione interna di robot, il posizionamento degli agenti di soccorso per la lotta antincendio, gli incidenti minerari, la guerriglia urbana, ecc.

Il predecessore di oblu è stato introdotto come un sensore da scarpa molto compatto (o un sensore PDR) per il posizionamento dei vigili del fuoco, che è stato successivamente aggiornato e modificato come una piattaforma di sviluppo altamente configurabile per i produttori che cercano un facile-preciso- soluzione di rilevamento inerziale conveniente per la navigazione interna di esseri umani e robot. Finora, gli utenti di oblu hanno dimostrato le sue applicazioni nel tracciamento dei pedoni, nella sicurezza industriale e nella gestione delle risorse, nella polizia tattica, nel rilevamento geografico dell'area priva di GPS, nel robot di navigazione automatica, nella robotica assistiva, nei giochi, nell'AR/VR, nel trattamento dei disturbi del movimento, nella comprensione della fisica di movimento ecc. oblu è adatto per applicazioni con vincoli di spazio, ad es sensore di movimento indossabile. Può essere utilizzato anche come IMU wireless, grazie al Bluetooth integrato. La presenza di capacità di elaborazione in virgola mobile integrata, insieme a quattro array IMU, rende possibile la fusione dei sensori e l'elaborazione del movimento all'interno del modulo stesso, che a sua volta si traduce in un rilevamento del movimento molto accurato.

Step 5: LA STORIA DEL PROGETTO

Image
Image

La storia di questo progetto è nel video…

Passaggio 6: DESCRIZIONE DEL SISTEMA

Il robot si muove lungo un percorso preprogrammato e trasmette (tramite bluetooth) le informazioni sul movimento effettivo a un telefono per il monitoraggio in tempo reale.

Arduino è pre-programmato con il percorso e oblu viene utilizzato per rilevare il movimento del robot. oblu trasmette le informazioni di movimento ad Arduino a intervalli regolari. Sulla base di ciò, Arduino controlla i movimenti delle ruote per consentire al robot di seguire il percorso predefinito.

Il percorso del robot è programmato come un insieme di segmenti di linea retta. Ogni segmento di linea è definito dalla sua lunghezza e dal suo orientamento rispetto al precedente. Il movimento del robot è mantenuto discreto, cioè si muove in linea retta, ma in segmenti più piccoli (chiamiamo "passi" per semplicità). Alla fine di ogni falcata, oblu trasmette ad Arduino la lunghezza della falcata e l'entità della deviazione (cambiamento di orientamento) dalla linea retta. Arduino corregge l'allineamento del robot in ogni fase della ricezione di tali informazioni, se rileva una deviazione dalla linea retta predefinita. Come da programma, il robot dovrebbe sempre muoversi in linea retta. Tuttavia, può deviare dalla linea retta e può camminare ad un certo angolo o percorso obliquo a causa di non idealità come superficie irregolare, squilibrio di massa nell'assemblaggio del robot, squilibrio architettonico o elettrico nei motori a corrente continua o l'orientamento casuale della ruota anteriore a corsa libera. Fai un passo… correggi la tua direzione… vai avanti. Il robot si muove anche all'indietro se percorre più della lunghezza programmata di quel particolare segmento di linea. La lunghezza del passo successivo dipende dalla distanza rimanente da coprire di quel particolare segmento di linea retta. Il robot fa grandi passi quando la distanza da percorrere è maggiore e fa passi minori vicino alla destinazione (cioè alla fine di ogni segmento di linea retta). oblu trasmette i dati ad Arduino e al telefono (tramite bluetooth) contemporaneamente. Xoblu (l'app per Android) esegue alcuni semplici calcoli per costruire il percorso in base alle informazioni di movimento ricevute dal robot, che vengono utilizzate per il monitoraggio in tempo reale sul telefono. (La costruzione del percorso utilizzando Xoblu è illustrata nella seconda immagine).

In sintesi, oblu rileva il movimento e comunica le informazioni sul movimento ad Arduino e al telefono a intervalli regolari. In base al percorso programmato e alle informazioni di movimento (inviate da oblu), Arduino controlla i movimenti delle ruote. Il movimento del robot NON è controllato a distanza ad eccezione dei comandi di start/stop.

Per il firmware di oblu visita

Per il codice Aurduino del robot visita

Fase 7: MODELLAZIONE DEL PERCORSO

MODELLAZIONE DEL PERCORSO
MODELLAZIONE DEL PERCORSO
MODELLAZIONE DEL PERCORSO
MODELLAZIONE DEL PERCORSO

Il robot potrebbe essere controllato al meglio se cammina solo in segmenti rettilinei. Pertanto, il percorso deve essere prima modellato come un insieme di segmenti di linea retta. Le immagini contengono un paio di percorsi di esempio e le loro rappresentazioni in termini di spostamento e orientamento. Ecco come viene programmato il percorso in Arduino.

Allo stesso modo qualsiasi percorso che è un insieme di segmenti di linea retta, può essere definito e programmato in Arduino.

Fase 8: MONTAGGIO DEL CIRCUITO

MONTAGGIO DEL CIRCUITO
MONTAGGIO DEL CIRCUITO

Il diagramma di integrazione del sistema di livello superiore. Arduino e oblu fanno parte dell'assieme hardware. UART è utilizzato per la comunicazione tra Arduino e oblu. (Si prega di notare la connessione Rx/Tx connection.) La direzione del flusso di dati è solo per riferimento. L'intero gruppo hardware comunica con lo smartphone (Xoblu) tramite bluetooth.

Passaggio 9: SCHEMA DEL CIRCUITO

SCHEMA ELETTRICO
SCHEMA ELETTRICO

Le connessioni elettriche dettagliate tra Arduino, oblu, driver del motore e pacco batteria.

Fase 10: PROTOCOLLO DI COMUNICAZIONE:

Di seguito come avviene la comunicazione dei dati tra il sensore oblu montato sul robot e lo smartphone, ovvero Xoblu:

Passaggio 1: Xoblu invia il comando START a oblu Passaggio 2: oblu conferma la ricezione del comando inviando l'ACK appropriato a Xoblu Passaggio 3: oblu invia a Xoblu il pacchetto DATI contenente le informazioni di spostamento e orientamento per ogni passo, ad ogni passo. (passo = ogni volta che viene rilevato movimento zero o fermo). Passaggio 4: Xoblu conferma la ricezione dell'ultimo pacchetto DATI inviando l'ACK appropriato a oblu. (Il ciclo dei passaggi 3 e 4 viene ripetuto fino a quando Xoblu invia STOP. Alla ricezione del comando STOP, oblu esegue il passaggio 5) Passaggio 5: STOP - (i) Arresta l'elaborazione in oblu (ii) Arresta tutte le uscite in oblu Fare riferimento alla nota applicativa di oblu per dettagli di START, ACK, DATA e STOP

Step 11: COME FUNZIONA IMU "oblu" (opzionale):

Presentando alcuni riferimenti sulla panoramica di oblu e sui principali principi di funzionamento di un sensore PDR montato su piede:

Il codice sorgente disponibile di oblu è mirato alla navigazione a piedi. Ed è ottimizzato al meglio per questo scopo. Di seguito il video copre il suo principio di base di funzionamento:

Ecco un paio di semplici articoli sui sensori PDR montati su piedi:1. Segui i miei passi

2. Continua a seguire i miei passi

È possibile fare riferimento a questo documento per i dettagli sulla stima dei pedoni utilizzando i sensori del piede.

Passaggio 12: visita "oblu.io" (opzionale)

Image
Image

Guarda il video per le possibili applicazioni di "oblu":

----------------Condividi i tuoi commenti, suggerimenti e lascia commenti. I migliori auguri!

Fase 13: COMPONENTI

1 oblu (una piattaforma di sviluppo IMU opensource)

1 Smart Motor Robot Car Battery Box Chassis Kit Encoder di velocità fai da te per Arduino

1 tagliere senza saldatura mezza misura

1 cavi jumper maschio/femmina

2 Condensatore 1000 µF

1 driver motore Texas Instruments Dual H-Bridge L293D

1 Arduino Mega 2560 e Genuino Mega 2560

4 Amazon Web Services AA 2800 Ni-MH ricaricabile

Consigliato: