Speed control at low speeds ardurover/boat

Hi there,

I’m building an autonomous boat (1m length), which is supposed to sail at a fixed speed over ground of 1m/s. Currently I set the cruise throttle (PWM signal) such that in no-current conditions the speed is around 1m/s. However, when the boat is facing wind, waves or current, the speed drops. Since i entered ‘1’ in cruise_speed, I was expecting that the autopilot would increase throttle in order to match the speed to 1m/s. It doesn’t however. The maximum speed of the boat is 3m/s, so there is plenty margin for the boat to increase throttle. Any ideas how to make sure the boat makes sure the speed over ground (measured by 3DR GPS) matches the desired speed also when facing tidal currents?

Many thanks. Thijs

Can you please attach one log file of when the issue occurs and we will have a look.

Thanks, Grant.

I have the same problem when the boat is facing wind or current, the speed can not reach the cruise speed. the throttle regulation may have some error. I am looking at the source code.

i think the calculation of throttle_out has some error.

@gmorph @rmackay9

I face the similar problem. when the boat is facing wind, the speed will drop and can not reach cruise_speed(1.8m/s).

the log is 80mb,and i can not upload.

Hi Ben,

It is most likely a tuning problem. In particular the ATC_SPEED_I or ATC_SPEED_IMAX is too low or perhaps the CRUISE_SPEED and/or CRUISE_THROTTLE parameters are not correctly set.

I really need to see a log to be sure so perhaps put the logs on dropbox (or similar) and provide a link. We need to check the THR dataflash log messages to see what’s happening.

Thanks for your help.

Hi Ben,

Ah, you’re using an AVR/APM board with an old version of the firmware. Any chance you could upgrade to a more modern flight controller? Sorry but we stopped supporting the AVRs a couple of years ago and this old firmware is before I started working on Rover so I’m not familiar enough with it to give advice.

I am using Pixhawk and rover 3.2. Maybe i modified some code which affect the firmware’s display name.
I build the code under Ubuntu with “make px4-v2” command.

Hey Ben,

Ok, great to hear about the flight controller. I think it was probably me who misread the logs actually, sorry about that. We changed how we format the board name some time ago and I got confused.

In any case, it looks like the firmware is based on a pre-release version of Rover-3.2 from April 2017. There were a lot of changes between the pre-release and the final release. We rewrote massive amounts of it actually.

So, can I ask you to upgrade to Rover-3.3? It will make supporting you much easier.

Hi rmackay9,
I can test the Rover3.3 with my boat and want to know which parameter will affect the speed, and what changes have beed done from 3.2 to 3.3 about the speed control.

@rmackay9 There are no eclipse.cproject and eclipse.project files in recent project.


That’s right, one of the developers removed the eclipse project files. My understanding is that they weren’t actually very helpful.

We have high level release notes here and I’ve also updated the speed and throttle tuning wiki page. Perhaps the most important thing to get right is the CRUISE_THROTTLE and CRUISE_SPEED parameters which haven’t changed between the older and newer versions of the firmware.