Problems to set up the reset function in Reinforcement learning environment

22 views (last 30 days)
Jooo
Jooo on 19 Aug 2020
Hi,
I am trying to set up a reset function for my simulation of a Furuta pendulum. With the code below I am able to randomly assign a Value to the specified constant block in Simulink in every new episode. Unfortunately I don´t know how to modify my code, so that it also varies the Arm and Pendulum Position at every new episode. These variables are used as state targets in the revolute joints of my simulink model.
Can somebody help me on that?
function in = localResetFcn(in)
blk = sprintf('RL_Inverse_Pendulum_10/Environment/Target_Position');
Target_Position = randi(4)*pi/2-pi/2;
% Arm_Position=randi(4)*pi/2-pi/2;
% Pendel_Position=randi(4)*pi/2-pi/2;
in = setBlockParameter(in,blk,'Value',num2str(Target_Position));
end

Answers (1)

Emmanouil Tzorakoleftherakis
Maybe I am missing something, but why don't you add a couple of lines that call 'setBlockParameter' with the appropriate path to your other constant blocks?

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!