Skip to content
Snippets Groups Projects
Commit 4802b4ba authored by Angel Santamaria-Navarro's avatar Angel Santamaria-Navarro
Browse files

Added boolean to avoid overwrite of launch parameters when loading nodelet.

parent 85c8a1b2
No related branches found
No related tags found
No related merge requests found
...@@ -39,7 +39,7 @@ gen = ParameterGenerator() ...@@ -39,7 +39,7 @@ gen = ParameterGenerator()
# Name Type Reconfiguration level Description Default Min Max # Name Type Reconfiguration level Description Default Min Max
#gen.add("velocity_scale_factor", double_t, 0, "Maximum velocity scale factor", 0.5, 0.0, 1.0) #gen.add("velocity_scale_factor", double_t, 0, "Maximum velocity scale factor", 0.5, 0.0, 1.0)
gen.add( "window_size", int_t, 0, "Local threshold windo size", 15, 3, 500) gen.add( "window_size", int_t, 0, "Local threshold window size", 7, 3, 500)
gen.add( "k", double_t, 0, "Multiplicative constant for local deviation", 0.06, 0, 0.5) gen.add( "k", double_t, 0, "Multiplicative constant for local deviation", 0.09, 0, 0.5)
exit(gen.generate(PACKAGE, "ImageLocalBinarizationAlgorithm", "ImageLocalBinarization")) exit(gen.generate(PACKAGE, "ImageLocalBinarizationAlgorithm", "ImageLocalBinarization"))
...@@ -72,6 +72,8 @@ class ImageLocalBinarizationAlgNodelet : public algorithm_base::IriBaseAlgorithm ...@@ -72,6 +72,8 @@ class ImageLocalBinarizationAlgNodelet : public algorithm_base::IriBaseAlgorithm
int window_size_; int window_size_;
double k_; double k_;
bool avoid_dynrec_overwrite_; // To avoid overwrite due to initial Dynamic Reconfigure update
cv_bridge::CvImageConstPtr image_; cv_bridge::CvImageConstPtr image_;
cv_bridge::CvImagePtr image_out_; cv_bridge::CvImagePtr image_out_;
......
...@@ -24,8 +24,12 @@ ImageLocalBinarizationAlgNodelet::ImageLocalBinarizationAlgNodelet(ros::NodeHand ...@@ -24,8 +24,12 @@ ImageLocalBinarizationAlgNodelet::ImageLocalBinarizationAlgNodelet(ros::NodeHand
// [init action clients] // [init action clients]
this->window_size_ = 3; private_nh.param<int>("window_size", this->window_size_, 3 );
this->k_ = 0.06; private_nh.param<double>("k", this->k_, 0.06 );
// To avoid overwrite due to Dyn Rec initial load
this->avoid_dynrec_overwrite_ = true;
} }
ImageLocalBinarizationAlgNodelet::~ImageLocalBinarizationAlgNodelet(void) ImageLocalBinarizationAlgNodelet::~ImageLocalBinarizationAlgNodelet(void)
...@@ -90,9 +94,19 @@ void ImageLocalBinarizationAlgNodelet::node_config_update(Config &config, uint32 ...@@ -90,9 +94,19 @@ void ImageLocalBinarizationAlgNodelet::node_config_update(Config &config, uint32
{ {
this->alg_.lock(); this->alg_.lock();
this->window_size_ = config.window_size; // Update Dyn Rec if parameters are loaded from launch file
this->k_ = config.k; if (this->avoid_dynrec_overwrite_)
{
config.window_size = this->window_size_;
config.k = this->k_;
this->avoid_dynrec_overwrite_ = false;
}
else
{
this->window_size_ = config.window_size;
this->k_ = config.k;
}
this->alg_.unlock(); this->alg_.unlock();
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment