Throttle Ramps Uncontrolled in Guided mode with velocity control (2 possible bugs)

Hi,

I am running using Ardupilot 3.5.1 on a PX4 to control a boat. I am controlling the boat in guided mode with velocity control.

For the most part everything works. Occasionally however, I have seen the throttle ramp up uncontrollably. Looking through the flash logs I have identified 2 separate issue that appear to be causing the throttle ramp up.

ISSUE 1 - THR.Speed DOES NOT MATCH GPS.Spd
During normal operation, the logs report that THR.Spd is the same as GPS.Spd. However, occasionally, the actual speed (as shown by GPS.Speed) runs wild while the THR.Spd reads a lower value which the throttle control loop successfully locks to.

Log File

Questions:

  1. Has anyone seen this issue happening before ?
  2. What is the connection between GPS.Speed and THR.Speed ?
  3. Is this a bug which needs to be fixed ?

ISSUE 2 - THR.DesSpeed DOES NOT MATCH GUIDED VELOCITY
When this problem occurs, the throttle control loop stays locked to guided GUID.vX, suddenly, the
speed ramps as THR.DesSpeed increases in value while GUID.vX remains constant.

The ramping is most likely do to the acceleration limit we placed on the vehicle. It appears that whatever setpoint is effecting THR.DesSpeed has jumped to an arbitrary high amount and that the boat is attempting to ramp to that level. Note that this appears to be more likely to happen when the boat is traveling in tight (approx 5 meter diameter) circles.

Log File

Question:

  1. Again, anyone seen this before ?
  2. What is the connection between GUID.vX and THR.DesSpeed ?
  3. Is this a bug which needs to be fixed ?

Hi Alan,

I have not seen this but I have only done one project which integrated a companion computer with Rover and that didn’t use the velocity controller.

I think the underlying issue is that our speed controller uses only the forward-back portion of the vehicle’s overall speed. So if the vehicle was moving laterally the speed controller would see a speed of zero. This is important at least in some cases though, because otherwise we can imagine that a boat crossing a river would slow it’s forward progress as the lateral current increased in speed.

What may be happening is that as the vehicle is turning a tight circle, it’s forward back speed is dropping and this is causing the speed controller to dramatically increase the throttle. Maybe we need to modify the speed input so that it takes into account the turn rate of the vehicle. If you have any ideas I’m very open to suggestions otherwise I’ll discuss with our EKF and control experts for ideas.

Sorry to be pedantic but I guess the hardware is a Pixhawk (instead of a “PX4”). I’m just trying to take the opportunity to clear up some terminology. So “ArduPilot” is software, “PX4” is also software (an alternative to ArduPilot) and “Pixhawk” is hardware.