Two waypoint missions built from the same set of coordinates can produce very different flight paths depending on whether they're created in Litchi or DJI Fly. The difference comes from the mathematical method each system uses to turn waypoints into a smooth, flyable curve
Historically:
However, this distinction is no longer absolute. The latest version of Litchi's Mission Hub now supports both styles (depending on the drone being used), allowing you to choose:
This update means Litchi can now replicate DJI Fly's behavior when desired, whil still offering its original straight-line with curves method.
|
|
Even when two missions share the same set of waypoints, their paths may differ. Some of these differences include:
Perhaps the most important of those differences is the fact that DJI Fly missions (or Litchi missions using the DJI Engine) pass through the waypoints while traditional curved Litchi missions do not.
Obviously, the two methods are using different technologies to create flight paths from a set of waypoints. So, the question becomes: "Why?" or "How?". I cannot answer the "Why?". But I can answer the "How?".
In Litchi's new Mission Hub, for appropriate drones, Litchi also provides a "Path Mode" named "Smooth Curves". This allows DJI-style curved missions to be designed in the Mission Hub in addition to the traditional curved missions described here.
Turning a series of control points into a smooth curve is a classic math problem, typically solved using splines. There are many spline types, each with its own properties. Some of the more common include:
Litchi's traditional curved mission system is not a pure spline, even though it may look like one. Instead, Litchi:
This approach has several consequences:
Details
Upon initial inspection, the flight path created using DJI Fly might appear to be generated by using a composite cubic Bézier curve because the curve goes through the waypoints and the composite Bézier is a commonly used method to do this.
A cubic Bézier curve uses exactly four control points and only passes through the first and last of those points. However, it is a common practice to take each pair of consecutive points in a desired curve and fit a Bézier curve to those two waypoints by computing the two inner control points such that the actual waypoints have "C2" continuity with the next Bézier curve. This is called a composite Bézier curve. The process of computing the inner control points is done through the use of the mathematically elegant Gaussian elimination (row reduction) method.
However, upon close inspection, it can be seen that the shape of a DJI Fly waypoint mission near its endpoints is not typical of a composite Bézier curve and hint at another type of curve.
As it turns out, DJI Fly's waypoint path is being generated using a centripetal Catmull-Rom spline where the endpoints are mirrored as indicated by the shape of the path near each endpoint. A Catmull-Rom spline requires that the endpoints are mirrored in order for the curve to reach both endpoints.
The image to the right shows a Centripetal Catmull-Rom spline overlayed onto a DJI Fly mission. Both curves match very closely around the interior points. There is a slight difference near the endpoints which indicate DJI is using different end conditions from a plain Catmull-Rom.