In DDPG algorithm to control Vehicle HVAC system, the agent is not able to start its traning. No error or no termination.
3 次查看(过去 30 天)
显示 更早的评论
I am developing the DDPG algorithm to control the vehicle HVAC system. I have 4 output ranging within 0 and 1, each. While running the simulation, the code runs and it keep on executing but the training is not started. The training episode manager opens as blank white screen and the code is ruuning with any update. Even the Simulink model remains Ideal.
4 个评论
Akshat
2023-9-20
In order to better understand and address the issue you are facing, it would be helpful if you could provide your model and the DDPG algorithm you are using.
回答(1 个)
Ayush Aniket
2023-10-22
Hi Konguvel,
As per my understanding the training process for your RL model keeps executing without any updates or any errors. The following is my observation after going through the code you provided:
The reset function “localResetFcn(in)” has an invalid condition for resetting the “PMV” parameter. The condition for the while loop seems redundant:
% Randomize initial PMV index Values
blk = sprintf('Cooling/pmv');
v = rand*3;
while v >= 0 || v >= 3 %The issue lies in this statement.
v = rand*3;
end
in = setBlockParameter(in,blk,'Value',num2str(v));
It should be modified as follows:
while v <= 0 || v >= 3
This statement might be putting the training function in an infinite loop causing the issue that you mentioned. However, after correcting this part, I am getting an error with reference to the path of the “setBlockParameter()” function. You should find the actual path of the parameter that you want to reset and provide that information in the function. For instance, the path of the "PMV" parameter is:
blk = sprintf('Cooling/pmv');
whereas the actual path will be as shown below:
blk = sprintf('Cooling/VHVAC/PMV');
You can read more about the “setBlockParameter()” function by referring to the following link:
Also, to get the full path of a block in a model you can use the following command after interactively selecting that block in the model:
blkpath = getfullname(gcb);
You can read more about finding path of a block on the following link:
Hope it helps.
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!