Praktisches Ausgleichsproblem

Neue Frage »

superconductor Auf diesen Beitrag antworten »
Praktisches Ausgleichsproblem
Bevor ich das Problem schildere möchte ich mitteilen, dass mir Ax=b bekannt ist, und dass dies mit der Normalengleichung oder mit der Orthogonalmethode (QR-Zerlegung) lösbar ist.

Mein Problem ist, dass ich die Gleichung nicht aufstellen kann.
Des weiteren habe ich im Internet einen Ansatz mit "Quaternionen" gefunden - doch diese Gruppe sagt mir nichts (falls elegant möglich, wäre ich also über einen anderen Lösungsweg froh).

So beschreibe ich die Aufgabenstellung:
Von einer Stahlebene werden n Punkte gemessen, somit besitzen wir von allen Punkten die Koordinaten (x,y,z).
Von dieser Stahlebene kennen wir die Soll-Koordinaten (also so wie die Stahlebene aussehen sollte - natürlich ohne Messfehler ).
Das Problem ist nun, da die Stahlebene nicht an der Richtigen Position im Koordinatensystem gemessen wurde (sondern vor der Montage), möchte ich die aufgenommen/gemessenen Punkte "im Sinne der kleinsten Fehlerquadrate" zu den Soll-Koordinaten einpassen.
Mir ist klar, dass dabei iA. eine Translation und Rotation notwendig ist (also 6 Freiheitsgrade) - doch wie stelle ich dazu nun ne Gleichung auf um diese Auszugleichen.

Vielen Dank - ich hoffe auf gescheite Köpfe und Freaks Wink
superconductor Auf diesen Beitrag antworten »

möchte nur mitteilen, dass ich mich registriert habe - damit ich gleich was erfahre wenn sich hier was tut Freude
tigerbine Auf diesen Beitrag antworten »

Leider verstehe ich nicht, was Du eigentlich berechnen willst. Ich frage in kleinen Schritten.

1. Du hast eine Platte (theoretisch eine Ebene?)
superconductor Auf diesen Beitrag antworten »

Ja ich habe eine Ebene und davon sind mir einige Referenzpunkte als Sollkoordinaten bekannt.

Nun vermesse ich diese Ebene, jedoch nicht an ihrem endgültigen Platzierungsort (also sozusagen vor der Montage). So erhalte ich neue Koordinaten zu allen Referenzpunkten. Und jene Punkte möchte ich nun zu den Sollkoordinaten so Translieren und Drehen das es möglichst passt (Ausgleichsrechnung).
tigerbine Auf diesen Beitrag antworten »

Also um eine Ebene eindeutig zu beschreiben würde man genau 3 Punkte brauchen.

Oder was hast Du für Sollkoordinaten?
superconductor Auf diesen Beitrag antworten »

Klaro, 3 Punkte beschreiben die Ebene d.h. die Sollkoordinaten sollten alle in einer Ebene liegen, was ich auch annehme. Jene betrachte ich nun mal nicht mehr (mit jenen stelle ich nichts mehr an).

Jetzt musst du dir vorstellen, dass sich diese Ebene im Koordinatensystem noch am falschen Ort befindet, ich sie jedoch an diesem falschen Ort aufnehme (d.h. vermesse und somit klar abweichungen der Punkte untereinander zu den Sollkoordinaten habe - da Messfehler oder Produktionsungenauigkeiten und dergleichen).

Vielleicht wird es so anschaulicher:
Angenommen ich könnte die Ebene perfekt vermessen und sie wurde perfekt produziert, muss ich von der Ebene und den Sollkoordinaten die "gleichen" drei Punkte nehmen um so eine Abbildung von der vermessen Ebene auf die Sollkoordinaten beschreiben zu können.

Nun ist eben das Problem das dies nicht alles perfekt machbar ist und die Abbildung somit Ausgeglichen werden muss.
 
 
tigerbine Auf diesen Beitrag antworten »

Du musst erst einmal die verschiedenen Fehlerquellen auseinander klamüsern.

Selbst wenn die Platte perfekt produziert worden wäre und theoretisch am richtigen Ort liegt, bekommst Du einen Fehler durch die Messung der Koordinaten.

Vielleicht können wir als Abstraktion uns einmal vorstellen, Soll-Lage wäre horizontal, Meß-Lage wäre Vertikal.

