Wolfram Computation Meets Knowledge


Use examples from a wide range of application areas to learn about modeling and simulation with System Modeler and the Modelica language.

Hovering Control of a Submarine

Hovering control aids in the maneuverability of underwater vehicles. This example shows how to create a controller that rejects disturbances and improves the stability of a submarine.

To run this example, you'll need

The latest versions of System Modeler and Mathematica.

Please make a selection:

Get a
free trial
with download

Create a Model

Create a model of the submarine and its environment graphically or programmatically.

The submarine adjusts its hovering depth by varying its density. The density varies by adjusting the volume of water stored in the submarine’s ballast tanks.

Check the Response of the Uncontrolled System

Check the response of the uncontrolled submarine to an impulse-like disturbance.

The submarine oscillates around the equilibrium position and settles down in about one minute.

Design a Controller

Design a controller to dampen the oscillations of the submarine by choosing the eigenvalues of the response to be stable and well damped.

The closed-loop poles are placed to stabilize the system.

Connect the Controller

Create a controlled system by automatically connecting the controller to the model in a closed loop.

The submarine system is automatically connected to the controller.

Check the Response of the Controlled System

Check the response of the controlled submarine to the same disturbance.

The controller stabilizes the submarine in about 10 seconds.

Streamlined Creation of Controlled Systems

Hovering control of a submarine using the improved control system functionality.