PxVehicleFourWheelDriveDifferentialParams

Defined in include/vehicle2/drivetrain/PxVehicleDrivetrainParams.h

struct PxVehicleFourWheelDriveDifferentialParams : public PxVehicleMultiWheelDriveDifferentialParams

PxVehicleFourWheelDriveDifferentialParams specifies the wheels that are to receive drive torque from the differential and the division of torque between the wheels that are connected to the differential.

Additionally, it specifies the biases and strength of a limited slip differential that operates on two wheels specified as front wheels and two wheels specified as rear wheels.

Public Functions

inline void setToDefault()
inline bool isValid(const PxVehicleAxleDescription &axleDesc) const
inline PxVehicleFourWheelDriveDifferentialParams transformAndScale(const PxVehicleFrame &srcFrame, const PxVehicleFrame &trgFrame, const PxVehicleScale &srcScale, const PxVehicleScale &trgScale) const

Public Members

PxU32 frontWheelIds[2]

The ids of the two wheels considered by the differential to be the front pair.

Note

When the ratio of the rotational speeds of the front wheels exceeds frontBias, drive torque is diverted so that the ratio approaches the value specified by frontTarget. When the bias is not breached, the drive torque is specified by the corresponding entries in PxVehicleMultiWheelDriveDifferentialParams::torqueRatios.

PxU32 rearWheelIds[2]

The ids of the two wheels considered by the differential to be the rear pair.

Note

When the ratio of the rotational speeds of the rear wheels exceeds rearBias, drive torque is diverted so that the ratio approaches the value specified by rearTarget. When the bias is not breached, the drive torque is specified by the corresponding entries in PxVehicleMultiWheelDriveDifferentialParams::torqueRatios.

PxReal frontBias

The parameter frontBias specifies the maximum angular speed ratio of the two front wheels specified by frontWheelIds[2].

Note

If frontBias has value 0.0, the differential will not try to enforce any relationship between the rotational speeds of the two front wheels.

Note

If frontBias has value 0.0, the torque split between the front wheels is specified by the array torqueRatios.

Note

frontBias must have value 0.0 (deactivated limited slip) or be greater than 1.0 (activated limited slip) or be equal to 1.0 (locked axle).

Note

If frontBias has value greater than or equal to 1.0 then the array frontWheelIds must be specified and the corresponding entries of the isConnected[] array must be set true.

Note

If frontBias has value greater than or equal to 1.0 then frontTarget must also be specified.

Note

A locked axle may be achieved by setting frontBias and frontTarget to 1.0.

Note

A limited slip differential may be achieved by setting frontBias > 1.0 and frontBias > frontTarget > 1.0.

PxReal frontTarget

The parameter frontTarget specifies the target rotational speed ratio of the two front wheels in the event that the ratio exceeds frontBias and frontBias is configured for an activated limited slip or locked axle.

Note

frontTarget must be less than frontBias and greater than 1.0 to implement a limited slip differential.

Note

Set frontTarget and frontBias to 1.0 to implement a locked axle.

PxReal rearBias

The parameter rearBias specifies the maximum angular speed ratio of the two rear wheels specified by rearWheelIds[2].

Note

If rearBias has value 0.0, the differential will not try to enforce any relationship between the rotational speeds of the two rear wheels.

Note

If rearBias has value 0.0, the torque split between the rear wheels is specified by the array torqueRatios.

Note

rearBias must have value 0.0 (deactivated limited slip) or be greater than 1.0 (activated limited slip) or be equal to 1.0 (locked axle).

Note

If rearBias has value greater than or equal to 1.0 then the array rearWheelIds must be specified and the corresponding entries of the isConnected[] array must be set true.

Note

If rearBias has value greater than or equal to 1.0 then rearTarget must also be specified.

Note

A locked axle may be achieved by setting rearBias and rearTarget to 1.0.

Note

A limited slip differential may be achieved by setting rearBias > 1.0 and rearBias > rearTarget > 1.0

PxReal rearTarget

The parameter rearTarget specifies the target rotational speed ratio of the two rear wheels in the event that the ratio exceeds rearBias and rearBias is configured for an activated limited slip or locked axle.

Note

rearTarget must be less than rearBias and greater than 1.0 to implement a limited slip differential.

Note

Set rearTarget and rearBias to 1.0 to implement a locked axle.

PxReal centerBias

The parameter centerBias specifies the maximum angular speed ratio of the sum of the two front wheels and the sum of the two rear wheels, as specified by frontWheelIds[2] and rearWheelIds[2].

Note

If centerBias has value 0.0, the differential will not try to enforce any relationship between the rotational speeds of the front and rear wheels.

Note

If centerBias has value 0.0, the torque split between the front and rear rear wheels is specified by the array torqueRatios.

Note

centerBias must have value 0.0 (deactivated limited slip) or be greater than 1.0 (activated limited slip) or be equal to 1.0 (locked).

Note

If centerBias has value greater than or equal to 1.0 then the arrays frontWheelIds and rearWheelIds must be specified and the corresponding entries of the isConnected[] array must be set true.

Note

If centerBias has value greater than or equal to 1.0 then centerTarget must also be specified.

Note

A locked front/rear differential may be achieved by setting centerBias and centerTarget to 1.0.

Note

A limited slip differential may be achieved by setting centerBias > 1.0 and centerBias > centerTarget > 1.0

PxReal centerTarget

The parameter centerTarget specifies the target rotational speed ratio of the sum of the two front wheels and the sum of the two rear wheels in the event that the ratio exceeds centerBias and centerBias is configured for an activated limited slip.

Note

centerTarget must be less than centerBias and greater than 1.0 to implement a limited slip differential.

Note

Set centerTarget and centerBias to 1.0 to implement a locked differential.

PxReal rate

The parameter rate specifies how quickly the ratio of rotational speeds approaches the target rotational speed ratio.

Note

strength must be in range [0,PX_VEHICLE_FOUR_WHEEL_DIFF_MAXIMUM_STRENGTH].

Note

The ratio of rotational speeds is decremented each update by rate*dt until the ratio is equal to the target ratio.

Note

A value of 0 will result in a deactivated limited slip.

Note

A value of PX_VEHICLE_FOUR_WHEEL_DIFF_MAXIMUM_STRENGTH will result in instantaneous correction of the rotational speed ratios.

PxReal torqueRatios[PxVehicleLimits::eMAX_NB_WHEELS]

torqueRatios describes the fraction of torque delivered to each wheel through the differential.

Range: [1, -1]

Note

Wheels not connected to the differential must receive zero torque.

Note

Wheels connected to the differential may receive a non-zero torque.

Note

The sum of the absolute of the ratios of all wheels must equal to 1.0.

Note

A negative torque ratio simulates a wheel with negative gearing applied.

PxReal aveWheelSpeedRatios[PxVehicleLimits::eMAX_NB_WHEELS]

aveWheelSpeedRatios describes the contribution of each wheel to the average wheel speed measured at the clutch.

Range: [0, 1]

Note

Wheels not connected to the differential do not contribute to the average wheel speed measured at the clutch.

Note

Wheels connected to the differential may delivere a non-zero contribution to the average wheel speed measured at the clutch.

Note

The sum of all ratios of all wheels must equal to 1.0.