Support for Omni Boats coming in Rover-3.5

Hello all

I have tested the X frame config, I can get forward/reverse and lateral left/right working but not correct yaw. It seems that I have to reverse motor 2 & 4 so yaw works then it makes the other directions not work.

I have spent a lot of time double checking my setup and I’m fairly confident
that it is a code issue.

I will test the + config tomorrow and see how it goes.


Back again.

Tested + frame today, all worked well. Very well in fact, tested loiter mode worked fine, maybe better than a skid steer as it can correct the yaw orientation very quickly and independently of the propulsion motors.

Also ran a small 5 waypoint auto mission, after some quick tuning, the boat ran happily around the waypoints at 1m/s. As it can turn very tight having the bow thruster, no weaving and stuck in line with waypoints well. With more tuning could be even better. All depends on use case I guess.

Lateral movement was ok, I did need to input a little yaw to keep it straight.
Mainly due to propulsion thruster drag at the rear. What would really help that is a “stablized” mode that holds the last yaw angle that the driver stops at, this would make it “stickier” ( lack of a better discription) to drive. Similar to copter or ardusub versions.

I did shot a rough vid, I will try to post soon, I haven’t really done one yet.




Great, thanks for trying this out! I’m really looking forward to seeing the video.

I suspect @Ammarf will have a peek at the OmniX code to see if he can spot the issue.

Re the “stabilized” mode… I think Acro mode would probably be want you’re looking for but that won’t work yet. We’re planning to extend the lateral control to all the modes eventually.

Here is the video as promised.

It is a bit dodgy as i was driving and filming at the same time.

It does give a rough idea of the capabilities of what the frame type can do.


Great to see the video, thanks!


Thanks for the feedback and the video, looks great!
I will take a look at the OmniX code, I suspect it’s just a matter of the steering factors being switched so it shouldn’t be difficult to fix.

Thanks again.

Glad I can help, I did go go over my setup on the X Frame a lot to make sure it wasn’t a problem on my end.

I don’t want to waste the time of both of you for my mistake if possible.

I look forward to the amended code if that turns out to be the problem.

Very nimble platform for sure.

Hi Guys

I may have found the problem for the X frame, this motor layout was on Github

And this motor layout above.


I think Ammarf was thinking that i might be something with the motor assignment.

I hope this helps.


OK thanks. I certainly hope we use the motor numbering from the bottom pair of pictures. The top set looks like the number are borrowed from the multicopter plus and X frames which suffers from having been set in stone about 6 years ago when someone had the crazy idea that that was a better order.

Hi Erl,

Sorry for the delay, I just posted a PR that I think should fix the problem.

The fix is in “master” (aka “latest”) so it should be possible to load the firmware by going to the MP’s install firmware screen and pressing “Ctrl-Q”. The label under the car icon should change to something like Rover-3.5-dev. I think other GCS (like QGroundControl) will also allow loading “latest”.

Hi guys

Yep I will download tonight and give it a try on the weekend.

Just to be clear the motor out put is set to the latest diagram?

Hi just tested the X frame Omni Boat

All worked well in the steering/mixing (see vid)

Loiter didn’t work for some reason and auto didn’t seem to play the game, I will give it another go tomorrow in a different location.

One thing I noticed is that you defiantly get more roll angle in the X frame config when moving laterally.


Great, thanks for trying this out.

I guess this was Manual mode? I wonder if you could try Acro?

Hi Randy

Yes the previous videos are in manual mode, I had a quick go of Acro mode the afternoon(see vid).

There is defiantly oscillations going forward and turning.

The PID settings were left over from the + frame config auto mission which worked quite well for that setup.

I assume with some tuning this could be sorted out.

Would this explain why loiter wouldn’t work at all?



Great, thanks for that. Yes, it looks like the ATC_STR_RAT_** parameters are set too high… but basically ACRO seems to work.

Loiter and Auto should both work but they don’t yet take advantage of the lateral motors. If you have a log I can take a peek…

No worries Randy!

I will try tuning first and then try loiter again, interesting the different tuning needs of the frame types on the same board/setup.

My eventual goal with this is to have a mode like this :- (in Stabilize Mode the BlueROV2 will stabilize roll to level and it will maintain heading when not commanded to turn.) I do have a video of that I will post when i find it.

Obviously without the roll part, I had it working well on the same platform with Ardusub and it makes driving laterally much easier for what I’m trying to achieve. I see Ammarf is working on a mode that does hold heading but it seems that it might operate differently to Ardusub stabilized.

And my overall goal is to be able run an Auto mission and input a do_set_Yaw command or alike to maintain a heading angle and move laterally if needed.

I have to say Rover has progressed along amazingly well in the last 6 months, I’m still new to this and it all changes so fast !!!

1 Like


Cool, thanks! I’ve created an issue for the do-set-yaw (or maybe it’s do-conditional-yaw) command so we don’t forget.

Hi,I have test the frames in mannual mode, but how to realize the auto or guide modes? The L1 control is not perfect methods foe omni cars to navigate. So Do you have some methods or suggestions? Thankyou!