Marine Systems Simulator (MSS)
Home Recognitions Patents Appointments
How to Install MSS for Matlab? · How to install MSS for GNU Octave?

The Marine Systems Simulator (MSS) is a Matlab and Simulink library for marine systems control design. The m-files are compatible with the free software GNU Octave. MSS includes models for ships, underwater vehicles, uncrewed surface vehicles, and floating structures. The library also contains guidance, navigation, and control (GNC) methods for time-domain simulation. The software can be downloaded from:

GitHub Repository: https://github.com/cybergalactic/MSS

Hydrodynamic modelling and the GNC algorithms are described in:

T. I. Fossen (2021). Handbook of Marine Craft Hydrodynamics and Motion Control, 2nd Edition, John Wiley & Sons, Chichester, UK.

For a list of commands and their description, see the MSS Quick Reference.

Marine Craft M-FILE Models

The marine craft M-file models, located under /MSS/VESSELS/models/, can be simulated using the corresponding user-editable scripts, which start with SIM and are located in the /MSS/VESSELS/ directory:

  • SIMclarke83
    SIMclarke.m
    clarke83.m
    Linear surge–sway–yaw maneuvering model parametrized using the main dimensions (L,B,T) derived from regression of model tests
  • SIMcontainer
    SIMcontainer.m
    Lcontainer.m
    container.m
    Linearized and nonlinear surge–sway–roll–yaw model of a 175-meter high-speed container ship
  • SIMdsrv
    SIMdsrv.m
    DSRV.m
    Linear heave–pitch vertical-plane model of 5-meter Deep Submergence Rescue Vehicle (DSRV)
  • SIMfrigate
    SIMfrigate.m
    frigate.m
    Nonlinear yaw model of a 100-meter frigate
  • SIMmariner
    SIMmariner.m
    mariner.m
    Nonlinear surge–sway–yaw maneuvering model of a 160-meter Mariner-class cargo vessel
  • SIMnavalvessel
    SIMnavalvessel.m
    navalvessel.m
    Nonlinear surge–sway–roll–yaw maneuvering model of a 51.3-meter multipurpose naval vessel
  • SIMnpsauv
    SIMnpsauv.m
    npsauv.m
    Nonlinear surge–sway–heave–roll–pitch–yaw model of the 5.3-meter Naval Postgraduate School Autonomous Underwater Vehicle (AUV)
  • SIMosv
    SIMosv.m
    osv.m
    Nonlinear surge–sway–heave–roll–pitch–yaw model of a 83-meter Offshore Supply Vessel (OSV)
  • SIMotter
    SIMotter.m
    otter.m
    Nonlinear surge–sway–heave–roll–pitch–yaw model of the 2-meter Maritime Robotics OTTER Uncrewed Surface Vehicle (USV)
  • SIMremus100
    SIMremus100.m
    remus100.m
    Nonlinear surge–sway–heave–roll–pitch–yaw model of the 1.9-meter REMUS 100 Autonomous Underwater Vehicle (AUV)
  • SIMrig
    SIMrig.m
    rig.m
    Linear surge–sway–heave–roll–pitch–yaw low-speed model of 84.6-meter semisubmersible
  • SIMsupply
    SIMsupply.m
    supply.m
    Linear surge–sway–yaw DP model of a 76.2-meter supply vessel
  • SIMtanker
    SIMtanker.m
    tanker.m
    Nonlinear surge–sway–yaw course-unstable maneuvering model of a 304-meter tanker
  • SIMzeefakkel
    SIMzeefakkel.m
    zeefakkel.m
    Nonlinear yaw model of a 45-meter recreational craft

Inertial Navigation Systems (INS) M-FILE Library

The INS library, located in the directory /MSS/INS/, contains user-editable scripts that start with SIM for time-domain simulation of strapdown INS. The INS is implemented using the unit quaternion and the Euler-angle representation of the Error-State Kalman Filter (ESKF) as described in Fossen (2021, Ch. 14.4). For the unit quaternion representation, the error states are represented by the Gibbs vector in a Multiplicative Extended Kalman Filter (MEKF). The SIM scripts call the INS functions located in the directory /MSS/INS/functions/.

  • SIMaidedINSeuler
    SIMaidedINSeuler.m
    ins_ahrs.m
    ESKF aided by position and optional velocity measurements utilizing an Attitude Heading Reference System (AHRS)
    ins_euler.m
    ESKF aided by position, optional velocity, and magnetometer measurements
  • SIMaidedINSquat
    SIMaidedINSquat.m
    ins_mekf.m
    ESKF/MEKF aided by position, optional velocity, and magnetometer measurements
    ins_mekf_ins.m
    ESKF/MEKF aided by position, optional velocity, and compass measurements
  • SIMquatObserver
    SIMquatObserver.m
    quatObserver.m
    Nonlinear quaternion-based attitude observer for 9-DOF IMU measurements. The magnetometer can operate at a slower rate (typically 100 Hz) compared to the high-rate specific force and ARS measurements (typically 1000 Hz).
 

SIMULINK Demos

Several m-file models have been utilized to create SIMULINK demos, which are located in the directory /MSS/SIMULINK/mssSimulinkDemos/:

The SIMULINK demos are located under /MSS/SIMULNK/mssSimulinkDemos/. Click on any picture below to view a larger version of the screenshot:

demoOtterUSVPathFollowingHeadingControl
demoOtterUSVPathFollowingHeadingControl.slx
demoAUVdepthHeadingControl
demoAUVdepthHeadingControl.slx
demoSemisubDPsystem
demoSemisubDPsystem.slx
Copyright © Thor I. Fossen
Last updated: 15 September 2024