Mission Planner Rover model skid steer vs differential steer?

I’m planning a surface boat cat-hull powered by mechanical configuration consisting of either two or four T200 thrusters with azimuth mounts similar to those described in the revealing thread: Azimuth mount for the T100 / T200 series

The simplest configuration would just use two T200s steered in differential mode. However, my boat needs to operate in a hover mode to maintain position, so I think four azimuth-controlled T200s (along w/ serovs to control direction) would produce much better results by utilizing full forward / reverse speeds aimed in a 0 - 180 degree direction. That way I could operate on long courses with all thrusters in zero to full speed forward speed mode, but with steering accomplished by the servos. This would be sort of like the control of a conventional multi-engine outboard, except that in my case the locations of the thrusters would be towards the bow and stern of each cat-hull.

Alternatively, in position-hold mode, the thrusters could be directed at the diagonal quadrants of the boat, with smal forward and aft speeds used to maintain position, largely to counteract currents or wind drag.

I’d like this craft to be controlled either via standard RC control or by an autopilot/computer pair, likely a Rasp. Pi3 and Pixhawk using ArduPilot Rover egBoat) / Mission Planner / MaxProxy / Mavlink and some python scripts. The radio control setup is pretty straightforward I think using most programmable eight channel+ RC radios (ef Taranis X9D or Futaba 14SG). The problem is with the ArduPilot Rover Boat model which only provides an either/or choice of differential skid steering, or fairly conventional speed on 1 channel, direction on 2nd channel control models. The problem is, I’, looking to do a multi-channel hybrid of both control models. Maybe the Ardusub / copter models would work if there’s a way to disable the 3D control.

Anyhow, looking for recommendations. Not sure how to categorize this thread, so throwing it into the General Discussion bin…


Hi @hsharpe,
This sounds like an excellent project! Azimuth thrusters located in the bow and stern of a boat is very common for vessels that need absolute positioning control. I’ve seen these drives on offshore work vessels and oil rigs.

As for actually getting control with the Ardupilot firmware, you will have to do some modifications and some code writing to do what you want. ArduSub only supports fixed thrusters at this time and you need to chose between conventional or skid steer for ArduRover. A mix of both steering modes isn’t possible at the moment, and not for 4 thrusters.

As for recommendations, you can try doing R&D with ArduSub with 4 thrusters in a fixed vectored configuration. Just note that positioning flight modes are still in development with ArduSub: GPS Positioning · GitBook

Hi, I’m doing something very similar! I’ve actually already got some motors, speed controllers and 360 degree mounts to vector the thrust. My application is a little different but I am also trying to integrate with some kind of controller. Pixhawk at present but that is only really because that’s the only one I have used before. I realise it is not really designed for this! How have you got on with this project since the above?

I’ve got pixhawk, Pi3, ardurover (w/ a boat frame), a futaba RC radio (SG14) and mission planner up and running together to implement very basic boat missions whose waypoints can be set up via mission planner in a map of the area. These missions can run from the autopilot, or the RC control can interrupt the autopilot to run the platform manually, then, after flipping a switch on the RC control, rescind control back to the autopilot. I see telemetered data from the boat displayed in Mission Planner. The control model is still rudimentary (a single servo output for steering, and another for throttle), but I’m pretty sure I can add a more appropriate model for vectored thrusters by following this link: Adding a new airframe model although this will require building a new pixhawk image.

While running the mission, I can also programmatically interact with the autopilot (for example, to conditionally revise the mission based on some event or sensor data) using a python script running on the boat-based, pixhawk-connected Raspberry Pi3. I figured out ow to do this by watching this series of videos:
Connect Pixhawk to Pi

At the moment, this is whole setup not fully functional. The ‘boat’ (actually, for now, just a breadboard of pixhawk, Pi3, radios, batteries, voltage regulators, servos, gps/compass modules, etc. is still tethered by USB to the laptop running Mission Planner. Obviously I have not bothered to try to tune servo PIDs, but the steering and speed output to servos seems to be within expectations – if I walk around my (small, temporaily land-based) course w/ the whole contraption and point off-course, the steering tries to correct, etc. Obviously the next step, one I hoped would be simple (not!) is to cut the USN cord, and replace it w/ a telemetry radio link. I’ve tried and tried w/o success to replace the USB cable w/ a pair of RFD900+ radios. Mission Planner just doesn’t seem to recognize them although the two radios work ‘out of the box’ to send data between two laptops. I’ve tried both Pixhawk telem1, and 2 ports and all imaginable permutations of Tx/Rx. RTS, DTS wiring connections and software config within Mission planner. Based on online chatter, many others have faced the same challenge also w/o finding a solution. Grr.

Currently backtracking to eliminate Pixhawk and Pi3 by trying a BeagleBoard Blue that could run the ardu-rover code instead of the pixhawk (again, eventually w/ modified air-frame configuration and mixer to accommodate vectored thrust steering model).

Thanks for the detailed reply and sorry for the delay.
I’ve ended up moving away from the vectored thrust idea due to problems with sourcing the drives themselves. I got hold of 2 but one was faulty and the supplier is not managing to get hold of another for me. So now I’m using 4 x T100 thrusters arranged like the subs and using the sub software to steer it…well that’s the idea, still work in progress!
I’d be interested to hear an update when you have one. It sounds like an interesting project.