![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/636670/image.png)
measure the ROS loop time in simulink
조회 수: 3 (최근 30일)
이전 댓글 표시
I am trying to figure out my control loop time in simulink for controlling my simulation using MATLAB 2021a.
I am using the loop control rate block found in these closed loop control example here
The comments say:
% The rate control may not be effective if the simulation model is too
% complex to be handled at the desired rate. To check the rate control
% performance, consider output rateObj.LastPeriod. Ideally it should be
% close to SampleTime during most part of the simulation.
How do I actually output/access the rateObj.LastPeriod in the model so I can make a historgram of the control rate?
댓글 수: 0
채택된 답변
Abhijeet Gadkari
2021년 5월 31일
Hello Nathaniel,
You can modify the stepImpl method of this system object class, ExampleHelperSimulationRateControl.m, to add an output argument as below.
function r = stepImpl(obj)
%stepImpl Regulates simulation update
if coder.target('MATLAB')
obj.RateObj.waitfor();
r = obj.RateObj.LastPeriod;
else
r = nan;
end
end
Save the ExampleHelperSimulationRateControl.m class and re-open the model.
You should now see an output port on the Simulation Rate Control block, as shown below.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/636670/image.png)
-Abhijeet
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Specialized Messages에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!