Not able to learn 'CRUISE_SPEED' in ArduRover

Hai All,

I am building a boat using the Pixhawk 6C running the ArduRover firmware (V4.2.3). When I tried to tune my Throttle and Steering controller following the instructions on ArduWiki i am not able to learn the ‘CRUISE_SPEED’ after switching to the Learn CRUISE_SPEED mode using my RC channel. I am getting the message which says ‘CRUISE_SPEED LEARNING NOT STARTED’. I tried running my boat for minutes and trying it but I am getting the same message.
Since the pool area where I am testing is small, I am not able to drive the boat straight for more than 30 seconds does that matter here?

If anyone has a solution or has faced similar issues please help.

Thanks

Vehicle must be armed to start cruise learning.

30 seconds might be just long enough, but you need enough room to accelerate and then maintain a constant speed for at least a few seconds.

Thanks for the information @Yuri_Rage

I am Arming the vehicle and driving in MANUAL mode. What should be the value oF PID_MASK when you are trying to learn the CRUISE_SPEED?

Doesn’t matter in the least. That’s just the PID values that get downlinked to the GCS for live tuning info.

1 Like

Ok got it @Yuri_Rage .Should I switch my auxillary switch to high and then low after a few seconds or should I keep it in high position until the learning is done?

But my confusion was initially I was getting the message ‘CRUISE_SPEED learning failed’ and after some time it started showing ‘CRUISE_SPEED learning not started’. I can’t understand what made the difference in displaying those messages.

Thanks,
Naveen

The process should be this:

  • Arm
  • Accelerate to cruise speed (and maintain steady throttle input)
  • Flip assigned aux switch high
  • Await cruise speed learned message
1 Like

Cruise speed is just a ratio of throttle vs velocity.
You can manually set the parameter yourself after driving and noting say 50%throtte and the steady velocity.

1 Like

I will try that. Thanks @Yuri_Rage

@Scott_Nunan from where can i get the steady velocity value ?

Graph the log GPS>Spd

1 Like

Hai All,

I tried the following to learn the CRUISE_SPEED:

  1. Armed the vehicle in MANUAL mode
  2. Increased the throttle to 70%
  3. Flipped my aux switch for cruise learning to high

When I am switching the aux switch to high I am getting the message "Cruise speed learning started’ follwed. by the the message ‘Cruise speed learning failed’. Tried it multiple times by driving the vehicle for minutes but still getting the same messages. Any ideas on why this is happening?

Appreciate your help in advance.

Thanks

Upload a .bin log for further help.

1 Like

Hai All,

Sorry for the late reply. Please find the log file in the link below

Appreciate the help in advance.

Looks like you should set:
CRUISE_SPEED,0.9
CRUISE_THROTTLE,100

1 Like

Thanks for the information.
Can you share how did you calculate the desired CRUISE_SPEED? Is it from the GPS velocity graph?

Also, what was the reason behind CRUISE_LEARNING to fail depsite maneuvering the boat in the forward direction for more than 10 seconds?

Thanks again for the help.
Naveen

CRUISE_LEARNING failed because your throttle was <0%. Your throttle was regularly between -50% and -100% whilst in CRUISE_LEARNING:

It really looks like your throttle is reversed.

2 Likes

I didn’t look at the sections where learning was attempted but only focused on those where throttle out and speed correlated.

If there are issues with motor direction and transmitter calibration, any further analysis is moot, and the vehicle should be reconfigured.

1 Like

@stephendade Thanks for sharing the graph.

Now I think it makes sense , initially when I was doing the CRUISE_LEARNING the SERVOx_FUNCTION parameter was reversed. I only noticed this change when I tried to do waypoint navigation using GPS coordinates in ‘AUTO’ mode when the boat started moving in the reverse direction. I guess this might be the reason why the thottle was recorded as negative. But the RC controls were working fine :grinning:. What do you think?

@Yuri_Rage Makes sense.

Did you get the CRUISE_SPEED information from GPS velocity graph?

I reviewed your log with Mission Planner, comparing GPS.Spd with THR.ThrOut during portions of the log where speed was reasonably steady.

The fact that you are selecting AUTO mode without understanding motor direction means you haven’t followed the setup and tuning instructions at all. Reversing RC throttle vs servo output is a common mistake that can be avoided by reading and following the documentation.

Start here:
First Drive with Rover — Rover documentation (ardupilot.org)

1 Like