text: ## *********************************************************
  ##
  ## File autogenerated for the costmap_2d package
  ## by the dynamic_reconfigure package.
  ## Please do not edit.
  ##
  ## ********************************************************/
  
  from dynamic_reconfigure.encoding import extract_params
  
  inf = float('inf')
  
  config_description = {'upper': 'DEFAULT', 'lower': 'groups', 'srcline': 246, 'name': 'Default', 'parent': 0, 'srcfile': '/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py', 'cstate': 'true', 'parentname': 'Default', 'class': 'DEFAULT', 'field': 'default', 'state': True, 'parentclass': '', 'groups': [], 'parameters': [{'srcline': 291, 'description': 'Specifies the delay in transform (tf) data that is tolerable in seconds.', 'max': 10.0, 'cconsttype': 'const double', 'ctype': 'double', 'srcfile': '/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py', 'name': 'transform_tolerance', 'edit_method': '', 'default': 0.3, 'level': 0, 'min': 0.0, 'type': 'double'}, {'srcline': 291, 'description': 'The frequency in Hz for the map to be updated.', 'max': 100.0, 'cconsttype': 'const double', 'ctype': 'double', 'srcfile': '/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py', 'name': 'update_frequency', 'edit_method': '', 'default': 5.0, 'level': 0, 'min': 0.0, 'type': 'double'}, {'srcline': 291, 'description': 'The frequency in Hz for the map to publish display information.', 'max': 100.0, 'cconsttype': 'const double', 'ctype': 'double', 'srcfile': '/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py', 'name': 'publish_frequency', 'edit_method': '', 'default': 0.0, 'level': 0, 'min': 0.0, 'type': 'double'}, {'srcline': 291, 'description': 'The width of the map in meters.', 'max': 2147483647, 'cconsttype': 'const int', 'ctype': 'int', 'srcfile': '/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py', 'name': 'width', 'edit_method': '', 'default': 10, 'level': 0, 'min': 0, 'type': 'int'}, {'srcline': 291, 'description': 'The height of the map in meters.', 'max': 2147483647, 'cconsttype': 'const int', 'ctype': 'int', 'srcfile': '/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py', 'name': 'height', 'edit_method': '', 'default': 10, 'level': 0, 'min': 0, 'type': 'int'}, {'srcline': 291, 'description': 'The resolution of the map in meters/cell.', 'max': 50.0, 'cconsttype': 'const double', 'ctype': 'double', 'srcfile': '/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py', 'name': 'resolution', 'edit_method': '', 'default': 0.05, 'level': 0, 'min': 0.0, 'type': 'double'}, {'srcline': 291, 'description': 'The x origin of the map in the global frame in meters.', 'max': inf, 'cconsttype': 'const double', 'ctype': 'double', 'srcfile': '/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py', 'name': 'origin_x', 'edit_method': '', 'default': 0.0, 'level': 0, 'min': -inf, 'type': 'double'}, {'srcline': 291, 'description': 'The y origin of the map in the global frame in meters.', 'max': inf, 'cconsttype': 'const double', 'ctype': 'double', 'srcfile': '/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py', 'name': 'origin_y', 'edit_method': '', 'default': 0.0, 'level': 0, 'min': -inf, 'type': 'double'}, {'srcline': 291, 'description': 'The footprint of the robot specified in the robot_base_frame coordinate frame as a list in the format: [ [x1, y1], [x2, y2], ...., [xn, yn] ].', 'max': '', 'cconsttype': 'const char * const', 'ctype': 'std::string', 'srcfile': '/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py', 'name': 'footprint', 'edit_method': '', 'default': '[]', 'level': 0, 'min': '', 'type': 'str'}, {'srcline': 291, 'description': 'The radius of the robot in meters, this parameter should only be set for circular robots, all others should use the footprint parameter described above.', 'max': 10.0, 'cconsttype': 'const double', 'ctype': 'double', 'srcfile': '/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py', 'name': 'robot_radius', 'edit_method': '', 'default': 0.46, 'level': 0, 'min': 0.0, 'type': 'double'}, {'srcline': 291, 'description': 'How much to pad (increase the size of) the footprint, in meters.', 'max': inf, 'cconsttype': 'const double', 'ctype': 'double', 'srcfile': '/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py', 'name': 'footprint_padding', 'edit_method': '', 'default': 0.01, 'level': 0, 'min': -inf, 'type': 'double'}], 'type': '', 'id': 0}
  
  min = {}
  max = {}
  defaults = {}
  level = {}
  type = {}
  all_level = 0
  
  #def extract_params(config):
  #    params = []
  #    params.extend(config['parameters'])
  #    for group in config['groups']:
  #        params.extend(extract_params(group))
  #    return params
  
  for param in extract_params(config_description):
      min[param['name']] = param['min']
      max[param['name']] = param['max']
      defaults[param['name']] = param['default']
      level[param['name']] = param['level']
      type[param['name']] = param['type']
      all_level = all_level | param['level']
  
  