ros中时间的概念:ros::Time、ros::Duration、定时器ros::Timer&ros::Rate、ros::WallTime

本文介绍了ROS中的时间处理,包括ros::Time和ros::Duration的数据结构,如何获取当前时间,转换为秒以及时间的加减运算。此外,还讨论了ros::Rate循环和ros::Timer的使用,它们在控制执行频率和定时任务上的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. ros时间格式说明

        有时刻持续时长(可以是负数),分为纳秒,换算关系:1sec=1e9nsec。Time指的是某个时刻,而Duration指的是某个时段。

int32 sec
int32 nsec

2. ros::Time::now()

        记录当前时刻

3. ros::Duration

        代表持续的一段时间

4.  toSec()

        将“1 ros时间格式说明”中所示的格式转为秒

double secs1=at_some_time1.toSec();  //将 Time 转为 double 型时间
double secs2=one_hour.toSec();       //将 Duration 转为 double 型时间

ROS_INFO("secs1 is:%.20d", secs1.toSec()); //打印

5.头文件 #include <ros/ros.h>

6.函数原型

//Time原型,重载,_sec表示秒,_nsec表示纳秒
ros::Time::Time(uint32_t _sec, uint32_t _nsec)
ros::Time::Time(double t)

//Duration原型,重载
ros::Du
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值