PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Analoge Odometrie



radbruch
04.07.2007, 20:43
Hallo

Diese Idee schwirrt mir schon länger durch den Kopf, aber so wie es im Moment aussieht,
werde ich sie vorläufig nicht umsetzen können. Vielleicht mag sie ja einer von euch aufgreifen
und weiterentwickeln. Ich weis allerdings nicht, ob diese Idee wirklich neu ist.

Der Grundgedanke:

Warum versuchen wir krampfhaft die analogen Odometrie-Werte als 1 oder 0 zu interpretieren
und werfen dabei viele Informationen weg, die uns vielleicht nützlich sein könnten?
Die Idee kam mir übrigens bei diesem Thread (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=27081), hier mein erster Versuch:

http://radbruch.bplaced.net/asuro/analoge_odometrie/pics/8er-torte-klein.jpg

Ganz nett, ich hatte dann gleich mal weiterprobiert:

http://radbruch.bplaced.net/asuro/analoge_odometrie/pics/6-8-12-18-klein.jpg

und bin dann über dieses Modell

http://radbruch.bplaced.net/asuro/analoge_odometrie/pics/36-klein.jpg

unvermeidbar hier gelandet:

http://radbruch.bplaced.net/asuro/analoge_odometrie/pics/stufenloser-verlauf-klein.jpg

Mit diesen Codescheiben kann man nun einiges mehr aus der Odometrie rausholen
als bei den allgemein verbreiteten Auswertungen, z.b.:

-Die Drehrichtung
-Die Stellung des Ritzels in jeder beliebigen Position
-Die Drehgeschwindigkeit (Helligkeitsänderung über der Zeit)
-Die Anzahl der Umdrehungen als ganze Umdrehungen + aktuelle Stellung
-Man kann einen "Null"-Impuls pro Umdrehung auswerten
(und damit den Verlauf von hell nach dunkel kalibrieren)

Das sind nur mal so die ersten Gedanken, vielleicht steckt da noch mehr drin.O:)

Auf jeden Fall sollte man die Odometrie mechanisch zu optimieren:

-Die Ritzel mit den Codescheiben axial fixieren
-Die Sensoren gegen Fremdlicht abdecken
-Die Focuspunkte der Dioden/Transistoren auf den selben Punkt ausrichten

So habe ich meine Testscheiben angefertigt:

-Ausdrucken
-Auf die Rückseite Alufolie kleben (damit nichts durchs Ritzel durchscheint)
-grob linke und rechte Scheibe zusammen ausschneiden (damit man sie im Locher halten kann)
-Mit einem Locher das Loch rausstanzen (Achtung, nicht die andere Scheibe mitlochen)
-Beide Scheiben auf Mass ausschneiden
-aufs Ritzel kleben

Möglichst Blasenfrei kleben, ich hatte einen Klebestift verwendet.
Im Anhang befinden sich die Druckvorlagen im PDF-Format.

Viel Spass damit.

Gruß

mic

Bääääär
04.07.2007, 20:54
An sich eine wirklich interessante Idee. Aber ich habe da etwas Bauchschmerzen wegen Fremdlicht und bauteiltoleranzbedingten Abweichungen. Bei mir sind die beiden OdoWerte _so_ verschieden, dass es schon schwierig íst eine einheitliche Grenze zwischen Schwarz und Weiß zu finden. (also eine, die für beide gilt).

Ich weiß nicht, aber da muss man wohlmöglich noch etwas mehr verändern, um ein zuverlässiges System zu haben.

Wenn das wirklich zuverlässig funktioniert werde ich es mit Sicherheit auch nutzen.

recycle
04.07.2007, 21:26
auteiltoleranzbedingten Abweichungen. Bei mir sind die beiden OdoWerte _so_ verschieden, dass es schon schwierig íst eine einheitliche Grenze zwischen Schwarz und Weiß zu finden

Sollte bsich dieses Problem nicht fast von alleine lösen, weil man hier pro Rad nur einen Sensor benötigt? Die Bauteiletoleranzen müsste man dann doch "wegkalibibrieren" können indem den höchsten und den niedrigsten Messwert aufnimmt.
Ziemlich kompliziert wird es aber, wenn der Sensor keine lineare Kennlinie hat.
Dann könnte man theoretisch den Farbverlauf auf der Scheibe "nichtlinear" anpassen, was aber sicher sehr schwierig ist. Ausserdem spielen dann doch wieder die Bauteiletoleranzen rein und man müsste für jeden Sensor eine spezielle Scheibe anpassen.

Sternthaler
05.07.2007, 00:30
-Man kann einen "Null"-Impuls pro Umdrehung auswerten
(und damit den Verlauf von hell nach dunkel kalibrieren)
Den Impuls kann man ja direkt auf der Scheibe sehen. Das ist einfach.
Aber um diese eine Umdrehung nun über die gleitenden Helligkeitswerte der Scheibe in einen entsprechenden Winkel/Position zu kalibrieren muss bestimmt ein enormer Rechenaufwand betrieben werden.
Was wird bei unterschiedlichem Fremdlicht passieren? Du 'forderst' ja eine Abschirmung. Ich habe es bis jetzt noch nicht geschafft ein einfache, effektive Abschirmung hinzubekommen. Also Fremdlicht bleibt vorhanden, und wechselt nun alleine durch das Drehen vom Asuro.
Jetzt werden die Daten der Kalibrierung ungültig. Somit muss ich immer wärend der Fahrt kalibrieren. (Glaub ich zumindest.)

