-         

Ergebnis 1 bis 9 von 9

Thema: Relative Positionsbestimmung anhand von Laser Baken (Berechnung)

  1. #1

    Relative Positionsbestimmung anhand von Laser Baken (Berechnung)

    Anzeige

    Hallo,

    ich arbeite gerade an einen Roboter (Kehrmaschine). Als Basis dient da eine Kärcher Kehrmaschine mit 2 Seitenbesen. Soweit alles gut. Zurzeit kann der Bot nur planlos (zufälliges Muster) hin und her fahren. Der Bot hat Ultraschall Sensoren um Hindernisse zuerkennen, einen Kompass für die Richtung. Solange das Areal abgeschlossen ist, ist alles super, wenn jemand das Hoftor offen lässt geht er stiften und macht gleich mal die ganze Straße mit. Das gleich auch wenn er vom Hof auf den Weg in den Garten kommt... Fegen des Rasens kommt nicht gut.

    Damit ich nicht alles absperren muss, wollte ich dem kleinen jetzt eine Navigation gönnen. Angedacht bzw. schon umgesetzt ist folgendes.

    2 Baken mit einem Laser. Der Laser wird über einen Spiegel 360 Grad im Kreis abgelenkt und zusätzlich mit einem Prisma noch vertikal gestreut. Die Baken haben keinen Fest Platz!
    Der Roboter besitzt einen Kompass. Auf dem Roboter ist ein Empfänger der sich kontinuierlich dreht und die Winkel (immer ab der Nordausrichtung) Mist. Das läuft auch schon sehr gut und zuverlässig.

    Zeichnung:
    Anhang 32796

    Ich möchte keine absolute Position nun berechnen, sondern eine Relative.

    Der Plan war, die Baken zu positionieren. Den Roboter auf der Startposition (Gleich der Ladestation) einmal die Winkel zu wessen zu den Baken. Diese Position (Position 1) ist dann x=0 und y=0. Danach fährt der BOT und kann anhand der unterschiedlichen Winkel gemessen zur Nordausrichtung seine x und y Position (Position 2) bestimmen. Wenn man dann die Grenze einmal abfährt die der Bot nicht verlassen darf, habe ich sozusagen einen virtuellen Zaun und der Bot weiß wo er überall war bzw. wo er noch hin muss. Das braucht man nur einmal machen. Es sei denn man verstellt die Baken.

    Einige Punkte beim Nachlesen bzw. den ersten versuchen sich mit Triangulation Dreiecks Berechnung habe ich erkannt, komme aber hier nicht weiter. Eins kann ich mit Sicherheit sagen, da ich das simuliert habe. Die Winkel zu Bake 1 und der Winkel zu Bake 2 sind (immer gemessen anhand der Nordausrichtung , siehe Zeichnung) immer unterschiedlich, so das der Winkel W1 und W2 mehr oder weniger die Position angibt und ich somit Beide Baken in die Berechnung immer einbinden muss. Auch das nur mit Winkel, ich nur eine Form eines Dreieck, aber nie eine Größe bekommen kann, da ich hierzu mindestens eine längen Angabe brauche. Eine Radsensor fällt aus, der Schlupf der Räder ist zu groß um genaue Werte zu bekommen. Alternativ könnte man anstatt der "realen" Längenangabe eine Fiktive Größe anzugeben. Es geht hier nicht um genaue Meter angaben, sondern nur darum die Position (relativ) wiederzufinden.

    Des Weiteren muss man auch beachten, dass wenn der Winkel über die 180 Grad hinaus geht es sich hier um negative "Koordinaten" handelt, was sich aber via Software geht.

    Wenn jemand Ansätze hat, vielen Dank, ich denke das ich damals bei Triangulation und Dreiecken immer Kreide holen war...
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken 20170806_174001.jpg  

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.10.2014
    Beiträge
    2.069
    Zitat Zitat von uschoen Beitrag anzeigen
    Hallo,

    ich arbeite gerade an einen Roboter (Kehrmaschine). Als Basis dient da eine Kärcher Kehrmaschine mit 2 Seitenbesen. Soweit alles gut. Zurzeit kann der Bot nur planlos (zufälliges Muster) hin und her fahren. Der Bot hat Ultraschall Sensoren um Hindernisse zuerkennen, einen Kompass für die Richtung. Solange das Areal abgeschlossen ist, ist alles super, wenn jemand das Hoftor offen lässt geht er stiften und macht gleich mal die ganze Straße mit. Das gleich auch wenn er vom Hof auf den Weg in den Garten kommt... Fegen des Rasens kommt nicht gut.

    Damit ich nicht alles absperren muss, wollte ich dem kleinen jetzt eine Navigation gönnen. Angedacht bzw. schon umgesetzt ist folgendes.

    2 Baken mit einem Laser. Der Laser wird über einen Spiegel 360 Grad im Kreis abgelenkt und zusätzlich mit einem Prisma noch vertikal gestreut. Die Baken haben keinen Fest Platz!
    Der Roboter besitzt einen Kompass. Auf dem Roboter ist ein Empfänger der sich kontinuierlich dreht und die Winkel (immer ab der Nordausrichtung) Mist. Das läuft auch schon sehr gut und zuverlässig.

    Zeichnung:
    Anhang 32796

    Ich möchte keine absolute Position nun berechnen, sondern eine Relative.

    Der Plan war, die Baken zu positionieren. Den Roboter auf der Startposition (Gleich der Ladestation) einmal die Winkel zu wessen zu den Baken. Diese Position (Position 1) ist dann x=0 und y=0. Danach fährt der BOT und kann anhand der unterschiedlichen Winkel gemessen zur Nordausrichtung seine x und y Position (Position 2) bestimmen. Wenn man dann die Grenze einmal abfährt die der Bot nicht verlassen darf, habe ich sozusagen einen virtuellen Zaun und der Bot weiß wo er überall war bzw. wo er noch hin muss. Das braucht man nur einmal machen. Es sei denn man verstellt die Baken.

    Einige Punkte beim Nachlesen bzw. den ersten versuchen sich mit Triangulation Dreiecks Berechnung habe ich erkannt, komme aber hier nicht weiter. Eins kann ich mit Sicherheit sagen, da ich das simuliert habe. Die Winkel zu Bake 1 und der Winkel zu Bake 2 sind (immer gemessen anhand der Nordausrichtung , siehe Zeichnung) immer unterschiedlich, so das der Winkel W1 und W2 mehr oder weniger die Position angibt und ich somit Beide Baken in die Berechnung immer einbinden muss. Auch das nur mit Winkel, ich nur eine Form eines Dreieck, aber nie eine Größe bekommen kann, da ich hierzu mindestens eine längen Angabe brauche. Eine Radsensor fällt aus, der Schlupf der Räder ist zu groß um genaue Werte zu bekommen. Alternativ könnte man anstatt der "realen" Längenangabe eine Fiktive Größe anzugeben. Es geht hier nicht um genaue Meter angaben, sondern nur darum die Position (relativ) wiederzufinden.

    Des Weiteren muss man auch beachten, dass wenn der Winkel über die 180 Grad hinaus geht es sich hier um negative "Koordinaten" handelt, was sich aber via Software geht.

    Wenn jemand Ansätze hat, vielen Dank, ich denke das ich damals bei Triangulation und Dreiecken immer Kreide holen war...
    hallo,
    das erste attachement ist fehlerhaft.

    Aber unabhängig davon, was möchtest du jetzt wissen?
    wie man die Triangulierung analytisch-geometrisch ausrechnet?
    Das ist lösbar.

    Aber wenn du das dann hast:
    Bist du sicher, dass dein Laser-Radar richtig die Baken anpeilen und korrekt die Winkel messen wird?
    Das halte ich für den schwierigeren Teil, ehrlich gesagt.

  3. #3
    Moin,

    Nur noch mal zum Verständnis, der Laser sitzt auf der Bake und wird 360 Grad abgestrahlt. Der Bot hat nur einen Empfänger. Der sitzt auch auf einer drehbaren Achse die dauerhaft rotiert. Start der Messung des Winkels ist immer die Nordausrichtung. Das Funktioniert auch. Nur bei der Berechnung steht ich auf dem Schlauch.

    Mit der ersten Messung kann ich nichts anfangen, da die beIden Baker hier unendlich viele Punkte auf einer geraden haben. Erst mit der 2. Position und Messung ergibt sich ein SchnittPunkt.

    Und der Schnittpunkt kann nur berechnet werden wenn ich beide Winkel der 2 Baker mit einbeziehen da es ansonsten mehrere Punkte gibt.

    Ich geradeln unterwegs. Werde die Zeichnung damit es klarer wird noch mal hoch laden.

    Wer eine Idee zur Berechnung hat oder zumindest einen weg aufzeigen kann würde mir echt helfen.

    Danke

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.10.2014
    Beiträge
    2.069
    Zitat Zitat von uschoen Beitrag anzeigen
    Moin,

    Nur noch mal zum Verständnis, der Laser sitzt auf der Bake und wird 360 Grad abgestrahlt. Der Bot hat nur einen Empfänger. Der sitzt auch auf einer drehbaren Achse die dauerhaft rotiert. Start der Messung des Winkels ist immer die Nordausrichtung. Das Funktioniert auch. Nur bei der Berechnung steht ich auf dem Schlauch.

    Mit der ersten Messung kann ich nichts anfangen, da die beIden Baker hier unendlich viele Punkte auf einer geraden haben. Erst mit der 2. Position und Messung ergibt sich ein SchnittPunkt.

    Und der Schnittpunkt kann nur berechnet werden wenn ich beide Winkel der 2 Baker mit einbeziehen da es ansonsten mehrere Punkte gibt.

    Ich geradeln unterwegs. Werde die Zeichnung damit es klarer wird noch mal hoch laden.

    Wer eine Idee zur Berechnung hat oder zumindest einen weg aufzeigen kann würde mir echt helfen.

    Danke
    ach so, die Baken messen aktiv, nicht der Robot, das hatte ich falsch verstanden.

    2 Baken funktionieren dann nur eingeschränkt, stell dir vor, das Objekt liegt genau dazwischen - entsprechend ungenau ist diese Methode in Grenzbereichen. 3 Baken sind besser, aber dennoch:

    Klicke auf die Grafik für eine größere Ansicht

