Local planner issue

asked 2017-04-29 05:02:26 -0500

EdCherie gravatar image

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 base_local_planner as well as dwa_local_planner 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>

base_local_planner.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 ...
(more)
edit retag flag offensive close merge delete