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.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:
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/.
Several m-file models have been utilized to create SIMULINK demos, which are located in the directory /MSS/SIMULINK/mssSimulinkDemos/:
demoAUVdepthHeadingControl.slx
– Simultaneously heading and depth control of the Remus 100 AUV
demoCS2passiveObserverDP.slx
– Passive observer with wave filtering and nonlinear PID control for the CyberShip2 model ship
demoDPThrusterModels.slx
– Supply vessel with azimuth thrusters
demoDSRVdepthControl.slx
– DSRV depth control system
demoKalmanWavefilterAutop.slx
– Kalman-filter based wave filter and heading autopilot for the mariner class cargo ship
demoMarinerPathFollowingCourseControl.slx
– Mariner-class cargo vessel Line-Of-Sight (LOS) path-following control using a course autopilot
demoNavalVesselMano.slx
– Zigzag test for the naval ship Mano
demoNPSAUV.slx
– NPS AUV heading control system
demoOtterUSVHeadingControl.slx
– Otter USV heading control system
demoOtterUSVPathFollowingCourseControl
– Otter USV Line-Of-Sight (LOS) path-following control using a course autopilot
demoOtterUSVPathFollowingHeadingControl
– Otter USV Integral Line-Of-Sight (ILOS) and Adaptive Line-Of-Sight (ALOS) path-following control using a heading autopilot
demoPanamaxContainerShip.slx
– Panama container ship simulator
demoPassiveWavefilterAutopilot1.slx
– Passive wave filter and heading autopilot design using compass measurements only
demoPassiveWavefilterAutopilot2.slx
– Passive wave filter and heading autopilot design using a compass and yaw rate measurements
demoS175WindCurrentAutopilot.slx
– S-175 container ship heading autopilot with wind and current loads
demoSemisubDPsystem.slx
– Semisubmersible DP system
demoWaveElevation.slx
– Computation of wave elevation from wave spectra
demoWaypointGuidance.slx
– Waypoint guidance system
The SIMULINK demos are located under /MSS/SIMULNK/mssSimulinkDemos/. Click on any picture below to view a larger version of the screenshot: