Skip to content

Exercise 06: add PRM and RRT* planning tasks - #158

Open
angelostefanini0 wants to merge 11 commits into
masterfrom
feature/ex06-prm-rrt-star-clean
Open

Exercise 06: add PRM and RRT* planning tasks#158
angelostefanini0 wants to merge 11 commits into
masterfrom
feature/ex06-prm-rrt-star-clean

Conversation

@angelostefanini0

Copy link
Copy Markdown

Changes

  • Removed the SAT tasks and related exercise material from collision_primitives.py, data.py, and ex06.py, restructuring Exercise 06 into seven tasks.
  • Updated docs/06-collisionchecking.md to document the new exercise structure, PRM and RRT*, and the expected evaluation behavior.
  • Added the student-facing PRM and RRT* interfaces in sampling_planners.py.
  • Added deterministic public planning scenarios in sampling_data.py, covering direct-path and obstacle cases.
  • Added visualizations in visualization.py for planning scenarios, PRM samples, obstacles, queries, and returned paths.
  • Fixed Tasks 4 and 5 by extending Task 4 sensing to cover the complete robot motion and restoring the random seed after CVXPY validation so generated cases remain reproducible and independent.
  • Added public evaluation for Tasks 6 and 7 in ex06.py. PRM paths are checked for endpoints, sample membership, bounds, collision-free edges, connection radius, and shortest-path cost; RRT* paths are checked for endpoints, bounds, collision-free edges, deterministic behavior on validation scenarios, and cost relative to the reference solution.
  • Deep-copied planner inputs before validation and execution, and validated implementations on both trivial and obstacle scenarios.
  • Aligned the pre-commit Black environment with the project's Python 3.11 requirement.

Validation

  • All public reference cases for Tasks 1–7 pass with accuracy 1.0.
  • Formatting, compilation, imports, scenario determinism, and visualization smoke tests pass.

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