Ich habe ein 300 cm x 300 cm großes Zimmer mit einer 25 cm hohen Decke (ja fünfundzwanzig Zentimeter). Es enthält 50 kleine Roboter mit Rädern (ca. 20 cm x 20 cm). Ein zentraler Computer koordiniert die Bewegungen der Roboter und sendet über ein drahtloses Netzwerk Positionsbefehle an sie. Die Roboter führen ihre eigene Positionssteuerung durch, um drahtlose Bandbreite zu sparen. Die Roboter verfügen über 32-Bit-ARM-Mikrocontroller. Sie haben Radpositionssensoren und die Fähigkeit, eine genaue Radsteuerung durchzuführen.
Problem: Die Roboter können dies noch nicht tun, da sie ihre Position im Raum nicht messen können.
Frage: Wie können die Roboter ihre Position und Ausrichtung mit einer Genauigkeit von besser als ± 5 mm messen? Ich suche nach einer genauen und robusten Lösung, die nicht von Okklusionen betroffen ist und nicht für jeden Roboter einen Hochleistungs-PC benötigt. Welche Sensoren für die Lokalisierung erforderlich sind, können den Robotern problemlos hinzugefügt werden. Die Mikrocontroller können leicht gegen leistungsstärkere ausgetauscht werden, wenn die Lokalisierungslösung dies erfordert.
quelle
Antworten:
Einige Ideen aus meinem Kopf ... Im Allgemeinen können Sie entweder jeden Roboter seine eigene Position erkennen lassen oder ein System die Roboter finden lassen und ihnen Informationen über ihre Position (oder eine Kombination) senden. Möglicherweise ist die Verwendung anderer Roboterpositionen, um sich selbst zu lokalisieren, eine weitere Option, wenn sie kommunizieren können. Sie können auch Sensorinformationen von Robotern und anderen Quellen kombinieren.
Optisch
Sie können entweder die absolute Position oder die relative Position auf dem Boden oder der Decke codieren. Ein Sensor am Roboter kann diese anzeigen. Ein Sensor wie der in Ihrer optischen Maus kann auch ohne Muster Relativbewegungen von den meisten Oberflächen erhalten. Es gab ältere Mäuse, die ein gemustertes Gitter verwendeten.
Sie könnten zwei (oder mehr) Kameras an jedem Roboter haben, die in verschiedene Richtungen schauen. Wenn die Wände des Raums das richtige Muster haben, können Sie Ihren Standort anhand der Bilder bestimmen. Eine sich drehende Kamera ist eine weitere Option. Die Behinderung der Kamera durch andere Roboter kann ein Problem sein.
Ein Sensorarray oder eine Kamera im Boden oder in der Decke könnte die Roboter lokalisieren, und dann können Sie den Robotern ihren Standort senden.
Eine Art sich drehender optischer Sensor, der die Richtung eines optischen Beacons (z. B. einer LED) lokalisieren kann.
Klang
Sie könnten ein paar Leuchtfeuer haben, um Ultraschall-Zwitschern auszusenden. Wenn sie alle synchronisiert sind (z. B. eine feste Verzögerung zwischen ihnen), können Sie anhand ihres Standorts eine Flugzeitberechnung verwenden, um die Position des Roboters zu bestimmen. Vor vielen Jahren habe ich mit einem Ultraschall-Digitalisierer gearbeitet, der über eine Entfernung von ungefähr einem Meter auf ungefähr einen mm genau war, so dass es im Stadion zu sein scheint. Abhängig von der Form Ihres Roboters und der Konfiguration des Schwarms können Reflexionen und Hindernisse ein Problem sein oder auch nicht. Sie müssten experimentieren, aber mein Bauchgefühl ist, dass Sie mit genügend Beacons eine gute Leistung erzielen können.
Ultraschall-Entfernungsmesser an jedem Roboter. (dreht sich?) Könnte die Entfernung zu anderen Robotern oder den Wänden abbilden.
Wenn eines davon interessant klingt, kann ich versuchen, diese Ideen ein wenig weiterzuentwickeln.
quelle
Wenn die Decke eine flache Oberfläche ist, die von der Oberseite der Roboter aus sichtbar ist, können Sie in regelmäßigen Abständen Markierungsstreifen (oder ein anderes bekanntes Bezugsmuster) an der Decke anbringen. Die Streifen können weiße oder schwarze Linien oder schmales reflektierendes Klebeband sein, die mithilfe von Fotosensoren auf Robotern erkannt werden.
Wenn Radpositionssensoren und eine genaue Radsteuerung gut genug sind, um die gewünschte Genauigkeit der Positionsdaten aufrechtzuerhalten, wenn sich ein Roboter nicht weiter als bis zur Entfernung d von einer genau bekannten Position bewegt hat , werden die Streifen (die weiße Streifen, schwarze Streifen oder schmales reflektierendes Band sein können) muss möglicherweise nicht weiter als etwa d / √2 voneinander entfernt platziert werden.
Die Bewegungsplanungssoftware müsste sich wahrscheinlich anpassen. Wenn die Position eines Roboters beim Überqueren eines Streifens durchweg falsch ist, passen Sie das Verhältnis der Anzahl der Radgeber zur zurückgelegten Strecke an. oder wenn ein Streifen zu sehen wäre, wenn ein Reisebein nur etwas länger wäre, strecken Sie das Bein aus, um den Streifen zu kreuzen; oder bewegen Sie sich, um kurz vor positionsempfindlichen Operationen gegen mehrere Streifen zu kalibrieren; oder führen Sie positionsempfindliche Operationen an einem Streifenkreuzungspunkt durch.
Es sind eine Vielzahl von Bezugsmustern möglich. Orthogonale Streifen, die parallel zur x- und y-Achse angeordnet sind, sind wahrscheinlich am einfachsten zu erstellen und zu bearbeiten. Aber auch Bullaugen, Fadenkreuz, Keile, Strichcodes und andere Muster sind eine Überlegung wert.
quelle
Der geringe Abstand zwischen der Oberseite des Roboters und der Decke schränkt Ihre Möglichkeiten wirklich ein. Es scheint so gut wie unmöglich, sich einen zentralen Überblick über den gesamten Raum zu verschaffen und von dort aus zu arbeiten.
Ich bin mir nicht sicher, um welche Art von "Raum" es sich handelt und wie viel Sie instrumentieren können, aber es könnte eine Option sein, Markierungen an der Decke anstatt an den Robotern anzubringen. Angesichts der kurzen Entfernung müssten Sie die Decke so gut wie vollständig mit winzigen Markierungen füllen, die von einer nach oben weisenden Kamera an jedem einzelnen Roboter vollständig beobachtet werden können, obwohl Sie diese Kamera möglicherweise tiefer auf dem Roboter positionieren können, beispielsweise dazwischen Die Vorder- und Hinterräder auf beiden Seiten sorgen für einen größeren Betrachtungswinkel. Die größte Herausforderung wäre jedoch, genügend eindeutige Markierungen zu drucken, um die gesamte Decke zu instrumentieren.
Alternativ könnte es denkbar sein, den Boden mit vielen RFID-Tags zu instrumentieren, vorausgesetzt, Sie finden Lesegeräte mit einer ausreichend kleinen Reichweite (AFAIK, RFID-Lesegeräte sagen Ihnen nur, dass sich ein bestimmtes Tag in Reichweite befindet, nicht dort, wo es sich befindet). Der Phidgets RFID-Leser hat bereits eine Reichweite von rd. Wenn Sie also nicht lokalisieren, indem Sie sehen, welche Gruppe von Tags Sie beobachten können (wenn es möglich ist, mehrere Tags gleichzeitig zu beobachten - können Sie sagen, dass ich keine tatsächliche Berufserfahrung mit RFID habe?), Müssen Sie experimentieren kleinere Tags erhalten und sie bis zu einem gewissen Grad vom Leser "abschirmen", so dass sie nur aus nächster Nähe gelesen werden können.
Alles in allem scheint es eine schwierige, aber sehr interessante Herausforderung zu sein. Wenn es für die Arbeit ist, können Sie uns den Zweck des Projekts vermutlich nicht mitteilen, aber es klingt auf jeden Fall faszinierend :)
quelle
Wenn ein Vicon-System nicht in Frage kommt, können Sie ein System kalibrierter Kameras verwenden, um Markierungen auf den Robotern zu lesen.
So ähnlich wie diese Forscher in diesem Artikel (siehe Seite 16)
Wie andere bereits bemerkt haben, haben Sie bei einer sehr niedrigen Decke keine gute Sichtlinie zur Oberseite der Roboter, und es wird Ihnen schwer fallen, diese Methode anzuwenden.
quelle