-         

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 19

Thema: Navigation mittels Infrarot - "Winkelsendern"

  1. #1
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    14.01.2006
    Ort
    Hattingen
    Alter
    52
    Beiträge
    984

    Navigation mittels Infrarot - "Winkelsendern"

    Anzeige

    Wie wärs für die Navigation im Garten oder auch in einer Halle (Rasenmäßer, Roboterfußball) o.ä. mit folgender Positionsbestimmung:

    Es gibt mehrere "Leuchttürme", die einen rotierenden Strahl senden. Z.B. IR-Laser (strahl augensicher aufgeweitet) oder Infrarot-Diode über rotierenden Spiegel.

    Nun wird jeder Strahl so moduliert, dass er seine aktuelle Winkelposition + Senderkennung + CRC sendet..

    Beliebig viele Bots (!), die sich dann in der Arena bewegen (z.B. Garten, Roboterfußball usw..) können nun diese Signale mittels 360° - IR-Empfänger empfangen.

    Aus Sicht der Empfänger sieht es so aus, dass die meiste Zeit nichts empfangen wird, außer wenn ein Strahl vorbei kommt und den Sensor trifft.

    Die Strahlen könnten nun entweder synchron rotieren, oder man müsste Kollisionen der Daten erkennen und bekäme bei unterschiedlichen Drehzahlen der Sender in der nächsten Runde die gültige Info....

    Jedenfalls bekommt der Empfänger so die Winkelpositionen zu den "Leuchttürmen" - und zwar ohne Peilung in Klartext mitgeteilt.

    (wenn die Sender mit z.B. 20U/s rotieren, wären das 20x pro Sekunden alle empfangbaren Sender.
    Wenn die Reichweite nicht reicht, können mehr Sender installiert werden, oder Redundante Sender können die Datensicherheit und ggf. Auflösung erhöhen..

    Die Datenrate und Drehzahl bestimmen die zeitliche und räumliche Auflösung. Mit Lasern könnte man das ganze auf großen Flächen realiseren.

    Das System wäre skalierbar in Auflösung, Geschwindigkeit und Ausdehnung. Der Bot braucht keine besondere Prozessorleistung und benötigt nur einen geringen Energieverbrauch und Platz fir den Empfänger..

    Just a thought

    Sigo

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    15.07.2004
    Alter
    32
    Beiträge
    807
    Wenn der Strahl aufgeweitet wird, dann hat man ja keinen exakten Winkel, bei dem der Bot ein SIgnal empfangen kann, sondern einen Winkelbereich.
    Gibt es den eine möglichkeit das zu umgehen oder wie hast du dir das gedacht?

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    28.01.2005
    Beiträge
    127
    Könnte gehen. Das mit dem Winkelbereich sehe ich nicht so tragisch. Er nimmt dann einfach der Durchschnitt vom ersten und letzten empfangenen Signalwinkel. Eher schon die Reichweite. Hab dazu noch keinen Versuch gemacht, aber sehe das auch net so tragisch. Zur Not muss die Sonne abgeschirmt werden und müssen mehrere Sendestationen aufgebaut weden. Die Ortung dürfte dann eh genauer sein.
    20 Hz dürften allerdings zuviel sein. Dein Robo wird in 50ms schon kann ganzen Meter fahren.
    Bei 30Bits pro Signal dürfte dann so ein 5° Bereich zum senden genügen. Auf 5m wäre das dann eine Abweichung von 45cm. Bei der nächsten Umdrehung kann dann ja ein leicht anderer Winkel gesendet/empfangen werden so um 2°. Durch Mittelung im Empfänger dürfte es ja dann wieder genauer werden. Allerdings, in den cm-Bereich wirste damit net so leicht kommen. Aber mit einem zusätzlichen langsam drehenden Signal (so 3s pro Umdrehung) wäre dann eine feinere Ortung sicherlich möglich.

    Stefan

  4. #4
    Erfahrener Benutzer Robotik Einstein Avatar von Andree-HB
    Registriert seit
    10.12.2004
    Ort
    Bremen
    Alter
    47
    Beiträge
    2.556
    ...noch ein Vorschlag, ähnlich GPS - könnte man sich nicht eine Umgebung mit einer supergenauen (Funkuhr) bauen und die Sendezeit zusammen mit einer Positionsangabe ("ich bin Bake 1") über nacheinander 4 Baken aussenden. Dann vergleicht man im Robby (der ebenfalls eine Funkuhr eingebaut hat) die Empfangszeit/Laufzeit/Entfernung. Zur Übertragung ein "langsames" Medium wie Ultraschall verwenden, Infrarot/Lichtgeschwindigkeit ist viel zu schnell.

    Bei mind. 3 Baken wäre eine sehr genaue Positionsbestimmung möglich, wenn die Abstände der Baken im Vorfeld bekannt sind.
    Danke an Alle, die uns bei der erfolgreichen 1.000€-Aktion der IngDiba unterstützt haben! | https://www.hackerspace-bremen.de | http://www.pixelklecks.de |

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    26.02.2006
    Ort
    München
    Alter
    28
    Beiträge
    161
    Also wir haben was ähnliches bei Jugend Forscht 2005 und '06 gebastelt. Wir hatten 3 Baken mit einem Laserstrahl, der über den Spiegel abgelenkt wurde ->war ziemlich plöd, weil sich durch die Rotation die Stative bewegt haben und durch die Ablenkung und die hohe Frequenz die 5mW-Laser zu schwach wurden. Gegen Sonnenlicht war das ganze außerdem auch sehr empfindlich.
    Dieses Jahr hatten wir dann auf IR umgesattelt. Dafür haben wir wieder 3 Baken, mit jeweils 10 im Halbkreis angeordneten IR-Dioden, auf unserem "virtuellen" KoSy aufgestellt. Nen moduliertes (für jeden Sender gleich moduliert - also keine kodierten Baken) Signal wird von dem auf nem sich um 360° drehenden Schrittmotor Empfänger gesehen und verarbeitet. Dieses System war auch gegenüber Sonnenlicht unempfindlich. Die Berechnung des Standpunktes durch die Winkel hat auch recht zuverlässig funktioniert.

    mfG, Manni

  6. #6
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    28.01.2005
    Beiträge
    127
    War grad im Garten und da kam mich noch eine andere Möglichkeit. Diesmal nicht mit Winkelmessung sondern mit Abstandsmessung. Dazu wird (zur Positionsbestimmung mehrere) ein Sender aufgestellt, der ziemlich exakt z.B. mit 5 Umdrehungen pro Sekunde einen Spiegel rotiert und einen IR- oder Laserstrahl rotieren lässt. Also praktisch so wie oben. Nur ohne Winkelinformation. Wichtig ist nur, dass dies gleichmäßig geschieht und einigermaßen scharfe gerichtet ist. Der Empfänger besteht jetzt zum Beispiel aus 12 im Kreis in der Horizontalen mit r=10cm angeordneten Empfängerdioden, die den Strah empfangen. Der Strahl streicht jetzt also seitlich über den Kreis und die Dioden registrieren dies. Der zeitliche Abstand zwischen dem ersten und letzten Signal wird gemessen. Der Abstand zum Sender kann dann mit r=(s/t)/(2*PI*f) bestimmt werden, wobei f die Frequenz des Senders, s der Durchmesser des Empfängers und t der zeitlich Abstand der Signale ist. Die Signale zu Messen ist kein Problem. t liegt im höheren µs-Bereich (je nach f). Des sollte für einen µC kein Problem sein. Bei 12 Dioden sind rechnerisch bei einer Entfernung von 2m max. 10cm Toleranz drinnen. Bei 20 Empfängerdioden sind es nur noch 2,5 cm (f muss aber dabei sehr exakt sein!) Wer es genauer will, kann einfach den Kreis vergrößern und noch mehr Dioden draufsetzten. Wer eine häufigere Aktualisierung wünscht muss nur die Frequenz erhöhen.

    Stefan
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken skizze_141.jpg  

  7. #7
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    29.07.2005
    Beiträge
    219
    Interresant - und wie verhindert man Mehrwegeausbreitung (Spiegelung...) etc.?

  8. #8
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    28.01.2005
    Beiträge
    127
    Reflexionen kann man sicher elektronisch ausblenden. Der µC weiß ja, dass ein Signal mit einer bestimmten Codierung (damit man weiß, um welchen Sender es sich handelt) nur einmal z.B. innerhalb von 0,2s auftreten kann. Steht jetzt irgendwo ein Spiegel verdoppelt sich die Häufigkeit. Es entsteht ein virtueller Empfänger der "hinter dem" Spiegel steht. Der Abstand zwischen Sender und Empfänger ist daher größer als auf direktem Wege. Der µC muss also innerhalb einer Periode immer das Signal nehmen, das den längsten Zeitabstand hat. Denk ich zumindest mal.

    Was mir mehr Probleme bereitet ist die Anordnung der Empfängerdioden. Ich hab keine Ahnung wie ich diese am günstigsten einbauen müsste, damit sie die Signale auch empfangen.

    Stefan

  9. #9
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    14.01.2006
    Ort
    Hattingen
    Alter
    52
    Beiträge
    984
    Zitat Zitat von StEndres

    Was mir mehr Probleme bereitet ist die Anordnung der Empfängerdioden. Ich hab keine Ahnung wie ich diese am günstigsten einbauen müsste, damit sie die Signale auch empfangen.

    Stefan
    Das sehe ich nicht so problematisch. Wenn man sich die Pindioden (z.B: BPW34 mit Tageslichtfilter) ansieht, stellt man fest, dass diese einen sehr weiten Empfangswinkel haben. Man kann also z.B. 4 Dioden jeweils 90° zueinander anordnen. Da die Dioden normalerweise sperrren und durch den Fotoeffekt leitend werden, kann man sie sogar parallel schalten und kommt evtl. sogar mit nur einer Auswertelektronik aus (die man ggf. an den 4-fachen Ruhestrom anpassen muss). Ob die Kapazität bei einfacher Parallelschaltung zu hoch wird, und die Grenzfreqzenz zu sehr reduziert, weiß ich (noch) nicht. Einen Teil kann man sicher auch hier kompensieren.

    sigo

  10. #10
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    14.01.2006
    Ort
    Hattingen
    Alter
    52
    Beiträge
    984
    Zitat Zitat von Andree-HB
    ...noch ein Vorschlag, ähnlich GPS - könnte man sich nicht eine Umgebung mit einer supergenauen (Funkuhr) bauen und die Sendezeit zusammen mit einer Positionsangabe ("ich bin Bake 1") über nacheinander 4 Baken aussenden. Dann vergleicht man im Robby (der ebenfalls eine Funkuhr eingebaut hat) die Empfangszeit/Laufzeit/Entfernung. Zur Übertragung ein "langsames" Medium wie Ultraschall verwenden, Infrarot/Lichtgeschwindigkeit ist viel zu schnell.

    Bei mind. 3 Baken wäre eine sehr genaue Positionsbestimmung möglich, wenn die Abstände der Baken im Vorfeld bekannt sind.
    Hi,
    also die Laufzeit wollte ich eigentlich nicht messen und mehrere supergenaue Atomuhren würden auch den Etat sprengen.

    Die sind aber auch gar nicht nötig. Du hast reicht, dass es reichen würde, eine Senderkennung zu senden. Das wäre ja recht einfach, indem man unterschiedliche Pulsmuster oder auch Bitzeiten verwendet.

    Wenn man alle Sender synchron laufen lässt, und einfach das Eintreffen der Signale mit einem Timer stopt, kann man sicher auch was damit anfangen.

    Ideal wäre ein globaler, rundum strahlender Synchronisationsimpuls, den alle Sender und alle Fahrzeuge erhalten (z.B. per Funk). Auf diesen Impuls könnten sich alle Sender synchronisieren, sodass sie immer nach Norden senden, wenn der Impuls kommt. Sobald die Synchronisation steht, senden nun alle Sender ihr sehr kurzes Muster (Morsezeichen würde reichen).

    Nun können die Empfänger auf Basis der Zeit bis zu den jeweiligen Signalen die Winkel ermitteln und daraus die Position peilen.

    Dazu reichen die Timer eines µController allemal aus. Keine Atomuhr nötig.

    Auf den Funk würde ich aber gern verzichten, da teuer. Man kann natürlich auch den Mastersender einfach mit einem Ring aus IR-LEDs ausstattung und so die Synchronisation mit der gleichen Intensität wie die Winkel runum senden.

    Hey, das gefällt mir schon ziemlich gut. Ist einfacher und wohl auch übertragungssicherer als die Datenübertragung..finde diese dennoch sehr reizvoll.

    Wenn man gleich alle Sender aus vielen Dioden baut, braucht nan die nicht mehr rotieren zu lassen. Hmm, aber die Auflösung von ideal z.B. 1-2° erreicht man so wohl eher nicht..

    Sigo

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •