Configure PiBT planning grid resolution - #51
Conversation
Declare startup parameters for the PIBT grid resolution and global robot footprint. Apply the configured resolution to mapped and mapless planning while preserving the existing defaults. Signed-off-by: SamuelFoo <fooenzesamuel@gmail.com>
arjo129
left a comment
There was a problem hiding this comment.
Can we consider splitting this up into smaller PRs? Lets merge your PIBT stuff in. The executor stuff may need a bit more iteration.
| use std::sync::Arc; | ||
|
|
||
| const MIN_PLANNING_RESOLUTION: f32 = 1.0; | ||
| pub const DEFAULT_PLANNING_GRID_RESOLUTION: f64 = 1.0; |
There was a problem hiding this comment.
| pub const DEFAULT_PLANNING_GRID_RESOLUTION: f64 = 1.0; | |
| pub(crate) const DEFAULT_PLANNING_GRID_RESOLUTION: f64 = 1.0; |
Keep it public within the crate. Don't make it pub to the entire world.
| .description("Minimum PIBT grid-cell size in metres") | ||
| .read_only()?; | ||
| let robot_footprint_radius = node | ||
| .declare_parameter("robot_footprint_radius") |
There was a problem hiding this comment.
Lets not introduce this parameter yet. There is a discussion for this here: #3
| blockage_debounce: Duration::from_secs_f64(DEFAULT_BLOCKAGE_DEBOUNCE_SECONDS), | ||
| replan_cooldown: Duration::from_secs_f64(DEFAULT_REPLAN_COOLDOWN_SECONDS), | ||
| occupied_threshold: DEFAULT_OCCUPIED_THRESHOLD as i8, | ||
| allocation_grid_resolution: DEFAULT_ALLOCATION_GRID_RESOLUTION as f32, |
There was a problem hiding this comment.
Ive got a slightly different approach for this in a throw away branch where allocation_grid_resolution is directly derived from the /map topic:
For the spatio-temporal allocation it makes sense to go with a much higher resolution.
Remove the global robot footprint parameter while its interface is still under discussion. Preserve the existing 0.49 m fallback behavior. Signed-off-by: SamuelFoo <fooenzesamuel@gmail.com>
Keep the default grid resolution private to the library crate. Read the executable's parameter default from PibtPlanner instead of exporting the constant. Signed-off-by: SamuelFoo <fooenzesamuel@gmail.com>
Document the planning_grid_resolution startup parameter and align its help text with the repository's terminology. Signed-off-by: SamuelFoo <fooenzesamuel@gmail.com>
Signed-off-by: SamuelFoo <fooenzesamuel@gmail.com>
a144539 to
b74847d
Compare
|
Made the changes and updated the PR description. Ready for review! |
arjo129
left a comment
There was a problem hiding this comment.
LGTM. Before I merge it do you mind adding a test/demo?
New feature implementation
Implemented feature
This PR makes the PiBT planning grid resolution configurable through a read-only ROS parameter.
The existing
1.0 mresolution remains the default, so current deployments retain their behavior unless the parameter is overridden.Implementation description
This PR:
planning_grid_resolutionparameter tormf_path_serverPartially addresses #47.
test_map_subscription.rswas edited to passrustfmttests.GenAI Use
We follow OSRA's policy on GenAI tools
Generated-by: GPT-5