Embodied AI Glossary中文

Quintic Polynomial Interpolation

五次多项式插值Advanced

A point-to-point trajectory method that fits a fifth-degree polynomial matching position, velocity, and acceleration at both ends.

Quintic polynomial interpolation is one of the most basic methods for point-to-point robot trajectories. The joint angle or position is written as q(t) = a₀ + a₁t + ... + a₅t⁵, and its six coefficients are uniquely fixed by six boundary conditions: position, velocity, and acceleration at both the start and the end. A cubic polynomial can only constrain position and velocity at the endpoints, so acceleration jumps abruptly at the start and stop, making jerk (the rate of change of acceleration) theoretically infinite and prone to causing vibration. A quintic polynomial can also hold acceleration at zero at both ends, keeping acceleration continuous throughout and jerk finite, for smoother starts and stops — at the cost of a higher peak velocity for the same duration, so joint speed limits need checking. With zero velocity and acceleration at both ends, the normalized form is s(τ) = 10τ³ − 15τ⁴ + 6τ⁵ (where τ = t/T and T is the total duration), which matches the minimum-jerk trajectory. For multiple waypoints, segments can be pieced together while keeping acceleration continuous at each one.

ExampleIn Peter Corke's Robotics Toolbox for Python, jtraj() generates joint-space trajectories using a quintic polynomial with zero start/end velocity and acceleration by default, while quintic() generates the same kind of trajectory for a single variable.

Also called
Quintic Polynomial Trajectory, Quintic Time Scaling
Related
Trajectory Interpolation · Cubic Spline Interpolation · Minimum-Jerk Trajectory · Jerk · Trapezoidal Velocity Profile · Time Parameterization
Sources
Lynch & Park, Modern Robotics, Section 9.2 Polynomial Time Scaling (preprint PDF)
Robotics Toolbox for Python: Trajectories (quintic / jtraj / mtraj)

See it in the full glossary →