PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Für Lokalisierung mit Ultraschall



IbrahimAwada
03.05.2010, 19:18
Hallo,

ich brauch für die Lokalisierung eines mobilen Roboters zwei Ultraschall sender und einen Ultraschallempfänger. Die Position des Roboters soll auf eine genauigkeit von +-5cm(weniger ist besser) bestimmt werden. Der Fahrbereich des Roboters ist ca 5x2 m. Die Sender werde ich an zwei oberen Ecken platzieren.

Deswegen brauche ich Sender mit relativ großem Öffnungswinkel. Ich habe diese 2 gefunden aber leider keine passenden Datenblätter.

http://www.schlotzhauer.net/index.htm?/sicherheitstechnik-ultraschall-kapseln-ultraschall-kapseln-ust-40r-ust-40t-s001.htm

Könnt ihr mir welche Empfehlen? und vielleicht auch einen guten uC für die DSP!!.
Danke

Jimmy23
28.06.2010, 13:46
Der Link funktioniert leider nicht mehr, die Grundidee habe ich aber verstanden.

Dein Konzept sieht also so aus:
- 2 Ultraschallsender in zwei Ecken
- 1 Ultraschallempfänger auf dem Roboter

Der Ultraschallempfänger wertet nun aus, wie weit die beiden Sensoren entfernt sind, und dadurch an welchem Punkt er ist.

Die Probleme:
- Wie soll der Empfänger zwischen den beiden Sendern unterscheiden können?
- Der Roboter dürfte sich nur in eine Richtung bewegen, da sonst die Messung verzerrt wird

Die Lösung:
- In den Ecken werden statt Sendern, Sender und Empfänger untergebracht, die beide von dort aus die Abstände messen
- Das Problem bleibt bestehen, weswegen du es anders machen solltest




X X X X X X
---------------------------------
- -
- -
- -
- R -
- -
- -
- -
---------------------------------
An einer Seite werden mehrere Ultraschallsensoren - X - angebracht.
Wenn dein Roboter - R - sich nun bewegt, wird er von einem oder zwei Sensoren erkannt.
Anhand der Position des Sensors lässt sich die erste Koordinate, durch die Abstandsmessung die zweite bestimmen

Je mehr Sensoren du benutzt, desto höher ist die Auflösung.

Als Sensoren könntest du z.B. den SRF05 nehmen.

yaro
28.06.2010, 20:37
@ jimmy: Das wird nicht klappen, die Ultraschallsensoren haben alle einen sehr großen Öffnungswinkel, was das Messen der ersten Koordinate kaum möglich macht (nur sehr ungenau).

Was die Unterscheidung der Signale angeht, sollte das kein großes Problem darstellen. Die Sender senden einfach in einem Abstand von z.B. 50ms und machen dann 200ms Pause. Der Empfänger weiß das und nimmt Signale, die länger als 100ms auseinander sind nicht an. Bei richtigen Signalen zieht er einfach vom zweiten empfangenen Signal 50ms ab.

Gruß, Yaro

Jimmy23
05.07.2010, 22:53
@ yaro:
Das Problem, dass der Roboter sich nur in eine Richtung bewegen dürfte bleibt trotzdem bestehen.

Wenn man anstatt Ultraschallsensoren Infrarotsensoren nimmt, hat man schon eine annehmbare Lösung. Das Problem was bleibt, ist, dass der Positionswert dem Roboter erst noch mitgeteilt werden muss.
Würde die Messung auf dem Roboter und nicht am Gelände um ihn gemacht, so könnte man sich dies sparen.

oberallgeier
05.07.2010, 23:38
Hi IbrahimAwada,

willkommen im Forum.

Eine hübsche Aufgabenstellung. Ich kenne diesen Lösungsansatz, der ist in ähnlicher Form auf einem Golfcaddy in einem Entwicklungsprojekt mit guter Funktion verwirklicht worden.

Dabei waren zwei US-Empfänger im Caddy im Abstand von etwa 1/2 m in einer Griffstange eingebaut. Es gab nur einen Sender, der wurde am Spieler befestigt. Dieser Sender arbeitete als Transponder, er wurde mit einem Funksignal vom Caddy ausgelöst. Der ausgelöste Sendeimpuls wurde von beiden Empfängern registriert. Aus der bekannten Verzögerungszeit (Laufzeit des Funksignals kann als Null angenommen werden) und den US-Laufzeiten zu den beiden Empfängern ließ sich Abstand und Richtung des Spielers errechnen - der Spieler musste aber in einem 180°-Raum "vor" der Griffstange des Caddys sein. Sobald der Spieler sich ein bestimmtes Maß vom Caddy wegbewegte, folgte das Teil automatisch. Die Folgefunktion ließ sich für bestimmte Dinge wie Ballsuche u.ä. natürlich auch abschalten.

Ähnlich könnte auch Deine Positionsbestimmung laufen. Allerdings dürfte die Genauigkeitsforderung nach < 1% reichlich hoch gegriffen sein. Die Laufzeit von US-Signalen wird durch Temperaturschwankungen und Luftbewegungen/Wind ziemlich beeinflusst.