ArduPilot / ArduPilot/MissionPlanner
Possible bug in new feature of 1.3.8 - DO_CHANGE_SPEED gets zero value
- Dominant language
- C#
- Stars
- 2.4k
- Forks
- 2.9k
- Avg merge
- 19h 16m
- Merged PRs (30d)
- 4
Description
I flew Mission Planner version 1.3.8 within a few days of its release. I used one of the new features added in that version - the checkbox called "Use speed for this mission" under the Flying Speed setting in the Simple tab of the Survey (Grid) functionality. I'm running a Pixhawk with firmware version 3.1.5.
My hexacopter took off perfectly normally, ascended to the expected altitude, and the Flight Data screen showed the transition from the take-off to the first waypoint in the mission. The only problem was that the hex simply refused to move laterally in any direction - it simply hung there in the air 100 meters up, and began to drift downwind a bt. I switched to Alt hold, manually landed it, cleared and reconstructed the mission, and took off again, with the same results. I even tried forcing it to the next waypoint from the Actions tab of the Flight Data screen, to no effect, so I landed it manually again.
I noticed that the waypoint list had a DO_CHANGE_SPEED command, which I surmised had come from my checking of the above-mentioned checkbox to use the speed I had set. I deleted this line from the waypoint list, and everything worked normally after that.
I finally got around to analyzing the logs from those two missions tonight, and I noticed a curious thing: line 2, the DO_CHANGE_SPEED command, had both the first and second parameter columns labeled "speed m/s" (see attached):

The value I had set, 10 m/sec, is in the second column, and the value in the first column is zero. I see in the copter documentation for the command list that you are in the process of changing this very command to take the parameter from the second column instead of the first for AC version 3.2. Which column's value is used in this command in AC 3.1.5? Is the autopilot using the zero value from the first column, and simply moving to the next waypoint at zero horizontal speed?
I'm not sure this explanation is correct, though. I just assumed that the DO_CHANGE_SPEED command simply updated the WPNAV_SPEED parameter - if that was the case, I would have expected to find a value of zero for this parameter in the parameters extracted from this log file. No, the value was 500.
Can you explain this behavior? Is this a bug? can I provide any additional info to help you solve this issue?
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reproducing the Survey (Grid) mission in Mission Planner 1.3.8 with “Use speed for this mission” enabled, then inspect the generated DO_CHANGE_SPEED row and the attached log. Compare the command’s parameter columns with ArduCopter 3.1.5 documentation and observed WPNAV_SPEED values. Done means the command’s behavior and source of the zero value are explained and the issue’s compatibility impact is confirmed.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- desktop
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100