Check for already declared parameter
When using the same parameter for several instances of the filter or a filter chain (like in some ros2 forks of your elevation mapping repository), it will throw rclcpp::exceptions::ParameterAlreadyDeclaredException. This PR just checks if the parameter already exists before declaring it.
The PR https://github.com/ros/filters/pull/80 in the filterchain base class prevents the rclcpp::exceptions::ParameterAlreadyDeclaredException based on the filter name and type declarations. For the different parameter of the single grid map filters, a check inside your ParameterReader is necessary.
This contribution looks good. Any chance you can add a unit test for it to show we no longer throw the rclcpp::exceptions::ParameterAlreadyDeclaredException exception?