Rosanswers logo

I am trying to use social costmap in my project . Unlike the examples showed in people where a person is detected by 2D laser scan, a simulated topic /tracked_persons about the pose of people is sent to a simulated robot controlled by move_base. My local_costmap_params.yaml is listed below.

  publish_voxel_map: true

  global_frame: odom
  robot_base_frame: base_link
  update_frequency: 5.0
  publish_frequency: 2.0

  static_map: false
  rolling_window: true
  width: 6.0
  height: 6.0
  resolution: 0.05 # was 0.025
     - {name: people_map,       type: "social_navigation_layers::ProxemicLayer"}
  #publish_frequency: 10.0
    observation_sources: tracked_persons
    tracked_persons: {data_type: TrackedPersons, sensor_frame: /base_link, topic: /tracked_persons}

EDIT1: An example where a robot is planned by move_base goint through the local area with costmap constructed by simulated tracked persons is showed in following two images below. image description

image description

In above two images, the areas(i.e. local costmap) consisting of black blocks are simulated tracked persons. This local costmap is constructed with parameter cutoff=126.0 and amplitude=254.0 in social navigation layer.

The coloured axes is the robot's TF. The blue line ahead of the red axis ( I am sorry it is not so clear) is the local plan of DWAPlannerROS.

The first image was captured at the time when a robot was about to go through the tracked persons. The second image was captured at the time when a robot just has been gone through the tracked persons. The robot walked over the costmap (black areas) with non-zero values.

To my knowledge, Dynamic window approach(DWA) is a collision avoidance method directly relying on costmap_2d, that is why I don't use laser scan to generate local cost map but simulated tracked person messages. By using social navigation layer, a local costmap can be constructed from person messages. Then a robot can avoid people around by using DWA running on the constructed costmap.

However, from the images above, the local path plan (i.e. local collision avoidance) generated by dwa local planner is also over the area with non-zero costmap.

I think the robot should avoid these grey areas and choose a path going through white areas( with zero costmap). So I am confused that if DWA can avoid people around with social navigation layer.

Thank you. I quite expect that the author of people package @David lu can answer my question.

EDIT2: The first image was replaced by an image with red global path plan, The global path plan was generated by default navfn method. Additionally, the static map is with 1 resolution, each grid in the image is with 1m X 1m. The blacked blocks in local costmap are generated by moving tracked persons.

Originally posted by scopus on ROS Answers with karma: 279 on 2015-05-18

Post score: 1

Original comments

Comment by David Lu on 2015-05-18:
Can you explain what exactly is in the picture? Where is the robot and what are the two paths shown?

Comment by David Lu on 2015-05-18:
Also, are you using a custom compiled version of the social layer?

Comment by scopus on 2015-05-18:
I only added a callback function to deal with topic /tracked_persons. The incoming messages about people are still stored in people_list in social_layer.cpp

Comment by scopus on 2015-05-18:
Thank you for your attention! I just re-edit the content, please give me great advices.

Comment by David Lu on 2015-05-18:
Where is the global path in the two images?

Comment by scopus on 2015-05-18:
Please see the updated first image. Thanks.


1 Answer 1


Rosanswers logo

The local planning is an optimization over a number of different factors.

The cost in the costmap is typically weighted very lowly, except when a collision with a lethal cost is detected. This parameter by default is 0.01. This is very low when compared to say the distance to the goal (24) or the distance to the global path (32).

Increasing occdist_scale could get your path to respect the social obstacles more, but a more direct plan might involve also changing the global path.

Originally posted by David Lu with karma: 10932 on 2015-05-19

This answer was ACCEPTED on the original site

Post score: 0


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.