DJI Mavic, Air and Mini Drones
Friendly, Helpful & Knowledgeable Community
Join Us Now

Waypoint Mission (IMPOSSIBLE) !!!!! 🇦🇮🦘

What DJI has implemented is not "lazy programming" with regard to the use of a spline. It is the correct implementation of a Centripetal Catmull-Rom spline applied to waypoints in 3D space. What DJI could do is to provide some stats such as the minimum (and perhaps maximum) heights of the resulting flight path.

They don't. Hence the "lazy programming".

Provide a means to visualize the path in 3D. The libraries to do this already exist, so use them.

Also, when the ranging sensor detects a surface getting close, abort the mission. Also relatively small potatoes engineering since the basic functionality is already implemented as Landing Protection.

Making some vague statement in the manual and then allowing the product to take a swim is, simply, unacceptable. Especially when it's avoidable.

FYI all, you can play with Catmull-Rom splines here.
 
Last edited:
  • Like
Reactions: MARK (LI)
They don't. Hence the "lazy programming".
In your previous message your "lazy programming" comment was referring not defining the spline is 2D while using linear interpolation for heights. Here you apply your "lazy programming" comment to DJI not providing a 3D visualization of the flight path. While I'm not here to defend DJI, I will not be pulled into your straw man arguments.

I do agree that DJI can do a lot better. I have always referred to their implementation of waypoints as a "proof of concept" only. I do not agree with your idea of combining a 2D spline with linear height interpolation to produce a 3D path. That would produce inferior results.
 
  • Like
Reactions: AZDave and okw
DJI uses a Centripetal Catmull-Rom spline to define the flight path. A Catmull-Rom spline has C1 continuity. If you are not familiar with parametric continuity you can read about it here:


When compared to other types of splines, the Centripetal Catmull-Rom spline provides some features that are well-suited for drone flight paths. If a Catmull-Rom spline was implemented in 2D and altitude transitions were made linear, it would result in a path that has C0 continuity. This means that the 1st derivative at the waypoints would not be continuous and would require infinite acceleration at those points. This would be similar to a straight-line mission where the flight path abruptly changes at the waypoints. Litchi and DJI handle such cases by having the drone stop momentarily at each waypoint. The WPML language used by DJI calls this waypoint mode "toPointAndStopWithDiscontinuityCurvature".

Additionally, if a spline with C0 continuity was used to define a flight path in which video was captured, the resulting video would have abrupt changes at the waypoints rendering the video less than pleasing.

What DJI has implemented is not "lazy programming" with regard to the use of a spline. It is the correct implementation of a Centripetal Catmull-Rom spline applied to waypoints in 3D space. What DJI could do is to provide some stats such as the minimum (and perhaps maximum) heights of the resulting flight path. DJI's implementation of waypoints has always seemed like more of a proof-of-concept where only the most basic waypoint functions are provided. Applications such as DroneLink or Litchi provide more advanced waypoint design features making the creation of waypoint missions much more efficient.
Thank you for your knowledgeable explanation. Yuneec also uses this for their Curved Cable Cam mode of flight. It produces a very cinematic flight path.
 
  • Like
Reactions: AZDave
I might be missing something, but why does this justify dangerously losing altitude? The path of the drone should not drop because it is on a curved trajectory
 
In your previous message your "lazy programming" comment was referring not defining the spline is 2D while using linear interpolation for heights. Here you apply your "lazy programming" comment to DJI not providing a 3D visualization of the flight path. While I'm not here to defend DJI, I will not be pulled into your straw man arguments.

No need to get testy.

I fully acknowledge I used the criticism in two different instances. I meant it in both cases.
 
No need to weasel out of it.

If you make a statement, own it.

I think I did. Is there a chance you're assuming something nefarious when I simply was thinking more than one thing? Have you ever corrected yourself on the forum?

I really don't understand your rudeness and hostility. Is this not a place for friendly conversations in your view?

Could you be making a mistake, and compounding it?

On that note, I'll say I appreciated your contribution to the discussion. That's all I'm trying to do too. Again, I don't understand your hostility.
 
  • Like
Reactions: MARK (LI)
@Squidinc, I'm a little unclear on something... As @DJ Wes showed, the path between waypoints can have a minima between two waypoints lower than the waypoints themselves, but your language here, and in the wetsuit thread you just posted seems to suggest that the altitudes of the waypoints themselves are dropping in altitude.

Is this what you're seeing, or is the drone descending toward the water between waypoints?
 
  • Like
Reactions: DoomMeister
Hi, @Droning on and on...

Apologies If my descriptions were confusing. My understanding of what happened on my short waypoint flight was that the drone descended in flight between the waypoints, when executing a circular path. Unfortunately I don’t have the altitudes that I set, but they were all circa 15 to 20 to 30 meters above the water I was flying over. The attached video shows the altitudes my Air 3 was flying at each point. Including the near disaster!

 
Great job with the video @Squidinc ...what is really noteworthy is that you went from 22.1 meters altitude to -4.3 meters.....that is about an 18 meter drop......if home point were at sea level you would have crashed earlier
👍
 
  • Like
Reactions: Squidinc
Great job with the video @Squidinc ...what is really noteworthy is that you went from 22.1 meters altitude to -4.3 meters.....that is about an 18 meter drop......if home point were at sea level you would have crashed earlier
👍
Definitely @MARK (LI) And naturally you immediately pull up on the sticks to try & reverse what is happening to no avail as it’s a “Waypoint Flight”. I then hit RTH as you saw, with only a second to spare and just saved it. The algorithms spoken about in this thread maybe how they handle turning through differing waypoint altitudes, but I won’t be going near another pre-planned waypoint flight until DJI rectifies this programming.
 
Thanks for the further explanation, @Squidinc 👍🏻

Until this is addressed in some way, there are still missions 😁, so maybe we can find a way to work around it.

For example, if the path faithfully passes through the waypoint altitudes, perhaps we can flatten the bottom of a curve close to the ground with a series of waypoints when it would have descended too low between two waypoints.

I'm going to experiment with this.

Here's a site where you can play with a 4 point Catmull-Rom spline and get a sense for how it will curve.
 
Thanks for the further explanation, @Squidinc 👍🏻

Until this is addressed in some way, there are still missions 😁, so maybe we can find a way to work around it.

For example, if the path faithfully passes through the waypoint altitudes, perhaps we can flatten the bottom of a curve close to the ground with a series of waypoints when it would have descended too low between two waypoints.

I'm going to experiment with this.

Here's a site where you can play with a 4 point Catmull-Rom spline and get a sense for how it will curve.
Thanks once again @Droning on and on... for your knowledgeable input on this. Perhaps you could share this with the appropriate programmer at DJI, as all of the science behind what is happening is way outside my level of expertise. Cheers 👍🏻
 
Lycus Tech Mavic Air 3 Case

DJI Drone Deals

New Threads

Forum statistics

Threads
134,342
Messages
1,593,833
Members
162,922
Latest member
brenthconroy