Why does waypoint speed change mid-mission?

Flying an AUTO mission with waypoint speed set at 8 m/s. This mysteriously drops to 2 m/s partway through. I have not programmed any such command.

Would you mind having a look please? Two logs linked, only difference is I RTL’ed quickly on one flight and a little later on the second, after noticing the speed change.

This is a flamewheel 450 frame, Pixhawk, M8N GPS, otherwise typical parts and setup.

First normal part of mission, blue arrow, 8 m/s. Latter abnormal part of mission, green arrow, 2 m/s. Finally, the RTL returned at 8 m/s.

drive.google.com

2020-05-25 auto circuit, payload place fail, speed change 1.bin

drive.google.com

2020-05-25 auto circuit, payload place fail, speed change 2.bin

drive.google.com

200524 RMS single circuit, land dropoff test.waypoints

I cant view ur files right now but the parameter

DO_CHANGE_SPEED Is consistent in your waypoints right?

https://ardupilot.org/copter/docs/auto-mode.html

why do u have unknown?

They are not unknown they are Spline Waypoints. Update Mission Planner perhaps?

I m confused why his speed changed? It should stay what you define below…right?

Looking at his waypoint file, it appears he flew, then landed and then flew again or he manually changed the values…

Perhaps because it’s also descending from 75 to 20 at 250 cm/s (WPNAN_SPEED_DN) but looking into it further.

I think he changed waypoint speed…Not sure how u you can check that through bin file. I am not a bin file expert.

p.s. I think you should put together a bin file analysis training video. I struggle with this topic all the time.

I often change WP speed during a Mission with a Chan 6 'Tune" option but he doesn’t have that configured. And there is no other radio or GCS input to command a speed change that I see. I think it’s the descent altitude change over the distance between waypoints relative to the NAV speed down setting. Take this to the extreme and have a large altitude change over a relatively short waypoint to waypoint distance, what’s it going to do if the current speed would overtake the waypoint it’s descending to? We can reproduce this in the simulator I think.

A video series on log analysis would be quite the undertaking. And I am still learning some of the variables. I didn’t know until this week what GPA>Delta was telling me until I needed to understand it. Same with the PSC parameters several months ago.

Log analysis training video is long over due. Some videos that are out there are so dated and short that you learn absolutely nothing.

I tired to hire a guy to put such a video and he claimed he knows what he is doing but then he ran away :slight_smile:

I think such training video can cut down help requests by 50% on this forum.

I have seen this behavior in a lot of my past missions that I have run. Whenever the craft is descending or ascending at WPNAV_SPEED_UP or WPNAV_SPEED_DN, the aircraft does not reach the waypoint navigation speed while travelling between waypoints. This is seen as more influential when there is a high gradient between two waypoints or when two waypoints are set very close to each other.

I agree with you. However the confusing part is his first mission flew fine and the the 2nd one not.

Maybe the distances are too close…who knows

Awesome, thank you so much for responding!

The mission had programmed in a landing and payload drop. The descent forward speed on the tail end of the first plateau on the speed graph is expected. That was a sloped descent, nothing to worry about. It’s when it took off again, climbed to 75m, and then resumed the waypoints but at the much reduced speed. This is the second plateau in the speed graph.

I will mention that the servo on RCOUT7, the DO_DIGICAM_CONTROL command, did not actuate the servo. May or may not be related to the speed change.

There is no DO_CHANGE_SPEED command and I don’t have a channel configured for this either. The “unknown” parameter is a head scratcher. What I see in MP is:

I have not used DO_DIGICAM_CONTROL (used DO_SET_SERVO) but perhaps you need a “1” in the on/off configuration column. Or, is 2 seconds enough time to actuate it?

No DO_CHANGE_SPEED commands are in the mission. It’s possible that another command, like DO_DIGICAM_CONTROL is being “misread” by the Pixhawk.

I am reasonably fluent in video editing and screen recording with OBS. I am willing to work on a video with you guys if you are up to it. My .bin analysis skills are basic, so this is where your expertise would come in Asim, Dave, and others. If you could string together the steps you recommend we could take a whack at it.

No offense but video editing is really easy. We need like 10 people collaboration to make this happen.

Its desperately needed. About 5 support request come in each day asking to analyze their logs just under Ardu copter.

God knows how many more come under different categories.

Yes sir, spot on! The speed at blue arrow is 8 m/s, the green arrow is the as yet to be explained 2 m/s, and the yellow arrow is the sloped descent, limited by WPNAV_SPEED_DN of 2.5 m/s. Thank you for confirming!

Well, I’m willing to help for what it’s worth. I’m an educator by trade as well, so I enjoy that kind of thing.

Appreciate your offer. Not sure what to do any more.

This is the problem with open source. You can’t even hire people do the work :slight_smile:

It’s an interesting thought, and I will certainly try it, but I’ve flown this configuration before with no values in the DO_DIGICAM_CONTROL ROW, and 2 seconds duration. The servo didn’t move at all. I’m less concerned about this because using DO_SET_SERVO is a backup plan. I’m just familiar with the convenient DO_DIGICAM_CONTROL input fields. But I’m flexible.