Exceeding speed limits in GPS-supported flight modes

Hello everyone,

I want to fly faster than 20 m/s in GPS supported flight modes. In the parameter list, however, 2000 cm/s is specified as the maximum speed.

I entered higher values (3000 cm/s) and tested them in the loiter. However, the drone could only accelerate to 2000 cm/s.

Is there a way to raise this limit?

Many thanks and greetings

Tom

Try Ardcopter 3.6 beta’s New Loiter. It’s much more responsive and there are several new parameters to configure it.

Hint: Was your pitch angle reported in the log the same for both flights you describe?

Hi,

Thank you very much for the quick response.

The angles are the same and also far below the maximum value (ANGLE_MAX).

The Release Notes do not indicate that the maximum values can be changed in 3.6.

I think it really can only be a problem with the maximum, because it stops accelerating at 2000 cm/s exactly.

Thanks

Tom

Is the angle 2/3 of Angle_max? As it should be for the firmware version you are running.

It certainly can be changed in 3.6 with “New Loiter”. Some details here:
https://discuss.ardupilot.org/t/new-loiter-testing/27031/9

I can’t see any place it is limited in 3.5.7.

I would need a log to work out why this is happening.

Thank you for your help. The log file and a screenshot of the speed are attached. It stopped accelerating at exactly 72 km/h (2000cm/s).

Many greetings

Tom

Are you sure this isn’t Mission Planner limiting the maximum to 2000 when you are changing the parameter? The parameter definition says the valid range is 20-2000 as seen here: https://github.com/ArduPilot/ardupilot/blob/Copter-3.5/libraries/AC_WPNav/AC_WPNav.cpp#L45. Perhaps Mission Planner is changing your 3000 to 2000 upon loading to respect the defined maximum? I honestly don’t remember if MP does that. If you refresh the parameters, see if WPNAV_LOIT_SPEED was set as 2000 instead of 3000 by Mission Planner.

The underlying waypoint nav code does not have a maximum limit. It only constrains a bare minimum of 20cm/s and a maximum of whatever you set it for, as seen here: https://github.com/ArduPilot/ardupilot/blob/Copter-3.5/libraries/AC_WPNav/AC_WPNav.cpp#L146

The agular limit of 2/3 of angle_max unless specified otherwise was not introduced until 3.6 so that doesn’t apply here.

And also, I would really like to see video of this copter goint 60+ MPH.

Yes, I already had the idea that the MP resets the 3000 to 2000. However, this is not the case. I loaded the parameters from the copter the next day and there was still 3000 as maximum.

Ah ha. There is a max comin from the EKF! https://github.com/ArduPilot/ardupilot/blob/Copter-3.5/libraries/AC_WPNav/AC_WPNav.cpp#L242

The EKF has a speed limit that appears to be related to optical flow. If you’re using optical flow, which I’m guessing you’re not at 60mph, it appears EK2_MAX_FLOW is a factor. If not using optical flow, it looks like the hard coded limit would become 400,000cm/s. I’m probably reading something wrong that @Leonardthall would know far better.

I do not use optical flow (FLOW_ENABLE,0). The connection doesn’t seem logical. But I couldn’t find any other ruling either.

Sorry, I don’t see the log file.

Am I missing something?