(gelöst) Reifenphysik

Design Patterns, Erklärungen zu Algorithmen, Optimierung, Softwarearchitektur
Forumsregeln
Wenn das Problem mit einer Programmiersprache direkt zusammenhängt, bitte HIER posten.
Antworten
Benutzeravatar
Krishty
Establishment
Beiträge: 8240
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

(gelöst) Reifenphysik

Beitrag von Krishty »

Wie simuliert man, dass Fahrzeuge in die Richtung rollen, in die die Reifen zeigen?

Ich habe hier ein Fahrzeug, das über eine Landschaft rollt. (Das war relativ einfach; wie Aufhängung – Federung und Dämpfer – funktionieren, wird im Internet zu Hauf beschrieben.) Aber weil ich ums Verderben nicht darauf komme, wie ich die Lenkung anständig simulieren soll, fühlt es sich an wie ein verdammter Einkaufswagen.

Mein erster Gedanke war: Die Bewegung des Reifens, die nicht parallel zur Laufrichtung verläuft, wirkt als Widerstand (mit Maximum, wenn der Reifen 90° quer steht). Da der Widerstand fast nie direkt am Schwerpunkt greift, wirkt er als Drehmoment auf das Fahrzeug.

Aber a) stellt sich ein quer stehendes Fahrzeug dadurch nicht gerade (weil das Drehmoment der Vorderräder durch das der Hinterräder ausgeglichen wird), und b) wird es beim Querstehen viiieeel zu langsam. Real kann ich ein Auto im Kreis ausrollen lassen, und es wird dann mehrere Kreise schaffen. Weil ich aber ausschließlich Energie vernichte, schafft mein Fahrzeug nicht mehr als 90° – denn dafür müsste es mit einem Geschwindigkeitsvektor starten, der nach hinten zeigt! Ich vermute, dass ein reales Fahrzeug durch die Trägheit der rotierenden Reifen in die Richtung, in die die Reifen zeigen, beschleunigt wird. Das vermute ich aber nur.

Ich brauche kein komplexes Reifenmodell – nicht-elastisch, mit konstanter Auflagefläche und ohne Berücksichtigung des Reifengewichts würde mir in diesem Fall schon reichen. Ich brauche aber unbedingt einen Stoß in die richtige Richtung (im Wortsinn).

Gruß
Zuletzt geändert von Krishty am 17.09.2014, 11:03, insgesamt 1-mal geändert.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
CodingCat
Establishment
Beiträge: 1857
Registriert: 02.03.2009, 21:25
Wohnort: Student @ KIT
Kontaktdaten:

Re: Reifenphysik

Beitrag von CodingCat »

Krishty hat geschrieben:Real kann ich ein Auto im Kreis ausrollen lassen, und es wird dann mehrere Kreise schaffen. Weil ich aber ausschließlich Energie vernichte, schafft mein Fahrzeug nicht mehr als 90° – denn dafür müsste es mit einem Geschwindigkeitsvektor starten, der nach hinten zeigt! Ich vermute, dass ein reales Fahrzeug durch die Trägheit der rotierenden Reifen in die Richtung, in die die Reifen zeigen, beschleunigt wird. Das vermute ich aber nur.
Ich tippe eher auf fehlende Drehimpulserhaltung für das Fahrzeug an sich. Du kannst die Energie ja nicht einfach vernichten, sondern brauchst sie zur Drehung des Fahrzeugs, wo sie dann als Erhaltungsgröße verbleibt, bis sie anderweitig weitergegeben wird.
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
Benutzeravatar
Krishty
Establishment
Beiträge: 8240
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Reifenphysik

Beitrag von Krishty »

Warum dreht sich das Auto denn, wenn ich die Vorderreifen drehe? Das ist der Kern meiner Frage ;-)
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
CodingCat
Establishment
Beiträge: 1857
Registriert: 02.03.2009, 21:25
Wohnort: Student @ KIT
Kontaktdaten:

Re: Reifenphysik

Beitrag von CodingCat »

Da sollte die anisotrope Reibung durchaus ein akzeptables Modell liefern. Die Frage ist dann eher, wieso deine Hinterreifen das Drehmoment ausgleichen?
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
kristof
Beiträge: 91
Registriert: 19.01.2009, 13:05