Eins scheint mir aber sehr gut machbar zu sein: Erkennbare Drehrichtung.

Eventuell sollte man eine Scheibe zeichnen, die wie die jetzt benutzte Scheibe mehrere Wechsel hat, aber hier dann gleitend von weiß bis schwarz und wieder abrupt auf weiß.
Hierbei müßte es möglich sein, ohne Kalibrierung weiterhin die SW-Wechsel zu zählen, könnte dann aber, wie du es schon vorschlägst, anhand der Helligkeits-Steigung bzw. -Absenkung die Drehrichtung rausbekommen.

recycle
05.07.2007, 02:19
Du 'forderst' ja eine Abschirmung. Ich habe es bis jetzt noch nicht geschafft ein einfache, effektive Abschirmung hinzubekommen. Also Fremdlicht bleibt vorhanden, und wechselt nun alleine durch das Drehen vom Asuro.

Vielleicht sollte man sich bei der Idee nicht zu sehr auf den Asuro fixieren. Das Prinzip ist ja als solches schon interessant genug und wenn man es bei der Konstruktion einplant, lässt sich sicher eine bessere Abschirmung gegen Fremdlicht realisieren als das beim Asuro möglich ist.



Eins scheint mir aber sehr gut machbar zu sein: Erkennbare Drehrichtung.

Die Drehrichtung muss man allerdings in vielen Fällen nicht unbedingt über Radencoder messen. In welche Richtung die Räder drehen sollte ja z.B. auch beim Asuro sowieso im Programm bekannt sein.

Bääääär
05.07.2007, 06:54
Sollte bsich dieses Problem nicht fast von alleine lösen, weil man hier pro Rad nur einen Sensor benötigt?

Man benötigt doch auch in der Orginalvariante nur einen, oder?

Bääääär
05.07.2007, 07:02
Eins scheint mir aber sehr gut machbar zu sein: Erkennbare Drehrichtung.

Die Drehrichtung muss man allerdings in vielen Fällen nicht unbedingt über Radencoder messen. In welche Richtung die Räder drehen sollte ja z.B. auch beim Asuro sowieso im Programm bekannt sein.

Es gibt ja noch viele weitere Anwendungen, in denen das von Nöten sein kann, weil das bewegte Rad/ Zahnrad evtl. gar keinen Motor hat.

Man könnte das ja auch noch erweitern, indem man einen Streifen aus diesen Odometerrädern macht. Somit könnte man die Position eines beweglichen Objekts ermitteln. Zum Beispiel eine Federgabel. (Odo-Strifen rangeklebt). Ich hoffe, meine unzureichende Erklärung dieser Idee kann euch vermitteln, was ich meine... =)
Vorrausgesetzt ist dafür allerdings, dass es nicht zu genau werden muss und dass die Sache mit dem Fremdlicht gelöst ist.

Bääääär

Manf
05.07.2007, 07:39
Man könnte das ja auch noch erweitern, indem man einen Streifen aus diesen Odometerrädern macht. Somit könnte man die Position eines beweglichen Objekts ermitteln. Zum Beispiel eine Federgabel. (Odo-Strifen rangeklebt). Ich hoffe, meine unzureichende Erklärung dieser Idee kann euch vermitteln, was ich meine... =)

Das sähe dann so aus wie bei dieser Lesekopfführung eines sehr alten Diskettenlaufwerks.

Superhirn
05.07.2007, 12:55
coole idee.
wichtig ist jedoch, das die decoderscheibe mehr umdrehungen/s als das richtige rad macht. oft braucht man nur einen sehr kleinen winkelkorrigieren (wie 2 grad). sonst ist das unmöglich.
bei hoher geschwindigkeit des roboters wird die scheibe dann noch schneller rotieren und man bräuchte 2 relativ flotte ad-wandler (der vm avr ist zu langsam). damit man mehrere messungen / umdrehung machen kann.

somit wird der elektronische und technische aufwand wieder viel höher, wo ich doch lieber quadraturencoder auswerte.

lg
Thomas

damaltor
06.07.2007, 14:01
auteiltoleranzbedingten Abweichungen. Bei mir sind die beiden OdoWerte _so_ verschieden, dass es schon schwierig íst eine einheitliche Grenze zwischen Schwarz und Weiß zu finden

Sollte bsich dieses Problem nicht fast von alleine lösen, weil man hier pro Rad nur einen Sensor benötigt? Die Bauteiletoleranzen müsste man dann doch "wegkalibibrieren" können indem den höchsten und den niedrigsten Messwert aufnimmt.
Ziemlich kompliziert wird es aber, wenn der Sensor keine lineare Kennlinie hat.
Dann könnte man theoretisch den Farbverlauf auf der Scheibe "nichtlinear" anpassen, was aber sicher sehr schwierig ist. Ausserdem spielen dann doch wieder die Bauteiletoleranzen rein und man müsste für jeden Sensor eine spezielle Scheibe anpassen.

wieso nur ein sensor? jedes rad hat doch nur einen sensor, das andere ist eine ir-led.