Wie erstelle ich eine "unsichtbare Linie nach dem Roboter"?


10

Ich möchte einen Roboter bauen, der einem virtuellen Pfad folgt (kein sichtbarer Pfad wie eine „schwarze Linie auf einer weißen Oberfläche“ usw.).

Ich bin einfach begeistert, wenn ich einige Science-Fiction-Videos sehe, die zeigen, wie Roboter Waren und Materialien an einem überfüllten Ort transportieren. Und sie folgen wirklich keiner physischen Linie. Sie spüren Hindernisse, Tiefe usw.

Ich möchte einen solchen Roboter bauen, der einem bestimmten (virtuellen) Pfad von Punkt A nach B folgt.

Ich habe ein paar Dinge ausprobiert:

  1. Verwendung eines magnetischen "Hall-Effekt" -Sensors am Roboter und eines stromführenden Kabels (unter dem Tisch). Das Problem hierbei war, dass die Umgebung des Hall-Effekt-Sensors so klein ist (<2 cm), dass es sehr schwierig ist zu beurteilen, ob sich der Roboter in der Linie oder außerhalb der Linie befindet. Selbst die Verwendung einer Reihe von Magneten konnte dieses Problem nicht lösen, da mein Tisch 1 Zoll dick ist. Also floppte diese Idee: P.

  2. Verwenden einer ultravioletten Farbe (auf einer Linie) und Verwenden von UV-LEDs am Roboter als Sensoren. Dies gibt dem Roboter mehr Zick-Zack-Bewegung. Und aufgrund möglicher Bedrohungen durch die Verwendung von UV-Lichtquellen ist sogar diese Idee gescheitert: P.

Ich dachte schließlich daran, eine Kamera oben zu haben und Bildverarbeitungsalgorithmen zu verwenden, um zu sehen, ob der Roboter in der Leitung ist oder divergiert.

Gibt es eine bessere Lösung als diese? Wirklich auf der Suche nach kreativen und einfachen Lösungen. :) :)


Kennen Sie sich mit Sonarsensoren und SLAM und verwandten Themen aus? Oft folgen Roboter keinem vordefinierten Pfad und "erfassen" die Hindernisse durch Sensoren wie Sonar, erstellen eine Karte und verwenden dann Pfadplanungsalgorithmen, um ihren Weg zu finden.
Shahbaz

Danke für die Antwort :) Ja, ich bin mit Ultraschall- und Sonarsensoren vertraut ... eigentlich möchte ich, dass sich ein Roboter auf einem bestimmten Pfad von Punkt A nach Punkt B bewegt, und das auch auf einem Tisch (3 Fuß über dem Boden) ... Und das Erstellen einer Karte in dieser Umgebung ist wirklich eine komplizierte Sache ... Also irgendwelche Vorschläge?
Nitin

4
Ich war gerade dabei, diese Frage zu beantworten, aber ich habe festgestellt, dass Sie zwei widersprüchliche Dinge fragen. Mit "unsichtbare Linie" meinen Sie "eine Linie, die mit bloßem Auge nicht sichtbar ist, z. B. eine durch magnetische oder UV-Signale definierte Linie ", oder "eine Linie, die virtuell - innerhalb des Roboters - basierend auf" existiert wohin es will und welche Hindernisse es auf dem Weg dorthin spürt "? Um es anders auszudrücken: Zeichnen Sie die Linie, der der Roboter folgen soll, oder zeichnet der Roboter sie?
Ian

Hallo Lan, ich möchte einen autonomen Roboter, der alleine von einem Punkt zum anderen navigieren soll. Dazu benötigt es eine Referenzlinie oder einen Pfad. Ein Linienfolger-Roboter ist die einfachste Lösung, aber ich suche nach einer fortschrittlichen und robusten Lösung. Und das kann so etwas wie eine Linie sein, die mit bloßem Auge nicht sichtbar ist, oder eine virtuelle Linie, die vom Roboter erstellt wurde. Der Roboter zeichnet nicht die Linie, er folgt nur. anders ausgedrückt, die Linie (virtuell) wird von mir definiert. Zumindest könnte "Bildverarbeitung" eine Lösung sein, wenn etwas anderes nicht funktioniert. Aber ich suche nach einfachen Lösungen :)
Nitin

@nitin, vielleicht sollten Sie die Verwendung von Begriffen wie "allein navigieren" vermeiden, da dies automatisch bedeutet, dass der Pfad undefiniert ist und dem Roboter überlassen bleibt, um ihn zu finden. Was Sie wollen, scheint ein Roboter zu sein, der der Linie folgt und nicht in der Lage ist, seinen eigenen Weg zu finden, wenn ihm keine Anweisungen gegeben werden.
Shahbaz

Antworten:


3

Es gibt viele Möglichkeiten, dieses Problem anzugehen, und alle hängen vom verfügbaren Material und dem Fachwissen des Roboterherstellers ab.

Kurz gesagt, das Kriterium ist:

  1. Der Roboter muss auf einem vordefinierten Weg von Punkt A nach B gelangen.
  2. Der eingeschlagene Weg darf nicht einer für das menschliche Auge sichtbaren Linie folgen.

Abhängig von der Länge des Pfades kann die Verwendung von Encodern ausreichend sein. Es sollte jedoch beachtet werden, dass aufgrund der physikalischen Ungenauigkeit die Drift die Kilometerzähler (was wir als Encoder zur Entfernungsmessung bezeichnen) für große Entfernungen unpraktisch macht. Dies ist jedoch für kurze Strecken einfach und sollte zumindest berücksichtigt werden.

