ros里对时间戳进行加减可以用ros::Duration

ROS时间概念总结:ros::Time、ros::Duration、定时器ros::Timer&ros::Rate - 北极星! - 博客园ROS 里经常用到的一个变量就是时间,比如基于时间和控制量计算机器人的移动距离、设定程序的等待时间/循环时间、设定计时器等。本文总结了 roscpp 给我们提供的时间相关的操作。具体来说,roscpp 里有两种时间表示方法:时刻 (ros::Time) 和时长(ros::Duration)。其中Duicon-default.png?t=O83Ahttps://www.cnblogs.com/zhjblogs/p/16559725.html注意 Duration可以是负数

#include <ros/ros.h>

int main(int argc, char **argv) {
    // 初始化ROS节点
    ros::init(argc, argv, "time_example");
    ros::NodeHandle nh;

    // 获取当前时间戳
    ros::Time current_time = ros::Time::now();
    
    // 打印当前时间
    ROS_INFO("Current time: %f", current_time.toSec());

    // 减去100毫秒(0.1秒)
    ros::Duration duration(-0.1); // 负值表示减去
    ros::Time new_time = current_time + duration;

    // 打印新的时间
    ROS_INFO("New time (100 ms earlier): %f", new_time.toSec());

    return 0;
}

猜你喜欢

转载自blog.csdn.net/sinat_16643223/article/details/142903402