Active braking has been available in the ArudRover2 firmware since early 2014 (v2.46b).
Tridge and I developed it to improve the capabilities of the navigation controller to meet the SPEED_TURN_GAIN requested cornering speeds as passively reducing the throttle input and increasing the SPEED_TURN_DIST values when approaching a turn was still leading to turn overshoot and rollover at increasingly higher cruise speeds.
I use the following values for braking:
The braking function will assist the navigation controller in meeting the values of the following two parameters when entering a turn.
Also, the following two parameters affect how fast the rover will take a turn:
The SPEED_TURN_GAIN parameter sets the speed in a turn that is a percentage of the CRUISE_SPEED parameter.
The higher the CRUISE_SPEED the lower the value of the SPEED_TURN_GAIN parameter, in relation to your rover's cornering ability, and the higher the value of the SPEED_TURN_DIST parameter which is the distance from the beginning of the turn that the navigation controller will start slowing to meet the SPEED_TURN_GAIN requested speed.
Tweaking the CRUISE_SPEED upwards without adjusting the SPEED_TURN_GAIN downward is asking for trouble if you are approaching the rover's limit in being able to negotiate a turn without overshoot or rollover.
Judiciously applying these parameters in relation to the capabilities of your rover to negotiate a turn will keep it from overshooting the turn or rolling over.
During the 2014 Sparkfun AVC my Traxxas 4WD Slash rover was able to enter the 90 degree left turns at 10m/s and complete the turns at 5m/s without overshoot or rollover.
Had I been in your position, and I have been many times, I would have gone to the Manual Mode and applied full reverse throttle to save the rover.
The "throttle nudge" is from the plane code which doesn't have a need for reverse. Your talking about being in AUTO mode with a cruise speed set but then being able to push the throttle on the transmitter past that point and the rover will increase in speed right?
If you pulled back on the throttle stick and the rover increased in speed then that's an issue. Could you send the dataflash log (.bin) downloaded from your autopilot?
Turns out that my sd card had been ejected from the pixhawk. Luckily, the sd was not lost. It was 2/3 of the way out of the pixhawk. I pulled it out and copied all logs to my desktop. 368mb in under 10 seconds? I'll be dumping logs this way from now on.
Here's a log showing the "nudge" issue.
Already reported in Feb last year - https://github.com/diydrones/ardupilot/issues/840
Thanks for pointing that issue out Mike.
I have replicated the issue in SITL. I'll have a fix in master shortly.
Great to hear, thanks Grant.
Once straightened out, it'll give me a little more confidence when approaching obstacles. This past week I've been overly cautious, switching to manual 5-8 meters early to avoid incident, though I did run under the bleachers again yesterday. Oops! Thankfully no damage this time.
My personal approach is to flick a switch and go into HOLD mode rather then MANUAL.
I'll let everyone know when the code has been updated.
No - it won't apply the breaks - yet :-)