Localizzare uno sciame di robot


9

Ho una stanza di 300 x 300 cm con un soffitto alto 25 cm (sì venticinque centimetri). Contiene 50 piccoli robot a ruote (circa 20 cm x 20 cm). Un computer centrale orchestrerà i movimenti dei robot, usando una rete wireless per inviare loro i comandi di posizione. I robot eseguiranno il proprio controllo di posizione ad anello chiuso per risparmiare larghezza di banda wireless. I robot dispongono di microcontrollori ARM a 32 bit. Hanno sensori di posizione delle ruote e la capacità di eseguire un controllo accurato delle ruote.

Problema: i robot non possono ancora farlo perché non hanno modo di misurare la loro posizione nella stanza.

Domanda: Come si può dare ai robot la capacità di misurare la loro posizione e orientamento con una precisione migliore di ± 5 mm? Sto cercando una soluzione precisa e robusta, che non sia influenzata dalle occlusioni e che non richieda un PC ad alta potenza su ciascun robot. Qualunque sensore sia necessario per la localizzazione può essere facilmente aggiunto ai robot. I microcontrollori possono essere facilmente sostituiti con altri più potenti se la soluzione di localizzazione lo richiede.


Che tipo di sensori hanno i robot e che tipo di potenza computazionale?
DaemonMaker,

1
@DaemonMaker - Aggiunte queste informazioni e cercato di chiarire la domanda.
Rocketmagnet,

1
È un buon aggiornamento @Rocketmagnet ma la domanda è ancora piuttosto aperta. Ci sono molti trucchi nella letteratura sulla localizzazione che potrebbero essere disponibili a seconda di ciò che i robot possono osservare su se stessi, il loro ambiente e l'altro. Ad esempio, c'è un sacco di lavoro legato alla combinazione delle credenze di più robot per aumentare l'accuratezza delle credenze di un dato robot. Ciò può essere ottenuto aggiungendo una piccola telecamera e un marker fiduciale a ciascun robot e non aumenterebbe molto l'elaborazione.
DaemonMaker,

Le occlusioni bloccano la linea di vista xy o anche z? Ad esempio, se sul soffitto sono presenti linee, laser o specchi, i robot saranno in grado di vederli?
James Waldby - jwpat7,

@ jwpat7 - Dato che il soffitto è così basso e praticamente i robot lo toccano, praticamente non c'è mai una linea di mira in direzione Z.
Rocketmagnet

Risposte:


4

Alcune idee dalla parte superiore della mia testa ... In genere puoi avere ogni robot intuire la propria posizione o avere una sorta di sistema di trovare i robot e inviare loro informazioni sulla loro posizione (o una combinazione). Probabilmente usare altre posizioni del robot per localizzare te stesso è un'altra opzione se possono comunicare. È inoltre possibile combinare informazioni sui sensori provenienti da robot e altre fonti.

Ottico

È possibile codificare la posizione assoluta o la posizione relativa sul pavimento o sul soffitto. Un sensore sul robot può guardarli. Un sensore come quello del mouse ottico può ottenere un movimento relativo dalla maggior parte delle superfici anche senza alcun motivo. C'erano topi di vecchio stile che utilizzavano una griglia modellata.

Potresti avere due (o più) telecamere su ogni robot che guarda in direzioni diverse, se le pareti della stanza hanno il giusto tipo di motivo potresti determinare la tua posizione in base alle immagini. Una videocamera che gira è un'altra opzione. L'ostruzione della videocamera da parte di altri robot può essere fonte di preoccupazione.

Un array di sensori o una videocamera sul pavimento o sul soffitto potrebbero individuare i robot e quindi è possibile inviare la posizione dei robot.

Una sorta di sensore ottico rotante in grado di individuare la direzione di un faro ottico (ad esempio un LED).

Suono

Potresti avere alcuni segnali luminosi che emettono cinguettio di ultrasuoni. Se sono tutti sincronizzati (ad es. Ritardo fisso tra di loro), quindi data la loro posizione, è possibile utilizzare un tempo di calcolo del volo per determinare la posizione del robot. Molti anni fa ho lavorato con un digitalizzatore ad ultrasuoni che era preciso a circa un mm su una distanza di circa un metro, quindi sembra nel campo da baseball. A seconda della forma del robot e della configurazione dei riflessi e degli ostacoli dello sciame, potrebbe essere un problema. Avresti bisogno di sperimentare, ma la mia sensazione è che con abbastanza fari potresti ottenere buone prestazioni.

Ecoscandagli su tutti i robot. (gira?) Potrebbe mappare la distanza da altri robot o dalle pareti.

Se qualcuno di questi sembra interessante, posso provare a sviluppare ulteriormente queste idee.


Mi piace il metodo ad ultrasuoni. Mi chiedo se potrei inviarlo attraverso il pavimento in modo che possa viaggiare senza essere disturbato o riflesso dallo sciame.
Rocketmagnet,

@Rocketmagnet: potresti inviarlo attraverso il pavimento. Il problema è accoppiare correttamente il trasduttore che di solito viene fatto con il gel. Probabilmente sarebbe un po 'disordinato per la tua applicazione. Senza il giusto accoppiamento l'ecografia rimbalzerebbe semplicemente sulla superficie. Forse le ruote del tuo robot potrebbero fare il trucco.
Guy Sirton,

@GuySirton Voglio implementare il rilevamento dei cinguettii ad ultrasuoni da un dispositivo che viene emesso da un altro dispositivo. Faccio fatica a farlo perché tutti i componenti che vedo disponibili sono telemetri che emettono e rilevano l'eco. Emettono il range ed è difficile separarli in emettere e ricevere parti. Devo inviare i segnali per via aerea. Qualche puntatore o suggerimento? Grazie!
Negromante,

