Minimum-Snap Trajectory / Differential Flatness
最小 Snap 轨迹(微分平坦)AdvancedA piecewise-polynomial trajectory minimizing the integral of squared snap (the 4th derivative of position), commonly used for quadrotor drones.
Snap is the fourth time derivative of position — jerk differentiated once more. The method is bound up with differential flatness, introduced by Fliess and colleagues in 1995: a system is differentially flat if there's a set of ‘flat outputs’ from which every state and control input can be written as a function of those outputs and their derivatives. Mellinger and Kumar, at ICRA 2011, exploited a quadrotor's differential flatness, taking position x, y, z and yaw angle ψ as the flat outputs. This means planning a sufficiently smooth curve in just these four quantities is enough to directly compute attitude and motor commands, with no need to sample-search or repeatedly simulate over a high-dimensional state space. Motor commands and attitude angular acceleration are proportional to snap, so minimizing snap keeps commands changing gently and executable. In practice, a piecewise polynomial is fit through a sequence of waypoints, with the snap-squared integral written as a quadratic program over the polynomial coefficients; Richter et al. (2013) recast this as a numerically stable, unconstrained quadratic program and combined it with geometric path planning.
ExampleRichter, Bry, and Roy (2013) used this method: first find obstacle-avoiding waypoints, then generate a minimum-snap polynomial trajectory through them, letting a quadrotor fly autonomously through dense indoor environments at speeds up to 8 m/s.
- Also called
- Minimum Snap, Differential Flatness
- Related
- Minimum-Jerk Trajectory · Trajectory Optimization · Quadratic Programming · Kinodynamic Planning · Unmanned Aerial Vehicle (UAV) · Jerk
- Sources
- Richter, Bry, Roy: Polynomial Trajectory Planning for Aggressive Quadrotor Flight in Dense Indoor Environments (ISRR 2013)
Mellinger & Kumar: Minimum snap trajectory generation and control for quadrotors (ICRA 2011)
Flatness (systems theory) - Wikipedia