HoloOcean Agents

Agents are the entities that interact with the environment in HoloOcean. They are defined in the scenario configuration file. Agents are equipped with sensors that collect data from the environment. Agents are controlled by passing commands using env.act() or env.step(), which are interpreted by the agent’s control scheme.

import holoocean

scenario = {
   "name": "{Scenario Name}",
   "world": "{world it is associated with}",
   "package_name": "{package it is associated with}",
   "agents":[
      {
         "agent_name": "uav0",
         "agent_type": "{agent types}",
         "location": [1.0, 2.0, 3.0],
         "control_scheme": 0,
         "sensors": [
            { ... }
         ]
   ],
}

env = holoocean.make(scenario_cfg=scenario)

command = [0, 0, 0, 0, ...]

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

HoloOcean provides a variety of agents, each with different capabilities. The three primary agents in HoloOcean representing the three most common water vehicles are the HoveringAUV, SurfaceVessel, and TorpedoAUV. These three agents can perform the majority of navigation and sensing tasks. Other agents representing aerial vehicles and specific real-world vehicles are also available.

For information on developing custom agents in HoloOcean, see Developing Agents.

Using Agents

Documentation on how to use agents in HoloOcean:

HoloOcean Agents

Documentation on specific agents available in HoloOcean. Note that the Test agents don’t apply gravity.

Underwater Agents

Water Surface Agents

Test Agents

Aerial Agents