3DOF 360° Motion SimPit

Alles Wissenswerte über den zweiten Teil der DCS-Serie sowie über das reale Vorbild, die A-10C Thunderbolt II.

Moderator: JaBoG32 Stab

Benutzeravatar
DirtDiver
Intermediate Member
Beiträge: 234
Registriert: 28. Sep 2014, 13:26
Wohnort: Lübeck

Re: 2DOF 360° SimPit

Beitrag von DirtDiver » 25. Aug 2016, 17:51

Wegen Dir sprang heut morgen mein Laster nich an..... :lol: :lol:
exSQCO 322

Bild
i5 4790k RTX20070Super 6GB 16GB Ram win10 Hotas Warthog Homepit

Benutzeravatar
JaBoG32_Toolface
Intermediate Member
Beiträge: 357
Registriert: 30. Dez 2014, 19:49

Re: 2DOF 360° SimPit

Beitrag von JaBoG32_Toolface » 26. Aug 2016, 10:44

Soso... Die Bank Achse ist bei 80kg ausgeglichen.
Wenn ich im Pit sitze ist sie es nicht :lol:
Bild

Ignis cadent de caelo.

Benutzeravatar
JaBoG32_Siddharta
Senior Member
Beiträge: 1812
Registriert: 17. Mai 2012, 21:39

Re: 2DOF 360° SimPit

Beitrag von JaBoG32_Siddharta » 28. Aug 2016, 20:46

Bosshogs verdacht hat sich bestätigt:

Die Vektoren für Bank sind radianten gehen aber nur von -3,14... bis + 3,14...
Der von radiant von Pitch geht sogar nur von -1,57... bis +1,57...
Damit die Formel:
bank * cos(pitch)
funktioniert, brauche ich den vollen, positiven radiant von 0 bis 6.283....

Wenn ich math.abs anwenden wird leider nur das Vorzeichen gelöscht. Ich muss also ein Produkt erhalten.
In Excel gibt es dafür die Matrix-Funktion:
SUMMENPRODUKT

Wie lautet so ein Formel in der normalen Mathematik?
JaBoG32 322nd "Flying Monsters"

Bild

Benutzeravatar
Sparrowhawk
Advanced Member
Beiträge: 781
Registriert: 13. Sep 2012, 20:43
Wohnort: Ratingen

Re: 2DOF 360° SimPit

Beitrag von Sparrowhawk » 28. Aug 2016, 21:26

Wenn ich es richtig verstehe musst Du die Bank Werte -3,14 bis +3,14 nach 0 bis 6,283 umwandeln.
Dazu würde ich einfach zu dem Bank Wert 3,14 hinzu addieren.
Beim Pitch würde ich den Wert erst mit 2 multiplizieren und dann wieder die 3,14 dazu addieren...

Ich hoffe ich habe es nicht falsch verstanden... :gruebel:
Bild

Benutzeravatar
JaBoG32_Siddharta
Senior Member
Beiträge: 1812
Registriert: 17. Mai 2012, 21:39

Re: 2DOF 360° SimPit

Beitrag von JaBoG32_Siddharta » 29. Aug 2016, 10:20

Das hat funktioniert d.h. Bank ist jetzt rad 0 - 6.283...
aber Bank 0° ist jetzt rad 3,14... was wiederum mit cos(pitch) nicht zusammen funktioniert.

Daher habe ich jetzt gerechnet (acBank + 3,14...) -3,14.... um rad 0 auf Bank 0° zu kalibrieren.
Hat auch funktioniert, aber dann macht mir DCS wieder einen Strich durch die Rechnung,
weil IMMER unter 0 ein minus davor gesetzt wird.
D.h. Bank -90° ist nicht rad 4,71... sonder wieder rad -1,57 :cry:
:kotz:

Benutzeravatar
JaBoG32_Siddharta
Senior Member
Beiträge: 1812
Registriert: 17. Mai 2012, 21:39

