OceanSim

OceanSim

OceanSim is a research-oriented underwater robotics simulation environment built on Godot. It provides a controllable AUV runtime, configurable marine scenarios, onboard sensor simulation, an external TCP control protocol, and a Python SDK for automated experiments, mapping, dataset export, and replay.

The documentation is organized as a tool manual: start with installation and workflows, then use the API reference for protocol messages, Python clients, AUV control, sensor payloads, mapping utilities, and dataset tools.

Features

Area

Capabilities

Simulation runtime

Godot 4.5 project, AUV body, water physics, ocean current, terrain, static obstacles, dynamic agents, and simulator UI.

External control

Line-delimited JSON TCP protocol with request IDs, structured response envelopes, state polling, stepping, simulation control, and batch requests.

Sensors

Depth, IMU, DVL, camera, RGB-D dense point cloud, 2D/3D lidar, imaging sonar, multibeam sonar, and side-scan sonar payloads.

Python SDK

Connection management, AUV wrapper, coordinate conversion, sensor schema validation, point-cloud conversion, mapping, recording, replay, and robotics exports.

Documentation map

Page

Purpose

Installation

Prepare Godot, install the Python SDK, and run the first TCP connection check.

Using OceanSim

Understand runtime concepts, coordinate frames, LLM/MPC navigation, RL step loops, and dataset capture workflows.

TCP Protocol

Detailed request envelopes, response envelopes, actions, payloads, errors, and batch semantics.

OceanSim Client

Low-level Python TCP client, exceptions, connection lifecycle, and request helpers.

AUV Interface

High-level AUV state, force control, sensors, maps, agents, navigation overlays, and Gym-style step API.

Sensor Schema

Professional sensor payload envelope, validation helpers, required fields, and payload families.

Dataset Tools

Recording, replay, camera image export, robotics export sidecars, MCAP-ready metadata, and mesh reconstruction.