ROS学习八、ros中的时间Time,Duration,Timer和Rate(2)
概述
- 概述
- ros::Time与ros::Duration
- ros::Timer与ros::Rate
ROS中的时间包含time时刻和duration间隔两种,由roslib提供ros::Time和ros::Duration两个类
Time和Duration的数据类型相同:
int32 sec
int32 nsec
ros::Time与ros::Duration
这两个类提供了基本的计时方法
获得当前时间:
ros::Time start = ros::Time::now();
设置时刻:
# 第一个参数为s,第二个为ns
ros::Time t(10, 100000000) #1.1s
# 或者浮点数
ros::Time t(1.1) #1.1s
设置时间间隔:
# 第一个参数为s,第二个为ns
ros::Duration d(2, 500000000); # 2.5s
# 或者浮点数
ros::Duration d(2.5); # 2.5s
将时间转化为s或者ns:
ros::Time t(10, 100000000);
# 转为ms
ros::Time t_ms = t.toNSec();
# 转为s
ros::Time t_s = t.toSec();
时间运算: ros的Time和Duration类重载了+、-、*、==、!=、>、
关注
打赏