Skip to content

Wheelchair Planning

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

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


    Three runtime deps: numpy, scipy, casadi. 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, … plug in whichever suits the problem.

  • :material-speedometer:{ .lg .middle } Millisecond plans


    VAMP SIMD collision backend: RRT-Connect plans around a table in milliseconds for the arm, the base and the whole body (benchmarks).

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, base, whole body) with first-class support for point-cloud obstacles.

  • :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


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

Benchmarks

Planning times of every planner on the arm, the base and the whole body, with how they were measured, are in Motion Planning.

Quick Install

For inference — running the planners and IK solvers — just pip install:

git clone --recursive https://github.com/H-tr/Wheel-Chair-Planning.git
cd Wheel-Chair-Planning
pip install -e .

Three runtime deps: numpy, scipy, casadi; the IK solvers add pin + pin-pink via pip install -e ".[kinematics]". No conda, no ROS, no MoveIt. See the Getting Started guide for the full development setup (pixi + conda-forge toolchain, URDF rebuilds, FK codegen).