Name:	abbildung1761.png
Hits:	9
Größe:	32,1 KB
ID:	32799

    Klicke auf die Grafik für eine größere Ansicht

Name:	formel147.png
Hits:	5
Größe:	3,1 KB
ID:	32800

    Klicke auf die Grafik für eine größere Ansicht

Name:	formel148.png
Hits:	4
Größe:	4,5 KB
ID:	32801

    guckst du hier: https://bergundtalfunk.wordpress.com.../kreuzpeilung/

    Knackpunkt bleibt grundsätzlich die mechanisch-optische Peilgenauigkeit, wie weit bist du damit praktisch?
    Wenn, dann wird es unter Umständen am ehesten daran scheitern.


    ansonsten gibt es fertige Ortungssysteme für Arduino und Raspi, die mit aktiven Baken ähnlich wie GPS arbeiten, nennt sich pozyx. Das halte ich für am vielversprechendsten:
    https://www.pozyx.io/

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    07.03.2011
    Beiträge
    1.334
    Mal so aus der Hüfte geschossen: nur mit Winkeln allein wird das nicht gehen. Ich denke man braucht zusätzlich mindestens eine Länge. Eine Länge kannst du aber mit deinen Sensoren nicht messen. Du kannst aber die Position der Baken einmalig vermessen und bekommst damit Längen in deine Dreicksberechnungen hinein. Ich geh mal davon aus, in deinem Bild ist Nord oben. Dann kannst du ein rechtwinkliges Dreieck zwischen Nord und Bake 1 konstruieren und ebenfalls eins zwischen Nord und Bake 2. Die Summe der beiden Gegenkatheten muß jetzt der Ost-West Entfernung der Baken sein und die Differenz der Ankatheten der Nord-Süd Entfernung der Baken. Vielleicht hilft dir das weiter.

    Dies hilft sicher nicht
    Zitat Zitat von HaWe Beitrag anzeigen
    Knackpunkt bleibt grundsätzlich die mechanisch-optische Peilgenauigkeit, wie weit bist du damit praktisch?
    Wenn, dann wird es unter Umständen am ehesten daran scheitern.
    Solange man keine Formel zur Berechnung der Position hat, spielt die Genaugkeit der Sensoren keine Rolle

    MfG Klebwax
    Strom fließt auch durch krumme Drähte !

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.10.2014
    Beiträge
    2.069
    Zitat Zitat von Klebwax Beitrag anzeigen
    Mal so aus der Hüfte geschossen: nur mit Winkeln allein wird das nicht gehen. Ich denke man braucht zusätzlich mindestens eine Länge. Eine Länge kannst du aber mit deinen Sensoren nicht messen. Du kannst aber die Position der Baken einmalig vermessen und bekommst damit Längen in deine Dreicksberechnungen hinein. Ich geh mal davon aus, in deinem Bild ist Nord oben. Dann kannst du ein rechtwinkliges Dreieck zwischen Nord und Bake 1 konstruieren und ebenfalls eins zwischen Nord und Bake 2. Die Summe der beiden Gegenkatheten muß jetzt der Ost-West Entfernung der Baken sein und die Differenz der Ankatheten der Nord-Süd Entfernung der Baken. Vielleicht hilft dir das weiter.

    Dies hilft sicher nicht


    Solange man keine Formel zur Berechnung der Position hat, spielt die Genaugkeit der Sensoren keine Rolle

    MfG Klebwax
    @Klebwax, du hast doch sicher meinen Beitrag und den Link dazu gelesen - oder etwa nicht?
    (wer lesen kann, ist kar im Vorteil...)

    Natürlich geht es mit 2 Winkeln und der bekannten Länge zwischen den Baken, durch WLW kann ein Dreieck in der euklidischen Geometrie eindeutig bestimmt werden.
    Die Formeln dazu habe ich ebenfalls gepostet.
    Schwierig wird es nur, wenn der dritte Punkt in der Nähe der Verbindungsgeraden durch die 2 Baken liegt, hier hilft dann nur ein 3. Bake, die linear unabhängig positioniert ist, aber alles steht und fällt mit der praktisch-technischen Winkelmessung durch die Baken.

  7. #7
    Zitat Zitat von HaWe Beitrag anzeigen
    ach so, die Baken messen aktiv, nicht der Robot, das hatte ich falsch verstanden.

    2 Baken funktionieren dann nur eingeschränkt, stell dir vor, das Objekt liegt genau dazwischen - entsprechend ungenau ist diese Methode in Grenzbereichen. 3 Baken sind besser, aber dennoch:

    Klicke auf die Grafik für eine größere Ansicht

