Hallo, mal angenommen ich bewege mich in einer Ebene (2D) mit drei Barken um mich herum. Ich messe den Abstand zu den drei Barken (d1, d2 und d3), und halte dies als meinen Nullpunkt fest (0|0). Nun bewege ich mich ein bisschen, und messe erneut den Abstand zu den drei Barken (d1', d2', d3'). An welcher Position (X,Y) befinde ich mich nun? Das ist ja eigentlich noch recht leicht zu lösen (Kreisgleichung?). Aber wie sieht die Sache aus, wenn die Abstandsmessung zu meinen Barken ungenau ist? D.h. die Kreise schneiden sich gar nicht in einem Punkt? In dem Fall müsste man so etwas wie den wahrscheinlichsten Aufenthaltsort (X|Y) bestimmen können, oder? Da gibt es doch sicher einen schönen Algorithmus für (ggf. auch in 3D)?
Hallo, drei Barken sind ein wenig knapp. Mindestens 4 dürfen es schon sein. Am liebsten so viele vie geht. 3 Reichen halt nur in der Therorie. Ansonsten solltest du dich bei der Sache in das Thema Kalman Filter einlesen. Das Ding ist echt super für so was. Grüße,
Also ich würde bezweifeln, dass überhaupt mit Barken [1] geht. Auf der anderen Seite: man lernt nie aus. http://de.wikipedia.org/wiki/Barke
Du bist irgendwo im rot markierten Bereich. Und da sieht man jetzt auch schon, was alles passieren kann. Die Kreise 1 und 3 berühren sich nicht mal, haben also keinen Schnittpunkt. Das ist eine Situation, die ich so bereinigen würde, in dem ich annehme, das aus irgendeinem Grund diese beiden Messungen den gleichen Fehler habe. D.h. ich vergrößere die beiden Kreise proportional, bis sie sich berühren. Für die Kreise 1 und 2, bzw. 2 und 3 gilt das nicht. Zwischen den beiden Kreisen gibt es jeweils 2 Schnittpunkte. Arbeitsansatz: was passiert, wenn man die beiden Schnittpunkte mit einer Geraden verbindet und dann jeweils alle diese Geraden wieder zum Schnitt bringt. Die Idee dahinter ist ja, dass alle Punkte auf einer dieser beiden Geraden denselben proportionalen Abstand zu den beiden Kreismittelpunkten haben. D.h alle Punkte auf dieser Geraden spiegeln das gemessene Verhältnis der Distanzen wieder. Diese 3 Geraden treffen sich im Zielgebiet in 3 nicht notwendigerweise identischen Punkten. In jedem dieser Punkte liegt das korrekte Verhältnis der gemessenen Distanzen vor, die allerdings davon abhängen welche der beiden Distanzen genommen wurde. Der Einfachheit halber nehme ich dann einfach den Durchschnitt dieser 3 Punkte. Ich weiß gar nicht mehr, wie das damals funktioniert hat. Wir hatten einen 3D Scanner auf Ultraschallbasis. 3 Mikrofone zeichneten die Laufzeiten aus und dann wurde der Schnittpunkt 3-er Kugel bestimmt. Aber ich kann mich nicht mehr erinnern, ob da irgendwelche Fehlerrechnungen nötig waren, oder ob die Genauigkeit auch so reichte.
Du solltest mehr Mikrofone nehmen und ein überbestimmtes Gleichungssystem erzeugen und die Lösung mit einer Optimierung / einem Fit suchen. Wichtig sind omnidiektionale Mikrofone und die Wahl einer nicht zu hohen Frequenz, weil auch Kugelmikrofone eine Richtcharakteristik haben. Ich habe mal Experimente mit einer sogenannten DECCA-Anordnung gemacht, wie sie bei Tonaufnahmen Verwendung findet. http://www.96khz.org/oldpages/soundsourcelocalisation.htm Ansonsten ist Wikipedia eine gute Anlaufstelle.
Sind http://www.informatik.uni-kiel.de/~railway/Downloads/hoehrmann1.pdf + Literaturverweise schon bekannt? [Mod: Link korrigiert (Fehlerhafte LRM entfernt)]
:
Bearbeitet durch Moderator
Wenn man den mittleren quadratischen Fehler als Optimierungsziel nimmt, muß doch nur das Minimierungsproblem
i.A. von
gelöst werden (b - Position der Barken, d - gemessene Abstände). Dies führt bei N Barken zu einem Gleichungssystem mit N Gleichungen.
Dr. Rüdiger Knörig (sleipnir) schrieb: > gelöst werden (b - Position der Barken, d - gemessene Abstände). Die Position der Barken ist aber nicht bekannt. So einfach ist es dann doch nicht ;-)
Boris P. schrieb: > und halte dies als meinen Nullpunkt fest (0|0). Ein Koordinatensystem ist nicht nur durch den Ursprung, sondern auch die Orientierung (also bspw. die Richtung der x-Achse) bestimmt. Wie definierst du diese? Boris P. schrieb: > Die Position der Barken ist aber nicht bekannt. So einfach ist es dann > doch nicht ;-) Nein, wirklich nicht. Mit Abstandsmessungen von nur zwei Positionen aus (wie in deinem Eingangspost beschrieben) geht das nämlich überhaupt nicht. Erst wenn du die Messungen von vielen Positionen hast, gibt es eine gewisse Chance, das mit einem SLAM-Verfahren zu lösen: http://de.wikipedia.org/wiki/Simultaneous_Localization_and_Mapping Viel Spaß damit :) PS: Noch schwieriger wird es allerdings, wenn die "Barken" gar nicht stationär sind, sondern auf dem Wasser hin- und hertreiben ;-)
:
Bearbeitet durch Moderator
Yalu X. schrieb: > PS: Noch schwieriger wird es allerdings, wenn die "Barken" gar nicht > stationär sind, sondern auf dem Wasser hin- und hertreiben ;-) Das ist doch eigentlich die Aufgabe einer Barke, oder? Es sei denn, sie liegt zur Wartung im Trockendock. :-) Ich frag mich schon die ganze Zeit, ob hier einer mit "Barke" angefangen hat und alle anderen dem Herdentrieb gefolgt sind? Müßte es nicht "Bake" heißen? Ich laß mich aber auch gerne belehren, wenn es in diesem Sinnzusammenhang wirklich eine "Barke" geben sollte.
Da Boris auf diesen wohlgemeinten Hinweis Funkfeuer schrieb: > Also ich würde bezweifeln, dass überhaupt mit Barken [1] geht. Auf der > anderen Seite: man lernt nie aus. > > http://de.wikipedia.org/wiki/Barke nicht reagiert hat, sondern weiterhin von "Barken" schreibt, ist wohl davon auszugehen, dass er tatsächlich die Boote meint ;-)
Boris P. schrieb: > Ich messe den Abstand zu den drei Barken (d1, d2 und d3), kannst Du auch den Winkel messen?
Yalu X. schrieb: > davon auszugehen, dass er tatsächlich die Boote meint ;-) Da muß dann aber die Frage erlaubt sein, ob das ganze auch auf Yachten und Schlauchboote zutrifft. :-)))
Boris P. schrieb: > Nun bewege ich mich ein bisschen, und messe erneut den Abstand zu den > drei Barken (d1', d2', d3'). An welcher Position (X,Y) befinde ich mich > nun? Bevor das geht muust Du erst einmal eine Basis schaffen. Also eine bekannte Strecke - die günstig innerhalb der 3 Ba(r)ken liegt - absetzen, wieder zu d1-d3 messen und diese als bekannte Koordinatenachse festlegen. Dann gibts auch Koordinaten für den Anfangs- und Endpunkt und sogar für d1 bis d3, solange diese nicht wegschwimmen ;-)
Yalu X. schrieb: > Nein, wirklich nicht. Mit Abstandsmessungen von nur zwei Positionen aus > (wie in deinem Eingangspost beschrieben) geht das nämlich überhaupt > nicht. Was geht dabei überhaupt nicht? Mit dem Abstand zwischen Barke und Bake hat man den Abstand zu einer Bake, d.h. die Messung definiert einen Kreis um die Bake, die eine Standlinie für die Positionsbestimmung darstellt. Mit der zweiten Abstandsmessung bekommt man einen zweiten Kreis um die zweite Bake. Diese beiden Kreise dürften i.A. zwei Schnittpunkte habe. Oft läßt sich durch geeignete Wahl der Bakenstandorte durch Zusatzeinschränkungen ("der Schnittpunkt ist außerhalb des überwachten Raumes") diese Uneindeutigkeit vermeiden und die Position der Barke aus den beiden Abstandsmessungen bestimmen. Weitere Baken liefern Redundanz für Fehlerabschätzungen bzw. liefern durch günstigere Schnittwinkel der Standlinien eine genauere Position.
Mike schrieb: > Was geht dabei überhaupt nicht? > > Mit dem Abstand zwischen Barke und Bake hat man den Abstand zu einer > Bake, d.h. die Messung definiert einen Kreis um die Bake, die eine > Standlinie für die Positionsbestimmung darstellt. Mit der zweiten > Abstandsmessung bekommt man einen zweiten Kreis um die zweite Bake. Das klappt perfekt, wenn die Bakenpositionen, also die Kreismittelpunkte bekannt sind. Aber: Boris P. schrieb: > Die Position der Barken ist aber nicht bekannt. Wobei er mit den "Barken" offensichtlich die Baken meint.
Ich würd sagen daß das Problem so nicht lösbar ist, d.h. wenn nur die Abstände zu den Baken gegeben sind, aber weder die Winkel zwischen den einzelnen Richtungen, noch die relativen Positionen der Baken zueinander. Anders sieht es dann aus, wenn z.B. bekannt ist, daß die Baken an den Ecken eines gleichsitigen Dreieck von bekannter Kantenlänge stehen. Aber auch dann gibt es Fälle, wo das Problem unterbestimmt ist, z.B. wenn man sich auf einem Seitenschwerpunkt befindet.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.