open-rmf / open-rmf/next_gen_prototype

[Feature request]: Make active-route blockage parameters configurable

Open
#46 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Python
Stars
10
Forks
9
Avg merge
3d 8h
Merged PRs (30d)
2

Description

Before proceeding, is there an existing issue or discussion for this?
Description

PR #36 adds active-route blockage detection to the plan executor. The current implementation uses three hard-coded constants:

  • BLOCKAGE_DEBOUNCE = 300 ms: how long a route must remain blocked before reporting CODE_PATH_BLOCKED
  • REPLAN_COOLDOWN = 2 s: minimum delay between blockage reports
  • OCCUPIED_THRESHOLD = 50: occupancy-grid value above which a cell is treated as blocked

These defaults work for the current demos but have not been tuned across different robots, map update rates, or deployments.

Implementation Considerations

Expose the values as ROS parameters while preserving the current defaults.

The implementation should:

  • Reject negative debounce and cooldown durations
  • Restrict the occupancy threshold to valid occupancy-grid values
  • Document how each parameter affects replanning
  • Test the default values and parameter overrides

We should also consider whether the parameters belong to the plan executor globally or need per-robot overrides.

Alternatives

Keep the values hard-coded. This is simpler, but tuning them would require rebuilding the plan executor and would make deployment-specific configuration difficult.

Additional information

This follows review feedback on #36 requesting a ticket to document and track these constants.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the active-route blockage detection added by PR #36 and locate the plan executor's three hard-coded constants: BLOCKAGE_DEBOUNCE, REPLAN_COOLDOWN, and OCCUPIED_THRESHOLD. Check how the plan executor currently reports CODE_PATH_BLOCKED, then review the project's parameter and test conventions. Done means configurable parameters preserve current defaults, reject invalid values, document replanning effects, and cover defaults and overrides in tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
robotics
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
50/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.