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 singlepip 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).