You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
configure nav2 with the InflationLayer and ObstacleLayer plugins configured for the local costmap; the InflationLayer is enabled, but the ObstacleLayer is disabled
implement a "go to pose" behavior tree, executed so that a follow_path is executed after having cleared the local costmap (e.g. after the execution of a recovery)
Expected behavior
nav2's controller server properly follows the computed path.
Actual behavior
nav2's controller server gets stuck in a endless loop after Received a goal, begin computing control effort..
After clearing the local costmap, calling the reset() of the different layered_costmap plugins, the current_ attribute of the ObstacleLayer plugin is set to False, so that the isCurrent() of the plugins returns False, and the LayeredCostmap's isCurrent() returns False as well, even is the plugin is disabled. ObstacleLayer's current_ is never set back to True, as normally done in the the updateCosts(), that is "bypassed" when the plugin is not enabled.
Feature request
Feature description
The isCurrent() of the LayeredCostmap class should take into account whether the plugins are enabled or not.
Implementation considerations
Add a isEnabled() method to the Layer class, and modify
Bug report
Required Info:
Steps to reproduce issue
InflationLayer
andObstacleLayer
plugins configured for the local costmap; theInflationLayer
is enabled, but theObstacleLayer
is disabledfollow_path
is executed after having cleared the local costmap (e.g. after the execution of a recovery)Expected behavior
nav2's controller server properly follows the computed path.
Actual behavior
nav2's controller server gets stuck in a endless loop after
Received a goal, begin computing control effort.
.Additional information
The endless loop is here.
After clearing the local costmap, calling the
reset()
of the different layered_costmap plugins, thecurrent_
attribute of theObstacleLayer
plugin is set toFalse
, so that theisCurrent()
of the plugins returnsFalse
, and theLayeredCostmap
'sisCurrent()
returnsFalse
as well, even is the plugin is disabled.ObstacleLayer
'scurrent_
is never set back toTrue
, as normally done in the theupdateCosts()
, that is "bypassed" when the plugin is not enabled.Feature request
Feature description
The
isCurrent()
of theLayeredCostmap
class should take into account whether the plugins are enabled or not.Implementation considerations
Add a
isEnabled()
method to theLayer
class, and modifyby
in
LayeredCostmap
'sisCurrent()
implementation.Or simply replace
Layer
'sisCurrent()
implementation byThe text was updated successfully, but these errors were encountered: