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

from dynamic_reconfigure.parameter_generator_catkin import *

gen = ParameterGenerator()

# Robot parameters
gen.add("robot_size",	double_t, 0, "Robot size in m", 0.75, 0.1, 1.5)

# General angular velocity parameters
gen.add("angular_velocity_min",	double_t, 0, "Absolute minimum of angular velocity", 0.17, 0, 1)
gen.add("angular_velocity_max",	double_t, 0, "Absolute maximum of angular velocity", 0.3, 0, 1)

# Angular parameter for repellors
gen.add("angular_repellors_strength",	double_t, 0, "Strength of repellors", 5.0, 0.0, 50.0)
gen.add("angular_repellors_decay",		double_t, 0, "Distance decay of repellors", 1.0, 0, 50.0)
gen.add("angular_attractors_strength",	double_t, 0, "Strength of attractors", 0.5, 0.0, 50.0)
gen.add("target_duration",	double_t, 0, "Lifetime of the target", 5.0, 0.1, 20.0)

# General linear velocity parameters
gen.add("linear_velocity_min",	double_t, 0, "Absolute minimum of linear velocity", 0.08, 0, 1)
gen.add("linear_velocity_max",	double_t, 0, "Absolute maximum of linear velocity", 0.25, 0, 1)
gen.add("linear_velocity_decay",	double_t, 0, "Decay for linear velocity", 1.0, 0.1, 10.0)

# Linear velocity parameter for repellors
gen.add("safe_distance_front", double_t, 0, "Robot safe front distance ", 0.5, 0, 2.0)
gen.add("safe_distance_lateral", double_t, 0, "Robot safe lateral distance ", 0.2, 0, 2.0)

gen.add("update_rate",		double_t, 0, "Update rate ", 20.0, 0.1, 50.0)
gen.add("publish_frequency", double_t, 0, "Publish frequency of command velocity", 10.0, 0.1, 50.0)

exit(gen.generate(PACKAGE, "shared_dynamics_parameters", "SharedDynamics"))
