Defined in include/vehicle2/drivetrain/PxVehicleDrivetrainComponents.h

Inheritance Relationships

Base Type

class PxVehicleTankDriveDifferentialStateComponent : public PxVehicleComponent

Compute the per wheel drive torque split of a tank drive differential.

Public Functions

inline PxVehicleTankDriveDifferentialStateComponent()
inline virtual ~PxVehicleTankDriveDifferentialStateComponent()
virtual void getDataForTankDriveDifferentialStateComponent(const PxVehicleAxleDescription *&axleDescription, const PxVehicleTankDriveTransmissionCommandState *&transmissionCommands, PxVehicleArrayData<const PxVehicleWheelParams> &wheelParams, const PxVehicleTankDriveDifferentialParams *&differentialParams, PxVehicleDifferentialState *&differentialState, PxVehicleWheelConstraintGroupState *&constraintGroupState) = 0

Provide vehicle data items for this component.

  • axleDescription[out] identifies the wheels on each axle.

  • transmissionCommands[out] specifies the values of the thrust controllers that divert torque to the tank tracks.

  • wheelParams[out] is an array describing the radius of each wheel.

  • differentialParams[out] describes the operation of the tank differential by specifying the default torque split between all wheels connected to the differential and by specifying the wheels coupled to each tank track.

  • differentialState[out] stores the instantaneous torque split between all wheels arising from the difference between the thrust controllers.

  • constraintGroupState[out] stores the groups of wheels that are connected by sharing a tank track.

inline virtual bool update(const PxReal dt, const PxVehicleSimulationContext &context)

Update function for a vehicle component.

  • dt[in] The timestep size to use for the update step.

  • context[in] Vehicle simulation context holding global data or data that usually applies to a large group of vehicles.


True if subsequent components in a sequence should get updated, false if the sequence should be aborted.