Accelerated simulation in ROS

asked 2020-02-22 15:47:58 -0500

tobiastorben gravatar image


I use ROS (Python) with an external simulator which simulates the physics and feeds ROS with sensor data from simulated sensor models. This simulator controls the time stepping of ROS by publishing a time signal to the /clock topic. This works perfectly up to a certain real-time-factor, then the simulator updates the clock signal so fast that some ROS nodes can not finish their work and enter Rate.sleep() in time. This causes abnormal behavior.

I assume this is a problem that many have solved before me. Is there a good solution to ensure that the clock-signal waits for all nodes to finish their work before proceeding?

Thanks in advance!

edit retag flag offensive close merge delete


an external simulator

Are you talking about Gazebo ?

Delb gravatar image Delb  ( 2020-02-24 04:13:34 -0500 )edit

No, it is a simulator built on the FMI standard. I have created a custom interface from ROS to FMI over a TCP socket.

tobiastorben gravatar image tobiastorben  ( 2020-02-24 04:15:47 -0500 )edit