User Guide
Quickstart
Try it without installing
Run this to start the interactive IK gallery:
uvx --from robokit python -m robokit.gallery.ik
Drag targets, switch robots, and adjust weights. Replace ik with any gallery below.
![]() | ![]() | ![]() |
|---|---|---|
ik Drag targets and tune IK weights. | ik_legged Balance humanoids and quadrupeds. | motion_plan Plan motions around obstacles. |
![]() | ![]() | ![]() |
|---|---|---|
humanoid_retargeting Retarget human motion to humanoids. | humanoid_retargeting_contact Retarget humanoids with object contacts. | hand_retargeting_contact Retarget hands with object contacts. |
![]() | ![]() | ![]() |
|---|---|---|
hand_retargeting Retarget hands onto any base, online or offline. | robot_models Browse robots, collision spheres, and frames. | full_body_retargeting Retarget whole-body human-object interaction. |
Solve one IK problem
After installing, this is the whole program:
from robot_descriptions.loaders.yourdfpy import load_robot_description
from robokit.helpers.ik import IKSolver, presets
from robokit.robo import Robot
robot = Robot.load(load_robot_description("panda_description"))
ik = IKSolver(presets.basic, robot=robot, target_links="panda_hand")
T_world_target = [0.5, 0.2, 0.5, 0.0, 0.0, 1.0, 0.0] # x, y, z, qw, qx, qy, qz
state = ik.solve_numpy(T_world_target)
print(state.q.numpy()[0]) # joint positionsIK uses the GPU when one is visible, else the CPU.
More examples
Galleries are interactive demos. For code to copy, open a runnable script below. Paths are relative to src/robokit/examples.
Example usage:
uv run src/robokit/examples/ik/01_basic.py








