#!/usr/bin/env python
# hanp head behavior configuration

from dynamic_reconfigure.parameter_generator_catkin import ParameterGenerator, str_t, double_t, int_t, bool_t

gen = ParameterGenerator()

gen.add("robot_base_frame", str_t, 0, "frame for robot base", "base_link")
gen.add("head_pan_frame", str_t, 0, "frame for robot head pan link", "head_pan_link")

gen.add("publish_rate", int_t, 0, "rate of publishing point head goals (in hz)", 10, 0, 100)

gen.add("aliveness_weight", double_t, 0, "weight for showing human like presence criterion", 0.9, 0.0, 1.0);
gen.add("interaction_weight", double_t, 0, "weight for participation into an interaction criterion", 1.0, 0.0, 1.0);
gen.add("social_attention_weight", double_t, 0, "weight for attention towards humans criterion", 1.0, 0.0, 1.0);
gen.add("intent_projection_weight", double_t, 0, "weight for projecting robot internal state criterion", 1.0, 0.0, 1.0);

gen.add("point_head_height", double_t, 0, "height parameter for point head during path-looking-behavior (in meters)", 1.5, 0.0, 5.0)
gen.add("ttc_robot_radius", double_t, 0, "radius of the robot time-to-collision checking (in meters)", 0.4, 0.0, 5.0)
gen.add("visibility_angle", double_t, 0, "if human is withing this angle, will considered as seen (in radians)", 0.087, 0.0, 3.14)
gen.add("local_plan_max_delay", double_t, 0, "time to wait after last local-plan before disabling head-behavior (in seconds)", 2.0, 0.0, 100.0);
gen.add("local_plan_end_extend", double_t, 0, "length to add to the last point of local plan for path-following behavior (in meters)", 0.5, 0.0, 100.0);
gen.add("max_ttc", double_t, 0, "maximum time-to-collision to consider for human-looking-behavior (in seconds)", 10.0, 0.0, 100.0)
gen.add("max_gma", double_t, 0, "maximum allowed gaze modulation for head-behavior (in radians)", 1.5, 0, 3.14)

exit(gen.generate("hanp_head_behavior", "hanp_head_behavior", "HANPHeadBehavior"))
