diff --git a/src/visual_gps_alg_node.cpp b/src/visual_gps_alg_node.cpp index 4b37121b7e183a1c729101f9d0c196e57d689226..1247e25e857563efe87e2289cab43432ce6a6bd9 100644 --- a/src/visual_gps_alg_node.cpp +++ b/src/visual_gps_alg_node.cpp @@ -8,7 +8,7 @@ VisualGpsAlgNode::VisualGpsAlgNode(void) : //init class attributes if necessary double rate; this->private_node_handle_.param<double>("framerate", rate, 10.0); - this->loop_rate_ = rate;//in [Hz] + this->setRate(rate);//in [Hz] // [init publishers] this->pose_publisher_ = this->private_node_handle_.advertise<geometry_msgs::PoseStamped>("pose", 1); @@ -304,7 +304,12 @@ void VisualGpsAlgNode::set_exposure_mutex_exit(void) void VisualGpsAlgNode::node_config_update(Config &config, uint32_t level) { this->alg_.lock(); - this->loop_rate_ = config.framerate; + static double last_rate=1; + if(last_rate!=config.framerate) + { + this->setRate(config.framerate); + last_rate=config.framerate; + } this->config_=config; this->alg_.unlock();