ROS1中cpp 格式
//初始化
ros::Time::init();
//获取当前时间
ros::Time now = ros::Time::now();
//时间构造
ros::Time time(seconds, nanoseconds);
// 将时间转换为秒
double seconds = now.toSec();
// 将时间转换为纳秒
uint32_t nanoseconds = now.nsec;
//时间计算
ros::Duration duration(seconds, nanoseconds);
ros::Time future_time = now + duration;
ros::Time past_time = now - duration;
//休眠
ros::Duration(0.1).sleep(); // 休眠100毫秒
ROS2中cpp格式
//获取当前时间
rclcpp::Time now = rclcpp::Clock::now();
//时间构造
rclcpp::Time time(seconds, nanoseconds);
// 将时间转换为秒
double seconds = now.seconds();
// 将时间转换为纳秒
uint64_t nanoseconds = now.nanoseconds();
//时间运算
rclcpp::Duration duration(seconds, nanoseconds);
rclcpp::Time future_time = now + duration;
rclcpp::Time past_time = now - duration;
//休眠
rclcpp::sleep_for(rclcpp::Duration(seconds, nanoseconds));