No version for distro humble. Known supported distros are highlighted in the buttons above.
No version for distro jazzy. Known supported distros are highlighted in the buttons above.
No version for distro rolling. Known supported distros are highlighted in the buttons above.
Repository Summary
Description | Plugin-based layer for social navigation in the Nav2 system of ROS2 |
Checkout URI | https://github.com/robotics-upo/nav2_social_costmap_plugin.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2024-11-12 |
Dev Status | UNKNOWN |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Packages
Name | Version |
---|---|
nav2_social_costmap_plugin | 0.0.0 |
README
Nav2 social costmap plugin
Plugin-based layer for social navigation in the Nav2 system of ROS2 (tested in ROS2 Humble Distro).
It is based on the outdated social_navigation_layers package of ROS1 Melodic. In our case, the ProxemicsLayer and the PassingLayer have been joined in a single layer.
Dependencies
- nav2-costmap-2d
- nav_msgs
- people_msgs. At the moment of this development, people_msgs were not still available to be installed from the apt ros-foxy package server. You can get the package from here: https://github.com/wg-perception/people/tree/ros2. Please, copy it and put it in your workspace.
Subscribed Topic
- /people [people_msgs/People]. The people around the robot.
Published Topic
- *(global or local)_costmap/social_grid [nav_msgs/OccupancyGrid]. Occupancy grid with the social costs employed. Only active if parameter
publish_occgrid
is True.
Parameter configuration
-
enabled
(bool, default: True). Whether to apply this plugin or not. - people_topic (string, default: ‘/people’). The people topic to consider for the costmap.
-
cutoff
(double, default: 5.0). Smallest cost value to publish on the costmap. -
amplitude
(double, default: 255.0). Amplitude of adjustments at peak. Maximum cost on the person center. -
covariance_front_height
(double, default: 0.25). Covariance of the ordinate axis of the Gaussian at the person heading. -
covariance_front_width
(double, default: 0.25). Covariance of the abscissa axis of the Gaussian at the person heading. -
covariance_rear_height
(double, default: 0.25). Covariance of the ordinate axis of the Gaussian at the person’s rear. -
covariance_rear_width
(double, default: 0.25). Covariance of the abscissa axis of the Gaussian at the person’s rear. -
covariance_when_still
(double, default: 0.25). Covariance employed to form a circular cost around the person when she is not moving. -
use_vel_factor
(bool, default: True). Whether to use the current person velocity and thespeed_factor_multiplier
to modify the Gaussian at the person’s front or not. -
speed_factor_multiplier
(double, default: 5.0). Factor with which to scale the velocity. -
use_passing
(bool, default: True). Whether to use another Gaussian in the right side of the person in order to ease the passing maneuvers, for instance in corridors. -
covariance_right_height
(double, default: 0.25). Covariance of the ordinate axis of the Gaussian at the person’s right side. -
covariance_right_width
(double, default: 0.25). Covariance of the abscissa axis of the Gaussian at the person’s right side’. -
publish_occgrid
(bool, default: False). Whether to publish an OccupancyGrid with the only the social costs or not.
NOTE: To be used as the previous ProxemicsLayer of ROS1, the user must set use_passing
to False, use_vel_factor
to True, and to use the same value for the parameters covariance_front_height
, covariance_front_width
, covariance_rear_height
, covariance_rear_width
and covariance_when_still
.
Example of use in Nav2
In the XML configuration file of the Nav2 we must add (in the local_costmap and/or global_costmap section):
local_costmap:
local_costmap:
ros__parameters:
plugins: [(other plugins..), "social_layer"]
social_layer:
plugin: "nav2_social_costmap_plugin::SocialLayer"
people_topic: "/people"
enabled: True
cutoff: 10.0
amplitude: 255.0
publish_occgrid: False
use_passing: True
use_vel_factor: True
speed_factor_multiplier: 5.0
covariance_front_height: 0.4
covariance_front_width: 0.25
covariance_rear_height: 0.25
covariance_rear_width: 0.25
covariance_right_height: 0.3
covariance_right_width: 0.2
covariance_when_still: 0.25
CONTRIBUTING
No CONTRIBUTING.md found.
No version for distro noetic. Known supported distros are highlighted in the buttons above.
No version for distro ardent. Known supported distros are highlighted in the buttons above.
No version for distro bouncy. Known supported distros are highlighted in the buttons above.
No version for distro crystal. Known supported distros are highlighted in the buttons above.
No version for distro eloquent. Known supported distros are highlighted in the buttons above.
No version for distro dashing. Known supported distros are highlighted in the buttons above.
No version for distro galactic. Known supported distros are highlighted in the buttons above.
No version for distro foxy. Known supported distros are highlighted in the buttons above.
No version for distro iron. Known supported distros are highlighted in the buttons above.
No version for distro lunar. Known supported distros are highlighted in the buttons above.
No version for distro jade. Known supported distros are highlighted in the buttons above.
No version for distro indigo. Known supported distros are highlighted in the buttons above.
No version for distro hydro. Known supported distros are highlighted in the buttons above.
No version for distro kinetic. Known supported distros are highlighted in the buttons above.
No version for distro melodic. Known supported distros are highlighted in the buttons above.