Re: Reifenphysik

Beitrag von kristof »

Ich hätte jetzt einen Ansatz über die wirkenden Kräfte gewählt. Bin da aber auch kein Experte...
F_A ist die Antriebskraft und kann in die Komponenten F_V (Rollrichtung) und F_L (Seitwärts) zerlegt werden. F_L wirkt im nicht rutschenden Fall die Haftreibung entgegen. F_V wirkt eine Rollreibung entgegen. Daraus ergibt sich F als resultierende Kraft.
Lenken.png
Lenken.png (7.84 KiB) 7794 mal betrachtet
Wenn du in der Simulation dann die vier Kräfte der Räder wirken lässt sollte das Fahrzeug einlenken wie erwartet oder? Wie gesagt ohne Gewähr und so.
Benutzeravatar
Krishty
Establishment
Beiträge: 8240
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Reifenphysik

Beitrag von Krishty »

Erstmal muss ich Cat antworten; mein Internet braucht gerade Minuten pro Seite ZFX :(

Das mit den Hinterrädern ist schon zu komplex … fangen wir ganz einfach an: Das Auto fährt auf dem Bildschirm gerade nach oben. Dann stelle ich die Vorderreifen ein wenig quer. Beide erzeugen Widerstand und, weil sie nicht im Schwerpunkt liegen, ein Drehmoment T0 und T1. Aber wie du hier siehst, sind die Drehmomente exakt entgegengerichtet:
Drehmoment_Radwiderstand.png
Drehmoment_Radwiderstand.png (1.48 KiB) 7787 mal betrachtet
Wie entsteht dort jetzt ein Drehimpuls? (Dass die Räder real beim Lenken nicht exakt parallel sind ist egal; stell dir zur Not ein Dreirad vor, wo das lenkende Rad genau in der Mitte liegt.)
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
Establishment
Beiträge: 8240
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Reifenphysik

Beitrag von Krishty »

@kristof: Das klingt absolut sinnvoll; ja. Ich muss aufhören, die Kraft immer nur auf den Körper wirken zu lassen und sie Rad für Rad aufschlüsseln. Die Kräfte aller Räder werden dann für den Körper addiert, und jede pro-Rad-Kraft wirkt zugleich auch als Drehmoment auf den Körper.

Ich probiere es mal aus; danke!
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Stephan Theisgen
Beiträge: 94
Registriert: 29.07.2003, 11:13

Re: Reifenphysik

Beitrag von Stephan Theisgen »

Hi, nur ganz kurz, bis ich wieder etwas mehr Zeit habe:

Die Drehmomente heben sich nicht auf, so glaube ich. Vergiss nicht, dass auch die Vorderreifen rollen sollen/wollen... Dann "ziehen" sie das Auto richtig, wenn sie dagegen die Rollreibung verlieren und ins rutschen kommen, dann gehts sowieso geradeaus weiter, völlig egal wie sie stehen...

P.S.: Ich kann leider kein Bild hochladen...
Benutzeravatar
Krishty
Establishment
Beiträge: 8240
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Reifenphysik

Beitrag von Krishty »

Dass die Reifen „ziehen“ denke ich auch – sie sind rotierende Massen und ihre Drehung ist dementsprechend träge; ich vermute, dass ihre Trägheit über die Haftreibung zu Vortrieb in Reifenrichtung umgewandelt („auf die Straße gebracht“) wird. Aber ich hätte gern schlüssige Modelle dafür …
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
B.G.Michi
Establishment
Beiträge: 163
Registriert: 07.03.2006, 20:38
Alter Benutzername: B.G.Michi
Kontaktdaten:

Re: Reifenphysik

Beitrag von B.G.Michi »

Die Drehimpulserhaltung der Reifen kannst du getrost vernachlässigen. Nicht nachgerechnet aber ein Reifen wiegt vlt 40 kg, das ganze Auto eine Tonne. Außerdem kannst du dir auch (nahezu) Masselose Reifen vorstellen und trotzdem damit lenken. Knackpunkt ist, dass die Reifen beim Rollen nach vorne, wenn sie schräg nach links stehen, eine Reibungskraft proportional zu cos(a) nach links und sin(a) nach hinten ausüben (a = 0 entspricht Reifenrichtung in Bewegungsrichtung). a ist dabei recht klein und somit wirkt die Kraft hauptsächlich Richtungsändernd und nicht bremsend.
(Bin gerade etwas in Eile. Wenn das Thema morgen noch aktuell ist denk ich nochmal genauer nach)
Benutzeravatar
CodingCat
Establishment
Beiträge: 1857
Registriert: 02.03.2009, 21:25
Wohnort: Student @ KIT
Kontaktdaten:

Re: Reifenphysik

Beitrag von CodingCat »

Krishty hat geschrieben:Erstmal muss ich Cat antworten; mein Internet braucht gerade Minuten pro Seite ZFX :(

Das mit den Hinterrädern ist schon zu komplex … fangen wir ganz einfach an: Das Auto fährt auf dem Bildschirm gerade nach oben. Dann stelle ich die Vorderreifen ein wenig quer. Beide erzeugen Widerstand und, weil sie nicht im Schwerpunkt liegen, ein Drehmoment T0 und T1. Aber wie du hier siehst, sind die Drehmomente exakt entgegengerichtet:
Drehmoment_Radwiderstand.png
Ich verstehe immer noch nicht, wie du auf entgegengesetzte Drehmomente kommst. Das Kreuzprodukt aus relativer Position der Radverankerung und Reibungskraft erscheint mir alles andere als entgegengesetzt.
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
Stephan Theisgen
Beiträge: 94
Registriert: 29.07.2003, 11:13

Re: Reifenphysik

Beitrag von Stephan Theisgen »

Genau, ich auch nicht. Wenn man die Antriebskraft der Heckräder im Geiste einfach bis zu den Vorderrädern verlängert. Dann sind beide Drehmomente entgegengesetzt, aber das ist so nicht richtig. Der Trick besteht ja gerade darin, dass die Vorderräder die Kraft umlenken (im Bild nach links) und dann sind beide Drehmomente gleich gerichtet. Solange die Rollreibung gilt, lenken die Vorderräder die Kraft um (über Reibungskräfte etc.), ähnlich wie eine schiefe Ebene die Schwerkraft umlenkt in eine Hangabtriebstkraft: http://de.wikipedia.org/wiki/Schiefe_Ebene. Erst wenn die Rollreibung überwunden wird und das Fahrzeug ins Gleiten kommt, geht diese "Umlenkung" verloren und das Auto rutscht tatsächlich geradeaus.
joeydee
Establishment
Beiträge: 1044
Registriert: 23.04.2003, 15:29
Kontaktdaten:

Re: Reifenphysik

Beitrag von joeydee »

Was Stephan sagt stimmt. Deine entgegengesetzten Drehmomente gelten nur dann, wenn sich die Reifen nicht drehen (wenn du einen Tisch schiebst).
Da auch aus dem Stand heraus oder bei beliebig geringen Geschwindigkeiten ein Fahrzeug immer lenken kann, kann auch der Drehimpuls der Reifen keine Rolle spielen.
Versuche ein Fahrrad zu simulieren. Bzw. ein lenkbares Rad an einer Stange, welche du auf dem Bildschirm "nach unten" schiebst (Hinterrad als solches außer Acht lassen, das schiebt ja immer in Richtung der Stange). Dann ist, wie Stephan schon darauf hinwies, deine Stange/Fahrradrahmen in dem Moment die Richtung der Gravitationskraft, und der Winkel deines Rades stellt die schiefe Ebene dar (mit vernachlässigbarer Reibung, da eigentlich Rollwiderstand, und der ist für das Lenkverhalten selbst nicht verantwortlich). Somit lässt sich per Vektorzerlegung berechnen, wohin der Aufhängungspunkt des Vorderrads bei gegebener Schubrichtung Im nächsten Moment wandert. Und damit ändert nun die "Gravitationskraft" die globale Richtung, da sie ja hinter dem Rad "hergezogen" wird, sprich weil die Stange eine feste Länge hat und am Vorderrad fixiert ist. Also dreht sich somit das gesamte Fahrzeug.

Edit: noch ne Illu dazu.
Dateianhänge
Fahrradlenkung.jpg
Benutzeravatar
kimmi
Moderator
Beiträge: 1405
Registriert: 26.02.2009, 09:42
Echter Name: Kim Kulling
Wohnort: Luebeck
Kontaktdaten:

Re: Reifenphysik

Beitrag von kimmi »

Ich bin mir nicht sicher, ob du den kammschen Kreis diesbezüglich schon kennengelernt hast. Wenn nicht: http://de.wikipedia.org/wiki/Kammscher_Kreis .

Gruß Kimmi
Benutzeravatar
Krishty
Establishment
Beiträge: 8240
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Reifenphysik

Beitrag von Krishty »

Spät, aber ich hab’s jetzt.

kristofs Diagramm oben ist schon ziemlich richtig: Bewegt man den Reifen nicht entgegen seiner Lauffläche, erzeugt er eine entsprechende Kraft, die der Bewegung entgegenwirkt. Es gibt aber noch ein paar Fallstricke zu beachten.

Als Erstes braucht man vernünftige Physik mit der Möglichkeit, an beliebiger Stelle eine beliebige Kraft anzusetzen, und damit Bewegung und Rotation des Körpers halbwegs richtig zu beeinflussen. Cat sprach die Drehimpulserhaltung an – die ist nötig, wenn man keine kugelförmigen Fahrzeuge haben will (sonst reicht ein einzelner Koeffizient). Wichtig für Anfänger: Die Drehgeschwindigkeit ist keine Erhaltungsgröße, sondern nur der Drehimpuls. (Sieht man an der Eiskunstläuferin, die bei der Pirouette ihre Arme anzieht und damit ihre Drehgeschwindigkeit vergrößert, aber ihren Drehimpuls erhält.) Das war bei mir schonmal nicht gegeben.

Aber ich schweife ab. Das nächste mag offensichtlich sein, aber ich habe es die ganze Zeit nicht bemerkt: man muss alle Größen für jedes Rad einzeln ausrechnen. Damit meine ich insbesondere die Geschwindigkeit (wo die Drehgeschwindigkeit des Fahrzeugs reinspielt!), denn alle Reifen bewegen sich mit unterschiedlicher Geschwindigkeit, sofern das Fahrzeug nicht strikt geradeaus fährt. Macht man das nicht (schuldig), kreist das Fahrzeug ungehindert um seinen Schwerpunkt.

Jetzt kommen wir zu der Gegenkraft. Die Laufrichtung eines Reifens ergibt sich aus dem Kreuzprodukt seiner Achse und der Normale der Oberfläche, die er berührt. (Reifen stehen fast nie senkrecht auf dem Boden; das ist beabsichtigt und nennt sich Sturz.)

Nun der nächste Fallstrick: Kraft reicht nicht aus. Wenn man nicht will, dass die Reifen über den Asphalt gleiten wie über Eis, muss man mit dem Impuls rechnen.

Man hat also die Bewegung der Reifen innerhalb des Frames (in Metern). Die teilt man auf in die Komponente entlang der Lauffläche und den Rest. Der Rest ergibt, dividiert durch Frame-Zeit und multipliziert mit Masse, den Impuls (kg·m/s), den der Reifen auf das Fahrzeug überträgt.

Jetzt muss man nur noch beachten, wie viel Gewicht auf den Reifen lagert denn in Kurven erledigen fast ausschließlich die äußeren Reifen die Arbeit.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Alexander Kornrumpf
Moderator
Beiträge: 2113
Registriert: 25.02.2009, 13:37

Re: Reifenphysik

Beitrag von Alexander Kornrumpf »

Krishty hat geschrieben: Aber ich schweife ab. Das nächste mag offensichtlich sein, aber ich habe es die ganze Zeit nicht bemerkt: man muss alle Größen für jedes Rad einzeln ausrechnen. Damit meine ich insbesondere die Geschwindigkeit (wo die Drehgeschwindigkeit des Fahrzeugs reinspielt!), denn alle Reifen bewegen sich mit unterschiedlicher Geschwindigkeit, sofern das Fahrzeug nicht strikt geradeaus fährt. Macht man das nicht (schuldig), kreist das Fahrzeug ungehindert um seinen Schwerpunkt.
Was mir bei Lektüre des Threads noch durch den Kopf ging, ist, dass ein Differentialgetriebe extrem viel für die Lenkbarkeit des Fahrzeugs tut. Das spielt natürlich nur dann eine Rolle wenn dein Fahrzeug auch wirklich an den Rädern angetrieben wird.

Es scheint mir laienhaft einen Unterschied zu machen, ob du die "korrekte" Drehgeschwindigkeit der Antriebswellen (plural!) festlegst und das Fahrzeug bewegt sich mit, oder ob du die gewünschte Richtung festlegst und daraus die Drehgeschwindigkeit ermittelst. (So wie der Unterschied zwischen Vorwärtskinematin und Rückwärtskinematik. Für letztere musst du mindestens prüfen ob das analytische Ergebnis der IK überhaupt noch in den Systemparametern liegt)
Benutzeravatar
Krishty
Establishment
Beiträge: 8240
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Reifenphysik

Beitrag von Krishty »

Alexander Kornrumpf hat geschrieben:Was mir bei Lektüre des Threads noch durch den Kopf ging, ist, dass ein Differentialgetriebe extrem viel für die Lenkbarkeit des Fahrzeugs tut. Das spielt natürlich nur dann eine Rolle wenn dein Fahrzeug auch wirklich an den Rädern angetrieben wird.
Sehr richtig und gut erkannt – bei mir sind die Räder nicht angetrieben. Wer sich mit dem Thema befasst, sollte sowieso mal einen Fahrsimulator seiner Wahl installieren (ich bin ein Fan von Live for Speed) und alle Fahrzeugeinstellungen durchspielen; da wird einem vieles klarer.
Alexander Kornrumpf hat geschrieben:Es scheint mir laienhaft einen Unterschied zu machen, ob du die "korrekte" Drehgeschwindigkeit der Antriebswellen (plural!) festlegst und das Fahrzeug bewegt sich mit, oder ob du die gewünschte Richtung festlegst und daraus die Drehgeschwindigkeit ermittelst. (So wie der Unterschied zwischen Vorwärtskinematin und Rückwärtskinematik. Für letztere musst du mindestens prüfen ob das analytische Ergebnis der IK überhaupt noch in den Systemparametern liegt)
Ich kann nicht ganz folgen – wo wurde der Unterschied gemacht?
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Alexander Kornrumpf
Moderator
Beiträge: 2113
Registriert: 25.02.2009, 13:37

Re: (gelöst) Reifenphysik

Beitrag von Alexander Kornrumpf »

Krishty hat geschrieben:Ich kann nicht ganz folgen – wo wurde der Unterschied gemacht?
Blödes Beispiel: Wir hatten in der Uni Khepera (?) Roboter. Die haben nur zwei Räder (eine Achse) die Räder werden unabhängig angetrieben. Eine Kurve fährt das Ding wie ein Panzer oder ein Bobcat, indem du die Räder unterschiedlich schnell drehen lässt. Eine Lenkung in dem Sinn hat es nicht.

Was man macht ist also überlegen wie und wohin man fahren will, daraus die Soll-Winkelgeschwindigkeit der Räder bestimmen und dann das an die Steuerung geben. Aber es gibt halt Parameter, z. B. eine Maximalgeschwindigkeit, d. h. du kannst nicht einfach das nehmen was aus deiner Berechnung rauskam.

So analog mutmaßlich auch hier: Das Differential gibt durch seine Bauart (vermute ich) vor, welche Verhältnisse die Winkelgeschwindigkeit der Räder zueinander annehmen kann. Wenn du nur ungeprüft zurückrechnest, kann es sein, dass du einen Zustand erzeugst den es nicht gibt. Vorwärts kann das nicht passieren, da du von vornherein zur von zulässigen Konfigurationen ausgehst.

So zumindest scheint es mir. Vielleicht funktionieren Differentiale auch ganz anders.
Benutzeravatar
Krishty
Establishment
Beiträge: 8240
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: (gelöst) Reifenphysik

Beitrag von Krishty »

Ah; okay. Ja; das stimmt. Die Rückwärtsrechnung kommt außerdem an die Grenze, wenn du die Systemgrenzen überschreitest (z.B. mit dem Auto anfängst, zu driften).
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Antworten