PxArticulationDrive#

Defined in include/solver/PxSolverDefs.h

struct PxArticulationDrive#

Data structure for articulation joint drive configuration.

Public Functions

inline PxArticulationDrive(const PxEMPTY&)#
inline PxArticulationDrive()#
inline PxArticulationDrive(
const PxReal stiffness_,
const PxReal damping_,
const PxReal maxForce_,
PxArticulationDriveType::Enum driveType_ = PxArticulationDriveType::eFORCE,
)#
inline PxArticulationDrive(
const PxReal stiffness_,
const PxReal damping_,
const PxPerformanceEnvelope envelope_,
PxArticulationDriveType::Enum driveType_ = PxArticulationDriveType::eFORCE,
)#

Public Members

PxReal stiffness#

The drive stiffness, i.e.

the proportional gain of the implicit PD controller.

See manual for further information, and the drives’ implicit spring-damper (i.e. PD control) implementation in particular.

Units:

(distance = linear scene units)

Rotational axis: torque/rad if driveType =

PxArticulationDriveType::eFORCE; or (rad/s^2)/rad if driveType = PxArticulationDriveType::eACCELERATION Translational axis: force/distance if driveType = PxArticulationDriveType::eFORCE; or (distance/s^2)/distance if driveType = PxArticulationDriveType::eACCELERATIONRange: [0, PX_MAX_F32]Default: 0.0f

PxReal damping#

The drive damping, i.e.

the derivative gain of the implicit PD controller.

See manual for further information, and the drives’ implicit spring-damper (i.e. PD control) implementation in particular.

Units:

(distance = linear scene units)

Rotational axis: torque/(rad/s) if driveType =

PxArticulationDriveType::eFORCE; or (rad/s^2)/(rad/s) if driveType = PxArticulationDriveType::eACCELERATION Translational axis: force/(distance/s) if driveType = PxArticulationDriveType::eFORCE; or (distance/s^2)/(distance/s) if driveType = PxArticulationDriveType::eACCELERATIONRange: [0, PX_MAX_F32]Default: 0.0f

PxReal maxForce#

The drive force limit.

Deprecated:

Will be removed in a future version

Range: [0, PX_MAX_F32]Default: 0.0f

PxPerformanceEnvelope envelope#

The performance envelope of a motor.

When an envelope with a non-zero maxEffort is explicitly set (via constructor or otherwise), the envelope takes precedence over maxForce. In such cases, the joint force is clamped according to the performance envelope. If the default envelope (with zero maxEffort) is used, clamping is instead based on the maxForce parameter and the PxArticulationFlag::eDRIVE_LIMITS_ARE_FORCES flag.

PxArticulationDriveType::Enum driveType#

The drive type.