Skip to content
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

Fixes smac planner non-circular footprint search issue #4851

Merged
merged 2 commits into from
Jan 14, 2025
Merged

Conversation

SteveMacenski
Copy link
Member

@SteveMacenski SteveMacenski commented Jan 14, 2025

Resolves #4808 and #4314

The optimization was added to allow non-circular robots to use their full footprint costs in the traversibility function and heuristic function formulations. However, in confined settings, it doesn't work very well and its better to collision check using the full footprint but continue to use the center point costs for the traversal function / heuristic function formulations.

Metrics outlined in #4808 (comment) show that this not only fixes the issue but also doesn't impact speeds in open areas - but faster in confined areas due to the ambiguation of inscribed costs.

TODO

  • benchmark
  • backport

Signed-off-by: Steve Macenski <[email protected]>
@SteveMacenski
Copy link
Member Author

SteveMacenski commented Jan 14, 2025

OG:

----------  -----------------------  ----------------  -----------------  --------
Planner     Average path length (m)  Average Time (s)  Average cost       Max cost
GridBased   51.10449455111457        0.133985194292    7.351264392666914  100.928
GridBased2  51.506940648368534       0.099103423996    7.247839998853134  103.572
----------  -----------------------  ----------------  -----------------  --------

Updated:

----------  -----------------------  -------------------  ------------------  --------
Planner     Average path length (m)  Average Time (s)     Average cost        Max cost
GridBased   51.115783254051415       0.116549856532       3.0431751735718704  84.04
GridBased2  51.517709317230256       0.07625796589600001  2.531342577997387   87.088
----------  -----------------------  -------------------  ------------------  --------

We see no major difference in path lengths, but these updates result in lower total costs and slightly improved compute times. First is Hybrid, second is Lattice

@SteveMacenski SteveMacenski merged commit bc9f2bc into main Jan 14, 2025
9 of 10 checks passed
@mergify mergify bot deleted the 4808 branch January 14, 2025 21:30
mergify bot pushed a commit that referenced this pull request Jan 14, 2025
* initial prototype to resolve smac planner issue

Signed-off-by: Steve Macenski <[email protected]>

* fix test

Signed-off-by: Steve Macenski <[email protected]>

---------

Signed-off-by: Steve Macenski <[email protected]>
(cherry picked from commit bc9f2bc)

# Conflicts:
#	nav2_smac_planner/src/collision_checker.cpp
#	nav2_smac_planner/src/node_hybrid.cpp
SteveMacenski added a commit that referenced this pull request Jan 14, 2025
… (#4852)

* Fixes smac planner non-circular footprint search issue (#4851)

* initial prototype to resolve smac planner issue

Signed-off-by: Steve Macenski <[email protected]>

* fix test

Signed-off-by: Steve Macenski <[email protected]>

---------

Signed-off-by: Steve Macenski <[email protected]>
(cherry picked from commit bc9f2bc)

# Conflicts:
#	nav2_smac_planner/src/collision_checker.cpp
#	nav2_smac_planner/src/node_hybrid.cpp

* fix mergify issue

Signed-off-by: Steve Macenski <[email protected]>

---------

Signed-off-by: Steve Macenski <[email protected]>
Co-authored-by: Steve Macenski <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[SMAC planner] inflation cost not respected on narrow corridor
1 participant