c++代码实现ros定时器,10分钟调用一次函数
时间: 2024-03-28 19:42:03 浏览: 131
在ROS中,可以使用ros::Timer类来实现定时器功能,下面是一个示例代码,可以每10分钟调用一次函数:
```c++
#include <ros/ros.h>
void timerCallback(const ros::TimerEvent&)
{
// 这里编写需要定时执行的代码
ROS_INFO("Timer callback triggered.");
}
int main(int argc, char** argv)
{
ros::init(argc, argv, "timer_example");
ros::NodeHandle nh;
// 创建一个定时器,每10分钟触发一次
ros::Timer timer = nh.createTimer(ros::Duration(600.0), timerCallback);
ros::spin();
return 0;
}
```
在上面的代码中,`ros::NodeHandle`是ROS节点的句柄,`ros::Timer`类用于创建定时器,其中`ros::Duration`类用于设置定时器的时间间隔,单位为秒。`ros::spin()`函数用于让ROS节点进入循环,等待回调函数的触发。每次定时器触发时,都会调用`timerCallback`函数执行相应的代码。
阅读全文