#! /usr/bin/env python
# Ackermann Planner configuration

PACKAGE='ackermann_local_planner'

import sys

from dynamic_reconfigure.parameter_generator_catkin import *

gen = ParameterGenerator()

gen.add("max_vel", double_t, 0,
    "The maximum velocity for the robot in m/s", 0.55)
gen.add("min_vel", double_t, 0,
    "The minimum velocity for the robot in m/s", 0.0)

gen.add("min_radius", double_t, 0,
    "The minimum turning radius of the robot in m", 0.4, 0)

# acceleration
gen.add("acc_lim", double_t, 0,
    "The acceleration limit of the robot", 2.5, 0, 20.0)

gen.add("lookahead_factor", double_t, 0,
    "PurePursuit Lookahend Factor", 1.0, 0, 2.0)

#gen.add("vx_samples", int_t, 0,
#    "The number of samples to use when exploring the x velocity space", 3, 1)
gen.add("radius_samples", int_t, 0,
    "The number of samples to use when exploring the turning radius space", 20, 1)

gen.add("xy_goal_tolerance", double_t, 0,
    "Within what maximum distance we consider the robot to be in goal", 0.1)
gen.add("yaw_goal_tolerance", double_t, 0,
    "Within what maximum angle difference we consider the robot to face goal direction", 0.1)

gen.add("move", bool_t, 0,
    "Enable publishing of movement commands", True)

exit(gen.generate(PACKAGE, "ackermann_local_planner", "AckermannPlanner"))
