1 base( of the robot )
- either fixed with 0-DOF or fully free with 6-DOF
- not regular 'link', index -1.
2 getNumJoints
- required UniqueId, the return of loadURDF etc.
3 getJointInfo
- required UniqueId, the return of loadURDF etc.
- required joint index.
- return a list of information.
4 setJointMotorControl2 / setJointMotorControlArray
- setJointMotorControl is obsolete and repalced by -2
- REQUIRED:
- bodyUniqueId(the return from loadURDF etc)
- jointIndex(int),
- controlMode(int, one of POSITION_CONTROL, VELOCITY_CONTROL,TORQUE_CONTROL, PD_CONTROL)
- OPTIONAL:
- targetPosition in POSITION_CONTROL (target position of the joint),
- targetVelocity in VELOCITY_CONTROL and POSITION_CONTROL(the desired velocity of the joint, not the maximum velocity)
- force in POSITION_CONTROL and VELOCITY_CONTROL (the maximum motor force used to reach the target value). in FORCE_CONTROL force/torque to be applied each simulation step
- maxVelocity in POSITION_CONTROL( the limitation of velocity to the maximum)
- positionGain, velocityGain
5 setJointMotorControlArray
- instead of making calls for each joint as setJointMotorControl2 does, pass arrays for all inputs
- same parameters as setJointMotorControl2, replacing integers with lists of integers
- REQUIRED:
- bodyUniqueId(int, the return from loadURDF etc)
- jointIndices(list of int)
- controlMode(int, POSTION_CONTROL...etc, as in setJointMotor2)
- OPTIONAL:
- targetPositions (list of float)
- targetVelocities (list of float)
- forces (list of float)
- positionGains (list of float), velocityGrain (list of float), physicsClientId (int)
6 getJointState(s)
- INPU