Quick Start
Minimal Example
Here’s a complete minimal simulation:
import munetauvsim as mn
# Create a leader vehicle with waypoint path
leader = mn.vehicles.Remus100s(groupId="A", isLeader=True)
leader.wpt = mn.guidance.generateRandomPath(num=5)
leader.loadPathFollowing()
leader.loadConstantProp(n_setpt=1200)
# Create follower vehicles
followers = mn.vehicles.buildGroup(num=3, gid="A", hasLeader=False)
for f in followers:
f.loadTargetTracking(leader)
# Create ocean environment
ocean = mn.environment.Ocean.calm_ocean(size=2000, randomFloor=True)
# Create and configure simulation
sim = mn.Simulator(
name="QuickDemo",
N=5000,
ocean=ocean,
vehicles=[leader] + followers
)
# Deploy and run
sim.deployAtWpt(leader)
sim.deploySwarmGrid()
sim.run()
For more complete examples, see the provided scripts in scripts/:
example.py — Quick verification and basic workflow reference
demo.py — Interactive tutorial with detailed explanations
See Example Scripts below for details on running these scripts.
Basic Workflow
The typical simulation workflow consists of:
Vehicle Creation: Instantiate AUV models and configure parameters
Path Planning: Define waypoints or generate paths
Guidance Configuration: Assign control strategies
Environment Setup: Create ocean with currents and bathymetry
Communication Setup: Configure acoustic network
Simulation Creation: Instantiate simulator with time parameters
Vehicle Deployment: Position vehicles at starting locations
Execution: Run simulation and collect data
Analysis: Visualize trajectories and examine results
Running Simulations
User scripts should be placed in the scripts/ directory:
# Navigate to project root
cd munet-auvsim
# Run your simulation script
python scripts/your_simulation.py
Simulations can also be built and run from a Python REPL session.
Output Files
Simulation outputs are saved to:
outputs/{scriptname}/{simname-timestamp}/
Files generated:
{simname-timestamp}.log: Main simulation log{simname-timestamp}_comm.log: Communication log{simname-timestamp}.gif: Animated 3D trajectory{simname-timestamp}.pickle: Saved simulation state
If run from a REPL, REPL is used as the {scriptname}.
Loading Previous Simulations
You can reload saved simulations for additional analysis or re-plotting:
import munetauvsim as mn
# Load saved simulation
sim = mn.load("outputs/demo/Demo-YYMMDD-HHMMSS/Demo-YYMMDD-HHMMSS.pickle")
print(sim)
# Re-plot with different settings
sim.plot3D(numDataPoints=500, FPS=12, showFloor=True)
# Access collected data
auv1_data = sim.simData[0, :, :]
Next Steps
See API Reference for complete documentation
Example Scripts
Two example scripts are provided to help you get started:
example.py — Quick Start Script
A basic script demonstrating how to build a simple simulation scenario:
cd munet-auvsim
python scripts/example.py
This script:
Creates a small swarm group with a leader
Assigns a random path to the leader and followers track leader
Sets up a simple ocean environment and communication network
Runs the simulation and saves the data
This can be used for a quick test to confirm the project is functional or as a reference for understanding the basic workflow.
demo.py — Interactive Tutorial
An interactive demonstration script with detailed explanations:
python scripts/demo.py
This script:
Presents interactive menus for scenario selection
Provides educational context for key concepts
Allows customization of parameters (paths, ocean, vehicles, etc.)
Includes 2 demonstration scenarios, with more coming soon
This is best for learning the framework and exploring features in a hands-on format.
Choose example.py if you want quick results with minimal setup. Choose demo.py
if you want an interactive guided tour with explanations.