Re: 2DOF 360° SimPit

Beitrag von JaBoG32_Siddharta » 29. Aug 2016, 19:44

So hier die Erklärung von BOSSHOG warum nichts funktioniert hat!

Ich hab‘ mir mal die Mühe gemacht, die Werte von Yaw, Pitch und Roll auszuwerten, die von DCS über LoGetSelfData geliefert werden. Deine Beobachtungen bezüglich der Maximalwerte werden damit bestätigt. Der mögliche Hintergrund ist die fehlende, eindeutige Bestimmungsmöglichkeit für Yaw, Pitch und Roll. Mit anderen Worten, die Werte (in Grad)
Yaw = 0.0
Pitch = 180.0
Roll = 0.0
entsprechen einem Rückenflug. Diese Fluglage kann aber auch mit
Yaw = 180.0
Pitch = 0.0
Roll = 180.0
dargestellt werden. Die Fluglage ist exakt die Gleiche.
DCS versucht die Darstellung eindeutig zu machen indem der Pitch-Wert nie größer als 90 Grad werden darf.
Dazu müssen aber Yaw und Roll umgerechnet werden in dem Augenblick, wenn Pitch 90° überschreitet.
In diesem Augenblick wird der Roll-Winkel und der Yaw-Winkel neu angepasst.
Auf das obige Beispiel bezogen startet der Loop mit Roll = 0.0. Beim durchlaufen von Pitch > 90 Grad springt Bank auf 180.0 (oder -180) und Yaw auf 180.0.
Der zweideutige Fall tritt somit nicht ein.
Das zu lösende Problem ist die Werteumkehrung zu erkennen:
Dann müsste der Pitch nach Durchlauf von 90 Grad als 180 – Pitch gerechnet werden. Bei Pitch 89 erhält man 91 als Ergebnis.
Zum Bank wird 180 Grad addiert und auf den Wertebereich +-180 eingegrenzt.
Man kann auch die Werte konvertiert in die Maschinensteuerung einbauen. Dieser Fall ist relativ kompliziert. Hier müsste eine 3 x 3 Drehmatrix ausgewertet werden.
Die Drehmatrix erlaubt es die Flugzeuglage eindeutig zu ermitteln.
Der Trick ist, das die DCS-Werte in der Drehmatrix immer eine eindeutige Achsenlage ergeben.
Durch standardisierte Rückdrehung der Matrix erhält man immer eindeutige Winkel, die nur beim 360° Überlauf auf Null springen.
Ich habe mir solche Tools für C++ geschrieben. Eine Überführung in LUA ist zwar möglich, ist aber ein erheblicher Aufwand.

Gruß,
BOSSHOG

Benutzeravatar
JaBoG32_Siddharta
Senior Member
Beiträge: 1812
Registriert: 17. Mai 2012, 21:39

Re: 2DOF 360° SimPit

Beitrag von JaBoG32_Siddharta » 11. Sep 2016, 21:21

So Leute, hier sieht man was Bosshog programmieren muss um DCS zu überlisten!!!

"Hi Sid,
das Problem ist doch komplexer als auf den ersten Blick vermutet. Ich habe ein kleines C++ Projekt geschrieben, das eine Lösung beinhaltet, die im praktischen Gebrauch getestet werden muss. Mein Lösungsansatz über eine Matrix funktioniert nicht, da die Rückdrehung brav die eingegebenen Attitude Werte zurückreicht. Das liegt daran, dass die Matrix auch zwei oder mehr mögliche sin/cos Werte für ein und dieselbe Attitude produziert. Die Lösung ist es, zu erkennen wann DCS Yaw und Roll flippt. DCS hat einen weichen Übergang für den Pitch eingebaut und nimmt einen Sprung um 180° für Yaw und Roll in Kauf. Eine moving Plattform kann Yaw ignorieren, braucht aber weiche Übergänge für Roll und Pitch. Wobei Pitch und Roll den Bereich von +-180 Grad abdecken sollen. Die zu verwendende Funktion heißt ConvertDCSattitude. Die wird mit den Werten von DCS gefüttert und liefert (hoffentlich) die korrekten Werte für deinen Simulator. Da die Funktion eine Vergleichserkennung benutzt, müssen die aktuellen DCS Werte gebunkert werden und beim nächsten Aufruf als ‚previous‘ Werte übergeben werden. Nur so kann die Sondersituation erkannt werden.

