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

from dynamic_reconfigure.parameter_generator_catkin import *
from math import pi

gen = ParameterGenerator()

gen.add("simulation_time", double_t, 0, "Simulation time in seconds", 2.0, 0.01, 10.0)
gen.add("granularity", double_t, 0, "Step size in seconds", 0.1, 0.001, 1.0)

gen.add("min_speed", double_t, 0, "Minimum linear speed", 0.1, -5.0, 0.0)
gen.add("max_speed", double_t, 0, "Maximum linear speed", 1.0, 0.0, 5.0)
gen.add("speed_step", double_t, 0, "Step size from min speed to max speed", 0.25, 0.01, 5.0)

gen.add("min_angular_speed", double_t, 0, "Minimum angular speed", -1.0, -5.0, 0.0)
gen.add("max_angular_speed", double_t, 0, "Minimum angular speed", 1.0, 0.0, 5.0)
gen.add("angular_speed_step", double_t, 0, "Step size from min angular speed to max angular speed", 0.25, 0.01, 5.0)

gen.add("inplace_angular_speed", double_t, 0, "Angular speed for in place turns", 1.0, 0.0, 5.0)

gen.add("local_goal_distance", double_t, 0, "Local goal distance from current pose on path", 15.0, 0.01, 100.0)

gen.add("trajectory_score_color",   bool_t,   0, "If true colorize by score",  False)


gen.add("fazzy_safe", double_t, 0, "fuzzy level of safety speed", 										1.0, 0, 16.0)
gen.add("fazzy_recovery", double_t, 0, "fuzzy level of prefere trajectories that lead to safe places", 	1.0, 0, 16.0)
gen.add("fazzy_fast", double_t, 0, "fuzzy level of fastness",					 						0.5, 0, 16.0)
gen.add("fazzy_goal_oriented", double_t, 0, "fuzzy level of goal orientation", 							1.0, 0, 16.0)
gen.add("fazzy_straight", double_t, 0, "fuzzy level of straughtness", 									0.5, 0, 16.0)
gen.add("fazzy_stable", double_t, 0, "fuzzy level of stability", 										0.5, 0, 16.0)
gen.add("fazzy_forward", double_t, 0, "fuzzy level of prefere forward driving", 						1.0, 0, 16.0)


gen.add("fazzy_straight_stdev", double_t, 0, "fuzzy straughtness: std. deviation of angles",			18.  , 0., 360.)
gen.add("fazzy_straight_pow", double_t, 0, "fuzzy straughtness: curvature(importance)",					1.   , 0., 16.)
gen.add("fazzy_straight_min", double_t, 0, "fuzzy straughtness: minimal fazzy value",					0.85 , 0., 1.)




exit(gen.generate(PACKAGE, "navex_navigation", "NavexLocalPlanner")) 