Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Using move_base for navigation, obstacle cannot be cleared timely

Dear all,

I am using move_base for navigation with a SICK laser scanner. I have set the local cost map update frequency to 30Hz. However, the obstacle cannot be cleared timely when the obstacle such as a walking person moved away. The costmap will not be updated until the robot move. For example, in the attached figure. The walking person in the green axis has moved away, but the costmap cannot clear the obstacle timely. Thus, the robot will be stick in the virtual corner. The red axis is the robot heading direction.

image description

Thank you very much, Jack

Using move_base for navigation, obstacle cannot be cleared timely

Dear all,

I am using move_base for navigation with a SICK laser scanner. I have set the local cost map update frequency to 30Hz. However, the obstacle cannot be cleared timely when the obstacle such as a walking person moved away. The costmap will not be updated until the robot move.

For example, in the attached figure. The walking person in the green axis has moved away, but the costmap cannot clear the obstacle timely. Thus, the robot will be stick stuck in the virtual corner. The red axis is the robot heading direction.

image description

Thank you very much, Jack

Using move_base for navigation, obstacle cannot be cleared timely

Dear all,

I am using move_base for navigation with a SICK laser scanner. I have set the local cost map update frequency to 30Hz. However, the obstacle cannot be cleared timely when the obstacle such as a walking person moved away. The costmap will not be updated until the robot move.

For example, in the attached figure. The walking person in the green axis has moved away, but the costmap cannot clear the obstacle timely. Thus, the robot will be stuck in the virtual corner. The red axis is the robot heading direction.

image description

The parameter settings are:

obstacle_range: 2.5 raytrace_range: 3.0 robot_radius: 0.165 inflation_radius: 0.30 max_obstacle_height: 0.6 min_obstacle_height: 0.0 observation_sources: scan scan: {sensor_frame: /laser, expected_update_rate: 30, data_type: LaserScan, topic: /scan, marking: true, clearing: true} #data_type: sensor_msgs/LaserScan

global_costmap: global_frame: /map robot_base_frame: /base_link update_frequency: 5.0 publish_frequency: 0.0 rolling_window: false static_map: true resolution: 0.05 transform_tolerance: 2.0 map_type: costmap

local_costmap: global_frame: /odom robot_base_frame: /base_link update_frequency: 30.0 publish_frequency: 10.0
static_map: false rolling_window: true width: 6.0 height: 6.0 resolution: 0.05 transform_tolerance: 2.0 map_type: costmap obstacle_layer: observation_sources: laser_scan_sensor laser_scan_sensor: {sensor_frame: laser_link, data_type: LaserScan, topic: /scan, marking: true, clearing: true, observation_persistence: 0.0, expected_update_rate: 0.0, max_obstacle_height: 2.0, min_obstacle_height: -2.0, obstacle_range: 4.0, raytrace_range: 5.0, inf_is_valid: false} max_obstacle_height: 2.0 obstacle_range: 4.0 raytrace_range: 5.0 track_unknown_space: false

Thank you very much, Jack

Using move_base for navigation, obstacle cannot be cleared timely

Dear all,

I am using move_base for navigation with a SICK laser scanner. I have set the local cost map update frequency to 30Hz. However, the obstacle cannot be cleared timely when the obstacle such as a walking person moved away. The costmap will not be updated until the robot move.

For example, in the attached figure. The walking person in the green axis has moved away, but the costmap cannot clear the obstacle timely. Thus, the robot will be stuck in the virtual corner. The red axis is the robot heading direction.

image description

The parameter settings are:

obstacle_range: 2.5
raytrace_range: 3.0
robot_radius: 0.165
inflation_radius: 0.30
max_obstacle_height: 0.6
min_obstacle_height: 0.0
observation_sources: scan
scan: {sensor_frame: /laser, expected_update_rate: 30, data_type: LaserScan, topic: /scan, marking: true, clearing: true}   #data_type: sensor_msgs/LaserScan

global_costmap: global_frame: /map robot_base_frame: /base_link update_frequency: 5.0 publish_frequency: 0.0 rolling_window: false static_map: true resolution: 0.05 transform_tolerance: 2.0 map_type: costmap

