How to give initial observations for RL if multiple ObservationInfo are used?
2 views (last 30 days)
Show older comments
Hello everyone, I want to use the RL toolbox in my work. In my custom environment, it has several observations that are in rlNumericSpec, and others are in rlFiniteSetSpec.
I understand that in order to create an ObservationInfo, I can use:
Observation(1) = rlNumericSpec([4 1]);
Observation(2) = rlFiniteSetSpec([1 2 3]);
...
However, in my custom reset (as well as step) function, how should I return the observation, so that the system can recognized it?
1 Comment
Valentyna Afanasenko
on 18 Oct 2021
Hi!
obsInfo(1) = rlNumericSpec([m n]); %
obsInfo(2) = rlNumericSpec([l k]);
In ResetFunction:
e.g. initialize by 0
LoggedSignal.State{1} = zeros(m,n);
LoggedSignal.State{2} = zeros(l,k);
InitialObservation = LoggedSignal.State;
In StepFunction:
LoggedSignal.State{1}(1:m,1:n)= stepObserv1;
LoggedSignal.State{2}(1:l,1:k)= stepObserv2;
NextObs = LoggedSignals.State;
Answers (1)
See Also
Categories
Find more on Environments in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!