kevinzakka/mink

Python inverse kinematics based on MuJoCo.

What it solves

It provides a way to calculate the joint angles needed for a robot to reach a specific target position or orientation (inverse kinematics), while respecting physical constraints like joint limits and avoiding collisions.

How it works

Built on the MuJoCo physics engine, the library uses differential inverse kinematics. It employs a Lie group interface for rigid body transformations and includes native C optimization for the most computationally intensive paths to ensure efficiency.

Who it’s for

Robotics researchers and developers working with a wide range of hardware, including single or dual arms, dexterous hands, humanoids, and legged or mobile manipulators.

Highlights

  • Broad Robot Support: Works with everything from the UR5e and Franka Panda arms to Unitree humanoids and Boston Dynamics Spot.
  • Constraint Handling: Manages joint position and velocity limits, as well as collision avoidance between any pair of geoms.
  • Advanced Kinematics: Supports closed-chain kinematics through equality constraints.
  • Optimized Performance: Uses native C optimization for critical inverse kinematics calculations.

Related

  • Project
  • Project
  • Project
  • Project
  • Project