Skip to content

Commit

Permalink
config - preliminary parameter tuning for socially-complaint behavi…
Browse files Browse the repository at this point in the history
…our and reasonable performance [#92]
  • Loading branch information
rayvburn committed Dec 29, 2023
1 parent d2f9f0f commit df135b1
Showing 1 changed file with 8 additions and 5 deletions.
13 changes: 8 additions & 5 deletions cfg/HuberoPlanner.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ group_limits_custom.add("maintain_vel_components_rate", bool_t, 0, "When true an
group_general = gen.add_group("General", type="tab")

group_general.add("planning_approach", bool_t, 0, "Whether to use planning (True) or proactive approach (False) for trajectory generation", True)
group_general.add("sim_time", double_t, 0, "The amount of time to roll trajectories out for in seconds. Too high with impede high velocities as traj. points will exceed the local costmap.", 3.0, 0)
group_general.add("sim_time", double_t, 0, "The amount of time to roll trajectories out for in seconds. Too high with impede high velocities as traj. points will exceed the local costmap.", 2.0, 0)
group_general.add("sim_granularity", double_t, 0, "The granularity with which to check for collisions along each trajectory in meters", 0.2, 0)
group_general.add("angular_sim_granularity", double_t, 0, "The granularity with which to check for collisions for rotations in radians", 0.1, 0)
group_general.add("local_goal_distance_multiplier", double_t, 0, "The factor for the distance from the center point of the robot to place the local goal for self-driven force calculation; consider reducing it for proactive approach; resultant distance must not exceed local costmap bounds.", 1.1, 0.10, 8.0)
Expand Down Expand Up @@ -153,8 +153,11 @@ group_traj_social_as.add("fis_as_amplifier_granularity", double_t, 0, "", +1.00,
group_cost = gen.add_group("Cost", type="tab")

## Weights/scales of the cost functions
group_cost.add("path_distance_scale", double_t, 0, "The weight for the path distance part of the cost function", 7.9, 0.0)
group_cost.add("goal_distance_scale", double_t, 0, "The weight for the goal distance part of the cost function", 10.58, 0.0)
# Performance tuning was performed using `path_distance_scale` initially set to 7.7. Values up to 14.0 provide
# reasonable results (9.9, 11.0, 12.0 were also tested).
group_cost.add("path_distance_scale", double_t, 0, "The weight for the path distance part of the cost function", 10.0, 0.0)
# Note that `goal_distance_scale` at 17.5 may slow down the robot just before the goal (e.g., near walls).
group_cost.add("goal_distance_scale", double_t, 0, "The weight for the goal distance part of the cost function", 17.5, 0.0)
group_cost.add("occdist_scale", double_t, 0, "The weight for the obstacle distance part of the cost function", 0.02, 0.0)
group_cost.add("occdist_sum_scores", bool_t, 0, "Whether to sum up the scores along the path or use the maximum one", False)
group_cost.add("occdist_separation", double_t, 0, "The minimum separation that should be kept from obstacles", 0.025, 0.0)
Expand All @@ -165,8 +168,8 @@ occdist_kernel = gen.enum([
"Occdist Separation Kernel Type")
group_cost.add("occdist_separation_kernel", int_t, 0, "Type of kernel that the robot's footprint is enlarged with.", 1, 0, 1, edit_method=occdist_kernel)
group_cost.add("ttc_scale", double_t, 0, "The weight for the time to collision cost function (scores a whole trajectory instead of a single cell)", 3.0, 0.0)
group_cost.add("alignment_scale", double_t, 0, "The weight for the alignment with the global plan. In a classical DWA implementation equal to `path_distance_scale`", 1.4, 0.0)
group_cost.add("goal_front_scale", double_t, 0, "The weight for the achievement of the additional goal point placed in front of the mobile base. In a classical DWA implementation equal to `goal_distance_scale`", 5.0, 0.0)
group_cost.add("alignment_scale", double_t, 0, "The weight for the alignment with the global plan. In a classical DWA implementation equal to `path_distance_scale`", 1.5, 0.0)
group_cost.add("goal_front_scale", double_t, 0, "The weight for the achievement of the additional goal point placed in front of the mobile base. In a classical DWA implementation equal to `goal_distance_scale`", 8.0, 0.0)

group_cost.add("backward_scale", double_t, 0, "The weight for the backward motion penalisation", 0.08, 0.0)
group_cost.add("heading_change_smoothness_scale", double_t, 0, "The weight for the cost function that penalizes robot rotational velocity changes", 11.0, 0.0)
Expand Down

0 comments on commit df135b1

Please sign in to comment.