Agents
For a higher level description of the agents, see BiguaSim Agents.
Definitions for different agents that can be controlled from BiguaSim
Classes:
|
Represents information needed to initialize agent. |
Creates an agent object |
|
|
A learning agent in BiguaSim |
|
|
|
|
|
|
|
|
|
- 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 (
stror type) – The type of BiguaSimAgent to control, string or class reference.sensors (
SensorDefinitionor class type (if no duplicate sensors)) – A list of BiguaSimSensors to read from this agent.starting_loc (
listoffloat) – Starting[x, y, z]location for agent (see Coordinate System)starting_rot (
listoffloat) – 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:
client (
biguasim.biguasimclient.BiguaSimClient) – BiguaSimClient agent is associated withagent_def (
AgentDefinition) – Definition of the agent to instantiate
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 (
dictof (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.
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.
Returns the current ocean current velocity for the agent.
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:
Gets the action space for the current agent and control scheme.
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:
- 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 (
BiguaSimSensoror: list ofBiguaSimSensor): Sensors to add to the agent.
- :param sensor_defs (
- 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
ActionSpacefor 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 (
BiguaSimSensoror: list ofBiguaSimSensor): Sensors to remove from the agent.
- :param sensor_defs (
- 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:
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
ActionSpacefor 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:
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
ActionSpacefor 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:
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
ActionSpacefor 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:
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
ActionSpacefor 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:
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
ActionSpacefor the control scheme.- Returns:
Each tuple contains a short description and the ActionSpace
- Return type:
(
str,ActionSpace)