Agents

For a higher level description of the agents, see BiguaSim Agents.

Definitions for different agents that can be controlled from BiguaSim

Classes:

AgentDefinition(agent_name, agent_type[, ...])

Represents information needed to initialize agent.

AgentFactory()

Creates an agent object

BiguaSimAgent(client[, name])

A learning agent in BiguaSim

BlueBoat(client[, name])

BlueROV2(client[, name])

BlueROVHeavy(client[, name])

DjiMatrice(client[, name])

TorpedoAUV(client[, name])

class biguasim.agents.AgentDefinition(agent_name, agent_type, sensors=None, starting_loc=(0, 0, 0), starting_rot=(0, 0, 0), existing=False, is_main_agent=False)

Represents information needed to initialize agent.

Parameters:
  • agent_name (str) – The name of the agent to control.

  • agent_type (str or type) – The type of BiguaSimAgent to control, string or class reference.

  • sensors (SensorDefinition or class type (if no duplicate sensors)) – A list of BiguaSimSensors to read from this agent.

  • starting_loc (list of float) – Starting [x, y, z] location for agent (see Coordinate System)

  • starting_rot (list of float) – Starting [roll, pitch, yaw] rotation for agent (see Rotations)

  • existing (bool) – If the agent exists in the world or not (deprecated)

class biguasim.agents.AgentFactory

Creates an agent object

Methods:

build_agent(client, agent_def)

Constructs an agent

static build_agent(client, agent_def)

Constructs an agent

Parameters:

Returns:

class biguasim.agents.BiguaSimAgent(client, name='DefaultAgent')

A learning agent in BiguaSim

Agents can act, receive rewards, and receive observations from their sensors. Examples include the Android, UAV, and SphereRobot.

Parameters:
  • client (BiguaSimClient) – The BiguaSimClient that this agent belongs with.

  • name (str, optional) – The name of the agent. Must be unique from other agents in the same environment.

  • sensors (dict of (str, BiguaSimSensor)) – A list of BiguaSimSensors to read from this agent.

name

The name of the agent.

Type:

str

sensors

List of BiguaSimSensors on this agent.

Type:

dict of (string, BiguaSimSensor)

agent_state_dict

A dictionary that maps sensor names to sensor observation data.

Type:

dict

Methods:

act(action)

Sets the command for the agent.

add_sensors(sensor_defs)

Adds a sensor to a particular agent object and attaches an instance of the sensor to the agent in the world.

clear_action()

Sets the action to zeros, effectively removing any previous actions.

get_joint_constraints(joint_name)

Returns the corresponding swing1, swing2 and twist limit values for the specified joint.

get_ocean_current_velocity()

Returns the current ocean current velocity for the agent.

has_camera()

Indicatates whether this agent has a camera or not.

remove_sensors(sensor_defs)

Removes a sensor from a particular agent object and detaches it from the agent in the world.

set_control_scheme(index)

Sets the control scheme for the agent.

set_physics_state(location, rotation, ...)

Sets the location, rotation, velocity and angular velocity of an agent.

teleport([location, rotation])

Teleports the agent to a specific location, with a specific rotation.

Attributes:

action_space

Gets the action space for the current agent and control scheme.

control_abstractions

A list of all control schemes for the agent.

act(action)

Sets the command for the agent. Action depends on the agent type and current control scheme.

Parameters:

action (np.ndarray) – The action to take.

property action_space

Gets the action space for the current agent and control scheme.

Returns:

The action space for this agent and control

scheme.

Return type:

ActionSpace

add_sensors(sensor_defs)

Adds a sensor to a particular agent object and attaches an instance of the sensor to the agent in the world.

:param sensor_defs (BiguaSimSensor or: list of BiguaSimSensor):

Sensors to add to the agent.

clear_action()

Sets the action to zeros, effectively removing any previous actions.

property control_abstractions

A list of all control schemes for the agent. Each list element is a 2-tuple, with the first element containing a short description of the control scheme, and the second element containing the ActionSpace for the control scheme.

