下面是一个利用 ros::Time::now 打印时间戳的示例代码:

#include <ros/ros.h>

int main(int argc, char** argv)
{
  ros::init(argc, argv, 'time_test');
  ros::NodeHandle nh;

  while (ros::ok())
  {
    ros::Time now = ros::Time::now();
    ROS_INFO('Current time: %f', now.toSec());
    ros::Duration(1.0).sleep(); // sleep for 1 second
  }

  return 0;
}

在上面的代码中,我们首先初始化了 ROS 节点,然后在一个循环中利用 ros::Time::now 获取当前时间戳,并使用 ROS_INFO 打印出来。为了避免打印速度过快,我们在每次循环结束时使用 ros::Duration::sleep 函数暂停 1 秒钟。

在运行这个程序时,你会看到类似下面的输出:

[ INFO] [1548260798.500260836]: Current time: 1548260798.500260
[ INFO] [1548260799.500470062]: Current time: 1548260799.500470
[ INFO] [1548260800.500625701]: Current time: 1548260800.500626
[ INFO] [1548260801.500809150]: Current time: 1548260801.500809
...

这些输出显示了每隔 1 秒钟打印一次当前时间戳。

ROS 时间戳获取与打印 - 使用 ros::Time::now 示例

原文地址: https://www.cveoy.top/t/topic/oB8Z 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录