-
Notifications
You must be signed in to change notification settings - Fork 206
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix polygon padding on filter load #191
Conversation
This looks reasonable. Before I merge I'm going to dig into the initialization code of DynamicReconfigure to make sure I understand in exactly what sequence things happen. One question so that I can reproduce your exact use case: When you say you're setting the parameters from a yaml file, are you loading the yaml file onto the parameter server in your roslaunch file? Is it the same roslaunch file you're using to launch the laser filters node? |
Yes @jonbinney, the parameters are loaded from a launch file like this:
I'll also provide you with the yaml:
Setting a large |
The problem here seems to come from dynamic_reconfigure not supporting variable size arrays. The initial value for As @geotsam points out, |
Some auto-formatting slipped in the previous commit and modified the whole file 😖; I pushed a new one that only changes the lines we are discussing. |
One more nitpick - could you add back the end line at the end of the file? Looks like that was left in from the autoformat. |
It should be fine now! I added the end line back. |
Thank you @geotsam! |
Hi @jonbinney! Do you know if the apt noetic package is going to be updated to include this fix? |
@geotsam I'll do a release this week. Sorry it has taken a while! |
Tracking release process in this issue: #200 |
The issue:
Setting the polygon filter parameters from a
.yaml
results in correct parameters loaded in the parameter server (and can be seen inrqt_reconfigure
). However, the filter itself does not incorporate the padding, unless thereconfigureCb()
is called at least once. This can also be seen in rViz by inspecting the Polygon messages.The solution:
Calling
padPolygon()
once inconfigure()
in order to correctly pad the polygon inside the node.