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
When comparing the behavior of the stvl and the nav2 obstacle layer some differences in behavior emerged during troubleshooting an issue. In the obstacle_layer (more precisely the used observation buffer) stale observations get purged when they are older than the specified observation_keep_time_ (set via the observation_persistence parameter) compared to `clock_->now() here. For the stvl, this is compared to the last update time here.
This leads to inconsistent behavior when sensor data is suddenly dropping out.
For the obstacle_layer, the observations get removed from the buffer after the set time as would be expected.
The stvl keeps observations past the set observation_persistence as stale buffer entries get only removed when new observations are coming in (due to the update of last_updated_).
I suggest to replace the stale check in the stvl to compare with the current time instead of the last_updated_. Further, as commented in this issue, the update of last_updated in the reset function seems misplaced, and interferes with the expected_update_rate calculation.
Any thoughts on this?
The text was updated successfully, but these errors were encountered:
compared to `clock_->now() here. For the stvl, this is compared to the last update time here.
I checked some of the older git commits and it looks like the behavior in Nav2 was updated but STVL wasn't updated with it. This used to be how Nav2's / ROS Navigation's observation buffer handled it.
When comparing the behavior of the stvl and the nav2 obstacle layer some differences in behavior emerged during troubleshooting an issue. In the obstacle_layer (more precisely the used observation buffer) stale observations get purged when they are older than the specified
observation_keep_time_
(set via theobservation_persistence
parameter) compared to `clock_->now() here. For the stvl, this is compared to the last update time here.This leads to inconsistent behavior when sensor data is suddenly dropping out.
observation_persistence
as stale buffer entries get only removed when new observations are coming in (due to the update oflast_updated_
).I suggest to replace the stale check in the stvl to compare with the current time instead of the
last_updated_
. Further, as commented in this issue, the update oflast_updated
in the reset function seems misplaced, and interferes with theexpected_update_rate
calculation.Any thoughts on this?
The text was updated successfully, but these errors were encountered: