Move the agent in a cardinal direction, relative to it's forward facing direction. Supported action directions are
Overrides the initialized step size of
Changes the yaw rotation of the agent's body. Supported action directions are
Overrides the initialized rotation amount of
We can adjust the camera's pitch by utilizing the
Specifies the number of degrees to look up or down. Must be greater than .
controller.step(action="Crouch")
Crouches the agent from a standing position. The standing position is roughly meters taller than the crouching position.
controller.step(action="Stand")
Stands the agent from a crouching position. The crouching position is roughly meters shorter than the standing position.
The position of the agent's body in global 3D coordinate space. If unspecified, the position of the agent remains the same.
The rotation of the agent's body in global 3D space. Here, the rotation changes the agent's yaw rotation.
The default agent's body cannot change in pitch or roll; hence, why the .
If unspecified, the rotation of the agent remains the same.
The
Since the agent looks up and down in increments, it most common for the horizon to be in .
Negative camera
If unspecified, the horizon of the agent remains the same.
Denotes whether the agent is in a standing or crouched position. If unspecified, the standing state of the agent remains the same.
In addition to being able to
The position of the agent's body in global 3D coordinate space.
The rotation of the agent's body in global 3D space. Here, the rotation changes the agent's yaw rotation.
The default agent's body cannot change in pitch or roll; hence, why the .
The
Since the agent looks up and down in increments, it most common for the horizon to be in .
Negative camera
Denotes whether the agent is in a standing or crouched position.
It is often useful to randomize the position of the agent in the scene, before starting an episode. Here, we can use:
The process is illustrated below:
positions = controller.step(
action="GetReachablePositions"
).metadata["actionReturn"]
[
dict(x=(...), y=(...), z=(...)),
dict(x=(...), y=(...), z=(...)),
dict(x=(...), y=(...), z=(...)),
{...}
dict(x=(...), y=(...), z=(...)),
]
import random
position = random.choice(positions)
controller.step(
action="Teleport",
position=position
)
A list of each position that the agent can be at, without colliding into any other objects or going beyond the walls.
The
controller.step(action="Done")
It is often used in the definition of a successful navigation task (see Anderson et al.), where the agent must call the done action to signal that it knows that it's done, rather than arbitrarily or biasedly guessing.
The
It is often used to return a cleaned up version of the metadata.