Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Range sensor layer not getting cleared in costmap after removal of obstacle #84

Open
kamalnath26 opened this issue Jan 27, 2022 · 0 comments

Comments

@kamalnath26
Copy link

I am using Range sensor for detection of glass in the same robot. I have added range sensor layer in costmap but after obstacle detection, layer formed in costmap but even after removal obstacle the layer is not getting cleared.

the problem i am facing is i have attached as a video. in simulation it clears the costmap in front side where lidar in located. but in real time it does not clears costamp in front also. in back side of robot the costmap is not getting cleared in both simulation and real time. i have attached my params file also for your reference. please help me solve this issue , i have also done rosservice call to clear costmap it is getting cleared in simulation. so now i have wrote a client file to call rosservice to clear costmap it is working good in simulation but i dont have hope it will work real time . i think it may hit obstacles in real time and i need to check that and i dont know is it the proper way to do it. if there any proper way to do it please let me know or if i have made any mistakes while adding plugin also please let me know.

range_sensor_check.mp4

costmap common params:

footprint: [[-0.420, -0.28], [-0.420, 0.28], [0.420, 0.28], [0.420, -0.28]]

footprint_padding: 0.00
inflation_radius: 0.55
cost_scaling_factor: 5.0

transform_tolerance: 0.2
map_type: costmap

always_send_full_costmap: true

obstacle_layer:
enabled: true
obstacle_range: 3.0
raytrace_range: 4.0
inflation_radius: 0.2
track_unknown_space: true
combination_method: 1

observation_sources: laser_scan_sensor
laser_scan_sensor: {data_type: LaserScan, topic: scan, marking: true, clearing: true}

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
map_topic: "/map"

range_sensor_layer:
topics: ["/sensor/ur_back_left_1", "/sensor/ur_back_left_1", "/sensor/ur_front_left_1", "/sensor/ur_front_right_1"]
no_readings_timeout: 0.0
clear_threshold: .8
mark_threshold: 1.5
clear_on_max_reading: true

local costmap params:

local_costmap:
global_frame: map
robot_base_frame: base_link
update_frequency: 10.0
publish_frequency: 10.0
static_map: false
rolling_window: true
width: 3.0
height: 3.0
resolution: 0.1
transform_tolerance: 0.5

plugins:

  • {name: static_layer, type: "costmap_2d::StaticLayer"}
  • {name: obstacle_layer, type: "costmap_2d::ObstacleLayer"}
  • {name: inflation_layer, type: "costmap_2d::InflationLayer"}
  • {name: range_sensor_layer, type: "range_sensor_layer::RangeSensorLayer"}

global costamap params:

global_costmap:
global_frame: map
robot_base_frame: base_link
update_frequency: 10.0
publish_frequency: 10.0
static_map: true

transform_tolerance: 0.5
plugins:
- {name: static_layer, type: "costmap_2d::StaticLayer"}
- {name: obstacle_layer, type: "costmap_2d::VoxelLayer"}
- {name: inflation_layer, type: "costmap_2d::InflationLayer"}
- {name: range_sensor_layer, type: "range_sensor_layer::RangeSensorLayer"}

move base params:

base_global_planner: navfn/NavfnROS
base_local_planner: base_local_planner/TrajectoryPlannerROS
shutdown_costmaps: false
controller_frequency: 10.0
planner_patience: 5.0
controller_patience: 15.0
conservative_reset_dist: 3.0
planner_frequency: 5.0
oscillation_timeout: 20.0 ##10
oscillation_distance: 0.2
recovery_behavior_enabled: true
clearing_rotation_allowed: false
recovery_behaviors: [{name: conservative_reset, type: clear_costmap_recovery/ClearCostmapRecovery}, {
name: aggressive_reset, type: clear_costmap_recovery/ClearCostmapRecovery}]
# max_planning_retries: -1
reset_distance: 3.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant