PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Roboter um bestimmten Winkel drehen lassen - Sensor gesucht



TBA789
25.05.2010, 20:08
Hallo,

ich habe einen Roboter auf der Basis einer runden Grundplatte aufgebaut. Derzeit lasse ich ihn durch Zeitvorgaben um bestimmte Winkel auf der Stelle drehen, funktioniert an sich ganz gut, aber je nach Untergrund gibts teilweise heftige Abweichungen.
Mit den elektrischen Kompassmodulen wird es laut em was ich so im Internet gelesen habe in geschlossenen Räumlichkeiten kaum realisieren lassen. Ich selbst bin derzeit am schauen in wie weit nen Gyroskop in Frage kommt um diese Aufgabe zu lösen.

Hat bereits jmd Erfahrungen mit Sensoren gemacht die für dieses Problem in Frage kommen? Einsatz vorwiegend in geschlossenen Räumlichkeiten, womit GPS verfahren nahezu ausgeschlossen sind.

Für Tipps wäre ich dankbar....

GRuß Tobias

rockin_santa
25.05.2010, 21:45
Ich würde Radencoder verwenden, z.B.:
http://www.rn-wissen.de/index.php/CNY70

Aus Radabstand, Radumpfang und Drehwinkel kannst Du definierte Strecken auf dem Drehkreis fahren. Solange die Auflösung hoch ist und der Bot kein Schlupf hat, sollte es sehr genau sein.

Gruß

rockin_santa

TBA789
26.05.2010, 07:27
Der Einsatz von Rad-Encodern kam mir auch schon in den Sinn, nur hab ich da halt bedenken wegen dem Schlupf in hinblick auf die verschiedenartigen Untergründe...

oberallgeier
26.05.2010, 09:06
... Rad-Encodern ... bedenken wegen dem Schlupf ... verschiedenartigen Untergründe ...Deine Bedenken sind richtig. Ich bin auch immer recht gut damit gefahren, Möglichkeiten der Gattung "sollte es (sehr genau) sein" eher skeptisch gegenüber zu stehen.

