PxVehicleTireForceParams
Defined in include/vehicle2/tire/PxVehicleTireParams.h

struct PxVehicleTireForceParams
Public Functions

inline PxVehicleTireForceParams transformAndScale(const PxVehicleFrame &srcFrame, const PxVehicleFrame &trgFrame, const PxVehicleScale &srcScale, const PxVehicleScale &trgScale) const

inline bool isValid() const
Public Members

PxReal latStiffX
Tire lateral stiffness is a graph of tire load that has linear behavior near zero load and flattens at large loads.
latStiffX describes the minimum normalized load (load/restLoad) that gives a flat lateral stiffness response to load.
Note
A value of 0.0 indicates that the tire lateral stiffness is independent of load and will adopt the value latStiffY for all values of tire load.

PxReal latStiffY
Tire lateral stiffness is a graph of tire load that has linear behavior near zero load and flattens at large loads.
latStiffY describes the maximum possible value of lateral stiffness that occurs when (load/restLoad) >= latStiffX.
Unit: force per lateral slip = mass * length / (time^2)

PxReal longStiff
Tire Longitudinal stiffness.
Unit: force per longitudinal slip = mass * length / (time^2)
Note
Longitudinal force can be approximated as longStiff*longitudinalSlip.

PxReal camberStiff
Tire camber stiffness.
Unit: force per radian = mass * length / (time^2)
Note
Camber force can be approximated as camberStiff*camberAngle.

PxReal frictionVsSlip[3][2]
Graph of friction vs longitudinal slip with 3 points.
Note
frictionVsSlip[0][0] is always zero.
Note
frictionVsSlip[0][1] is the friction available at zero longitudinal slip.
Note
frictionVsSlip[1][0] is the value of longitudinal slip with maximum friction.
Note
frictionVsSlip[1][1] is the maximum friction.
Note
frictionVsSlip[2][0] is the end point of the graph.
Note
frictionVsSlip[2][1] is the value of friction for slips greater than frictionVsSlip[2][0].
Note
The friction value is computed from the friction vs longitudinal slip graph using linear interpolation.
Note
The friction value computed from the friction vs longitudinal slip graph is used to scale the friction value of the road geometry.
Note
frictionVsSlip[2][0] > frictionVsSlip[1][0] > frictionVsSlip[0][0]
Note
frictionVsSlip[1][1] is typically greater than frictionVsSlip[0][1]
Note
frictionVsSlip[2][1] is typically smaller than frictionVsSlip[1][1]
Note
longitudinal slips > frictionVsSlip[2][0] use friction multiplier frictionVsSlip[2][1]

PxReal restLoad
The rest load is the load that develops on the tire when the vehicle is at rest on a flat plane.
Unit: force = mass * length / (time^2)
Note
The rest load is approximately the product of gravitational acceleration and (sprungMass + wheelMass).

PxReal loadFilter[2][2]
Tire load variation can be strongly dependent on the timestep so it is a good idea to filter it to give less jerky handling behavior.
Note
Tire load filtering is implemented by linear interpolating a graph containing just two points. The xaxis of the graph is normalized tire load, while the yaxis is the filtered normalized tire load that is to be applied during the tire force calculation.
Note
The normalized load is the force acting downwards on the tire divided by restLoad.
Note
The minimum possible normalized load is zero.
Note
There are two points on the graph: (minNormalisedLoad, minNormalisedFilteredLoad) and (maxNormalisedLoad, maxFilteredNormalisedLoad).
Note
Normalized loads less than minNormalisedLoad have filtered normalized load = minNormalisedFilteredLoad.
Note
Normalized loads greater than maxNormalisedLoad have filtered normalized load = maxFilteredNormalisedLoad.
Note
Normalized loads inbetween are linearly interpolated between minNormalisedFilteredLoad and maxFilteredNormalisedLoad.
Note
The tire load applied as input to the tire force computation is the filtered normalized load multiplied by the rest load.
Note
loadFilter[0][0] is minNormalisedLoad
Note
loadFilter[0][1] is minFilteredNormalisedLoad
Note
loadFilter[1][0] is maxNormalisedLoad
Note
loadFilter[1][1] is maxFilteredNormalisedLoad

inline PxVehicleTireForceParams transformAndScale(const PxVehicleFrame &srcFrame, const PxVehicleFrame &trgFrame, const PxVehicleScale &srcScale, const PxVehicleScale &trgScale) const