Ardusub use for AUV Glider / Single Thruster with control surfaces

Hi @KB1LQD, welcome to the forum! :slight_smile:

This sounds like an awesome project! :smiley:

Yes, ArduSub can run on a Pixhawk 4, although at this stage it requires using the development branch firmware in order to support our depth and leak sensors (see here).

We’re also working hard on providing our own Pixhawk alternative, but until that’s released (it’s currently in validation) the Pixhawk 4 is likely the easiest board to start with.

ArduSub is focused on vectored thrusters for all its control, so while you could control a surface vessel with it using thrusters, control-surface-based control is not something we currently support. At this stage I believe that functionality is handled by the ArduBoat subsection of ArduRover, and is part of the main ArduPilot firmware+forums rather than here.

As far as I understand, yes, that’s still true. That said, our servo outputs have options to be set to rudder/elevator/… so I’ve asked our software team if those just exist as a non-functioning carry-over from ArduPilot, or whether there is some kind of support for control-surface control hidden within the codebase (I’ll get back to you with the response). My expectation is they don’t work, and having just reassigned one of my motor outputs to the Rudder option it didn’t respond with normal control inputs, so it’s at least not something that can just be connected to and work instantly.

It’s not something I’ve looked into, so I’ve asked the software team if they have some sense of what would be required.

Detailed developer documentation is something we’re currently somewhat lacking in, and are working to improve. The main reference for ardusub is ardusub.com (which is currently undergoing a significant overhaul). As I understand it the current best reference for attitude control is from the ArduCopter attitude overview. It may also be helpful to look through the Searching Resources section of the How to Use the Blue Robotics Forums post :slight_smile: