Class RayPerceptionSensor
A sensor implementation that supports ray cast-based observations.
Implements
Inherited Members
Namespace: Unity.MLAgents.Sensors
Assembly: Unity.ML-Agents.dll
Syntax
public class RayPerceptionSensor : ISensor
Constructors
RayPerceptionSensor(string, RayPerceptionInput)
Creates the RayPerceptionSensor.
Declaration
public RayPerceptionSensor(string name, RayPerceptionInput rayInput)
Parameters
| Type | Name | Description |
|---|---|---|
| string | name | The name of the sensor. |
| RayPerceptionInput | rayInput | The inputs for the sensor. |
Properties
RayPerceptionOutput
The most recent raycast results.
Declaration
public RayPerceptionOutput RayPerceptionOutput { get; }
Property Value
| Type | Description |
|---|---|
| RayPerceptionOutput |
Methods
GetBuiltInSensorType()
Return the corresponding BuiltInSensorType for the sensor.
Declaration
public BuiltInSensorType GetBuiltInSensorType()
Returns
| Type | Description |
|---|---|
| BuiltInSensorType | A BuiltInSensorType corresponding to the sensor. |
GetCompressedObservation()
Return a compressed representation of the observation. For small observations, this should generally not be implemented. However, compressing large observations (such as visual results) can significantly improve model training time.
Declaration
public virtual byte[] GetCompressedObservation()
Returns
| Type | Description |
|---|---|
| byte[] | Compressed observation. |
GetCompressionSpec()
Return information on the compression type being used. If no compression is used, return Default().
Declaration
public CompressionSpec GetCompressionSpec()
Returns
| Type | Description |
|---|---|
| CompressionSpec | An object describing the compression used by the sensor. |
GetName()
Get the name of the sensor. This is used to ensure deterministic sorting of the sensors on an Agent, so the naming must be consistent across all sensors and agents.
Declaration
public string GetName()
Returns
| Type | Description |
|---|---|
| string | The name of the sensor. |
GetObservationSpec()
Returns a description of the observations that will be generated by the sensor. See ObservationSpec for more details, and helper methods to create one.
Declaration
public ObservationSpec GetObservationSpec()
Returns
| Type | Description |
|---|---|
| ObservationSpec | An object describing the observation. |
Perceive(RayPerceptionInput)
Evaluates the raycasts to be used as part of an observation of an agent.
Declaration
public static RayPerceptionOutput Perceive(RayPerceptionInput input)
Parameters
| Type | Name | Description |
|---|---|---|
| RayPerceptionInput | input | Input defining the rays that will be cast. |
Returns
| Type | Description |
|---|---|
| RayPerceptionOutput | Output struct containing the raycast results. |
Reset()
Resets the internal state of the sensor. This is called at the end of an Agent's episode. Most implementations can leave this empty.
Declaration
public void Reset()
Update()
Update any internal state of the sensor. This is called once per each agent step.
Declaration
public void Update()
Write(ObservationWriter)
Computes the ray perception observations and saves them to the provided ObservationWriter.
Declaration
public int Write(ObservationWriter writer)
Parameters
| Type | Name | Description |
|---|---|---|
| ObservationWriter | writer | Where the ray perception observations are written to. |
Returns
| Type | Description |
|---|---|
| int |