PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Ergänzung zur Odometrie?



cmorgen
22.03.2006, 16:13
Hallo allerseits,

zur Positionsbestimmung will ich mich nicht allein auf die Odometrie (2 Inkrementalgeber) verlassen, da so zum einen der Schlupf der Räder unberücksichtigt bleibt und ich zum anderen bei durchdrehenden oder schlitternden Rädern sowieso verloren habe. Darum mache ich mir Gedanken über eine sinnvolle Ergänzung zu den Inkrementalgebern.
Kann mir dabei jemand weiterhelfen? - Bin auf dem Gebiet nämlich noch Anfänger!

Meine erste Idee waren Beschleunigungssensoren, mit denen man ja durch 2-fache Integration ebenfalls den zurückgelegten Weg berechnen kann. Nachdem ich mich ein bisschen informiert habe, scheint mir diese Methode allerdings wesentlich ungenauer als die Inkrementalgeber, auch wenn man so zumindest erkennen sollte, ob die Räder durchdrehen oder schlittern. Wenn ich von dieser Idee nicht abrücken wollte: Was für einen Sensor bräuchte ich, um neben der translatorischen auch die rotatorische Beschleunigung zu messen. Gibt es so was überhaupt zu einem erschwinglichen Preis?

Sonst sollte man vermutlich auf einen Kompass zurückgreifen. Da sich der Roboter vorläufig nur auf ebenem Terrain bewegen soll, kommt man ja wohl mit relativ preisgünstigen Modellen aus, denn nach einem kurzen Blick auf den Preis neigungskompensierter Kompasse habe ich diesen Gedanken sehr schnell wieder verworfen.

Für hilfreiche Anregungen wäre ich sehr dankbar!

Christiane

sigo
25.03.2006, 17:02
Das ist natürlich nicht so leicht.

* Diskutiert werden hier im Forum z.B. optische Maus-Sensoren.

* Es gibt auch einen Ansatz, wobei das Fahrzeug im Prizip aus 2 2-Achsrobots besteht, mit 2x2 Inkrementalgebern. Diese beiden Achsen sind beweglich miteinander verbunden, wobei an der Deichsel evenfalls 2 Messgeber (Winkel und Weg) angeordnet sind. Wenn sich nun jeweils nur 1 Achse bewegt, während die andere steht, kann der Fehler der Odumetrie durch die Sensoren in der Deichsel korrigiert werden. Danach kommt die Hinterachse hinterher, während die Vorderachse steht. So können Fehler durch Schlupf, Verrutschen usw. kompensioert werden.

* Oder du benutzt Externe "Leuchttürme" wie z.B. Ultraschallsender. IR-Dioden usw. zur Peilung dr Absolutposition

* Das Fahrzeug könnte an einem Greifarm eine Landmarke mit Peilsender (IR, Ultraschall, Funk, Induktiv ) vor sich absetzen.
Dann fährt es über diese landmarke, bis sie z.B. hinter dem Fahrzeug wieder rauskommt, dann wird diese während das Fahrzeug steht wieder aufgenommen (Elektromagnet) und vorne bzw. in einem Winkel wieder abgesetzt.

* Ein leerlaufendes 3. Rad / Zahnrad könnte den Schlupf teilweise kompensieren. Da hier kein Antrieb wirkt.

* in geschlossenen Räumen kannst du die Abstände zu den Wänden scannen.

just a few thoughts

sigo

pebisoft
26.03.2006, 14:19
ich habe im raum 10cm lange besenstildicke stäbe aufgestellt (wahllos).
ich scanne ein stab (ultrasrf04) messe die entfernung und fahr drauflos, die entfernung die der robby zurücklegen soll. dann such ich mir den nächsten stab aus. manchmal nehme ich auch zusätzlich stuhlbein/tischbein dazu.

es ist preisgünstig und sehr sicher.

cmorgen
27.03.2006, 08:45
Vielen Dank für eure Antworten.

@sigo:

* An optische Maussensoren hatte ich auch gedacht, dass Problem ist allerdings, dass die besten Sensoren die ich gefunden habe, nur bis zu einer Geschwindigkeit von 1m/s richtig funktionieren, die Maximalgeschwindigkeit meines Roboters liegt aber bei 2m/s.

* Die Sache mit den 2x2 Inkrementalgebern habe ich vielleicht nicht richtig verstanden, wenn doch, funktioniert auch das bei meinem Roboter nicht. Der ist car-like, d.h. ich habe eine Antriebsachse und auf der anderen sitzt die Lenkung und diese beiden können sich natürlich - eben wie beim Auto - nicht unabhängig voneinander bewegen.