Mit Encodern (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=437282&sid=0131187ab4333aae9bc7aac5601cc7f9#437282) und Fahrten auf eher gleichen Oberflächen (z.B. Melamin) habe ich recht gute Erfahrungen gemacht und befriedigend genaue, reproduzierbare Ergebnisse bekommen. (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=450795&sid=daa7ae7fd9beadd06e54737e8430ace4#450795) Liegt ein bisschen auch an der Optimierung der Antriebssoftware. Der Vorteil der encodergestützten Odometrie ist die einfache Lösung. WENN in (Wohn-) Räumen gefahren wird UND auf gute Traktion der Räder geachtet wird, sind die Ergebnisse nicht gravierend unterschiedlich. Schließlich dürften Fahrbahnen in Hochflor und auf spiegelglatten Keramikfliesen eher die Ausnahme sein.

Präzise Orientierung im Raum bei beliebigen Routen setzt aber eine Positionsmessung über Baken o.ä. wie z.B. Abstandsmessung von bekannten Objekten und evtl. zusätzlich eine Kartierung voraus. Das Thema Baken, Navi gation in unbekannter Umgebung und Kartierung ist hier verschiedentlich gut abgehandelt, da gibt die Suchfunktion einiges her.

TBA789
26.05.2010, 10:35
Eine gezielte Orientierung ist derzeit noch nicht geplant lediglich optimierte Fahrverhalten. Das mit der Kartierung ist dennoch ne gute Idee, müsste ich mir mal Gedanken machen wie ich das vernünftig umsetzen könnte und vorallem was ich als Referenzpunkte nehmen kann.

Bin vor kurzem auf diese IR Beacon Transceiver Pair (http://www.pololu.com/catalog/product/702) von Pololu gestoßen. Damit lässt sich eine Referenzposition erzeugen und der Roboter kann seine Orientierung bzgl. der Referenzposition noch ansatzweise ermitteln. Nachteil ist halt die mangelnde Genauigkeit, dient letzlich ja nur einer groben Orientierung und nicht exakt dem was ich vor hab.

Mit weichen Gummireifen sollte man eigentlich ausreichende Traktion auf den gängigen Bodenbelägen haben um mittels Encodern die Drehung zu ermitteln. Einzig die Auslastung des MC müsst ich da im Auge behalten oder gleich nen 2.MC der sich um Motoren und Servos kümmert, weil der jetzige Controller ist am Ende seiner Zeit äähmmm Timer :-b

@oberallgeier: Das mit den vielen Bedenken bei technischen realisierungen ist so ne Eigenart von mir, die aber als angehender Ingenieur mitunter berechtigt sind. Nicht alles einfach hinnehmen, erst ergründen und dann mit Verstand und Bedacht umsetzen.

rockin_santa
26.05.2010, 10:39
Kann die Reibung an den Rädern erhöht werden?

Theoretisch sollte ein Kompassmodul gehen, es muss halt vor der Drehung am jeweiligen Ort einmal gemessen werden, wie dort das Magnetfeld ist. Ich weiß allerdings nicht, ob es in Wohnungen durch elektrische Geräte zu Änderungen im Magnetfeld kommt.

Unter bestimmten Vorraussetzungen und viel Aufwand können auch optische Maussensoren verwendet werden.

TBA789
26.05.2010, 10:58
Kann die Reibung an den Rädern erhöht werden?Ich mein Gummireifen mit sehr weicher Mischung sind schon recht gut im Grip, zusätzlich halt schauen dass auf der Antriebsräden vlt sogar der Schwerpunkt liegt. Somit können die Räder weniger durchdrehen.


...am jeweiligen Ort einmal gemessen werden, wie dort das Magnetfeld ist ... ob es in Wohnungen durch elektrische Geräte zu Änderungen im Magnetfeld kommtAlso ich hab nen Magnetfeldsensor zur Hand, der schlägt hier aus wie verrückt. Dafür sind in normalen Wohnungen zu viele elektrische Geräte die Störungen verursachen. Einzig im Badezimmer misst er nahezu konstant gleiche Werte, weil sich dort nahezu keine elektrischen Gerätschaften befinden.

Derzeit tendiere ich dann doch eher zu der Lösung mit den Encodern, hab auch nen Motor mit integrierten Encoder bereits ins Auge gefasst -> Krause-Robotik (http://krause-robotics.de/xtshop/product_info.php?info=p1031_DC-Getriebemotor-mit-Encoder.html)

Aber mit nem Maussensor werd ich mich wohl nachher etwas näher beschäftigen, muss nur ne passende Maus zum Ausschlachten finden :cheesy:

oberallgeier
26.05.2010, 11:26
... IR Beacon Transceiver Pair von Pololu ...Die Dingelchen aus dem Land der begrenzten Möglichkeiten sind chic und ich bin ein paar Mal unangenehm über schlechte oder lückenhafte Dokumentation gestolpert. Die Navigation über vier (vermutlich) SFH5110, die jeweils einen Winkel von ± 45° abdecken (Bezug Horizontal Directivity φx ca. 0,5) ist schon etwas grob. So etwas würde ich selbst entwerfen und bauen - dann lernt man immerhin dazu. Mit diesen IR-Empfängern hatte ich Abstandsfühler gebaut, mit denen ich Absturzkanten und Hindernisse detektieren (https://www.roboternetz.de/phpBB2/viewtopic.php?p=390196#390196) konnte - bei mir war das eben nicht zur Navigation.


Eine gezielte Orientierung ... noch nicht geplant lediglich optimierte Fahrverhalten ...Selbst bei sehr geringen Anfahr- und Querbeschleunigungen hatte ich bei Testfahrten zu meiner Odometrie Versatz festgestellt. (https://www.roboternetz.de/phpBB2/viewtopic.php?p=437582&sid=816689a0b52e1a6fd843901b2dba0c23#437582) Da muss man aber schon recht genau hinsehen und pingelig sein. Mein Fazit war: ohne saubere Regelung geht nix. Es sei denn, dass die Navigation genauer und vermutlich auch mit hoher Frequenz läuft und daher die Genauigkeit ins System bringt.

Verbesserungen im Grip hatte ich bei meinem WALL R (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=45658&highlight=) machen müssen, siehe hier, (https://www.roboternetz.de/phpBB2/viewtopic.php?p=417039&sid=c3ecacf52c94bff1da63525a3bf3b8b9#417039) nach dem dritten Bild, ab "... Verzögerungen gabs massenhaft ...".

Edit: ich meinte oben die horizontale Richtcharakteristik. Sorry für den Schreibfehler.

TBA789
26.05.2010, 11:45
Das Teil von Pololu würd ich auch versuch selbst zu bauen, ist günstiger und wie du bereits sagst, man lernt was dabei.

Hinsichtlich der Regelgung der Motore werd ich dann wohl einen 2. MC hinzupacken, der rein für diese Aufgaben da ist.

Schonmal Dank bis hierhin für die guten Ideen und die sehr fruchtbare Diskussion :-)

Bayho144
28.05.2010, 18:13
Hi, Tobias,


Kompassmodulen...

Ich habe eine ähnliche Aufgabe zu lösen - und denke an eine LED an der Zimmerdecke mit einem rotierenden Polarisationsfilter.

Ein Fototransistor auf dem Roboter, der durch ein Polfilter nach oben schaut, erlebt pro Rotation "nur" zwei Dunkelstellen.
Synchronisation über Pulsmodulation des Lichts.

Ich wundere mich, von sowas noch nicht gelesen zu haben. Hat jemand einen Hinweis?

Danke!

W. Horn

Andre_S
28.05.2010, 20:06
Hallo,
...
Derzeit lasse ich ihn durch Zeitvorgaben um bestimmte Winkel auf der Stelle drehen, funktioniert an sich ganz gut, aber je nach Untergrund gibts teilweise heftige Abweichungen.
Mit den elektrischen Kompassmodulen wird es laut em was ich so im Internet gelesen habe in geschlossenen Räumlichkeiten kaum realisieren lassen.
...

Hallo,

kann ich so ganz allgemein nicht stehen lassen...
Kommt sicherlich auf die äußeren Bedingungen und meiner Ansicht nach auch auf die Größe des Bot an um z.B. einen geigneten Platz für das Kompassmodul zu finden.
Meiner ist auf Ketten und hat eine Größe von 75x40x55 cm (LxBxH). Das Kompassmodul ist so positioniert, dass es im Bot weit genug von jeglichen Störfeldern entfernt ist. Da es auf Grund der Größe ebenfalls weit genug von äußeren Störeinflüssen entfernt ist habe ich damit absolut keine Probleme, schon gar nicht bei einer Drehbewegung auf der Stelle.

Vor einer Drehbewegung wird aktuell das Modul ausgelesen, die Drehung wird vorberechnet, das Anfahren der Position wird mit Radenqodern am Kettenrad erfasst und mit Hilfe des Kompass abgeglichen.
Die Genauigkeit des CMPS 03 Moduls liegt bei 3-4° für die Richtungsangabe, bei einer einfachen Drehbewegung bei welcher vorher nochmals gemessen wird habe ich keine Probleme innerhalb dieses Bereichs zu bleiben.
Bei kleinen Bots bei denen das Modul recht nah in den Bereich von störenden metallischen Gegenständen o.ä. kommen kann könnte ich mir das aber gut vorstellen, da ich es zuerst tief unten in der Wanne befestigt hatte und beim überfahren von metallhaltigen Untergundbereichen auch mit Problemen behaftet war.


Gruß André

TBA789
29.05.2010, 20:20
Hallo,

...

@ Bayho144: In dem Fall würde es auch ne VGA-Kamera mit geringer auflösung tun, die den Roboter von der Decke aus überwacht und ihm seine bisherige Drehung mitteilt. Ich will ja dass, der Roboter sich unabhängig von den lokalitäten drehen kann.

@ André: Wäre ja dann vlt. doch noch ne Überlegung wert es mit dem Modul zu probieren. Mal sehen wo ich eins günstig herbekommen kann... - Danke für deinen Beitrag!!

Gruß Tobias

TBA789
31.05.2010, 07:10
Vor einer Drehbewegung wird aktuell das Modul ausgelesen, die Drehung wird vorberechnet ...... Die Genauigkeit des CMPS 03 Moduls liegt bei 3-4° für die Richtungsangabe, bei einer einfachen Drehbewegung bei welcher vorher nochmals gemessen wird habe ich keine Probleme innerhalb dieses Bereichs zu bleiben.

Versteh ich das richtig, dass du durch die Referenzmessung auf die Bercksichtingung der Neigung verzichten kann?`Der CMPS03 ist als 2 Achs-Sensor ja recht empfindlich was Verkippung angeht....

Andre_S
31.05.2010, 08:38
Vor einer Drehbewegung wird aktuell das Modul ausgelesen, die Drehung wird vorberechnet ...... Die Genauigkeit des CMPS 03 Moduls liegt bei 3-4° für die Richtungsangabe, bei einer einfachen Drehbewegung bei welcher vorher nochmals gemessen wird habe ich keine Probleme innerhalb dieses Bereichs zu bleiben.

Versteh ich das richtig, dass du durch die Referenzmessung auf die Bercksichtingung der Neigung verzichten kann?`Der CMPS03 ist als 2 Achs-Sensor ja recht empfindlich was Verkippung angeht....

Hallo,

verstehe jetzt die Frage nicht ganz, der Bot kippt doch nicht während er fährt oder dreht... :-k
Auf seine Länge von 75 cm hat er beim Anfahren und Abbremsen ein minimales Kippmoment, welches beim Drehen nun eigentlich gar nicht auftritt, da während die eine Kette mit der Vorwärtsbewegung startet die andere mit der Rückwertsbewegung beginnt.
Nur auf einer Schräge hätte ich eine nicht horizontale Ausrichtung des Moduls, dies kommt bei mir in der Wohnung aber nicht vor.


Gruß André

TBA789
31.05.2010, 08:58
... Nur auf einer Schräge hätte ich eine nicht horizontale Ausrichtung des Moduls, dies kommt bei mir in der Wohnung aber nicht vor.

Ich möchte das Problem möglichst vollständig lösen können. Auf lange Sicht wird sich der Bot wohl auch außerhalb der Wohnung aufhalten und dann wirds da problematisch...

Hast du das Modul auf einem Mast weit weg von den Motoren angebracht mit Kunststoffschrauben?

Andre_S
31.05.2010, 09:59
... Nur auf einer Schräge hätte ich eine nicht horizontale Ausrichtung des Moduls, dies kommt bei mir in der Wohnung aber nicht vor.

Ich möchte das Problem möglichst vollständig lösen können. Auf lange Sicht wird sich der Bot wohl auch außerhalb der Wohnung aufhalten und dann wirds da problematisch...

Hast du das Modul auf einem Mast weit weg von den Motoren angebracht mit Kunststoffschrauben?

Hallo,

nein, ich habe keinen Mast, das Modul ist im Bot integriert, ich habe aber im Umfeld des Moduls ca. 15-20cm absolut nichts metallisches am Bot. Auch in der Höhe ist er ca. 25cm von der Bewegungsebene entfernt. Von den Motoren ca. 50cm und von der Stromversorgung Platine etc. etwa 25-30cm.
Ja,... ist nur mit Plastig befestigt.
Ich hatte das Modul am Anfang ca. 5-10cm von den Kettegliedern entfernt angebracht und da hatten sich die unterschiedlichen Position der metallischen Kettenbolzen schon deutlich bemerkbar gemacht, so dass die Messungen nicht brauchbar waren. Ich vermute aber wenn sich die Position irgendwelcher kleineren metallischen Teile nicht verändert und sich nicht unmittelbar neben dem Modul befindet sich dies nach der Kalibrierung des Moduls nicht so extrem auswirken wird. Zumindest ohne Lageveränderung der Kettenbolzen waren die Messungen in Ordnung, aber dann hätte ich ihn ja tragen müssen...

Bei kleineren Bots könnte ein stabiler, schwingungsfreier Mast durchaus hilfreich bzw. notwendig sein, ich habe aber damit keine Erfahrungen.


Gruß André