Returns:

Each tuple contains a short description and the ActionSpace

Return type:

(str, ActionSpace)

get_joint_constraints(joint_name)

Returns the corresponding swing1, swing2 and twist limit values for the specified joint. Will return None if the joint does not exist for the agent.

get_ocean_current_velocity()

Returns the current ocean current velocity for the agent.

has_camera()

Indicatates whether this agent has a camera or not.

Returns:

If the agent has a sensor or not

Return type:

bool

remove_sensors(sensor_defs)

Removes a sensor from a particular agent object and detaches it from the agent in the world.

:param sensor_defs (BiguaSimSensor or: list of BiguaSimSensor):

Sensors to remove from the agent.

set_control_scheme(index)

Sets the control scheme for the agent.

Parameters:

index (int) – The control scheme to use. Should be set with an enum from

set_physics_state(location, rotation, velocity, angular_velocity)

Sets the location, rotation, velocity and angular velocity of an agent.

Parameters:
  • location (np.ndarray) – New location ([x, y, z] (see Coordinate System))

  • rotation (np.ndarray) – New rotation ([roll, pitch, yaw], see (see Rotations))

  • velocity (np.ndarray) – New velocity ([x, y, z] (see Coordinate System))

  • angular_velocity (np.ndarray) – New angular velocity ([x, y, z] in degrees (see Coordinate System))

teleport(location=None, rotation=None)

Teleports the agent to a specific location, with a specific rotation.

Parameters:
  • location (np.ndarray, optional) –

    An array with three elements specifying the target world coordinates [x, y, z] in meters (see Coordinate System).

    If None (default), keeps the current location.

  • rotation (np.ndarray, optional) –

    An array with three elements specifying roll, pitch, and yaw in degrees of the agent.

    If None (default), keeps the current rotation.

class biguasim.agents.BlueBoat(client, name='DefaultAgent')

Attributes:

control_abstractions

A list of all control schemes for the agent.

property control_abstractions

A list of all control schemes for the agent. Each list element is a 2-tuple, with the first element containing a short description of the control scheme, and the second element containing the ActionSpace for the control scheme.

Returns:

Each tuple contains a short description and the ActionSpace

Return type:

(str, ActionSpace)

class biguasim.agents.BlueROV2(client, name='DefaultAgent')

Attributes:

control_abstractions

A list of all control schemes for the agent.

property control_abstractions

A list of all control schemes for the agent. Each list element is a 2-tuple, with the first element containing a short description of the control scheme, and the second element containing the ActionSpace for the control scheme.

Returns:

Each tuple contains a short description and the ActionSpace

Return type:

(str, ActionSpace)

class biguasim.agents.BlueROVHeavy(client, name='DefaultAgent')

Attributes:

control_abstractions

A list of all control schemes for the agent.

property control_abstractions

A list of all control schemes for the agent. Each list element is a 2-tuple, with the first element containing a short description of the control scheme, and the second element containing the ActionSpace for the control scheme.

Returns:

Each tuple contains a short description and the ActionSpace

Return type:

(str, ActionSpace)

class biguasim.agents.DjiMatrice(client, name='DefaultAgent')

Attributes:

control_abstractions

A list of all control schemes for the agent.

property control_abstractions

A list of all control schemes for the agent. Each list element is a 2-tuple, with the first element containing a short description of the control scheme, and the second element containing the ActionSpace for the control scheme.

Returns:

Each tuple contains a short description and the ActionSpace

Return type:

(str, ActionSpace)

class biguasim.agents.TorpedoAUV(client, name='DefaultAgent')

Attributes:

control_abstractions

A list of all control schemes for the agent.

property control_abstractions

A list of all control schemes for the agent. Each list element is a 2-tuple, with the first element containing a short description of the control scheme, and the second element containing the ActionSpace for the control scheme.

Returns:

Each tuple contains a short description and the ActionSpace

Return type:

(str, ActionSpace)