Azzera filtri
Azzera filtri

Why the time has not been synchronized between ros2 and simulink

18 visualizzazioni (ultimi 30 giorni)
I am subscribing to ros2 topic which has a message type ''ackermann_msgs/AckermannDriveStamped". I checked the topic in ros2 environment and it has 30Hz frequency. Now when I subscribe in simulink and extract the 'sec' I don't get the time duration same as in ros2.
For example: The sample of header.stamp.sec in ros2 looks like this
[t(1)....t(30),t(31)....t(60)]= [1715612265....1715612265, 1715612266....1715612266]
And the sample of the same topic when been subscribed in simulink and been saved in worksapce looks like this:
[t(1)....t(215), t(216)....t(875)]= [1715612265....1715612265, 1715612266....1715612266]
I have tried the 'Simulation pacing', changed the sample time of the subscriber block, changed the fixed step size; still getting the same random time interval.
I am attaching the sample example with all the setting that I am using in Simulink. Please let me know if some setting in simulink is the fault or something else.

Risposta accettata

Josh Chen
Josh Chen il 14 Mag 2024
Hi Nupur,
In the model 'Sample.slx' you shared, the 'To Workspace' blocks have been placed at the top level of the model. Hence, they will log values in each time step.
Instead, to log those data only when new message comes (which I assume is what you actually want?), you can place them inside the 'Enable Subsystem'.
Hope that helps,
  3 Commenti
Josh Chen
Josh Chen il 16 Mag 2024 alle 14:00
Hi Nupur,
Simulink executes block step function in each time step, and as a result, the Subscribe block returns new output in each timestep. I am suspecting this is because the model is not running fast enough. You probably want to try giving a custom step here and see if it helps:
Nupur il 16 Mag 2024 alle 14:17
Hi @Josh Chen No it didn't help. I already have a question published here. Please let me know if there is any latency issue between Autoware and Simulink or if there is some issue with the simulink model.

Accedi per commentare.

Più risposte (0)




Community Treasure Hunt

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

Start Hunting!

Translated by