Table of Contents

Self-Tuning Gain Depth Controller for an AUV with a Mass Shifting Mechanism

A self-tuning gain depth controller was developed and implemented in this project. The Light Autonomous Underwater Vehicle (LAUV) was used as the model for developing the controller.

Please kindly clone the following packages to your workspace:


(see the project for more information: Project)

1. Launching the simulation world

On a terminal, type the following command:

ros2 launch uuv_gazebo_worlds ocean_waves.launch




2. Launching the LAUV model to the simulation

Open a new terminal, then type the following command:

ros2 launch lauv_descriptions lauv_upload_default.launch.py








3. Run the surge speed controller

Type the following command in a new terminal:

ros2 run mass_shifter_controller surge_speed_control





By publishing a desired speed, the AUV will be hovering at that surge speed.


4. Run the mass-shifter controller

On a new terminal, type the following command:

ros2 run mass_shifter_controller mass_shifter_control





When the desired depth is published, the AUV will eventually go to the commanded position.