Wenn die Entfernung nur für die Kilometerzähler zu groß ist, sollte ein Sensor zur Messung von Kurven verwendet werden (z. B. ein Gyroskop oder ein Kompass ). Kurven führen in der Regel zu den meisten Fehlern bei der Kilometerzähler (das Messen entlang einer geraden Linie weist nicht zu viele Fehler auf). Daher kann die Verwendung eines Sensors für Kurven manchmal die Kilometerzähler zu einer praktikablen Lösung machen.

Wenn Kilometerzähler oder Kilometerzähler + gefühltes Drehen nicht funktionieren, können wir kreativ sein. Wenn Sie möchten, dass der Roboter einem Pfad folgt, der hauptsächlich aus geraden Segmenten besteht, können Sie IR-LEDs an bestimmten "Wegpunkten" auf dem Tisch platzieren und den Roboter diese LEDs erkennen lassen und in Reihe zu jedem Wegpunkt fahren.

Dies hinterlässt jedoch immer noch einige visuelle Markierungen auf dem Tisch (obwohl dies bis zu einem gewissen Grad getarnt sein könnte), und es wäre großartig, darauf verzichten zu können. Ein anderer Ansatz wäre die Verwendung von Laserpointern, die parallel zur Oberfläche des Tisches leuchten, jedoch einige Zentimeter über dem Tisch. Der Roboter könnte einen Fotowiderstand verwenden, um zu erkennen, wann er einen Laser kreuzt, und dies könnte ihn wissen lassen, wann er sich drehen muss.

Alles in allem denke ich, dass die mit einem Winkelsensor erweiterte Kilometerzähler wahrscheinlich die beste Wahl für Ihren Roboter ist, zumindest so, wie Sie es beschrieben haben. Ich kann mir vielleicht mehr Optionen vorstellen, aber das ist alles, was ich gerade sehe.

Nur neugierig - warum soll die Linie unsichtbar sein? Zu wissen, warum, könnte weitere Möglichkeiten eröffnen.


Vielen Dank @anorton :) :) "Odometry" + "Sensoren wie Gyroskop oder Kompass": - Volltreffer;) Ich bin sicher, das wird definitiv funktionieren. Und im Vergleich zu Bildverarbeitungstechniken scheint dies ziemlich einfach zu sein. Ja, ich habe die Lösung, danke :) Ich werde Sie über den Fortschritt des Projekts und andere Herausforderungen auf dem Laufenden halten.
Nitin

Übrigens war der springende Punkt, um die Linie unsichtbar zu machen,: "Eine schwarze Linie auf der Oberfläche und ein Roboter, der der Linie folgt". Und ich fand, dass es auf industrieller Ebene nicht geschätzt wird. Menschen brauchen einen hoch entwickelten und intelligenten Roboter, um ihre Arbeit zu erledigen. Also habe ich an diesem Projekt gearbeitet, um einen Roboter mit höherer Stabilität und Robustheit zu bauen. Ein Roboter, der nicht leicht zu hacken ist. Anders ausgedrückt, eine gewöhnliche Person sollte die Technologie hinter dem Roboter nicht kennen :)
Nitin

2

Anki verwendet optische Sensoren in ihren Spielzeugautos, um Linienfolger zu implementieren. Die optischen Sensoren sind im IR-Bereich empfindlich. Die Tatsache, dass die Linien nicht sichtbar sind, lässt sich leicht erklären: Die Linien sind mit schwarzer Farbe beschichtet, die im IR-Bereich transparent ist. Paliogenschwarz L 86 oder Paliogenschwarz S 84 von BASF sind solche Farben. Wenn Sie Barcodes entlang der Linien platzieren, können Sie sogar absolute Positionsinformationen von den optischen Sensoren erhalten.


0

Ich habe eine kurze Antwort auf Ihre Frage. Dies gilt nur für einen ROS-fähigen Roboter. Es gibt viele Möglichkeiten, dies zu tun, aber so habe ich es getan. Ich habe ROS und Kuka Youbot benutzt. Es könnte jeder Roboter sein, der ROS verwendet. Es ist sehr hilfreich, ROS zu kennen, wenn Sie vorhaben, in der Robotik zu arbeiten.

ROS verwenden Verwenden Sie dann GMapping, um Ihre Umgebung abzubilden. Beispiel Zimmer oder Flur und speichern Sie die Karte. Geben Sie dann mit RVIZ die Zielposition in der Karte an.


0

Nun, Sie brauchen keine Leitung für diese Angelegenheit. Das einzige, was Sie wahrscheinlich brauchen würden, sind globale Koordinaten. Wenn Sie Ihren Roboter in einem durch globale Koordinaten definierten Feld platzieren und einfache Regeln der Newtonschen Physik anwenden können, kann der Roboter von einem Punkt zum anderen wechseln. Anhand des aktuellen Standorts werden der aktuelle Lenkwinkel, der gewünschte Lenkwinkel und die Zielkoordinaten (auch als "Pose" bezeichnet) ermittelt. Sobald Sie dem Roboter eine Geschwindigkeit geben, bewegt er sich in Richtung der Zielkoordinaten. Bei jeder Iteration wird die Pose neu berechnet und bei Bedarf angepasst.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.