implement accurate inverse kinematics in C++. PyBullet.calculateInverseKinematics gets "maxNumIterations=20", "residualThreshold=1.04" to tune

allow to provide current joint positions in IK, overriding the body joint positions, also IK target will be in local coordinates.
expose b3ComputeDofCount in C-API
This commit is contained in:
erwincoumans
2018-05-31 16:06:15 -07:00
parent 11d8f069f0
commit edc70582dd
7 changed files with 429 additions and 247 deletions

View File

@@ -628,7 +628,9 @@ enum EnumCalculateInverseKinematicsFlags
IK_HAS_TARGET_ORIENTATION=32,
IK_HAS_NULL_SPACE_VELOCITY=64,
IK_HAS_JOINT_DAMPING=128,
//IK_HAS_CURRENT_JOINT_POSITIONS=256,//not used yet
IK_HAS_CURRENT_JOINT_POSITIONS=256,
IK_HAS_MAX_ITERATIONS=512,
IK_HAS_RESIDUAL_THRESHOLD = 1024,
};
enum b3ConfigureDebugVisualizerEnum