Welchen Zweck verfolgst Du denn mit der Vermessung der Platte?
superconductor Auf diesen Beitrag antworten »

Also von der Ebene kenne ich ganz bestimmte Punkte (Referenzpunkte) und von jenen habe ich auch die Sollkoordinaten. Die Referenzpunkte vermesse ich nun (klaro mit Messungenauigkeit, sowie produktion). Nun möchte ich ne theoretische Montage machen (eben die vermessenen Punkte mit den Sollkoordinaten ausgleichen) um vor der Montage die Fehler (der Punkte) bemerken zu können.
superconductor Auf diesen Beitrag antworten »

Zitat:
Original von tigerbine
Vielleicht können wir als Abstraktion uns einmal vorstellen, Soll-Lage wäre horizontal, Meß-Lage wäre Vertikal.


Wie die Ebene beim vermessen liegt ist unklar - ich bekomme einfach die Koordinaten der gemessen Referenzpunkte.

Mal Abstrakt gesagt:
Ich habe n nummerierte Punkte. Diese n nummerierten Punkte möchte ich zu andern n nummerierten Punkten ausgleichen. (nummeriert heisst, ich weiss welcher Punkt in etwa in welche Umgebung kommen sollte).
tigerbine Auf diesen Beitrag antworten »

Es war doch nur als Beispiel gedacht. Du vermisst einen Datensatz von Punkten. Diese sollten theoretisch alle in einer Ebene liegen. Praktisch kennen wir aber 2 Fehlerquellen (jedoch nicht ihren Anteil)

  • Messung

  • Produktion

i.A. werden dann wohl bei mehr als 3 Meßpunkten diese nicht in einer Ebene liegen.

  • Nun möchtest Du eine "Ausgleichsebene" durch den Datensatz legen.

  • Du benötigst ein Kriterium, wie "schlecht" dein Datensatz an einer theor. Ebene dran ist

Du könntest das dann an der Meßstelle selbst, z.B. durch die einzelnen Abstände der Meßpunkte von der Ausgleichsebene berechnen.


Du willst aber nun die Ausgleichsebene auf die Theorieebene drehen und dann die Abweichung Sollpunkt - Messpunkt berechnen?

EDIT:

Wenn Du immer editierst, ist ein Gespräch schwer.
superconductor Auf diesen Beitrag antworten »

sorry wegen dem edit.

Nein mir geht es nicht um die Ebene das war nur zur Anschauen (wohl eher zur Verwirrung).

Ich möchte die Punkte untereinander ausgleichen. Also die n aufgenommenen Punkte mit den n Sollkoordinaten.
superconductor Auf diesen Beitrag antworten »

Eine Ebene zu den aufgenommenen Punkten habe ich schon mal Ausgeglichen, das war kein Problem. Doch wo liegen nun die Sollkoordinaten in der Ausgeglichenen Ebene?!

Dies ist der Grund weshalb ich die Punkte direkt auf die Punkte ausgleichen möchte.
tigerbine Auf diesen Beitrag antworten »

Dann verstehe ich nicht was Du willst und warum Du am Anfang auf die "least-squares-method" angespielt hast. Dort geht man doch von einer "Datenwolke" aus, durch die man eine Funktion eines festgelegten Typs legt.

Nach welchen Kriterien willst du denn nun Punkte ausgleichen verwirrt

Gehe ich den ganz falsch in der Annahme, dass Du beurteilen willst, ob dein Bauteil korrekt gefertigt wurde?

Vielleicht wählst du auch einfach mal ein simples konkretes Beispiel.
superconductor Auf diesen Beitrag antworten »

Zitat:
Original von tigerbine
Dann verstehe ich nicht was Du willst und warum Du am Anfang auf die "least-squares-method" angespielt hast. Dort geht man doch von einer "Datenwolke" aus, durch die man eine Funktion eines festgelegten Typs legt.


Kann man denn die Datenwolke (aufgenommen Punkte) nicht im Sinne des least-squares-method auf die Soll-Koordinaten einpassen?

Zitat:

Nach welchen Kriterien willst du denn nun Punkte ausgleichen verwirrt


Die aufgenommenen Punkte sollten möglichst gut zu den Soll-Koordinaten passen.

Zitat:

