control//controller design//trajectory tracking//minimum-snap trajectory

A minimum-snap trajectory is a piecewise-polynomial path through a sequence of waypoints chosen to minimize the integral of the squared fourth derivative of position, and it is the standard way quadrotor planners produce paths that the motors can actually follow. The fourth derivative of position is the **snap** (after velocity, acceleration and jerk). It matters for a quadrotor because of differential flatness: tilt depends on acceleration, angular acceleration on the second derivative of tilt, and the motor torques on that angular acceleration, so torque is tied to snap. A path with small snap asks for small, smooth torque changes.


A minimum-snap trajectory is a piecewise-polynomial path through a sequence of waypoints chosen to minimize the integral of the squared fourth derivative of position, and it is the standard way quadrotor planners produce paths that the motors can actually follow. The fourth derivative of position is the snap (after velocity, acceleration and jerk). It matters for a quadrotor because of differential flatness: tilt depends on acceleration, angular acceleration on the second derivative of tilt, and the motor torques on that angular acceleration, so torque is tied to snap. A path with small snap asks for small, smooth torque changes.

The problem is

min⁡ ∫0T∥d4rdt4∥2dts.t. the path passes through the waypoints at given times, continuous up to the needed derivative,\min\ \int_0^{T}\left\lVert \frac{d^4\mathbf r}{dt^4}\right\rVert^2 dt\quad\text{s.t. the path passes through the waypoints at given times, continuous up to the needed derivative,}min ∫0T​​dt4d4r​​2dts.t. the path passes through the waypoints at given times, continuous up to the needed derivative,

and with polynomial segments the cost is quadratic in the polynomial coefficients while the constraints are linear, so it is a quadratic program solved in milliseconds. Mellinger and Kumar (2011) made it the reference method for quadrotors, and it remains the usual starting point for generating their trajectories.

The result feeds the controller twice. Through flatness the polynomial gives the exact feedforward (tilt, thrust, rates, torques) at every instant, so the feedback loop only corrects wind and model error (trajectory tracking).

It is also a feasibility check before takeoff: evaluate the thrust and tilt the polynomial implies along the whole path and compare them with the vehicle's limits; if they are exceeded, stretch the segment times and solve again.

The segment times are the real tuning. The QP fixes the shape for given times; choosing the times (how fast to fly each leg) is an outer optimization, often a simple rule of thumb plus iteration.

It is smooth, not safe. The polynomial passes through the waypoints but can bulge between them, so obstacle avoidance needs extra constraints or more waypoints from a motion planner, and an MPC is the tool when limits must hold under disturbances.