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

from dynamic_reconfigure.parameter_generator_catkin import *

gen = ParameterGenerator()

gen.add("camera_angle", double_t, 0, "The angle corresponding to the image width", 80, 50, 180)
gen.add("target_width", double_t, 0, "the real target width (m)", 1, 0.01, 1.5)
gen.add("target_depth", double_t, 0, "the real target depth (m)", .2, 0.01, 0.5)
gen.add("distance_to_target", double_t, 0, "The required distance to the target (m)", 2, 1, 5)
gen.add("max_speed", double_t, 0, "the maximal linear speed", .3, .01, 3)
gen.add("max_acceleration", double_t, 0, "the maximal linear speed", .3, .01, 3)


gen.add("speed_linear_x_Kp", double_t, 0, "linear.x controller Kp", .01, 0, 2)
gen.add("speed_linear_x_Ki", double_t, 0, "linear.x controller Ki", .01, 0, 2)
gen.add("speed_linear_x_Kd", double_t, 0, "linear.x controller Kd", .01, 0, 2)
gen.add("linear_x_Kp", double_t, 0, "linear.x controller Kp", .01, 0, 1)
gen.add("linear_x_Ki", double_t, 0, "linear.x controller Ki", .01, 0, 1)
gen.add("linear_x_Kd", double_t, 0, "linear.x controller Kd", .01, 0, 1)
gen.add("control_linear_x", bool_t, 0, "Control distance to target", True)
gen.add("speed_corrector_x", double_t, 0, "Distance from which the speed corrector is disabled", .1, 0, 3)

gen.add("speed_linear_y_Kp", double_t, 0, "linear.y controller Kp", .01, 0, 2)
gen.add("speed_linear_y_Ki", double_t, 0, "linear.y controller Ki", .01, 0, 2)
gen.add("speed_linear_y_Kd", double_t, 0, "linear.y controller Kd", .01, 0, 2)
gen.add("linear_y_Kp", double_t, 0, "linear.y controller Kp", .01, 0, 1)
gen.add("linear_y_Ki", double_t, 0, "linear.y controller Ki", .01, 0, 1)
gen.add("linear_y_Kd", double_t, 0, "linear.y controller Kd", .01, 0, 1)
gen.add("control_linear_y", bool_t, 0, "Controls the facing to target", True)
gen.add("speed_corrector_y", double_t, 0, "Distance from which the speed corrector is disabled", .1, 0, 3)

gen.add("linear_z_Kp", double_t, 0, "linear.z controller Kp", .01, 0, 10)
gen.add("linear_z_Ki", double_t, 0, "linear.z controller Ki", .01, 0, 10)
gen.add("linear_z_Kd", double_t, 0, "linear.z controller Kd", .01, 0, 10)
gen.add("control_linear_z", bool_t, 0, "Controls the facing to target", True)

gen.add("angular_z_Kp", double_t, 0, "angular.z controller Kp", .01, 0, 10)
gen.add("angular_z_Ki", double_t, 0, "angular.z controller Ki", .01, 0, 10)
gen.add("angular_z_Kd", double_t, 0, "angular.z controller Kd", .01, 0, 10)
gen.add("control_angular_z", bool_t, 0, "Controls the facing to target", True)



exit(gen.generate(PACKAGE, "detect_targets", "TriangleParam"))
