Skip to content

Drone Planning

A planning library for the Holybro X500 V2 quadrotor with a pan-tilt gimbal camera — geometric motion planning (OMPL frontend, VAMP SIMD collision backend), kinodynamic planning (FLASK) under PX4's velocity and acceleration limits, and time-optimal trajectory generation, all behind a unified Python API.

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


    For inference: numpy, pin. No conda required, no ROS, no MoveIt. One pip install.

  • :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, … over the body (x, y, z, yaw) and the gimbal (pan, tilt).

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


    VAMP SIMD collision backend: microsecond checks of the 126-sphere model (measured); RRT-Connect and FLASK plan the demo room in milliseconds (measured).

Features

  • :material-quadcopter:{ .lg .middle } Robot Model


    PX4's official x500_gimbal Gazebo model converted to URDF — meshes, poses and dimensions kept — spherized with foam and compiled to a VAMP collision model with cricket.

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


    OMPL frontend + VAMP SIMD backend. Body-only and whole-body subgroups, point-cloud obstacles checked as points (the spheres are the margin).

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

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


    FLASK: a time-parameterised trajectory in the quadrotor's flat outputs, within PX4's horizontal speed / acceleration norms, climb and descent rates, yaw rate and gimbal rates — the velocity setpoint stream an offboard controller tracks.

Quick Install

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

pip install drone-planning

Two runtime deps: numpy, pin. See the Getting Started guide for the full development setup (pixi + conda-forge toolchain, robot model rebuilds, FK codegen).