1. ros时间格式说明

        时间有时刻和持续时间,其中持续时间可以是负数,格式如下,分为秒和纳秒,换算关系:1nsec=1e-9sec。

int32 sec
int32 nsec

2. ros::Time::now()

        检索当前时间,是时刻时间。

        如果正在使用 ROS 时钟时间,则根据 ROS 时钟返回时间。否则返回当前挂钟时间,挂钟理解为在一个房间/环境里面挂的钟,没有人去管他/改变它,挂钟时间我理解为系统时间。

3. ros::Duration

        代表持续的一段时间,可以是负数

4.  toSec()

        我在ros namespace里面没有找到,应该是c++的函数,意思是将“1 ros时间格式说明”中所示的格式转为秒

5.  toNSec()

        将时间或时间戳转换为纳秒

6. 使用示例

计算程序执行时间

    #include <iostream>
    #include "ros/ros.h"
 
    
    double begin_time = ros::Time::now().toSec();
 
    double end_time = ros::Time::now().toSec();
    std::cout << "一次查找耗时:" << (end_time - begin_time) << std::endl;

参考链接:

ros::Duration  rostime: ros::Duration Class Reference

ros::Time   rostime: ros::Time Class Reference

ros与c++入门教程--时间  ROS与C++入门教程-Time(时间) - 创客智造