Driving backwards with a boat (Rover) in Manual mode

We have built a boat with two motors configured in differential mode. When using the boat in manual mode we should have the possibility to drive backwards. Up to now the motors are stopped at the minimum throttle position (I think this has been configured by calibrating the ESC’s). If we turn the boat with throttle = 0, one motor goes forward and the other goes backward. The ESC’s are therefore correctly configured to operate the engines in both directions.

What is the most elegant way to solve this problem?

Many thanks and best regards

We have found an elegant way to solve the problem: Setting RC3_TRIM to 1500 us allows to change the direction of the motors and driving backwards in manual mode. Don’t forget to move the throttle stick in the middle position before arming :smirk:.

Best regards

1 Like

This worked for me, thanks!

Are you building a boat? :face_with_monocle::yum:

Hi @junwoo0914, I am building a car! Can confirm that this approach works with other vehicles besides boats. Thinking about it, this makes sense as its all just motor control with ESC right?!

Perhaps this clarifies things to others landing here too…

Yes, Boats and Rovers essentially have same conceptual design (reversible motors & steering).

On the side note, the solution presented here is probably coming from the fact that in QGC there’s a hotfix that has always resetted the throttle channel’s TRIM value (e.g. commonly RC3_TRIM) to the minimum value (e.g. 1002), and not the mid-range value (1500).

This is further explained in this comment:

Therefore the fix to revert the hotfix would be needed: Hotfix for sprung-loaded throttles and RC calibration: Enforce correc… · mavlink/qgroundcontrol@0577af2 · GitHub. For that the fix PR has been sitting a bit here:

Thanks for the report and posting how you solved it!

Setting RC3_TRIM to 1500 us

In newer versions of PX4 I do this automatically:

It’s working around the “hotfix”/hack in QGC which @junwoo0914 mentioned and we need to get rid of.

Related to that I just recently found that QGC has an extra case for vehicles like rovers and boats where it just changes the range of joystick values:

This is disturbing in my eyes since the ground station should not need to know how it has to scale the joystick before being sent to the autopilot depending on vehicle details. It should rather send clearly defined joystick input and the autopilot which has the context of vehicle, mode, configuration can then interpret it the right way.

The problem is the seamless transition away from such mistakes from the past.

Hi MaEtUgR, I’m encounting the same question as described above.
I noticed that in the firmare v1.14.0, rc3_trim is already defined 1500 PARAM_DEFINE_FLOAT(RC3_TRIM, 1500);
But with this version I still cannot drive the motor reversely with the RC stick. Do I also need to set the parameter in QGC UI?
Thanks a lot.

Does your RC transmitter by any chance have reversed throttle channel?

This PR recently fixed this exact problem occuring for reversed channel transmitters, and to try this out you can upload the latest main branch firmware in QGC and try it out again.

Could you be able to do that?

hi junwoo
I find that the RC_TRIM parameter in PX4 code is 1500
However in QGC this parameter was set to 1002 after RC calib.
I chaged it back in QGC and it works well now.

1 Like