Gehe ich den ganz falsch in der Annahme, dass Du beurteilen willst, ob dein Bauteil korrekt gefertigt wurde?



In direkt ja, ich möchte wissen wie viel meine aufgenommen Punkte von den Soll-Koordinaten abweichen.

Zitat:

Vielleicht wählst du auch einfach mal ein simples konkretes Beispiel.

Ich versuche es: Ich habe vier Punkte (A-D), davon die Soll-Koordinaten: A(0/0/0), B(1/0/0), C(1/0/1), D(0/0/1). Nun habe ich die Punkte gemessen und folgende Werte A'(10/20/30), B'(10.2/19.8/31.2), C'(10.1/20.8/31),D'(9.8/21.1/29.8). Nun möchte ich die gestrichenen Punkte A',B',C',D' ausgeglichen auf die Punkte A,B,C,D abbilden.

Ich hoff, das es nun langsam klar ist.
Tomtomtomtom Auf diesen Beitrag antworten »

Ich habs mir jetzt mehrmals genau durchgelesen, aber ich hab eins nicht verstanden: Was genau soll das Ergebnis der Berechnungen sein?

Die Abbildung (Rotation+Translation), die deine gemessene Ebene in ihre endgültige Position bringt? Oder was?
superconductor Auf diesen Beitrag antworten »

Zitat:
Original von Tomtomtomtom
Ich habs mir jetzt mehrmals genau durchgelesen, aber ich hab eins nicht verstanden: Was genau soll das Ergebnis der Berechnungen sein?

Die Abbildung (Rotation+Translation), die deine gemessene Ebene in ihre endgültige Position bringt? Oder was?

Genauer, die gemessen Punkte sollen möglichst mit den Soll-Koordinaten übereinstimmen, nach der Abbildung. Als Ergebnis reichen mir die Koordinaten der abgebildeten Punkte.
tigerbine Auf diesen Beitrag antworten »

Da bin ich ja beruhigt, dass es mir nicht alleine so geht. geschockt Deine Ungeduld ist hier fehl am Platze, auch wenn ich es aus umgekehrte Situation kenne.

Ich mache mal ein viel einfacheres Beispiel. Bleiben wir doch 2 Dimensional.

Solldaten



Was bei einer beliebigen Drehung des Objektes immer gleich bleiben würde, ist der Abstand


Messdaten






Egal wie Du nun drehst, die Punkte werden nie deckungsgleich sein. Du könntest aber die Prämisse setzten, dass die Abstände A_sA_m und B_sB_m minimiert werden sollen.

Meinst Du das? Welche "Drehung" minimiert diese Abstände?
superconductor Auf diesen Beitrag antworten »

Yaul genau!! Freude Merci.

Da es eben nie Deckungsgleich sein kann, kann/muss irgendwo minimiert werden. Man könnte auch eine Skalierung zu lassen, doch jene kommt bei mir nicht vor (=1).
tigerbine Auf diesen Beitrag antworten »

Ok, da die Punkte ihre räumliche Lage zueinander nicht ändern, muss nun

  1. Eine Abbildung aufgestellt werden, die eine Räumliche Drehung und Verschiebung beschreibt

  2. Das Bild des Datenvektors unter dieser Abbildung berechnet werden

  3. Ein Verfahren gewählt werden, bzgl. dessen dieser Bildvektor und der Soll-Werte Vektor als optimal angeglichen betrachtet werden sollen
superconductor Auf diesen Beitrag antworten »

Ja, so stelle ich mir den Ablauf auch vor.
Leider habe ich in diesem Bereich nicht so viel Erfahrung.

Für Punkt 1. die Verschiebung, könnte man da in beiden Systemen eine Art Schwerpunkt berechnen und diesen als fix betrachten (bzw. optimale Translation um danach nur noch Drehen zu müssen, mit der Gewissheit, dass die Translation optimal war).
Tomtomtomtom Auf diesen Beitrag antworten »

Nochmal zu deinen Messwerten. Ist da noch irgendwas drüber bekannt?

Sind die Abweichungen auf Produktionsabweichungen zurückzuführen? Oder auf Messfehler? Oder auf beides? Wenn ja wie stehen die größenordnungsmäßig im Verhältnis zueinander? Irgendwas über die Verteilung bekannt?
superconductor Auf diesen Beitrag antworten »

