PX4 Amphibious Drone / Aerial-Underwater Vehicle Architecture Guidance

Hi everyone,

I am currently working on an amphibious drone project using PX4 + Gazebo Harmonic.

I have completed the aerial simulation for my custom frame, and now I am working on underwater simulation.

My vehicle has:

  • Separate aerial motors for flight

  • Separate underwater thrusters

  • Shared control surfaces for both air and water

I also modified the Gazebo air pressure sensor plugin so that:

  • In air → normal atmospheric pressure

  • Underwater → hydrostatic pressure based on depth

My main doubts are:

  1. How can i change PX4 airframe for a vehicle operating both in air and underwater since it has both thruster and motor?

  2. How and Where should I implement the logic to:

    • Stop aerial motors underwater

    • Enable thrusters underwater

    • Disable thrusters in air

  3. PX4 already has uuv_pos_control and uuv_att_control.
    How to use above modules for my purpose?

Any suggestions or references related to amphibious / aerial-underwater vehicles in PX4 would be very helpful.

Thanks.

Hi again,
Is there any help can i get for above?
Thanks in advance.

Hallo,
Looks like you are trying to build a Tailsitter amphibious vehicle. Here is an approach you could try and refine further

  1. Create a custom airframe with all the trusters included in the controls and add a simulated sensor to flag when the vehicle enters water. once this flag is raised you can switch to thrusters.
  2. You would have to implement a new control algorithm combining the Tailsitter controls and also the underwater vehicle control system. A tailsitter underwater behaves closer to an underwater glider and and the kinematics can be defined by the same, so you should write a controller for that. PX4 support only multirotor underwater vehicle now. Since you have underwater thruster in the Z axis you can also use them for maneuvering.
  3. uuv_pos_control and uuv_att_control cannot be useed directly for your frame, the vehicle systems is different, you would have to modify the motor mixer to the tailsitter configuration from a multirotor configuration.