ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

Small obstacles and holes detection

asked 2018-11-27 07:58:19 -0500

fturki gravatar image

Hi I'm creating a map in Gazebo (turtlebot) and navigating through it, now I added some small obstacles (height < 0.3 m) and a hole but they didn't figure out in the new map. I think I have to change the costmap params but I have no idea how to do.

edit retag flag offensive close merge delete

Comments

You're going to have to tell us a lot more about how you're sensing and creating this map for us to give you any help. What type of sensor are you using? Can you show us the configuration in your yaml file.

PeteBlackerThe3rd gravatar image PeteBlackerThe3rd  ( 2018-11-27 08:25:26 -0500 )edit

2 Answers

Sort by ยป oldest newest most voted
0

answered 2018-11-29 04:38:15 -0500

fturki gravatar image

updated 2018-11-29 05:25:40 -0500

I'm beginner, I'm using the default navigation params of Turtlebot and wondering what parameters should be changed to obtain the desired map. the common costmap

    max_obstacle_height: 0.60  # assume something like an arm is mounted on top of the robot

# Obstacle Cost Shaping (http://wiki.ros.org/costmap_2d/hydro/inflation)
robot_radius: 0.20  # distance a circular robot should be clear of the obstacle (kobuki: 0.18)
# footprint: [[x0, y0], [x1, y1], ... [xn, yn]]  # if the robot is not circular

map_type: voxel

obstacle_layer:
  enabled:              true
  max_obstacle_height:  0.6
  origin_z:             0.0
  z_resolution:         0.2
  z_voxels:             2C
  unknown_threshold:    15
  mark_threshold:       0
  combination_method:   1
  track_unknown_space:  false    #true needed for disabling global path planning through unknown space
  obstacle_range: 2.5
  raytrace_range: 3.0
  origin_z: 0.0
  z_resolution: 0.2
  z_voxels: 2
  publish_voxel_map: false

#BEGIN VOXEL STUFF

  observation_sources:  scan bump

  #observation_sources:  base_scan_marking base_scan tilt_scan #ground_object_cloud

  scan:
    data_type: LaserScan
    topic: scan
    marking: true
    clearing: true
    min_obstacle_height: 0.0
    max_obstacle_height: 3

 bump:
    data_type: PointCloud2
    topic: mobile_base/sensors/bumper_pointcloud
    marking: true
    clearing: false
    min_obstacle_height: 0.0
    max_obstacle_height: 3

#base_scan_marking: {sensor_frame: base_laser_link, topic: /#base_scan_marking, data_type: PointCloud2, #expected_update_rate: 0.2,
  #observation_persistence: 0.0, marking: true, clearing: false, #min_obstacle_height: 0.08, max_obstacle_height: 2.0}

#base_scan: {sensor_frame: base_laser_link, topic: /base_scan, #data_type: LaserScan, expected_update_rate: 0.2,
             #observation_persistence: 0.0, marking: false, #clearing: true, min_obstacle_height: -0.10, #max_obstacle_height: 2.0}

#tilt_scan: {sensor_frame: laser_tilt_link, topic: /#tilt_scan_interpolated, data_type: LaserScan, #expected_update_rate: 0.2,
             #observation_persistence: 0.2, marking: false, #clearing: true, min_obstacle_height: -20.00, #max_obstacle_height: 40.0}

#cost_scaling_factor and inflation_radius were now moved to the inflation_layer ns
inflation_layer:
  enabled:              true
  cost_scaling_factor:  5.0  # exponential rate at which the obstacle cost drops off (default: 10)
  inflation_radius:     0.5  # max. distance from an obstacle at which costs are incurred for planning paths.

static_layer:
  enabled:              true

here is the r200 costmap param yaml file

global_costmap:
  robot_radius: 0.20  # distance a circular robot should be clear of the obstacle (kobuki: 0.18)
  obstacle_layer:
    scan:
      data_type: LaserScan
      topic: scan
      marking: true
      clearing: true
      min_obstacle_height: 0.05 # previous: 0.25, too high for the R200 configuration!
      max_obstacle_height: 0.35

local_costmap:
  robot_radius: 0.18  # distance a circular robot should be clear of the obstacle (kobuki: 0.18)
  obstacle_layer:
    scan:
      data_type: LaserScan
      topic: scan
      marking: true
      clearing: true
      min_obstacle_height: 0.05 # previous: 0.25, too high for the R200 configuration!
      max_obstacle_height: 0.35
edit flag offensive delete link more
0

answered 2018-11-29 07:48:47 -0500

Kapcirt gravatar image

If you're using the r200, the data_type shouldn't be PointCloud2 instead of LaserScan ? May be one of the reason why it doesn't detect the obstacle. Concerning the holes the costmap layer must have a way to identify and mark point that have a negative z.

edit flag offensive delete link more

Question Tools

Stats

Asked: 2018-11-27 07:55:28 -0500

Seen: 611 times

Last updated: Nov 29 '18