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 |
|---|---|
Prepare Godot, install the Python SDK, and run the first TCP connection check. |
|
Understand runtime concepts, coordinate frames, LLM/MPC navigation, RL step loops, and dataset capture workflows. |
|
Detailed request envelopes, response envelopes, actions, payloads, errors, and batch semantics. |
|
Low-level Python TCP client, exceptions, connection lifecycle, and request helpers. |
|
High-level AUV state, force control, sensors, maps, agents, navigation overlays, and Gym-style step API. |
|
Professional sensor payload envelope, validation helpers, required fields, and payload families. |
|
Recording, replay, camera image export, robotics export sidecars, MCAP-ready metadata, and mesh reconstruction. |
User Guide