Pink
Pink(基于 Pinocchio 的微分逆运动学库)AdvancedA Python differential inverse-kinematics library built on Pinocchio, solving joint velocities from weighted tasks.
Pink is an open-source Python library by Stéphane Caron that uses Pinocchio (a rigid-body dynamics library) under the hood to compute kinematics and Jacobians. It takes a differential inverse-kinematics approach: goals like “move the end effector to this pose,” “hold this orientation,” or “stay within joint limits” are written as weighted tasks and constraints, and on every control cycle Pink solves a quadratic program to get joint velocities, which are then integrated to update the joint angles. The advantage is that multiple objectives can be balanced at once, and redundant degrees of freedom and joint limits are handled naturally. It's commonly used for teleoperation, motion retargeting, and whole-body inverse kinematics on humanoids and robot arms; the equivalent library in the MuJoCo ecosystem is mink.
ExampleWhen teleoperating a humanoid in VR, use Pink to track both wrist poses while constraining the torso orientation, solving for all arm joint angles in real time.
- Also called
- pink (Python package)
- Related
- Pinocchio · mink (MuJoCo inverse kinematics) · Differential Kinematics · Inverse Kinematics (IK) · Quadratic Programming · Whole-Body Inverse Kinematics
- Sources
- stephane-caron/pink (GitHub)