Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

11

25.05.2012, 10:30

Wie gesagt: Ein Vektor genügt nicht, du brauchst mindestens zwei ;)

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

12

25.05.2012, 10:48

Stimmt, sonst weiß man zwar wo oben und unten ist, aber nicht wo vorn und hinten, bzw. die Seiten sind.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Mastermind

unregistriert

13

25.05.2012, 10:48

Wie gesagt: Ein Vektor genügt nicht, du brauchst mindestens zwei ;)


Erdbeschleunigung messen. Wert merken. Fahrer bitten geradeaus zu beschleunigen. Die Beschleunigungen auseinanderrechnen. Viola. Oder?

Das Problem ist hier wohl eher die Genauigkeit. Da Geradeaus im Auto (bzw. jedem Fahrzeug, da warst du leider etwas allgemein) ja wohl ohnenhin immer nur ungefähr geradeaus ist, und waagerecht immer nur ungefähr waagerecht, ist das an sich wahrscheinlich das kleinere Problem. Das größere Problem ist dass das Gerät tatsächlich auch auf einer Strecke die ungefähr gerade und waagerecht ist kalibriert werden müsste. Und sich darauf zu verlassen erscheint mir sehr risikobehaftet.

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

14

25.05.2012, 10:51

Ok, vielleicht sollten wir nochmal fragen wofür genau diese Beschleunigungen im Ende eigentlich benutzt werden. :D
Bei Crashtests macht eine sorgfältige Konfiguration am Anfang schon Sinn. Wenn es auf irgendein Spiel hinaus läuft, dann wirkt das aber eher abschreckend.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

15

25.05.2012, 12:20

Wie gesagt: Ein Vektor genügt nicht, du brauchst mindestens zwei ;)


Nö, einer reicht, die Richtungsinformation (bzw. daraus ergebend eine mögliche Änderung des Vorzeichens) kann ich später noch aus anderen Informationen rein logisch ermitteln. Da das Fahrzeug sich überwiegend vorwärts bewegen wird, kann man diese Information aus den häufiger auftretenden Beschleunigungen in Y-Richung ziehen.

Allerdings: wie komme ich jetzt von meinem Kalibriervektor und dem Sollvektor auf die Rotationsmatrix? Ich mag' die Lösung ja irgend wo überlesen haben, aber der Teil ist mir noch nicht klar.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

16

25.05.2012, 12:21

Gar nicht, du brauchst mindestens zwei Vektoren. Den dritten kannst du dann übers Kreuzprodukt bestimmen.

[...] Dann hast du drei Basisvektoren die die verdrehte Ausrichtung beschreiben. Die packst du in die Spalten einer 3x3 Matrix A. Zusätzlich hast du drei Vektoren, die deine gewünschte Ausrichtung repräsentieren. Die drei kommen in die Spalten von Matrix B. Das Produkt der Inversen von A mit B sollte dann die von dir gesuchte Matrix sein wenn mich nicht alles täuscht.

Mastermind

unregistriert

17

25.05.2012, 13:32

Wie gesagt: Ein Vektor genügt nicht, du brauchst mindestens zwei ;)


Nö, einer reicht, die Richtungsinformation (bzw. daraus ergebend eine mögliche Änderung des Vorzeichens) kann ich später noch aus anderen Informationen rein logisch ermitteln. Da das Fahrzeug sich überwiegend vorwärts bewegen wird, kann man diese Information aus den häufiger auftretenden Beschleunigungen in Y-Richung ziehen.

Allerdings: wie komme ich jetzt von meinem Kalibriervektor und dem Sollvektor auf die Rotationsmatrix? Ich mag' die Lösung ja irgend wo überlesen haben, aber der Teil ist mir noch nicht klar.


Gehst du davon aus, dass das Gerät in Vorwärts-Rückwärts Richtung auf jeden Fall korrekt in das Fahrzeug eingebaut wird und nur in der Hochrichtung nicht? Also dass es maximal im eine Achse verdreht ist? Dann hättest du dass a) sagen können und b) ist die Lösung eine Libelle am Gerät anzubringen um korrekten Einbau zu ermöglichen (was in eine Richtung geht, geht auch in zwei).

Edit: Korrekt = parallel zum Koordinatensystem des Fahrzeugs.

18

25.05.2012, 20:05

Gehst du davon aus, dass das Gerät in Vorwärts-Rückwärts Richtung auf jeden Fall korrekt in das Fahrzeug eingebaut wird und nur in der Hochrichtung nicht? Also dass es maximal im eine Achse verdreht ist? Dann hättest du dass a) sagen können und b) ist die Lösung eine Libelle am Gerät anzubringen um korrekten Einbau zu ermöglichen (was in eine Richtung geht, geht auch in zwei).


Es kann im Prinzip um alle Achsen vertreht sein, allerdings nicht um jede Achse beliebig stark (das hängt am Aufbau des Gerätes). D.h. der logische Schluss, wo vorne und wo hinten ist, lässt sich während der Messungen ziehen.

Ach ja, um auf meine ursprüngliche Frage zurückzukommen: wie errechne ich denn nun aus meinem Soll- und Istvektor die Rotationsmatrix? Und wenn ich die Rotationsmatrix habe: wie korrigiere ich damit alle anderen, später gemessenen Vektoren?

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

19

25.05.2012, 22:50

Ach ja, um auf meine ursprüngliche Frage zurückzukommen: wie errechne ich denn nun aus meinem Soll- und Istvektor die Rotationsmatrix? Und wenn ich die Rotationsmatrix habe: wie korrigiere ich damit alle anderen, später gemessenen Vektoren?

Gar nicht. Das ist eben rein prinzipiell unmöglich weil unterbestimmt. Du brauchst 3 Basisvektoren. Wie auch immer die du berechnest. Wenn du die hast: Lösung siehe oben.

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »dot« (25.05.2012, 23:05)


20

26.05.2012, 02:43

D.h. der logische Schluss, wo vorne und wo hinten ist, lässt sich während der Messungen ziehen.

Dann kannst du auch erst genau dann die Korrektur berechnen. Und das ist dann einfach, weil du 2 Vektoren hast, den dritten (der dann seitlich zeigt) daraus bestimmen kannst, und dann, wenn du magst, den Vorwärtsvektor korrigieren kannst (falls es vorwärts + ein wenig bergauf oder bergab gefahren ist). Vorher geht es wirklich nicht :D
Lieber dumm fragen, als dumm bleiben!

Werbeanzeige