Joint dynamics properties

The joint dynamics properties are part of the joint properties. Its dialog displays the dynamics settings and parameters of the last selected joint. If no joint is selected, or the joint is not dynamic, then the dialog is inactive. If more than one joint is selected, then some parameters can be copied from the last selected joint to the other selected joints:

[Joint dynamics dialog]


Several control modes are supported:

  • Free (no control): the joint is free, i.e. non-motorized
  • Force/torque control: the joint is controlled in force/torque, i.e. a constant force/torque is applied. Can be modulated with sim.setJointTargetForce
  • Velocity control: the joint is controlled in velocity: the specified force/torque is applied until the desired velocity is reached. Optionally, a specific motion profile for the velocity can be applied. Can be modulated with sim.setJointTargetVelocity and sim.setJointTargetForce
  • Position control: the joint is controlled in position: the specified force/torque is applied and the velocity is modulated accordingly, until the target position/angle is reached. Parameters can be adjusted with sim.setJointTargetPosition, sim.setJointTargetForce and sim.setObjectFloatParam
  • Spring-damper control: the joint is controlled in position by modulating the exerted force/torque via a simple KC controller, trying to reach the zero displacement position/angle. Parameters can be adjusted with sim.setJointTargetPosition, sim.setJointTargetForce and sim.setObjectFloatParam
  • Custom control: the joint calls a joint callback function for control, where the user can decide of a force/torque and target velocity in a flexible way
  • In addition to above settings, joints have specific parameters related to each physics engine that can be adjusted with Engine properties. Make sure to read the respective engine documentations to achieve best parameter settings.