ROS 时间戳获取与打印 - 使用 ros::Time::now 示例
下面是一个利用 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 秒钟打印一次当前时间戳。
原文地址: https://www.cveoy.top/t/topic/oB8Z 著作权归作者所有。请勿转载和采集!