Die Abweichung sind auf die Messung und die Produktion (Transport/Lagerung/Temperatur) zurück zu führen, doch diese separieren kann ich nicht.
Was ich sicher weiss, die Messgenauigkeit liegt bei 3 mm.
Bei der Produktionsgenauigkeit ist es schwieriger zu sagen, es liegt meist bei einem 1% d.h. bei einer Distanz von 1m wäre es 1cm. So sollten die restlichen Effekte wie Temperatur (Ausdehnung vom Material) keine Relevanz mehr besitzen.
Bei meinem Beispiel liegen die Punkte im Schnitt zwischen 50 cm bis 2 m auseinander.

Ich hoffe das hilft weiter.
Tomtomtomtom Auf diesen Beitrag antworten »

Naja, das ist wohl auch nicht so wichtig.

Es würde wohl auch folgendermaßen gehen:

x_1,...,x_n sind deine Datenpunkte, y_1, ...,y_n die angetrebten Punkte.

Suche nun eine Drehmatrix A aus und eine Translation b aus , die das folgende Minimierungsproblem löst:



Eine allgemeine Drehmatrix A sieht im R^3 schon recht häßlich aus, siehe ttp://de.wikipedia.org/wiki/Rotationsmatrix oder http://de.wikipedia.org/wiki/Eulersche_Winkel), jedenfalls hast du in A drei freie Variablen. Das b ist nicht so kompliziert, da ist einfach jede Koordinate eine freie Variable.

Das ist ein Optimierungsproblem im R^6. Sieht halt nur sehr unangenehm aus.

Und dann rechnest du halt für jeden Datenpunkt Ax_i+b aus.
tigerbine Auf diesen Beitrag antworten »

Passt ja zum obigen 3-Punkte Plan, oder? Sofern Du mit angestrebten punkte sie Sollwerte meinst.
superconductor Auf diesen Beitrag antworten »

tja sieht mal gut aus, doch sehe ich wohl erst dann wenn ich es rechne die Probleme bzw. Unklarheiten.
Frage, ist die Lösung wenigstens eineindeutig?
Und gibt es wirklich keinen Satz oder so, welcher mir erlaubt die Translation einzeln zuvor zu lösen (eben mit einem Art Schwerpunkt in beiden Systemen)?
Na dann werde ich nach ein wenig schlaf mal an die Sache rangehen - merci!
Tomtomtomtom Auf diesen Beitrag antworten »

Ja, halt nur ein bißchen mehr formalisiert.

IMHO kannst du Translation und Rotation nicht so ohne weiteres voneinander trennen, mir fällt zumindest nix ein. Eindeutigkeit kannst du auch nie garantieren, es kann immer blöde Beispiele geben, beispielsweise wenn Punkte auf einer Geraden liegen.


Aber noch eine alternative Methode:

Diesmal lassen wir die Drehung erstmal außen vor, die ergibt sich dann automatisch. Statt dem freien Optimierungsproblem oben, lösen wir eins mit Nebenbedingungen. Wir suchen zuerst die "richtigen" Punkte zu den x_i, daß heißt eine Lösung des Optimierungsproblems



im statt im R^6. Dafür geben wir aber noch Nebenbedingungen an, und zwar, daß die dieselben Lagebeziehungen erfüllen wie die y_i (also gleiche Abstände, Winkel usw.). Da müßte man sich nochmal Gedanken drüber machen, welche Nebenbedingungen genau man bei n Punkten braucht, um sämtliche Lagebeziehungen eindeutig zu charakterisieren.

(Bei 4 Punkten könnte man beispielsweise sämtliche Abstände zwischen 2 Punkten als Nebenbedingungen wählen. Bei mehr Punkten sind das aber dann schon zuviele. Es schadet zwar nciht, da sie sich gegenseitig nicht widersprechen, aber das ganze ist dann halt ziemlcih redundant)

Der Vorteil ist dann, daß man zwei n-Tupel von Punkten hat, von denen man weiß das es eine eindeutige Drehung + Translation gibt, die sie exakt aufeinanderbringt, und die kann man dann einfach ausrechnen, das ist dann nur noch ein Gleichungssystem und kein Optimierungsproblem mehr.
tigerbine Auf diesen Beitrag antworten »

