Skip to content

Feat/sampling planner comparisons#20

Merged
Kim-JeongHan merged 2 commits into
masterfrom
feat/sampling-planner-comparisons
Jun 3, 2026
Merged

Feat/sampling planner comparisons#20
Kim-JeongHan merged 2 commits into
masterfrom
feat/sampling-planner-comparisons

Conversation

@Kim-JeongHan

@Kim-JeongHan Kim-JeongHan commented Jun 3, 2026

Copy link
Copy Markdown
Owner

Summary by CodeRabbit

  • Documentation

    • Expanded README with detailed example comparisons for multiple planners (RRT-Connect, RRG, RRT*, PRM*, Informed RRT*), including side-by-side images, metrics, and performance notes.
  • Examples

    • Enhanced example scripts with planning time measurements and statistics output.
    • Updated planner configuration parameters across multiple examples.

Kim-JeongHan and others added 2 commits June 3, 2026 22:36
The examples now print comparable statistics and the README shows side-by-side outcomes for the sampling planners, so readers can distinguish faster first-solution behavior from graph-based path-quality tradeoffs.

Constraint: Commit only currently staged changes; leave unstaged Informed RRT* edits untouched
Rejected: Add more CLI tuning options | user asked to remove temporary no-show and parameter sweep surfaces
Confidence: high
Scope-risk: narrow
Directive: Keep README comparison numbers aligned with regenerated docs/images outputs when example parameters change
Tested: uv run python -m compileall examples/prm_example.py examples/prm_star_example.py examples/rrg_example.py planning/visualization/rrg_visualizer.py
Tested: uv run examples/prm_example.py --save-image
Tested: uv run examples/prm_star_example.py --save-image
Not-tested: Full test suite
Co-authored-by: OmX <omx@oh-my-codex.dev>
The Informed RRT* example and README now use the same finite-run comparison settings as RRT*, so the docs describe the observed result accurately: equal path quality with slightly faster focused sampling in this run.

Constraint: Preserve the user-regenerated comparison images and staged example settings
Rejected: Claim Informed RRT* always finds a shorter path | finite-run logs show equal path length and waypoint count for this seed
Confidence: high
Scope-risk: narrow
Directive: Keep the RRT* and Informed RRT* comparison parameters aligned before updating these README numbers
Tested: uv run python -m compileall examples/informed_rrt_star_example.py
Not-tested: Full test suite
Co-authored-by: OmX <omx@oh-my-codex.dev>
@coderabbitai

coderabbitai Bot commented Jun 3, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: b89c3883-5758-4349-bbb2-2b289077561d

📥 Commits

Reviewing files that changed from the base of the PR and between 230d3cb and 23ca328.

⛔ Files ignored due to path filters (9)
  • docs/images/informed_rrt_star_example.png is excluded by !**/*.png
  • docs/images/prm_example.png is excluded by !**/*.png
  • docs/images/prm_star_example.png is excluded by !**/*.png
  • docs/images/rrg_example.png is excluded by !**/*.png
  • docs/images/rrt_connect_example.png is excluded by !**/*.png
  • docs/images/rrt_example.png is excluded by !**/*.png
  • docs/images/rrt_example2.png is excluded by !**/*.png
  • docs/images/rrt_star_example.png is excluded by !**/*.png
  • docs/images/rrt_star_opt_example.png is excluded by !**/*.png
📒 Files selected for processing (8)
  • README.md
  • examples/informed_rrt_star_example.py
  • examples/prm_example.py
  • examples/prm_star_example.py
  • examples/rrg_example.py
  • examples/rrt_connect_example.py
  • examples/rrt_example.py
  • examples/rrt_star_example.py

📝 Walkthrough

Walkthrough

README documentation is expanded with detailed example comparison sections for five planners: RRT-Connect, RRG, RRT*, PRM*, and Informed RRT*. Example scripts across the codebase are updated to measure planning duration (RRT, RRT-Connect) and report algorithm statistics (RRG, PRM, PRM*). Planner configurations are tuned across multiple examples to optimize iteration budgets, radius scaling, and obstacle generation parameters.

Changes

Planner examples with metrics and configuration tuning

Layer / File(s) Summary
Documentation with example comparisons
README.md
"## Features" section removed. Detailed "Example comparison" subsections added for RRT-Connect, RRG, RRT*, PRM*, and Informed RRT*, each with side-by-side images, metric tables (iterations, path length, waypoints, planning time, node/edge counts), and explanatory text. Informed RRT* section substantially rewritten with enhanced comparison table and convergence behavior explanation.
Planning duration measurement infrastructure
examples/rrt_example.py, examples/rrt_connect_example.py
Module-level import time added and time.perf_counter() wraps planning calls to measure duration. Planning time printed for both success and no-path cases. RRT-Connect obstacle generation updated from 40 box to 30 mixed obstacles; iteration budget reduced 5000→2000. Redundant inner imports removed.
Statistics and metrics reporting infrastructure
examples/rrg_example.py, examples/prm_example.py, examples/prm_star_example.py
get_stats() calls added to fetch and print statistics key/value pairs under "Statistics:" header. RRG removes explicit GoalBiasedSampler import, updates radius_gain 0.8→2.5, enables path length printing. PRM* increases radius_gain 5.0→10.0. Statistics reported after planning concludes.
Algorithm-specific configuration optimization
examples/rrt_star_example.py, examples/informed_rrt_star_example.py
RRT* configuration: max_iterations 5000→2000, radius_gain 1.0→5.0, adds return_first_solution=False. Informed RRT* configuration: max_iterations 5000→3000, radius_gain 0.4→1.0, adds return_first_solution=False, removes goal_tolerance.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Possibly related PRs

  • Kim-JeongHan/planning#6: Both PRs update README.md's RRT*/related planner documentation and examples/sections (adding/reorganizing RRT* content and visuals).
  • Kim-JeongHan/planning#11: This PR's examples/prm_star_example.py changes (config tuning and stats printing) build directly on the PRM* implementation introduced in that PR.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/sampling-planner-comparisons

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@Kim-JeongHan Kim-JeongHan merged commit bebcb9d into master Jun 3, 2026
1 of 2 checks passed
@Kim-JeongHan Kim-JeongHan deleted the feat/sampling-planner-comparisons branch June 3, 2026 14:03
Kim-JeongHan added a commit that referenced this pull request Jun 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant