Hallo ihr :) Ich habe eine etwas spezielle Frage: Mein Ziel ist es, zwei Roboter so auszustatten, dass einer dem anderen folgen kann (dabei ist einer immer der Verfolger und einer immer der "Voranläufer"). Später soll der "Voranläufer" auch durch einen Menschen ersetzt werden. Ich brauche also eine Möglichkeit, die relative Position von einem Roboter zum anderen herauszufinden (das System kann ruhig auf beide Roboter verteilt werden, es kann also z.B. ein Empfänger, Tag oder ähnliches am Voranläufer angebracht sein. Die Haupteinheit sollte aber auf dem Verfolger installiert werden können. Die Reichweite soll bis zu 2 Meter betragen können, eine Genauigkeit von 10 - 30 cm sollte reichen. Das System sollte überall anwendbar sein (es dürfen keine fixen Sender irgendwo installiert werden). Ich habe mir schon verschiedene Verfahren angeschaut und viel im Forum hier gelesen, hier meine bisherigen Ergebnisse: Für mich am sinnvollsten erscheint es, zwei Abstandsmessungen vorzunehmen und durch Triangulation die Position zu berechnen. (1) GPS/DGPS: Ersteres ist zu ungenau, das zweite ebenfalls (bzw. bei angemessener Genauigkeit weit außerhalb des Budgets). (2) IR/Ultraschall: Schwer umzusetzen. Genauigkeit reicht, aber man bräuchte eine sehr umfangreiche Einheit auf dem voranlaufenden Roboter, was wiederum nicht geht. (3) RFID: Ebenfalls teuer, außerdem habe ich das Verfahren zur Abstandsmessung nicht ganz verstanden. (4) Mechanische Abstandsmessung: Scheidet aus praktischen Gründen aus. (5) Rotierende Abstandsmessung: Ein optischer Abstandsmesser dreht sich z.B. 10 Mal in der Sekunde um sich selbst und zeichnet bei jeder Umdrehung ausreichend viele Abstände auf. Zuerst wird dem Verfolger gezeigt, was er verfolgen soll, und aus dem Abstandsbild wird dann nach jeder Umdrehung die neue relative Position ermittelt. Eher umständlich und nicht leicht umzusetzen, aber theoretisch machbar. Vielleicht kennt ihr noch andere Verfahren / Möglichkeiten, die schon genannten Verfahren besser umzusetzen? Würde mich über alle Anregungen freuen.
RTK GPS mit ublox m8t sollte für einstellige centimeter genauigkeit reichen. Ansonsten hatte hier im forum jemand schonmal die decawave dw1000 vorgestellt, die vielleicht auch eine interessante möglichkeit wären (aber base stations wären wohl nötig).
> IR ... aber man bräuchte eine sehr umfangreiche Einheit auf dem > voranlaufenden Roboter Wieso kannst du da keine Retroreflektoren nehmen. Wie einen Radarreflektor oder so eine Art Warnweste, die IR reflektiert?
Vielleicht Nutzung der Hardware aus einem Wii-Controller? Diese "Sensorbar" in klein nachbauen (besteht nur aus ein paar IR-LEDs) und am Voranläufer befestigen. Im Verfolger dann die Elektronik aus dem Controller. Wobei ich nicht weiß, ob der auch den Abstand kennt oder nur Ausrichtung und Position in Quer- und Hochrichtung.
Wie wäre es optisch? Am entfernten Roboter wird ein eindeutiges Muster aus mehreren Referenzpunkten angebracht, das wird mit einer Kamera erfasst und aus dem Abstand der Referenzpunkte untereinander kann die Distanz berechnet werden. Um Achsenprobleme (nichtrechtwinklige Betrachtung) auszuschließen, könnte das Referenzpunktmuster aus in gleichmäßigem Abstand angebrachten Markierungen auf einem ringförmigen Träger bestehen. Der Ring umschließt den Roboter und ist in Kamerahöhe angebracht. Somit ist, egal aus welcher Richtung auf den Roboter geblickt wird, immer ein Muster wie dieses zu sehen:
1 | # # # # # # # # # # # # |
Der größte Abstand zweier nebeneinanderliegenden Markierungen kennzeichnet die Stelle, die dem messenden Roboter am nächsten zugewandt ist. Mit etwas Trigonometrie ist daraus der Abstand zum messenden Roboter bestimmt. Um sicherzustellen, daß auch wirklich die richtigen Markierungen erfasst werden, können diese --ausreichende Auflösung des Kamerasystems vorausgesetzt-- z.B. um vertikal angeordnete Barcodes mit fortlaufender Numerierung ergänzt werden. Damit wäre auch geklärt, aus welchem Winkel auf den Roboter geblickt wird.
:
Bearbeitet durch User
Erstmal vielen Dank für die schnellen Antworten, auch noch in der Nacht ;) > Wieso kannst du da keine Retroreflektoren nehmen. Wie einen > Radarreflektor oder so eine Art Warnweste, die IR reflektiert? Die einzige Möglichkeit wäre ja, am Verfolger zwei IR-Emitter und Sensoren anzubringen, die zum gleichen Punkt am Voranläufer den Abstand messen, um dann nicht nur den Abstand, sondern auch die Richtung ermitteln zu können. Da sich der Voranläufer aber unvorhergesehen bewegen kann messen die IR-Elemente dann nur nutzlose Werte, weil ihnen der Punkt ja abhanden gekommen ist. Ich müsste ja wenn dann in der Lage sein, die IR-Emitter auf einen immer gleichen Punkt auszurichten, um die Position zu erhalten. Dann hätte ich aber ja schon eine Positionsbestimmung und bräuchte die IR-Elemente nicht mehr. Oder habe ich einen Denkfehler? > Vielleicht Nutzung der Hardware aus einem Wii-Controller? Ich fürchte, die arbeiten nur mit Beschleunigungssensoren und wahrscheinlich noch einem Gyroskop, und übermitteln die Daten dann an die Konsole.. Kann mir kaum vorstellen, dass die Bewegungen relativ zur Konsole gemessen werden... > Wie wäre es optisch? [...] Für kurze Zeit habe ich daran auch gedacht, habe es aber direkt als zu aufwändig abgetan. Die Idee mit Markierungen (evtl. Barcodes) ist zwar machbar, mit der Anwendung in der Zukunft aber eigentlich nicht zu vereinbaren. Ich bin bei etwas Recherche auf OpenCV gestoßen, das wohl auch andere Muster erkennen kann (wenn man es trainiert vielleicht auch Roboter / Menschen?). Damit könnte man dann (wenn es funktioniert) auch optisch so eine "Ortung" sehr gut durchführen. Hat damit jemand Erfahrung, oder kennt vielleicht noch andere ähnliche open source Projekte?
Hans Müller schrieb: > Ich fürchte, die arbeiten nur mit Beschleunigungssensoren und > wahrscheinlich noch einem Gyroskop, und übermitteln die Daten dann an > die Konsole.. Kann mir kaum vorstellen, dass die Bewegungen relativ zur > Konsole gemessen werden... Nö, tun sie nicht. In der WiiMote steckt eine Kamera, die die Position der IR-LEDs im WiiBar (?) erkennt, auswertet und so dann die Zeiger-Position auf dem Fernseher steuert. Dazu gibt es schon diverse Projekte im Internet zu finden. Deine Aufgabenstellung hatten mal eine Projektgruppe an unserer FH. Die konnten auf einen SICK-Sensor zurückgreifen. Der wie deine Lösung (5) funktioniert. Hans Müller schrieb: > (5) Rotierende Abstandsmessung: Ein optischer Abstandsmesser dreht sich > z.B. 10 Mal in der Sekunde um sich selbst und zeichnet bei jeder > Umdrehung ausreichend viele Abstände auf. Zuerst wird dem Verfolger > gezeigt, was er verfolgen soll, und aus dem Abstandsbild wird dann nach > jeder Umdrehung die neue relative Position ermittelt. Eher umständlich > und nicht leicht umzusetzen, aber theoretisch machbar. Allerdings arbeitet der Sensor nur in einem Kreissegment.
Hans Müller schrieb: >> Vielleicht Nutzung der Hardware aus einem Wii-Controller? > > Ich fürchte, die arbeiten nur mit Beschleunigungssensoren und > wahrscheinlich noch einem Gyroskop, und übermitteln die Daten dann an > die Konsole.. Kann mir kaum vorstellen, dass die Bewegungen relativ zur > Konsole gemessen werden... Beides. Der Wii-Controller (Wiimote) enthält eine kleine IR-Kamera, die die IR-LEDs in der "Sensorbar" (ein etwas irreführender Name, da dort kein Sensor enthalten ist) erkennt. Hier sieht mam z.B., wie man die Wiimote für 3D-Headtracking benutzen kann: https://www.youtube.com/watch?v=Jd3-eiid-Uw Rufus Τ. F. schrieb: > Wie wäre es optisch? > > Am entfernten Roboter wird ein eindeutiges Muster aus mehreren > Referenzpunkten angebracht, das wird mit einer Kamera erfasst und aus > dem Abstand der Referenzpunkte untereinander kann die Distanz berechnet > werden. So funktioniert im Prinzip die Wiimote. Billiger als da dürfte man sowas nicht bekommen.
:
Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.