Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Introduction

Kinetic is a fast, Rust-native motion planning library for robotics. It computes collision-free paths, solves inverse kinematics, and generates time-parameterized trajectories — all without ROS2, without a GPU, and without external dependencies.

#![allow(unused)]
fn main() {
use kinetic::prelude::*;

let result = plan("ur5e", &[0.0, -1.0, 0.8, 0.0, 0.0, 0.0],
                   &Goal::joints([1.0, -0.5, 0.3, 0.2, -0.3, 0.5]))?;
}
import kinetic
traj = kinetic.plan("ur5e", start, kinetic.Goal.joints([1.0, -0.5, 0.3, 0.2, -0.3, 0.5]))

That’s it. No launch files, no YAML configuration, no parameter server. Load a robot, define a goal, get a trajectory.

What Kinetic Does

  • Forward & Inverse Kinematics — 10 IK solvers including analytical (OPW, Paden-Kahan) and iterative (DLS, FABRIK, SQP, Bio-IK). FK in 324 ns, IK in 10 us.
  • Collision Detection — SIMD-accelerated sphere-based checking with CAPT broadphase. Self-collision in 9 ns, environment collision in 507 ns.
  • Motion Planning — 14 algorithms: RRT-Connect, RRT*, BiRRT*, BiTRRT, EST, KPIECE, PRM, CHOMP, STOMP, GCS, Cartesian, constrained, and dual-arm.
  • Trajectory Generation — Time-optimal (TOTP), trapezoidal, jerk-limited S-curve, and cubic spline profiles with per-joint limit enforcement.
  • Reactive Control — 500 Hz servo with twist/jog/pose-tracking inputs, RMP multi-policy blending, collision deceleration, and singularity avoidance.
  • Task Planning — Pick, place, and multi-stage sequences with grasp generation and DAG-based stage composition.
  • GPU Optimization — Optional wgpu compute shaders for parallel-seed trajectory optimization (cross-vendor: NVIDIA, AMD, Intel, Apple).
  • Python Bindings — Full API via PyO3 with numpy integration. Type stubs for IDE autocomplete.
  • 54 Built-in Robots — UR, Franka Panda, KUKA, ABB, Fanuc, Kinova, xArm, and 47 more, ready to use.

Performance vs MoveIt2

OperationKineticMoveIt2Speedup
Forward kinematics (7-DOF)324 ns5-10 us15-30x
Inverse kinematics (DLS)10.6 us5 ms (KDL)470x
Self-collision check9 ns50-100 us5,000x
Environment collision (10 obstacles)507 ns50-100 us100x
Servo control tick9.9 us~1 ms100x

Architecture

graph LR
    subgraph Foundation
        Core[kinetic-core<br/>Pose, Goal, Trajectory]
        Robot[kinetic-robot<br/>URDF, 52 robots]
    end

    subgraph Physics
        FK[kinetic-kinematics<br/>FK, IK, Jacobian]
        Col[kinetic-collision<br/>SIMD, CAPT, LOD]
        Dyn[kinetic-dynamics<br/>Featherstone]
    end

    subgraph Planning
        Scene[kinetic-scene<br/>Obstacles, ACM]
        Plan[kinetic-planning<br/>14 planners]
        Traj[kinetic-trajectory<br/>TOTP, S-curve]
        React[kinetic-reactive<br/>Servo, RMP]
    end

    subgraph Integration
        Exec[kinetic-execution<br/>500Hz streaming]
        GPU[kinetic-gpu<br/>wgpu optimization]
        Task[kinetic-task<br/>Pick, Place]
        Py[kinetic-python<br/>PyO3 + numpy]
    end

    Core --> FK --> Plan
    Core --> Robot --> FK
    Robot --> Col --> Plan
    Core --> Traj
    Col --> Scene --> Plan
    Plan --> Task
    Plan --> Exec
    FK --> React
    Col --> GPU
    Dyn -.-> Exec

    style Core fill:#4a9eff,color:#fff
    style Plan fill:#ff6b6b,color:#fff
    style GPU fill:#ffd93d,color:#000
    style Py fill:#3ddc84,color:#000

What Kinetic Does NOT Do

Kinetic is a planning and kinematics library, not a complete robotics framework. It does not include:

  • Hardware drivers — Use terra (HORUS HAL), ros2_control, or your own driver
  • Perception / object detection — Feed detected shapes to kinetic’s Scene API
  • Visualization — Export trajectories to JSON/CSV, use matplotlib (Python), or connect via horus-monitor
  • ROS2 middleware — Kinetic runs standalone. For ROS2 integration, use the horus-kinetic bridge

Who Kinetic Is For

  • Robotics engineers building manipulation systems who need fast, reliable motion planning
  • Teams migrating from MoveIt2 who want 10-5000x faster operations without ROS2 dependency
  • Python developers prototyping robot behavior with numpy-native APIs
  • Product teams deploying kinetic in production with 54 pre-configured robots and 85%+ test coverage

Getting Started

New to kinetic? Start here:

  1. Installationcargo add kinetic or pip install kinetic
  2. Hello World — Your first motion plan in 5 lines
  3. Your First Robot — Load a robot and compute FK
  4. Your First Plan — Plan, time-parameterize, and validate

Coming from another framework?

New to robotics?

  • Robotics Primer — What are joints, FK, IK, and planning? Explained from zero, no prior knowledge needed

Want to understand the algorithms?

  • Core Concepts — Glossary, FK, IK, collision, planning, trajectories explained
  • Planner Selection — Decision flowchart for choosing the right algorithm