Das beigelegte Paket enthält ein komplettes C++ (VS2013) Projekt, das ein Beispieldiagramm zeigt.
Im Paket befindet sich das Beispielprogramm ‚Matrix.exe‘ unter
Matrix\x64\Release

Es zeigt drei Diagramme, die 4 aufeinanderfolgende Loopings darstellen in denen der Pilot den Bank-Angle auf Null hält. Die blauen Kurven stellen die DCS Werte dar, die roten die Ergebnisse nach der Umrechnung. Für Dich ist die rote Pitch-Kurve und die rote Roll Kurve von Interesse. Beim Pitch pendelt die blaue DCS Kurve zwischen +-90° hin und her. Die rote zeigt die korrespondierenden Werte zwischen +-180°.

Das zweite Diagramm zeigt die Roll-Entwicklung. Während die blaue DCS Kurve den Flipp bei +90° und -90° zeigt, bleibt die rote Ergebniskurve brav bei null Grad Bank.
Die senkrechten, grauen Diagrammstriche kennzeichnen das Ende eine kompletten Loops.
Das dritte Diagramm zeigt die Yaw Entwicklung, die für deinen Simulator Ignoriert werden kann.

Die Konvertierungsfunktion nutzt ein paar Hilfsfunktionen aus meiner GEOMETRY Library.
Ich hab‘ die Funktionen extrahiert und als Quelltext zur Verfügung gestellt.
Da die Matrixfunktionen anscheinend auch von Interesse sind, hab‘ ich auch die beigelegt.
Die Quelltexte dürfen an Interessenten weitergegeben werden."
Dateianhänge
DCS-attitude-kompiled.PNG
JaBoG32 322nd "Flying Monsters"

Bild

JaBoG32_G-Rex
Semi-Professional
Beiträge: 2904
Registriert: 25. Sep 2009, 16:50

Re: 2DOF 360° SimPit

Beitrag von JaBoG32_G-Rex » 12. Sep 2016, 18:53

Heftig
CO

G-Rex = König der Schwerkraft
"Fliegen kann nur der, der es vermag über die Schwerkraft zu triumphieren!"
Bild
Jahresplanung

Benutzeravatar
JaBoG32_Siddharta
Senior Member
Beiträge: 1812
Registriert: 17. Mai 2012, 21:39

Re: 2DOF 360° SimPit

Beitrag von JaBoG32_Siddharta » 9. Jan 2017, 00:13

Ein sonst sehr schweigsamer Freund, darf die Rift im Oma Progamm testen:
https://dl.dropboxusercontent.com/u/110 ... Pit-VR.mp4

Ui Jui Jui Jui! :lol:
JaBoG32 322nd "Flying Monsters"

Bild

Benutzeravatar
Striker
Intermediate Member
Beiträge: 163
Registriert: 11. Apr 2016, 17:29
Wohnort: Pirna

Re: 2DOF 360° SimPit

Beitrag von Striker » 9. Jan 2017, 05:07

:lol: .... am besten finde ich den Nothammer auf der rechten Seite.... :lol:
Aber coole Sache....Vor allem, wieder der typische Effekt. Man stellt sich die Person die man sonst nur über den TS hört bildlich immer anders vor...Nun hat man mal ein Gesicht...War schon zum Geschwadertreffen so...
Bild

„Lügen können Kriege in Bewegung setzen, Wahrheit hingegen kann ganze Armeen aufhalten.“

Antworten