PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Welches ist die gemessene Infrarot-Entfernung?



HermannSW
15.01.2007, 22:32
Hallo,

egal, ob man Infrarot für
die Erkennung von Hindernissen (https://www.roboternetz.de/phpBB2/viewtopic.php?t=10026) http://www.stamm-wilbrandt.de/videos/myIrAsuro.gif oder aber
die Höhenmessung (https://www.roboternetz.de/phpBB2/viewtopic.php?t=26809) http://www.stamm-wilbrandt.de/videos/070114_222058_ausschnitt.jpg verwendet, es stellt sich die Frage:
Welches ist die gemessene Entfernung?
Flashed man das (in der lib enthaltene!) test.hex des IRCollisionTest's aus dem Beta der asuro_lib270 (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=243830&highlight=#243830) auf den Asuro, so stellt man fest, daß die gemessene Entfernung vom Winkel des reflektierenden Gegenstandes zum IR-Sender/-Empfänger und von der (über die Taster einstellbare) Pulsbreite abhängt.

Betrachtet man nun nur eine Richtung und nur eine Pulsbreite, so ergibt sich immer noch keine klare Entfernung: für eine Entfernung kleiner als e_min leuchtet die StatusLED immer rot
für eine Entfernung größer als e_max leuchtet die StatusLED immer grün (kein Echo)
für Enternungen e_min <= e <= e_max flackert die StatusLED rot und grün

Für das Problem, was denn nun die "richtige Entfernung" ist, gibt es eine einfache Lösung:
Im Beitrag 242897 (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=242897&highlight=#242897) wird ein einfacher IR-Linksausweicher samt Quelltext vorgestellt.
Dieser läßt beide Motoren immer volle Kraft laufen, den rechten immer vorwärts, und den linken vorwärts, wenn kein IR-Echo empfangen wird, und rückwärts, sonst.

Dieses einfache Programm kann man nun zur genauen Entfernungsbestimmung (bei einer Richtung und einer Pulsbreite) verwenden:
Man bringt einen Gegenstand so zwischen e_min und e_max, daß sich das linke Rad nicht mehr dreht!!
[gleich viele IR-Echos und IR-Nicht-Echos;
man sollte den Asuro dabei in der Hand halten, damit er nicht wegfährt ... :)]