@@ -320,6 +320,11 @@ internal struct AgentParameters
320
320
/// </summary>
321
321
internal VectorSensor collectObservationsSensor ;
322
322
323
+ /// <summary>
324
+ /// StackingSensor which is written to by AddVectorObs
325
+ /// </summary>
326
+ internal StackingSensor stackedCollectObservationsSensor ;
327
+
323
328
private RecursionChecker m_CollectObservationsChecker = new RecursionChecker ( "CollectObservations" ) ;
324
329
private RecursionChecker m_OnEpisodeBeginChecker = new RecursionChecker ( "OnEpisodeBegin" ) ;
325
330
@@ -981,9 +986,9 @@ internal void InitializeSensors()
981
986
collectObservationsSensor = new VectorSensor ( param . VectorObservationSize ) ;
982
987
if ( param . NumStackedVectorObservations > 1 )
983
988
{
984
- var stackingSensor = new StackingSensor (
989
+ stackedCollectObservationsSensor = new StackingSensor (
985
990
collectObservationsSensor , param . NumStackedVectorObservations ) ;
986
- sensors . Add ( stackingSensor ) ;
991
+ sensors . Add ( stackedCollectObservationsSensor ) ;
987
992
}
988
993
else
989
994
{
@@ -1179,6 +1184,17 @@ public ReadOnlyCollection<float> GetObservations()
1179
1184
return collectObservationsSensor . GetObservations ( ) ;
1180
1185
}
1181
1186
1187
+ /// <summary>
1188
+ /// Returns a read-only view of the stacked observations that were generated in
1189
+ /// <see cref="CollectObservations(VectorSensor)"/>. This is mainly useful inside of a
1190
+ /// <see cref="Heuristic(in ActionBuffers)"/> method to avoid recomputing the observations.
1191
+ /// </summary>
1192
+ /// <returns>A read-only view of the stacked observations list.</returns>
1193
+ public ReadOnlyCollection < ReadOnlyCollection < float > > GetStackedObservations ( )
1194
+ {
1195
+ return stackedCollectObservationsSensor . GetStackedObservations ( ) ;
1196
+ }
1197
+
1182
1198
/// <summary>
1183
1199
/// Implement `WriteDiscreteActionMask()` to collects the masks for discrete
1184
1200
/// actions. When using discrete actions, the agent will not perform the masked
0 commit comments