Seite 1 von 1

Neigungswinkel einer Ebene errechnen

Verfasst: 21.12.2013 14:42
von N_Gnom
Da mir bisher noch niemand weiterhelfen konnte frage ich einfach mal hier.
Und zwar geht es um simpelste Fahrzeugbewegung.
Vier Räder ein Chassis.
Abhängig der Räderposition in der Höhe soll der Neigungswinkel einer Ebene, also dem Fahrzeugchassis, berechnet werden.

Vielleicht kann mir hier ja jemand weiterhelfen.

Ich habe mich schon ein bisschen belesen, jedoch konnte ich noch nichts passendes finden.
Es gibt wohl ein Einspurmodell in dem beide Vorder und Hinterräder zu einem Rad jeweils zusammengefasst werden.
Dann müsste man theoretisch nur den Winkel von Vorder- und Hinterrad zueinander ermitteln.
Und letztendlich die Neigung nach links oder rechts bestimmen.

Codetechnisch weiß ich im Moment nicht wie ich das umsetzen könnte und bevor ich mich da jetzt total verzettele, frage ich erstmal hier.

Re: Neigungswinkel einer Ebene errechnen

Verfasst: 21.12.2013 15:24
von STARGÅTE
Mit einem Winkel wirst du aber nicht weit kommen.
Das Fahrzeug kann ja sich ja nach vorne neigen (Pitch) und zur Seite (Roll), und halt um die eigene Achse (Yaw)

Meine Idee ist:
  • Den Pitch kannst du über die beiden Achsenschwerpunkte berechnen.
    Das heiß, Pitch = ArcSin( d*n/|d| )
    Wobei d der Differenzvektor zwischen beiden Puntkte ist, |d| die Länge von diesem und n=(0,1,0) und * das Scalarprodukt.
  • Den Roll kannst du über eine der beiden Achsen bestimmten (oder beide als Mittelwert).
    Das hießt, Roll = ArcSin( d*n/|d| )
    Wobei hier d der Differenzvektor der beiden Räder wäre.

Re: Neigungswinkel einer Ebene errechnen

Verfasst: 21.12.2013 15:35
von N_Gnom
kannst du mir das bisschen besser erklären, ich bin kein mathegenie, bzw. ein bisschen veranschaulichung wäre toll.
deine formeln in klammern sagen mir nichts, da ich weder gymnasiast war, noch studiert habe.
und in einem alter bin wo sowas in der schule nicht gelehrt wurde.
ich habe eine schnelle auffassungsgabe, jedoch muss man es mir dann doch kurz erklären.

vielen dank stargate(was zudem meine lieblingsserie ist, lach)

Re: Neigungswinkel einer Ebene errechnen

Verfasst: 21.12.2013 16:25
von Andesdaf
wenn's nur die Ebene ist reicht der Winkel aus, dann geht's eben nur nach
vorn oder nach hinten.

Code: Alles auswählen

Structure vp
  X.f
  Y.f
EndStructure

Define.vp OR1, OR2
Define.f d

; Koordinaten der Radachsen

OR1\X = 2
OR1\Y = 4

OR2\X = 6
OR2\Y = 7

; Länge des Vektors OR1OR2 / Abstand beider Punkte / Pythagoras
;      ______________________________
; d=  / (x-Abstand)² + (y-Abstand)² |
;    v                              |

d = Sqr(Pow(OR1\X - OR2\X, 2) + Pow(OR1\Y - OR2\Y, 2))

; Neigung dieses Vektors zur X-Achse / rechtwinkliges Dreieck
;         Gegenkathete
; sin x = ------------
;         Hypotenuse
;
; Hypotenuse = d; Gegenkathete = y-Abstand
; 
;          Gegenkathete
; x = asin ------------
;          Hypotenuse

Debug Degree(ASin((OR1\Y - OR2\Y)/d))

; sollte -36.87 ergeben, negativ entspricht Neigung nach links, positiv Neigung nach rechts