Skip to content

Fetch Planning

A planning library for the Fetch robot — inverse kinematics (TRAC-IK and Pink QP), motion planning (OMPL frontend, VAMP SIMD collision backend) with a nonholonomic mobile base, and time-optimal trajectory generation, all behind a unified Python API.

  • :material-package-variant:{ .lg .middle } Drop-in, few deps


    For inference: numpy, scipy, pink. No conda required, no ROS, no MoveIt. Vendor it into any project with a single pip install -e ..

  • :material-source-branch:{ .lg .middle } 30 planners


    Full OMPL planner library, not a bespoke subset: RRT-Connect, RRT*, BIT*, AIT*, EIT*, KPIECE, PRM, FMT, SPARS, … on every subgroup, the nonholonomic base included (SE(2) × R^N).

  • :material-speedometer:{ .lg .middle } Microsecond checks, millisecond plans


    VAMP SIMD collision backend: ~3 μs per check. RRT-Connect plans collision-free paths for the 7-, 8-, and 11-DOF subgroups with the full whole-body checker in the loop.

Features

  • :material-robot-angry-outline:{ .lg .middle } Inverse Kinematics


    TRAC-IK for unconstrained numerical IK; Pink for QP-based constrained IK that composes end-effector tracking with centre-of-mass stability, camera-frame stabilization, and self-collision avoidance.

  • :material-map-marker-path:{ .lg .middle } Motion Planning


    OMPL frontend + VAMP SIMD backend. Full-body and subgroup planning (arm, arm + torso, base, base + arm, whole body) with first-class support for point-cloud obstacles and a nonholonomic diff-drive base.

  • :material-vector-curve:{ .lg .middle } Manifold Planning


    Hard task-space equality constraints — planes, rails, orientation locks, couplings — compiled from CasADi expressions and solved on OMPL's ProjectedStateSpace.

  • :material-chart-bell-curve:{ .lg .middle } Cost-space Planning


    Path-integral soft costs (orientation preference, pose stabilization, …) compiled from CasADi and driving OMPL's asymptotically-optimal planners (RRT*, BIT*, AIT*, …).

  • :material-timer-outline:{ .lg .middle } Time Parameterization


    Time-optimal path parameterization (TOPP-RA) converts geometric paths into executable trajectories with per-joint velocity and acceleration limits — bridging the planner's output to hardware.

Quick Install

For inference — running the planners and IK solvers — just pip install the prebuilt wheel (Linux x86_64, Python 3.10–3.14):

pip install fetch-planning

Three runtime deps: numpy, scipy, pink. No conda, no ROS, no MoveIt. See the Getting Started guide for the full development setup (pixi + conda-forge toolchain, URDF rebuilds, FK codegen).