Rover-3.5 will include basic support for “Omni” boats (and cars) that can move laterally using 4 thrusters as shown in the diagram above. It’s “basic” because for now, the ability to move laterally is only supported in Manual mode. Auto, RTL, etc will work but the vehicle will turn to get back onto the line towards the next waypoint instead of moving laterally to get back on the line.
The code hasn’t been tested yet because neither the main developer AmmarF nor I has a boat like this. So if anybody does we would greatly appreciate help in testing. The setup is like this:
load the “latest” ArduPilot Rover firmware onto the flight controller. If using the Mission Planner on a pixhawk go to the Install Firmware screen and press Ctrl-Q. The label under the Rover icon should change to “ArduRover V3.5.0-dev”. Click on the icon to install this firmware.
connect the thrusters to the flight controller’s main outputs using the mapping shown in the pic above
set the SERVO1_FUNCTION to motor1, SERVO2_FUNCTION to motor2, SERVO3_FUNCTION to motor3, SERVO4_FUNCTION to motor4.
set the FRAME_TYPE to “2” for OmniX, “3” for OmniPlus.
You should find that the yaw stick allows moving the vehicle laterally in Manual mode.
Thanks in advance to any one who can help us test this new frame type!
I have two spare thrusters that I could probably adapt and install on my Catamaran for testing. The pain in the butt part is wiring up the ESC’s though.
I am short a motor ATM, but will have it sorted for the weekend, I will give both x & + a go hopefully by then.
I have a dev boat/board that can easily mount different setups on.
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.
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.
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.
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.
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”.