Meine Rückfrage bezog sich nur auf das erste "auch".

Deine Alternative beschreibt doch im Grunde, dass Du die Sollwerte in ihrer Lage fixierst und zu den Meßwerten "drehst/transl.", oder? verwirrt Als haben wir die Wahl zwischen:

* Stelle die Drehung + Translation auf

* Stelle die Lagebeziehung der Punkte auf


Edit zum Edit: Augenzwinkern

Ich sprach ja auch von einer Abbildung, die beide (Drehung und Translation) beschreibt.

edit2:

aber Du hast dich wohl auf den Threadsteller bezogen.
superconductor Auf diesen Beitrag antworten »

@tomtomtom...
Verstanden, also zuerst Versuchen zu optimieren. Obwohl mir noch nicht klar ist wie ich da all die Beziehungen hinein bekommen möchte. Also das mit den Lagebeziehungen weiss ich im Moment noch nicht anzugehen.

Klar wenn ich dann diese Punkte habe, reichen mir 3 davon um es in das Sollsystem drehen und schieben zu können (bzw. habe ich dass schon einmal gemacht - echt nicht weiters schwer).
Tomtomtomtom Auf diesen Beitrag antworten »

Nein, in der ersten Methode suche ich direkt eine Translation + Rotation die die Messwerte möglichst optimal auf die Sollwerte abbildet.

Bei der zweiten Methode suche ich dagegen für die Messwerte möglichst kleine Störungen, die insgesamt erzwingen, dass die gestörten Werte den Lagebeziehungen der Sollwerte entsprechen. Danach kann ich die Translation+Rotation einfach ausrechnen. (und wenns denn gewollt ist, auch nochmal auf die Messwerte anwenden)
tigerbine Auf diesen Beitrag antworten »

Dann liefern also diese beiden Wege unterschiedliche Ergebnisse? (Nehmen wir mal als Annahme, dass wir in beiden Fällen eine eindeutige Lösung bestimmen könnten). Oder stimmen die Lagebilder

1. gedr. + transl Messwerte zu Sollwerten

2. Messwerte - gestörte Messwerte

überein?
Tomtomtomtom Auf diesen Beitrag antworten »

Ich glaub nicht, aber ich werd mal im R^2 nen Beispiel rechnen und hier reinstellen.


Edit:

Also für folgendes Beispiel kommt mit beiden Methoden dasselbe raus. Aber ob das nicht nur Zufall ist, keine Ahnung.

Sollwerte: y_1=(0;1) , y_2=(0;2)
Meßwerte: x_1=(0;0), x_2=(1,2;0)


Mit der ersten Methode ergibt sich, daß eine Drehung um 90 Grad und Verschiebung um b=(0;0,9) optimal ist. Bei der zweiten Methode ergeben sich die "gestörten" Punkte (0,1;0) und (1,1;0), und dieselbe Drehung + Verschiebung überführt diese in die Sollwerte.

Das ganze ist aber müßig in Beispielen für mehrere Punkte, soviel Aufwand möchte ich dann doch nicht hier reinstecken.
superconductor Auf diesen Beitrag antworten »

@tomtomtomtom

Vielen Dank für das Rechenbeispiel.
Ich glaube ich werde mich lieber hinter die 1. Methode setzten, da mir dass mit den Beziehung aufzustellen zu aufwändig ist (da es in der Praxis so zwischen 20 bis 60 Punkte sind).

Noch eine Frage zu deiner 2. Methode, das mit dem schütteln/rütteln, hast du da einfach ne Umgebung für jeden Punkt festgelegt und dann denn Rechner so lang machen lassen bis alles stimmte (so im Sinne, das Alte war besser eines zurück, das Neue ist besser nun von dem aus)?
Tomtomtomtom Auf diesen Beitrag antworten »

Ne, ich hab da gar nich soviel gerechnet, in dem Beispiel "sieht" man mit ein bißchen Erfahrung die Lösung. Stell dir die zwei Meßwerte mal vor, und dann suchst du zwei Punkte mit Abstand 1, bei denen die Summe der Euklidische Abstände zu den Meßpunkten am kleinsten ist. Das passiert halt gerade dann, wenn sie genau symmetrisch dazwischen liegen. Bei mehreren Punkten müßte man dann echt rechnen.
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »