-
Notifications
You must be signed in to change notification settings - Fork 266
Added documentation for asymmetric_inflation_layer #913
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
Open
mbloechli
wants to merge
8
commits into
ros-navigation:master
Choose a base branch
from
mbloechli:feat/asymmetric_inflation_layer
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 5 commits
Commits
Show all changes
8 commits
Select commit
Hold shift + click to select a range
f0a4b3a
Added documentation for asymmetric_inflation_layer
mbloechli 7e018b0
added image to layer description
mbloechli 48a9b42
added description to migration page
mbloechli 7617a0a
added description to plugins page
mbloechli c72dcad
linting
mbloechli 0cbc913
removed figure showing standard inflation, updated asymmetric layer p…
mbloechli 353a47c
removed figure showing standard inflation, updated asymmetric layer p…
mbloechli fe59707
removed inflation_threshold and asymmetric_factor parameters and spli…
mbloechli File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
169 changes: 169 additions & 0 deletions
169
configuration/packages/costmap-plugins/asymmetric_inflation.rst
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,169 @@ | ||
| .. asymmetric_inflation: | ||
|
|
||
| Asymmetric Inflation Layer Parameters | ||
| ====================================== | ||
|
|
||
| This layer implements an asymmetric variant of the inflation layer, biasing the robot's path toward one side of the corridor by raising obstacle costs asymmetrically around the planned path. | ||
|
SteveMacenski marked this conversation as resolved.
Outdated
|
||
|
|
||
|
|
||
| ``<asymmetric inflation layer>`` is the corresponding plugin name selected for this type. | ||
|
|
||
|
|
||
| :``<asymmetric inflation layer>``.enabled: | ||
|
|
||
| ==== ======= | ||
| Type Default | ||
| ---- ------- | ||
| bool True | ||
| ==== ======= | ||
|
|
||
| Description | ||
| Whether it is enabled. | ||
|
|
||
| :``<asymmetric inflation layer>``.inflation_radius: | ||
|
|
||
| ====== ======= | ||
| Type Default | ||
| ------ ------- | ||
| double 2.0 | ||
| ====== ======= | ||
|
|
||
| Description | ||
| Radius to inflate costmap around lethal obstacles. | ||
|
|
||
| :``<asymmetric inflation layer>``.cost_scaling_factor: | ||
|
|
||
| ====== ======= | ||
| Type Default | ||
| ------ ------- | ||
| double 4.0 | ||
| ====== ======= | ||
|
|
||
| Description | ||
| Exponential decay factor across inflation radius. | ||
|
|
||
| :``<asymmetric inflation layer>``.asymmetry_factor: | ||
|
|
||
| ====== ======= | ||
| Type Default | ||
| ------ ------- | ||
| double 0.75 | ||
| ====== ======= | ||
|
|
||
| Description | ||
| Signed bias in to influence asymmetry. Must be in the range (-1, 1). | ||
|
|
||
| a value > 0 biases to the right of the path, < 0 to the left | ||
|
|
||
|
|
||
|
|
||
| :``<asymmetric inflation layer>``.inflate_around_unknown: | ||
|
|
||
| ==== ======= | ||
| Type Default | ||
| ---- ------- | ||
| bool False | ||
| ==== ======= | ||
|
|
||
| Description | ||
| Whether to treat unknown cells as lethal for inflation purposes. | ||
|
|
||
| :``<asymmetric inflation layer>``.plan_topic: | ||
|
|
||
| ====== ======= | ||
| Type Default | ||
| ------ ------- | ||
| string "plan" | ||
| ====== ======= | ||
|
|
||
| Description | ||
| Topic on which to receive the global path (``nav_msgs/msg/Path``). | ||
|
|
||
| :``<asymmetric inflation layer>``.goal_distance_threshold: | ||
|
|
||
| ====== ======= | ||
| Type Default | ||
| ------ ------- | ||
| double 1.5 | ||
| ====== ======= | ||
|
|
||
| Description | ||
| Distance to the goal (m) below which asymmetric inflation is disabled. | ||
|
|
||
| This prevents oscillations when the robot is approaching the target pose. | ||
|
|
||
| :``<asymmetric inflation layer>``.neutral_threshold: | ||
|
|
||
| ====== ======= | ||
| Type Default | ||
| ------ ------- | ||
| double 2.0 | ||
| ====== ======= | ||
|
|
||
| Description | ||
| Maximum perpendicular distance (m) from the path centreline. | ||
|
|
||
| Obstacles farther than this distance are ignored. | ||
|
SteveMacenski marked this conversation as resolved.
Outdated
|
||
|
|
||
|
|
||
| Usage Note | ||
| ---------- | ||
|
|
||
| ``AsymmetricInflationLayer`` reads the symmetric cost baseline written by | ||
| ``nav2_costmap_2d::InflationLayer``. | ||
| It must appear **after** ``InflationLayer`` in the ``plugins`` list: | ||
|
|
||
|
|
||
| Example | ||
| ---------- | ||
|
|
||
| .. code-block:: yaml | ||
|
|
||
| global_costmap: | ||
| ros__parameters: | ||
| update_frequency: 10.0 | ||
| publish_frequency: 10.0 | ||
| global_frame: map | ||
| robot_base_frame: base_link | ||
| footprint: "[ [0.525, 0.325], [0.525, -0.325], [-0.525, -0.325], [-0.525, 0.325] ]" | ||
| width: 10 | ||
| height: 10 | ||
| origin_x: -5.0 | ||
| origin_y: -5.0 | ||
| resolution: 0.05 | ||
| track_unknown_space: false | ||
| plugins: ["static_layer", "inflation_layer", "asymmetric_inflation_layer"] | ||
| static_layer: | ||
| plugin: "nav2_costmap_2d::StaticLayer" | ||
| map_subscribe_transient_local: True | ||
| inflation_layer: | ||
| plugin: "nav2_costmap_2d::InflationLayer" | ||
| cost_scaling_factor: 5.0 | ||
| inflation_radius: 1.0 | ||
| asymmetric_inflation_layer: | ||
| plugin: "nav2_costmap_2d::AsymmetricInflationLayer" | ||
| enabled: True | ||
| inflation_radius: 3.0 | ||
|
SteveMacenski marked this conversation as resolved.
|
||
| cost_scaling_factor: 4.0 | ||
| asymmetry_factor: 0.75 | ||
| inflate_around_unknown: False | ||
| plan_topic: "plan" | ||
| goal_distance_threshold: 1.5 | ||
| neutral_threshold: 3.0 | ||
|
|
||
|
|
||
|
|
||
| The above example settings, when applied to an office simulation would give the following costmap. | ||
|
|
||
| .. figure:: images/asymmetric_layer_inactive.png | ||
| :align: center | ||
| :alt: Costmap without asymmetric inflation layer | ||
|
|
||
| Costmap without the asymmetric inflation layer. | ||
|
|
||
|
|
||
| .. figure:: images/asymmetric_layer_active.png | ||
| :align: center | ||
| :alt: Costmap with asymmetric inflation layer | ||
|
|
||
| Costmap with the asymmetric inflation layer. | ||
|
SteveMacenski marked this conversation as resolved.
Outdated
|
||
Binary file added
BIN
+83.3 KB
configuration/packages/costmap-plugins/images/asymmetric_layer_active.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+83.8 KB
configuration/packages/costmap-plugins/images/asymmetric_layer_inactive.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
|
SteveMacenski marked this conversation as resolved.
|
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.