|
using UnityEngine; |
|
|
|
namespace Unity.MLAgents.Sensors |
|
{ |
|
|
|
|
|
|
|
[AddComponentMenu("ML Agents/Buffer Sensor", (int)MenuGroup.Sensors)] |
|
public class BufferSensorComponent : SensorComponent |
|
{ |
|
|
|
|
|
|
|
|
|
public string SensorName |
|
{ |
|
get { return m_SensorName; } |
|
set { m_SensorName = value; } |
|
} |
|
[HideInInspector, SerializeField] |
|
private string m_SensorName = "BufferSensor"; |
|
|
|
|
|
|
|
|
|
|
|
public int ObservableSize |
|
{ |
|
get { return m_ObservableSize; } |
|
set { m_ObservableSize = value; } |
|
} |
|
[HideInInspector, SerializeField] |
|
private int m_ObservableSize; |
|
|
|
|
|
|
|
|
|
|
|
public int MaxNumObservables |
|
{ |
|
get { return m_MaxNumObservables; } |
|
set { m_MaxNumObservables = value; } |
|
} |
|
[HideInInspector, SerializeField] |
|
private int m_MaxNumObservables; |
|
|
|
private BufferSensor m_Sensor; |
|
|
|
|
|
public override ISensor[] CreateSensors() |
|
{ |
|
m_Sensor = new BufferSensor(MaxNumObservables, ObservableSize, m_SensorName); |
|
return new ISensor[] { m_Sensor }; |
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public void AppendObservation(float[] obs) |
|
{ |
|
m_Sensor.AppendObservation(obs); |
|
} |
|
} |
|
} |
|
|