Agent Configuration
HoloOcean agents are declared in a list in the scenario dictionary. Each agent is defined using a new dictionary in the list.
Note
The first agent in the agents
array is the “main agent”.
"agents":[
{
"agent_name": "uav0",
"agent_type": "{agent types}",
"sensors": [
"array of sensor objects"
],
"location": [1.0, 2.0, 3.0],
"rotation": [1.0, 2.0, 3.0],
"location_randomization": [1, 2, 3],
"rotation_randomization": [10, 10, 10],
"control_scheme": "{control scheme type}",
},
{
"agent_name": "uav1",
...
}
]
Below is a description of the keys in the agent dictionary:
Agent Name
agent_name
is a string that specifies the name of the agent. This name is used to identify the
agent when interacting with the environment.
Agent Type
agent_type
is a string that specifies the type of agent. This table gives the current valid
arguments for agent_type
:
Agent Type |
String in agent_type |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Details on each agent can be found at the individual agent pages in HoloOcean Agents. This list will be updated as more agents are added to HoloOcean.
Sensors
sensors
is an array of sensor objects that are attached to the agent. Each sensor is defined
using a new dictionary in the list. For details on configuring and using sensors, see
Sensor Configuration.
Location and Rotation
These keys define the location and orientation of the agent in the world, measured in meters and
degrees respectively. The location is in the format [dx, dy, dz]
and the rotation is
[roll, pitch, yaw]
, rotated about XYZ fixed axes, ie R_z R_y R_x.
Note
Location uses HoloOcean world coordinates, not Unreal Engine level coordinates!
HoloOcean coordinates are right handed in meters.
See Units and Coordinates in HoloOcean for details.
Location Randomization
location_randomization
and rotation_randomization
are optional. If provided, the agent’s
start location and/or rotation will vary by a random amount sampled uniformly from the specified
range. Ranndomization in each direction is sampled independently.
The location randomization value is measured in meters, in the format [dx, dy, dz]
. The rotation
randomization is in the format [roll, pitch, yaw]
, rotated about the XYZ fixed axes (i.e.
R_z*R_y*R_x).
Control Scheme
control_scheme
is a string that specifies the control scheme (represented as an integer) used
by the agent.
Control schemes determine how commands sent to the agent are interpreted. Most agents have a control scheme that exposes their thrusters, fins, and so forth to direct commands. Other control schemes implement convenient features, such as position PID controllers. A Custom Dynamics control scheme is available for users to fine-tune the motion of the vehicle.
For more details on control schemes, see Control Schemes.