costmap local_costmap: global_frame: /odom robot_base_frame: /base_link update_frequency: 30.0 publish_frequency: 10.0
static_map: false rolling_window: true width: 6.0 height: 6.0 resolution: 0.05 transform_tolerance: 2.0 map_type: costmap obstacle_layer: observation_sources: laser_scan_sensor laser_scan_sensor: {sensor_frame: laser_link, data_type: LaserScan, topic: /scan, marking: true, clearing: true, observation_persistence: 0.0, expected_update_rate: 0.0, max_obstacle_height: 2.0, min_obstacle_height: -2.0, obstacle_range: 4.0, raytrace_range: 5.0, inf_is_valid: false} max_obstacle_height: 2.0 obstacle_range: 4.0 raytrace_range: 5.0 track_unknown_space: false

false

Thank you very much, Jack

Using move_base for navigation, obstacle cannot be cleared timely

Dear all,

I am using move_base for navigation with a SICK laser scanner. I have set the local cost map update frequency to 30Hz. However, the obstacle cannot be cleared timely when the obstacle such as a walking person moved away. The costmap will not be updated until the robot move.

For example, in the attached figure. The walking person in the green axis has moved away, but the costmap cannot clear the obstacle timely. Thus, the robot will be stuck in the virtual corner. The red axis is the robot heading direction.

image description

The parameter settings are:

obstacle_range: 2.5
raytrace_range: 3.0
robot_radius: 0.165
inflation_radius: 0.30
max_obstacle_height: 0.6
min_obstacle_height: 0.0
observation_sources: scan
scan: {sensor_frame: /laser, expected_update_rate: 30, data_type: LaserScan, topic: /scan, marking: true, clearing: true}   

global_costmap:
  global_frame: /map
  robot_base_frame: /base_link
  update_frequency: 5.0
  publish_frequency: 0.0
  rolling_window: false
  static_map: true
  resolution: 0.05
  transform_tolerance: 2.0
  map_type: costmap


local_costmap:
  global_frame: /odom
  robot_base_frame: /base_link
  update_frequency: 30.0 
  publish_frequency: 10.0  
  static_map: false
  rolling_window: true
  width: 6.0
  height: 6.0
  resolution: 0.05
  transform_tolerance: 2.0
  map_type: costmap
obstacle_layer:
    observation_sources: laser_scan_sensor
    laser_scan_sensor: {sensor_frame: laser_link, data_type: LaserScan, topic: /scan, marking: true, clearing: true, observation_persistence: 0.0, expected_update_rate: 0.0, max_obstacle_height: 2.0, min_obstacle_height: -2.0, obstacle_range: 4.0, raytrace_range: 5.0, inf_is_valid: false}
    max_obstacle_height: 2.0
    obstacle_range: 4.0
    raytrace_range: 5.0
    track_unknown_space: false

move_base parameters:

controller_frequency: 3.0
recovery_behavior_enabled: false
clearing_rotation_allowed: false

TrajectoryPlannerROS:
   max_vel_x: 0.5
   min_vel_x: 0.03
   max_vel_y: 0.0   
   min_vel_y: 0.0
   min_in_place_vel_theta: 0.5
   max_vel_theta: 0.25
   min_vel_theta: -0.25
   escape_vel: -0.1
   acc_lim_x: 2.5
   acc_lim_y: 0.0 
   acc_lim_theta: 3.2

   holonomic_robot: false
   yaw_goal_tolerance: 0.15  
   xy_goal_tolerance: 0.15  
   latch_xy_goal_tolerance: false
   pdist_scale: 1.2
   gdist_scale: 0.6
   meter_scoring: true

   heading_lookahead: 0.5  
   heading_scoring: false
   heading_scoring_timestep: 0.8
   occdist_scale: 0.2 
   oscillation_reset_dist: 0.05
   publish_cost_grid_pc: false
   prune_plan: true

   sim_time: 1.0
   sim_granularity: 0.025
   angular_sim_granularity: 0.025
   vx_samples: 8
   vy_samples: 0 
   vtheta_samples: 20
   dwa: true
   simple_attractor: false

Thank you very much, Jack