#!/usr/bin/env python
PACKAGE = "rsa17"

from dynamic_reconfigure.parameter_generator_catkin import *

gen = ParameterGenerator()

gen.add("voronoi_restricted", double_t, 0, "Voronoi Constraint: Restricted", 0.3, 0, 2)
gen.add("voronoi_partial", double_t, 0, "Voronoi Constraint: Partial", 0.2, 0, 2)
gen.add("voronoi_expand", double_t, 0, "Voronoi Constraint: Expand", 0.5, 0, 2)
gen.add("voronoi_orphanThreshold", double_t, 0, "Voronoi Constraint: Orphan Threshold", 20, 0, 100)

gen.add("min_travel_distance", double_t, 0, "Minimum travel distance for wall following target", 0.3, 0, 2)
gen.add("obstruction_angle", double_t, 0, "Angle to deviate by to consider that a path is blocked (in degrees)", 45, 0, 360)
gen.add("proximity_angle", double_t, 0, "Proximity Angle to define when the robot is 'at the goal' (in degrees)", 20, 0, 360)
gen.add("proximity_distance", double_t, 0, "Proximity Distance to define when the robot is 'at the goal'", 0.5, 0, 10)
gen.add("skeleton_search_distance", double_t, 0, "Skeleton Search Distance", 1.570795, 0, 3.14159)
gen.add("wall_search_distance", double_t, 0, "Wall Search Distance", 1.0, 0, 10)
gen.add("wall_search_angle", double_t, 0, "Wall Search Angle", 1.570795, 0, 3.14159)

gen.add("map_sub", str_t, 0, "Map Sub Topic", "map")

gen.add("drive_max_vel", double_t, 0, "Voronoi Constraint: Expand", 0.3, 0, 2)
gen.add("drive_max_turn", double_t, 0, "Voronoi Constraint: Expand", 0.3, 0, 2)

# This file name must match the same name as the 3rd parameter, or catkin will keep rebuilding the header file
exit(gen.generate(PACKAGE, "rsa17_reconfig", "CrosbotExploreReconfig"))
