Retrieve current ROS time or system time
ROS Toolbox / ROS
The Current Time block outputs the current ROS or system time. ROS Time is based on the system clock of your computer or the
/clock topic being published on the ROS node.
Use this block to synchronize your simulation time with your connected ROS node.
use_sim_time ROS parameter is set to
true, the block returns the simulation time published on the
/clock topic. Otherwise, the block returns the system time of your machine.
Time— ROS time
ROS time, returned as a bus signal or a scalar. The bus represents a
rosgraph_msgs/Clock ROS message with
NSec elements. The scalar is the ROS time in seconds. If no time has been received on the
/clock topic, the block outputs
Output format— Format of ROS time
Format of ROS
Time output, specified as either
Sample time— Interval between outputs
-1(default) | numeric scalar
Interval between outputs, specified as a numeric scalar.
For more information, see Specify Sample Time (Simulink).
To set the
use_sim_time parameters and get time from a
Connect to a ROS network, then use the Set Parameter block or set the parameter in the MATLAB® command window:
ptree = rosparam; set(ptree,'/use_sim_time',true)
Usually, the ROS node that publishes on the
/clock topic sets up the parameter.