BiguaSim Agents

Agents are the active entities in BiguaSim that interact with the environment. Defined via scenario configuration files, each agent is a robotic platform equipped with specialized sensors and physics-based dynamics.

Control is achieved by passing command arrays through the env.step() method, which are then processed by the agent’s internal Control Scheme.

Basic Implementation

To initialize a scenario with an agent, use the following configuration structure:

import biguasim

scenario = {
   "name": "Harbor-Mission",
   "world": "Pier-Harbor",
   "package_name": "SkyDive",
   "agents":[
      {
         "agent_name": "uav0",
         "agent_type": "DjiMatrice",
         "location": [0, 0, 10.0],
         "control_scheme": 0,
         "sensors": [
            { "sensor_type": "RGBCamera", "socket": "CameraSocket" }
         ]
      }
   ],
}

env = biguasim.make(scenario_cfg=scenario)

# Example command for a simple thruster/motor setup
command = [0, 0, 0]

for _ in range(100):
   env.step(command)

Core Fleet

BiguaSim provides a diverse library of vehicles. The three primary agents, representing the most common maritime domains, are:

  • BlueROV2: A high-fidelity Remotely Operated Vehicle for underwater inspection.

  • BlueBoat: A surface vessel (USV) designed for coastal surveying and logistics.

  • TorpedoAUV: An autonomous underwater vehicle optimized for long-range surveys.

Beyond these, aerial vehicles like the DJI Matrice allow for complex multi-domain missions (Air-to-Sea).

Technical Documentation

Available Agents Library

Explore the specific capabilities, thruster configurations, and sensor mounting points for each agent.

Note

Test Agents (Turtle and Sphere) are simplified entities used for algorithm validation and do not apply gravity or complex fluid dynamics.

Underwater Agents (AUVs/ROVs)

Water Surface Agents (USVs)

Aerial Agents (UAVs)

Custom Development

For information on integrating custom meshes or developing new vehicle dynamics in BiguaSim, see Developing Agents.