Skip to content

Polynomial Trajectory ​

Problem Statement ​

Piecewise polynomial trajectories provide a flexible middle ground between simple waypoint interpolation and full optimal control. They are useful when smoothness requirements are moderate and realtime generation is required.

Model and Formulation ​

For segment j, define polynomial p_j(t) and enforce continuity at knot k:

pj(tk)=pj+1(tk),p˙j(tk)=p˙j+1(tk),p¨j(tk)=p¨j+1(tk)

The system reduces to linear equations over coefficient vectors.

Algorithm Procedure ​

  1. Define knot times and boundary conditions.
  2. Assemble linear system for polynomial coefficients.
  3. Solve for each axis independently (or jointly with coupling constraints).
  4. Sample trajectory for planner/controller interfaces.

Tuning Guidance ​

  • Ensure knot timing matches available acceleration authority.
  • Prefer lower polynomial degree for numerical stability.
  • Add regularization if coefficient solving is ill-conditioned.

Failure Modes and Diagnostics ​

  • Poorly spaced knots produce high curvature and controller stress.
  • Under-constrained systems cause non-unique solutions.
  • High polynomial degree can cause oscillatory artifacts (Runge-type behavior).

Implementation and Execution ​

bash
python -m flybots.simulations.trajectory_planning.polynomial_trajectory

Evidence ​

Polynomial Trajectory

References ​

Released under the MIT License.