Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Can anyone point me to some resources that go into the maths of what Asymptote and Extremum are?

Discussion in 'Physics' started by Lethn, Aug 6, 2020.

  1. Lethn

    Lethn

    Joined:
    May 18, 2015
    Posts:
    1,583
    I'm trying to understand wheel colliders and all the settings better, does anyone know some decent resources I could look up on Asymptote and Extremum specficially?
     
  2. Edy

    Edy

    Joined:
    Jun 3, 2010
    Posts:
    2,497
    Asymptote and Extremum are arbitrary denominations that were used in the original PhysX (formerly Ageia PhysX before being acquired by nVidia) to describe the points of the tire friction curve. Since PhysX 3 (Unity 5) these denominations are no longer used in PhysX, but Unity still uses them as they started with a PhysX version with them. The Asymptote and Extremum points are described here:


    Here you can see the original code in Ageia PhysX with the proper descriptions for the asymptote and extremum parameters.


    However, despite being a reasonably good model, that implementation of the tire friction in PhysX was severely flawed and the friction in that original WheelCollider (before Unity 5) never worked properly. Here's how the friction curve really looked like at that time:


    As said, "asymptote" and "extremum" are no longer used in PhysX. Unity keeps these denominations though, which since Unity 5 (PhysX 3) are somehow translated to the new tire friction configuration in PhysX, PxVehicleTireData:



    How Unity translates the values from old Asymptote and Extremum to new PhysX's PxVehicleTireData is not documented. It worth noting that in current PhysX only the longitudinal friction supports something barely similar to asymptote and extremum. Lateral friction is configured using two floats only. The units for configuring both longitudinal and lateral friction in new PhysX is radians (?).

    Tire friction is computed in PhysX in the the file PxVehicleUpdate. The method computeTireFriction uses the friction parameters for calculating some preliminary data, and the method PxVehicleComputeTireForceDefault actually computes the longitudinal and lateral tire forces:


    Comments in the code state that the tire force calculations use the "Michigan tire model", but I couldn't find any other information on such model.

    Update: It can be found as "HDRI tire model":
    https://deepblue.lib.umich.edu/bitstream/handle/2027.42/330/28983.0001.001.pdf
    (Described in page 21; formulas in Appendix II, page 113).
    (See this post below for more references on this model).​

    Then longitudinal and lateral tire forces are combined and applied to the rigidbody ("chassis") here:


    Additional useful references:

    WheelCollider's suspension force is calculated here:
    https://github.com/NVIDIAGameWorks/...ce/physxvehicle/src/PxVehicleUpdate.cpp#L3359

    PxVehicleSuspensionData.mSprungmass. The section for mSprungMass describes the nonsensical formula used for calculating the suspension force:
    https://docs.nvidia.com/gameworks/c...ionData.html#23f96767e47ea394bbb10ee597f2d9d3

    Here a PhysX developer (Gordon?) tries to justify the suspension model in PhysX Vehicles:
    https://twitter.com/PhysicsIsFun5/status/1312102459087622144

    "We are free to choose any definition of zero displacement". That's the major misconception of the PhysX suspension model.
     
    Last edited: Apr 26, 2022
    m0guz, KarlGG, ch715t0 and 3 others like this.
  3. Lethn

    Lethn

    Joined:
    May 18, 2015
    Posts:
    1,583
    Holy crap! Thanks for all of this, that's some really detailed information, I was asking about it generally because I wanted to be able to make some more subtle tweaks to the wheel collider behaviour and thought it would be a good idea to learn properly about the values I'm adjusting, I'll have a look through everything, this should help out others too.
     
    Edy likes this.
  4. Nition

    Nition

    Joined:
    Jul 4, 2012
    Posts:
    781
    Look up HSRI tire model. HSRI =The University of Michigan Highway Safety Research Institute.
     
    ch715t0 and Edy like this.
  5. Edy

    Edy

    Joined:
    Jun 3, 2010
    Posts:
    2,497
    Thanks!

    The HSRI tire model and its versions are briefly described in this presentation, slides 8 and 9:
    https://www.iith.ac.in/~ashok/VD/GroupF_Tire.pdf

    The formulas for the three versions of the HSRI model (as well as other two) are in this article, Appendix II, page 113:
    https://deepblue.lib.umich.edu/bitstream/handle/2027.42/330/28983.0001.001.pdf

    An example of usage of the model is in this article. The formulas for the HSRI model are in the point 2.2:
    https://www.hindawi.com/journals/mpe/2018/3106329/
     
    Nition likes this.