ROS时间信息的来源有两种,系统时间和仿真时间,分别被称为Wall Time
和ROS Time
,可以通过参数use_sim_time
来进行选择,当use_sim_time
为true时选择使用仿真时间,反之使用系统时间。
系统时间直接通过访问本地时钟来获得,而仿真时间则需要订阅/clock
话题获得,每当接收到该话题的消息,时间才会更新,在没有接收到该话题的第一个消息时,当前时间为0,/clock
是通过仿真时间服务器发布的,通常为ros_bag节点或仿真器如gazebo
由于Rviz也订阅了clock
话题,所以在Rviz的状态栏里能看到这两个时间。clock
由秒和纳秒两部分组成:1
2
3clock:
secs: 26
nsecs: 7000000