* Externe Leuchttürme wären zwar eine Möglichkeit, da sich der Roboter aber (mittelfristig) nicht nur in "bekannten" Räumen bewegen soll, wollte ich darauf eigentlich nicht zurückgreifen.

* Auch die Sache mit dem Greifarm - auf so ne Idee wäre ich nie im Leben gekommen, nicht schlecht! - erscheint mir für meinen Fall ein bisschen unpraktisch, schließlich muss ich da ja andauernd stehen bleiben. :(

* An das leerlaufende fünfte Rad habe ich auch schon gedacht, mich aber damit noch nicht anfreunden können. Aber vielleicht muss ich am Ende doch auf sowas zurückgreifen.

* Die Abstände zur Wand scanne ich sowieso - schon zur Kollisionsvermeidung. Aber wie hilfreich ist das für die Positionsbestimmung, wo ich doch meine Raumgeometrie nicht kenne und Informationen über die Breite von Türen, Länge von Wänden etc. auch nur empirisch ermitteln kann?

@ pebisoft:

* Die Idee mit den Besenstielen klingt zwar für kleine und wendige Roboter nicht schlecht, meiner ist aber mit ca. 350x500 groß und mit einem Wendekreis von 2m Durchmesser zu unbeweglich um auch noch um irgendwelche Besenstiele Slalom zu fahren ;)


Vielleicht kann mir aber einer noch was zu Beschleunigungssensoren und Kompass sagen?

sigo
27.03.2006, 10:48
Probier doch einfach mal so einen Kompasssensor aus. Die kosten um die 40-50 EUR also Komplettbaugruppe im Roboterzubehör und sollen auf 0,1° genau sein. Klingt doch gut.

Meine Tochter hat einen High-Tech-Kreisel.
Der enthält einen Kompasssensor, da er z.B. die Runden usw. zählen kann und mit einer Zeile aus nur 5 LEDs eine saubere Schrift anzeigen kann - immer in der gleichen Orientierung..
Das ganze für 19,90 EUR oder so..


sigo

cmorgen
29.03.2006, 08:34
Einen Kompasssensor werde ich wohl auf alle Fälle einbauen, soweit ist mir das jetzt klar.

Aber was ist mit Beschleunigungssensoren? Eigentlich halte ich die Idee für nicht so schlecht und bin daher im Moment auf der Suche nach nem geeigneten Typ.
Hier wird ja häufiger der ADXL202 verwendet, allerdings ist mir da der Messbereich mit +/- 2g schon fast zu groß, oder besser gesagt die Auflösung zu klein.
Hat jemand Erfahrung mit anderen Beschleunigungssensoren (z.B. ADXL213)?
Gibt es auch vernünftige und dabei noch günstige 3-Achs-Beschleunigungssensoren?
Solange man nur in der Ebene fährt braucht man das zwar nicht unbedingt, aber interessehalber frage ich trotzdem mal.

Und noch eine Frage ist mir gekommen:
Wie kann ich am einfachsten erkennen, wenn mein Bot anfängt umzukippen - zum Beispiel weil ich zu schnell durch ne Kurve fahre - und zwar so schnell, dass ich dann noch gegensteunern kann?

Bin gespannt auf eure Antworten!
Christiane

sigo
29.03.2006, 08:52
wann der Bot umkippt:

Ich denke, dass du dazu evtl. dann doch einen 3-Achs-Beschleunigungs-Sensor bräuchtest, oder du nimmst die Z-Achse einfach als bekannt mit der Erdbeschleunigung an.

Dann sollte der gemeinsame aus allen 3 Achsen resultierende Vektor aus Sicht des Schwerpunktes (am besten da die Beschleunigungssensoren da montieren), innerhalb der Räder liegen. Wenn der Vektor langsam in Richtung der Außenkonturen zeigt, wirds eng..

Evtl. reicht hierzu ja auch nur die QUerbeschleunigung aus. Hier gilt dann auch das Dreieck aus Schwerpunkt Wagenmitte und halbem Radstand.
Wenn dann die Seitenbeschl. im entsprechenden Verhältnis zur Erbbeschleunigung steht..

Bei gefederten Rädern könnte man auch mit geeigneten Sensoren die Stellung der Achsen messen. Wenn die Räder der Innenkurve fast nicht mehr einfedern, wirds knapp.

sigo