PxVehicleTireAxisStickyParams

Defined in include/vehicle2/PxVehicleParams.h

struct PxVehicleTireAxisStickyParams

The low speed regime often presents numerical difficulties for the tire model due to the potential for divide-by-zero errors.

This particularly affects scenarios where the vehicle is slowing down due to damping and drag. In scenarios where there is no significant brake or drive torque, numerical error begins to dominate and it can be difficult to bring the vehicle to rest. A solution to this problem is to recognise that the vehicle is close to rest and to replace the tire forces with velocity constraints that will bring the vehicle to rest. This regime is known as the “sticky tire” regime. PxVehicleTireAxisStickyParams describes velocity and time thresholds that categorise the “sticky tire” regime. It also describes the rate at which the velocity constraints approach zero speed.

Public Functions

inline PxVehicleTireAxisStickyParams transformAndScale(const PxVehicleFrame &srcFrame, const PxVehicleFrame &trgFrame, const PxVehicleScale &srcScale, const PxVehicleScale &trgScale) const
inline bool isValid() const

Public Members

PxReal thresholdSpeed

A tire enters the “sticky tire” regime when it has been below a speed specified by thresholdSpeed for a continuous time specified by thresholdTime.

Range: [0, inf)Unit: velocity = length / time

PxReal thresholdTime

A tire enters the “sticky tire” regime when it has been below a speed specified by thresholdSpeed for a continuous time specified by thresholdTime.

Range: [0, inf)Unit: time

PxReal damping

The rate at which the velocity constraint approaches zero is controlled by the damping parameter.

Range: [0, inf)Unit: 1 / time (acceleration instead of force based damping, thus not mass/time)

Note

Larger values of damping lead to faster approaches to zero. Since the damping behaves like a stiffness with respect to the velocity, too large a value can lead to instabilities.