@necromancer dovresti essere in grado di acquistare trasmettitori / ricevitori ad es. vedere questo digikey.ca/product-detail/en/MA40S4R/490-7706-ND/4358146 e altro nella stessa categoria ...
Guy Sirton,

@GuySirton grazie mille. un grande aiuto!
Negromante,

4

Se il soffitto è una superficie piana che è visibile dalle parti superiori dei robot, è possibile posizionare strisce marcatori (o qualche altro modello fiduciale noto) sul soffitto a intervalli regolari. Le strisce potrebbero essere linee bianche o nere o nastro riflettente stretto, rilevato utilizzando i fotosensori sulla parte superiore dei robot.

Se i sensori di posizione delle ruote e il controllo accurato delle ruote sono abbastanza buoni da mantenere l'accuratezza dei dati di posizione desiderata quando un robot non si è spostato oltre la distanza d da una posizione accuratamente nota, le strisce (che potrebbero essere strisce bianche, strisce nere o nastro riflettente stretto) potrebbe non essere necessario posizionarlo oltre a circa d / √2.

Il software di pianificazione del movimento dovrebbe probabilmente adattarsi. Se la posizione di un robot è costantemente errata quando attraversa una striscia, regolare il rapporto tra i conteggi dell'encoder della ruota e la distanza percorsa; o se si vedesse una striscia se una gamba da viaggio fosse leggermente più lunga, estendere la gamba per attraversare la striscia; oppure spostare per calibrare su più strisce appena prima di qualsiasi operazione sensibile alla posizione; o eseguire operazioni sensibili alla posizione in corrispondenza di un punto di incrocio di strisce.

Esiste una grande varietà di modelli fiduciali possibili. Le strisce ortogonali disposte parallelamente agli assi xey sono probabilmente più semplici da creare e con cui lavorare. Ma vale la pena prendere in considerazione occhi di bue, mirino, zeppe, codici a barre e altri schemi.


+1 Anche se ho letto la tua risposta prima di pubblicare la mia, ho comunque pubblicato praticamente la stessa risposta sui fiducial ... Incolpo la mancanza di sonno.
ThomasH,

@ThomasH, grazie! Sono sorpreso del PO non ha votato a nessuna delle risposte, i quali forniscono alcune informazioni utili.
James Waldby - jwpat7,

4

La bassa distanza tra la parte superiore del robot e il soffitto limita davvero le tue opzioni. Sembra praticamente impossibile ottenere una visione d'insieme centralizzata dell'intera stanza e lavorare da lì.

Non sono sicuro del tipo di "stanza" di cui stai parlando e di quanto puoi strumentarlo, ma potrebbe essere un'opzione per posizionare i marker sul soffitto piuttosto che sui robot. Data la breve distanza, dovresti praticamente riempire completamente il soffitto con piccoli marcatori che possono essere completamente osservati da una videocamera rivolta verso l'alto su ogni singolo robot, anche se potresti essere in grado di posizionare questa videocamera più in basso sul robot, diciamo tra le ruote anteriori e posteriori su entrambi i lati, per offrire un angolo di visione più ampio. Ma la sfida più grande sarebbe quella di stampare abbastanza marcatori distinti per strumentare l'intero soffitto.

In alternativa, potrebbe essere ipotizzabile strumentare il pavimento con un sacco di tag RFID, a condizione che tu possa trovare lettori che hanno un raggio abbastanza piccolo (AFAIK, i lettori RFID ti diranno solo che un certo tag è nel raggio, non dove si trova). Il lettore RFID Phidgets ha già una portata di ca. 3 pollici, quindi a meno che non ti localizzi vedendo quale gruppo di tag puoi osservare (se è possibile osservare più tag contemporaneamente - puoi dire che non ho esperienza lavorativa effettiva con RFID?), Dovresti sperimentare ottenere tag più piccoli e 'proteggerli' in una certa misura dal lettore, in modo che non possano essere letti se non a distanza molto ravvicinata.

Tutto sommato sembra una sfida difficile ma molto interessante. Se è per lavoro, suppongo che non puoi dirci lo scopo del progetto, ma suona sicuramente intrigante :)


Grazie per la risposta. Frustrante, c'è così poco che posso divulgare sul progetto che ha reso molto difficile porre la domanda.
Rocketmagnet,

Stavo pensando la stessa cosa. Le piscine hanno le bandiere colorate in alto e le linee in basso per indicare al nuotatore la sua posizione nella sua corsia nella piscina. Stesso concetto ma 2 assi anziché uno.
zkent,

3

Se un sistema vicon è fuori questione, è possibile utilizzare un sistema di telecamere calibrate per leggere i marker posizionati sopra i robot.

  1. Posiziona le migliori telecamere che puoi aggirare nell'ambiente. Uso $ 20 webcam da amazon.com
  2. Utilizzare gli strumenti di calibrazione di OpenCV per calibrare le telecamere.
  3. Posizionare i marcatori sopra i robot
  4. Le telecamere conoscono le loro posizioni relative nell'ambiente, quindi triangolando le posizioni dei marker, possono produrre con precisione la posizione e l'orientamento dei marker.

Un po 'come quello che hanno fatto questi ricercatori in questo articolo (vedi pagina 16)

Tuttavia, come altri hanno notato, se il soffitto è molto basso, non avrai una buona visuale verso la parte superiore dei robot e avrai difficoltà a usare questo metodo.


Grazie per la risposta. Il problema con qualcosa come Vicon è l'enorme quantità di occlusione che si verifica quando hai 50 robot che affollano una stanza con un soffitto così basso. Penso che questo rende impossibile questo tipo di soluzione.
Rocketmagnet
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.