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;
in = setBlockParameter(in,blk,'Value',num2str(Target_Position));