Local planner issue
So I have been tweeking local planner settings for long run application. Everything is fine while the goal is ahead of the robot or relatively in front with some angle. However, when the goal has position same to previous point (for example robot was in (120;0) then went (125;5) and has to return to (120;0)) robot fails to do so and gets into recovery behavior. Global planner, in this case navfnROS, generates a path to the goal but local planner fails to do so. I double checked if the goal point is sent correctly and it seems it is so i think the issue is somewhere with local planner. I tried baselocalplanner as well as dwalocalplanner and both failed to return. Usually it rejects that point and then goes to the other sent goal. The environment is empty, so no obstacles whatsoever, all goals are sent to odom frame as I am interested in global position that local robot position.
P.S. I tried to issue goals at this breaking point with rviz too but same problem persists. Below are my launch files as well as .yaml files
move_base.launch
<launch>
<node pkg="move_base" type="move_base" respawn="false" name="move_base" output="screen">
<param name="base_global_planner" value="navfn/NavfnROS"/>
<param name="base_local_planner" value="dwa_local_planner/DWAPlannerROS"/>
<rosparam file="$(find oscar_control)/costmap_common_params.yaml" command="load" ns="global_costmap" />
<rosparam file="$(find oscar_control)/costmap_common_params.yaml" command="load" ns="local_costmap" />
<rosparam file="$(find oscar_control)/local_costmap_params.yaml" command="load" />
<rosparam file="$(find oscar_control)/global_costmap_params.yaml" command="load" />
<rosparam file="$(find oscar_control)/base_local_planner_params.yaml" command="load" />
<!--<remap from="/odom" to="/odometry/filtered/local" />
<param name="base_local_planner" value="base_local_planner/TrajectoryPlannerROS"/>
-->
<remap from="/odom" to="/sabertooth/odom" />
</node>
</launch>
baselocalplanner.yaml
controller_frequency: 10.0
planner_frequency: 0.0
NavfnROS:
allow_unknown: true # Specifies whether or not to allow navfn to create plans that traverse unknown space.
default_tolerance: 0.01 # A tolerance on the goal point for the planner.
TrajectoryPlannerROS:
max_vel_x: 0.6 # vicky nax = 1.07; min = 0.18;
min_vel_x: 0.3
max_rot_vel: 4.0 # vicky max = 4.65; min = 0.78
min_rot_vel: -4.0
max_vel_y: 0.0 # diff drive robot
min_vel_y: 0.0
max_trans_vel: 0.6
min_trans_vel: 0.3
escape_vel: -0.4
acc_lim_x: 1.5 # default = 2.5
acc_lim_y: 0.0 # default = 2.5
acc_lim_theta: 2.0 # default = 3.2
min_in_place_vel_theta: 2.0
holonomic_robot: false
yaw_goal_tolerance: 3.14 # default = 0.05
xy_goal_tolerance: 0.08 # default = 0.1
latch_xy_goal_tolerance: false
controller_frequency: 20.0
pdist_scale: 0.75
gdist_scale: 3.0
meter_scoring: true
prefer_forward_cost_function: 0.0
heading_lookahead: 0.325
heading_scoring: false
heading_scoring_timestep: 0.8
occdist_scale: 0.1
oscillation_reset_dist: 0.25
publish_cost_grid_pc: false
prune_plan: true
sim_time: 1.0
sim_granularity: 0.025
angular_sim_granularity: 0.02
vx_samples: 8
vtheta_samples: 20
dwa: true
simple_attractor: false
DWAPlannerROS:
# Robot configuration parameters
max_vel_x: 0.6 # vicky nax = 1.07; min = 0.18;
min_vel_x: 0.3
max_rot_vel: 4.0 # vicky max = 4.65; min = 0.78
min_rot_vel: -4.0
max_vel_y: 0.0 # diff drive robot
min_vel_y: 0.0
max_trans_vel: 0.6
min_trans_vel: 0.3
escape_vel: -0.4
acc_lim_x: 1.5 # default = 2.5
acc_lim_y: 0.0 # default = 2.5
acc_lim_theta: 3.0 # default = 3.2
min_in_place_vel_theta: 2.0
holonomic_robot: false
yaw_goal_tolerance: 3.14 # default = 0.05
xy_goal_tolerance: 0.2 # default = 0.1
latch_xy_goal_tolerance: false
controller_frequency: 20.0
path_distance_bias: 3.0
goal_distance_bias: 3.0
prefer_forward_cost_function: 0.0
heading_lookahead: 0.325
heading_scoring: false
heading_scoring_timestep: 0.8
occdist_scale: 0.1
oscillation_reset_dist: 0.25
publish_cost_grid_pc: false
prune_plan: true
sim_time: 1.5
sim_granularity: 0.025
angular_sim_granularity: 0.02
vx_samples: 5
vtheta_samples: 20
dwa: true
simple_attractor: false
global costmap
global_costmap:
map_type: costmap
global_frame: /odom
robot_base_frame: /base_link
update_frequency: 4.0
publish_frequency: 2.0
static_map: false
rolling_window: true
width: 400.0
height: 400.0
resolution: 0.025
inflation_radius: 0.5
local costmap
local_costmap:
map_type: costmap
global_frame: /odom
robot_base_frame: /base_link
update_frequency: 5.0
publish_frequency: 2.0
static_map: false
rolling_window: true
width: 5.0
height: 5.0
resolution: 0.025
inflation_radius: 0.35
Asked by EdCherie on 2017-04-29 05:02:26 UTC
Comments