Name:	abbildung1761.png
Hits:	9
Größe:	32,1 KB
ID:	32799

    Klicke auf die Grafik für eine größere Ansicht

Name:	formel147.png
Hits:	5
Größe:	3,1 KB
ID:	32800

    Klicke auf die Grafik für eine größere Ansicht

Name:	formel148.png
Hits:	4
Größe:	4,5 KB
ID:	32801

    guckst du hier: https://bergundtalfunk.wordpress.com.../kreuzpeilung/

    Knackpunkt bleibt grundsätzlich die mechanisch-optische Peilgenauigkeit, wie weit bist du damit praktisch?
    Wenn, dann wird es unter Umständen am ehesten daran scheitern.


    ansonsten gibt es fertige Ortungssysteme für Arduino und Raspi, die mit aktiven Baken ähnlich wie GPS arbeiten, nennt sich pozyx. Das halte ich für am vielversprechendsten:
    https://www.pozyx.io/
    Danke erst mal für die Links.Der Erste könnte wirklich hilfreich sein, der 2. Fällt aus, da die Kosten zu hoch sind.

    Nur noch mal zum Verständnis, nicht die Baken Messen, sondern die Baken senden ein Routierenden Laser Strahl aus. Der Bot hat den Empänger der sich auch dauerhaft dreht. Die Richtung aus dem der Laser von der Bake dann kommt kann er messen, und das immer gemessen anhand der Nordrichtung. Das ganze Läuft auch schon, nur das ich mit den Winkelinformation noch nichts Anfangen kann. Das ganze ist auch bis +-1cm genau. Als Test habe ich einmal die Winkel zu den beiden Bakken an Position 1 gemessen. Diese dann Markiert und bin dann zu Position 2 gefahren und diese dann wiederum Markiert. Dann wieder zurück zu der MArkierten Position 1, und siehe da ich habe wieder die gleichen Winkelinformationen.

    Eine genauigkeit von +- 1 cm ist hier schon ausreichend.

    - - - Aktualisiert - - -

    Zitat Zitat von Klebwax Beitrag anzeigen
    Mal so aus der Hüfte geschossen: nur mit Winkeln allein wird das nicht gehen. Ich denke man braucht zusätzlich mindestens eine Länge. Eine Länge kannst du aber mit deinen Sensoren nicht messen. Du kannst aber die Position der Baken einmalig vermessen und bekommst damit Längen in deine Dreicksberechnungen hinein. Ich geh mal davon aus, in deinem Bild ist Nord oben. Dann kannst du ein rechtwinkliges Dreieck zwischen Nord und Bake 1 konstruieren und ebenfalls eins zwischen Nord und Bake 2. Die Summe der beiden Gegenkatheten muß jetzt der Ost-West Entfernung der Baken sein und die Differenz der Ankatheten der Nord-Süd Entfernung der Baken. Vielleicht hilft dir das weiter.

    Dies hilft sicher nicht


    Solange man keine Formel zur Berechnung der Position hat, spielt die Genaugkeit der Sensoren keine Rolle

    MfG Klebwax
    Zu den Winkeln stimme ich dir zu. Da die Winkel wie ich oben geschrieben habe, nur die Form beschreiben aber nicht die Skalierung also die Grösse. Dazu brauch man bei rechtwinkligen Dreiecken immer 3 Werte, wovon eine längen Angabe ist.

    Mir ist aber auch die Skalierung also die genau Entfernung nicht wichtig. Vergleichbar ob ich jetzt einen Kurs/Weg in einer Karte 1:10000 eintrage, oder den Kurs/Weg in wirklichkeit zurücklege. Da der Bot immer weiß wo er ist. Somit , das wäre mein Ansatz um das Längenproblem zu lösen hier eine Fiktive Zahl zu nehmen, wie 100 oder 10000... das ist ja alles eine Frage der Einheiten (Km,m,cm,mm...) und des Maßstabes. Der Bot soll ja nicht 10 cm in richtung X fahren, sonder 10 Einheiten.

    Ja damit die Winkel immer vom Gleichen Punkt aus gemessen werden beginnt die Messung immer anhand der Nordausrichtung. Kannst du deine Erklärung mal Visualisieren. Ich habe in den letzten 3 Wochen soviel über dreicksberechnung gelesen (reine Theorie) ... da hat sich jetzt ein wenig Chaos aufgebaut...

  8. #8
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.10.2014
    Beiträge
    2.069
    Zitat Zitat von uschoen Beitrag anzeigen
    Danke erst mal für die Links.Der Erste könnte wirklich hilfreich sein, der 2. Fällt aus, da die Kosten zu hoch sind.

    Nur noch mal zum Verständnis, nicht die Baken Messen, sondern die Baken senden ein Routierenden Laser Strahl aus. Der Bot hat den Empänger der sich auch dauerhaft dreht. Die Richtung aus dem der Laser von der Bake dann kommt kann er messen, und das immer gemessen anhand der Nordrichtung. Das ganze Läuft auch schon, nur das ich mit den Winkelinformation noch nichts Anfangen kann. Das ganze ist auch bis +-1cm genau. Als Test habe ich einmal die Winkel zu den beiden Bakken an Position 1 gemessen. Diese dann Markiert und bin dann zu Position 2 gefahren und diese dann wiederum Markiert. Dann wieder zurück zu der MArkierten Position 1, und siehe da ich habe wieder die gleichen Winkelinformationen.

    Eine genauigkeit von +- 1 cm ist hier schon ausreichend.
    Also misst doch der Bot die Winkel zu den Baken, nicht die Bake selber, so wie ich es zuerst ursprünglich verstanden habe!
    Würden 2 Baken mit ihren Peilungswinkeln zum Bot so gemessen werden können wie in dem Artikel, wo sie aktiv die Winkel zum Bot messen, dann würden die geposteten Formeln genau dein gesuchtes Ergebnis liefern.
    Evtl kann man das umrechnen mit deiner Nordpeilung.
    1cm Toleranz ist aber auch schon extrem anspruchsvoll für so eine einfache Doppel-Peilung, ich denke nicht, dass deine Peilungen so exakt sein werden- das würde ich als erstes mit einer Messreihe mal austesten, um die statistischen Fehler zu ermitteln, denn wie gesagt, damit steht und fällt alles.

    Edit: Du schreibst zwar oben, es wäre auf 1cm genau, aber das kann ja nicht sein, denn dazu müsstest du ja die Formel zur Peilung und Triangulierung bereits kennen und auch schon ausgewertet haben.

    Und du brauchst eine Längeneinheit als Referenz, die du als Maßstab nimmst, also musst du dann die Entfernung zwischen den Baken exakt so skalieren wie deinen Maßstab für dein Messraster!
    Denn mit 3 Winkeln ohne Länge im Dreieck kann man KEIN Dreieck eindeutig definieren, dann wäre deine Aufgabe mathematisch unlösbar!
    (Wer kann mal schnell Kreide holen....? )
    Geändert von HaWe (13.08.2017 um 15:02 Uhr)

  9. #9
    Gesperrt
    Registriert seit
    12.08.2017
    Ort
    Schömberg
    Beiträge
    4
    Das ist sehr cool:clap:

Ähnliche Themen

  1. IR/US-Baken zur exakten Indoor-Positionsbestimung
    Von Felix G im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 7
    Letzter Beitrag: 13.08.2009, 22:16
  2. Elektronischer Kompass mit IR-Baken
    Von Dirty83 im Forum Robby RP6
    Antworten: 23
    Letzter Beitrag: 09.04.2009, 23:54
  3. Positionsbestimmung mittels einem Laser
    Von Axi im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 43
    Letzter Beitrag: 27.06.2006, 22:33
  4. [ERLEDIGT] Positionsbestimmung - GPS - Ultraschall - Wärmebild - Laser
    Von ITA-Moers im Forum PC-, Pocket PC, Tablet PC, Smartphone oder Notebook
    Antworten: 17
    Letzter Beitrag: 20.12.2004, 09:27
  5. Relative Positionsbestimmung
    Von Starchild im Forum Sensoren / Sensorik
    Antworten: 17
    Letzter Beitrag: 12.04.2004, 18:45

Berechtigungen

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