Minimum-Snap Trajectory
- Also called: minimum snap trajectory, min-snap
- Category: Planning & manipulation › Trajectory optimisation
- Tags: trajectory-generation, quadrotors, aerial-robotics, motion-planning, optimization
A smooth path through waypoints found by minimizing the integral of squared snap, the fourth derivative of position; the standard way to plan quadrotor flight.
Definition
A minimum-snap trajectory passes through a sequence of waypoints while minimizing the integral of the squared fourth time derivative of position, called snap. Each coordinate is usually represented as a piecewise polynomial, one segment per pair of waypoints, with continuity enforced on position and its derivatives at the joins. Because the cost is quadratic in the polynomial coefficients and the waypoint and continuity conditions are linear, finding the coefficients for fixed segment durations is a quadratic program, and in the unconstrained case it can be solved in closed form.
The method is closely tied to quadrotors. Mellinger and Kumar (2011) showed that a quadrotor is differentially flat with position and yaw as flat outputs: the full state and inputs can be computed from these outputs and their derivatives. Thrust direction and magnitude follow from acceleration, body rates from jerk, and angular accelerations, and so the motor torques, from snap. Minimizing snap therefore keeps the required changes in motor commands small and smooth, which makes the trajectory easier to track. The same idea at lower order gives minimum-jerk trajectories, long used for arm motions, and minimum-acceleration paths.
The polynomial solve covers only part of the problem. Segment durations must be chosen separately, often by an outer optimization or by scaling time until speed, thrust and body-rate limits are satisfied. The solution passes through the waypoints but does not by itself avoid obstacles between them, so planners either add intermediate waypoints where the path cuts a corner or constrain each segment to a safe convex corridor. Minimum-snap trajectories are smooth but not time-optimal, which is why racing systems also use sampling-based or optimization-based time-optimal planners.
Why it matters
Minimum-snap trajectory generation is the default way to turn waypoints into flyable references for multirotors. It is fast, well understood and maps cleanly onto quadrotor dynamics through differential flatness, so it appears in research autopilots, drone racing and aerial inspection.
Key applications
- Quadrotor waypoint flight and aggressive maneuvers
- Drone racing reference trajectories
- Aerial inspection and photography paths
- Smooth joint or Cartesian trajectories for manipulators (minimum-jerk variants)
- Trajectory refinement after a geometric path planner
In practice
A drone racing team has a map of gate positions on a track. They place one waypoint at each gate center, set the yaw to face the next gate, and fit a minimum-snap piecewise polynomial in x, y and z with continuity up to snap at each gate. An initial time allocation comes from distances and a nominal speed. They then check the trajectory against limits on speed, collective thrust and body rates, computed through the flatness map, and stretch or shrink segment times until every limit holds with margin. The resulting trajectory is sampled at the controller rate and passed to a geometric tracking controller, and the same reference is used to generate labels for a learned perception policy.
Common misconceptions
- Minimum snap is time-optimal — it minimizes smoothness cost for fixed segment times, not flight time
- The trajectory avoids obstacles because the waypoints are collision-free — segments between waypoints can still cut corners unless corridor constraints are added
- Actuator limits are handled automatically — speed, thrust and body-rate limits must be checked and enforced through time allocation or constraints
- Minimum snap is the same as differential flatness — flatness is a property of the vehicle model; minimum snap is one cost used to plan flat outputs
Who should know this
- Aerial robotics and drone autopilot engineers
- Motion planning researchers
- Drone racing and inspection developers
- Controls students studying trajectory generation
Related technologies
- Quadratic Programming
- Piecewise Polynomial Splines
- PX4
- Geometric Tracking Control on SE(3)
- Safe Flight Corridors
Related terms
- Differential Flatness
- Trajectory Planning
- UAV
- Direct Collocation
- Kinodynamic Planning
- Model Predictive Control
Related projects
- Drake: MIT robotics toolbox for model-based dynamics, optimization, and control system design
- GTSAM: Factor-graph optimization library powering many modern SLAM backends
- OMPL: Sampling-based motion planning library powering MoveIt and countless robotics applications
- MoveIt 2: Motion planning framework for ROS 2 robot arms, with kinematics and collision checking
- PyRoki: Modular Python toolkit for kinematic optimization across CPU, GPU, and TPU via JAX
- PyPose: PyTorch library for differentiable robotics with deep learning and Lie group optimization