URDF-based forward and inverse kinematics helpers for robot arms.
Robokin provides a clean, backend-agnostic API for robot kinematics with pluggable IK solvers, 3D visualization, and real-arm integration.
- Multiple IK backends — Placo, PyRoki, RoboPlan
- URDF-first — load any robot from robot_descriptions or a local URDF file
- 3D visualization — built-in Viser UI with interactive gizmo control
- Rerun logging — stream joint angles and EE trajectories to Rerun dashboards
- Real-arm support — drive hardware via LeRobot or ROS 2
lerobot_real_arm.mp4
| ROS 2 Real Arm (Placo) | Go to Pose |
ros2_real_arm2_compressed.mp4 |
go_to_pose.mp4 |
| Rerun IK Loop (Placo) | Pose Cycle (PyRoki) |
rerun_loop.mp4 |
pose_cycle.mp4 |
More demo videos will be recorded and added — for existing examples and as new backends and features land.
# Core (numpy, scipy, robot_descriptions)
pip install -e .
# With a specific IK backend
pip install -e ".[placo]"
pip install -e ".[pyroki]"
# With visualization
pip install -e ".[viser]"
pip install -e ".[rerun]"
# Everything
pip install -e ".[all]"pip install lerobot "lerobot[feetech]"from robokin import load_robot_description, PyrokiKinematics, PyrokiConfig
# Load SO-101 robot model
model = load_robot_description("so100", ee_link="gripper_frame_link")
# Create kinematics solver
kin = PyrokiKinematics(model.urdf_path, model.joint_names, "gripper_frame_link")
# Solve IK, run servo steps, etc.robokin/
├── src/robokin/ # Library source
│ ├── robot_model.py # URDF loading & RobotModel
│ ├── placo.py # Placo IK backend
│ ├── pyroki.py # PyRoki IK backend
│ ├── roboplan_oink.py # RoboPlan backend
│ ├── transformations.py# Pose interpolation & easing
│ ├── pyroki_snippets/ # PyRoki solver variants
│ └── ui/ # Viser & Rerun helpers
├── examples/
│ ├── pyroki/ # PyRoki examples
│ ├── placo/ # Placo examples
│ └── helpers/ # Shared example utilities
├── tests/ # Unit tests
├── pyproject.toml
└── LICENSE
pip install -e ".[dev]"
pytestCopyright 2026 Dmitri Manajev. Licensed under the Apache License 2.0.