Files

How To Use

Running the Simulation

Run pip install -r requirements.txt followed by the desired simulation file. Or, if your environment is already set up, just run the python file.

Single Simulation

Run SimulateSingle.py. You must exit the visualization window in order to see the data plots.
Generated files will be saved to sim_results/ in the directory where the python script is run from (likely the root directory of your repository clone).

Multiple Simulations with parameter noise

Set desired parameter noise level in SimulateMultipleWithNoise.py, then run. Noise is applied to electromagnetic characteristics, length, width, sensor position, yoke position, moment of inertia, and mass.
Generated files will be saved to sim_results_multi/.

Modifying the PID control algorithm

Modify controller.py. You will see constants related to heave, pitch, and roll controllers. Will update to include current control and will make simulation much more accurate soon.

Modifying pod parameters

parameters.py provides all necessary mechanical parameters. Yoke and sensor locations are matrices formed by putting together 4 column vectors of the form \begin{bmatrix}x\\y\\z\end{bmatrix} relative to the center of mass.

fmag2() within utils.py deals with the magnetic parameters.