-
Notifications
You must be signed in to change notification settings - Fork 10
S2025 Planning PR #219
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
Merged
Merged
S2025 Planning PR #219
Changes from all commits
Commits
Show all changes
47 commits
Select commit
Hold shift + click to select a range
c72815c
Testing sim2real irl
shraddhaamohan 56022e0
Fixed trajectory. Car stops (pokkali2, sm148)
sanjaypokkali 85b2b1a
fully tested reak planning ( sm148, pokkali2, brijesh2, saik2, ps109)
shraddhaamohan 4a67e1e
Merge branch 'gazebo_agent_detection' into s2025_planning_PR
brijesh2709 5d21442
Merge fix obstacle.py
brijesh2709 6ea3060
Cleaned up Kinodynamic RRT* implementation
anandk1999 0e30c6d
Small change - Kinodynamic RRT*
anandk1999 859fdf7
Modify computational_graph, add ped_yield_logic and planning launch file
shraddhaamohan d0ba6bf
Add occupancy grid and visualization of rrt path code
brijesh2709 a1ce552
Add collision checker for rrt
shraddhaamohan c0b1f47
Add occupancy grid map utils for rrt
brijesh2709 6851834
Add updated route planning component, mission plan and base rrt star …
sanjaypokkali 25d16ab
clearing the clutter
brijesh2709 5d4d4b3
worked on a quintic hermite spline planner for generating a C2 contin…
jeffbyju 5e4a1c0
worked on the code for extracting occupancy grid from a screenshot of…
jeffbyju 36e7af3
added pgm file for the highbay map
jeffbyju 6885121
Adding my code to the file
prathyush-706 c267266
added the code for generating a quintic hermite spline to the correct…
jeffbyju 5046446
Kinodynamic RRT* planning added
anandk1999 cc7949e
Clean up trajectory planning component
brijesh2709 28eaf4c
Merge branch 's2025_planning_PR' of https://github.com/krishauser/GEM…
brijesh2709 a146a92
Synced trajectory planners different use cases
brijesh2709 2a69605
Yaml file updates to show all available planners
brijesh2709 71f12ff
Delete unused files
brijesh2709 408c12f
Merge branch 's2025' into s2025_planning_PR
brijesh2709 46e93b6
working sim
brijesh2709 9f8ead9
remove files
brijesh2709 49b8fa5
minor fixes
brijesh2709 7bd4965
Merge fixes 1
brijesh2709 fa5de46
Merge fixes 2
brijesh2709 aaf403e
Merge fixes
brijesh2709 807b615
fixes
brijesh2709 9849848
done
brijesh2709 3447704
test
brijesh2709 93af3ea
test
brijesh2709 e49abb5
Remove redundant code
brijesh2709 b99e3c8
Merge branch 's2025' into s2025_planning_PR
sanjaypokkali cbf2e9f
fix spacing eof
brijesh2709 61c8387
Merge branch 's2025_planning_PR' of https://github.com/krishauser/GEM…
brijesh2709 5df09de
print statements, eof, pep guidelines
brijesh2709 3df964e
Merge branch 's2025' into s2025_planning_PR
sanjaypokkali 31f1840
No longer passing mode in mission plan and getting directly from sett…
sanjaypokkali 7576e96
WIP: local changes to route_planning_component.py
brijesh2709 2c856b3
Merge branch 's2025_planning_PR' of https://github.com/krishauser/GEM…
brijesh2709 5340a9c
Relapce X_Component naming convention
brijesh2709 5ef94a5
updated computation_graph
brijesh2709 4d0c3f4
Unmodify files planning team did not change
sanjaypokkali File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,55 @@ | ||
| from scipy.ndimage import distance_transform_edt | ||
|
|
||
| def build_collision_lookup(grid, safety_margin=2, vehicle_width=1.0): | ||
| """ | ||
| Build a collision lookup table for efficient collision checking. | ||
|
|
||
| Args: | ||
| grid: Binary occupancy grid (1=obstacle, 0=free) | ||
| safety_margin: Additional safety margin in grid cells | ||
| vehicle_width: Width of the vehicle in grid cells | ||
|
|
||
| Returns: | ||
| Dictionary with distance transform, collision mask, and margin | ||
| """ | ||
| dist = distance_transform_edt(1 - grid) | ||
| margin = safety_margin + vehicle_width / 2.0 | ||
| return { | ||
| "distance": dist, | ||
| "collision_mask": dist <= margin, | ||
| "margin": margin, | ||
| } | ||
|
|
||
| def fast_collision_check(x, y, lookup): | ||
| """ | ||
| Check if a point is in collision using the precomputed lookup table. | ||
|
|
||
| Args: | ||
| x, y: Coordinates to check | ||
| lookup: Collision lookup table from build_collision_lookup | ||
|
|
||
| Returns: | ||
| True if in collision, False if free | ||
| """ | ||
| xi, yi = int(round(x)), int(round(y)) | ||
| cm = lookup["collision_mask"] | ||
| if xi < 0 or yi < 0 or xi >= cm.shape[0] or yi >= cm.shape[1]: | ||
| return True # Out of bounds is considered collision | ||
| return cm[xi, yi] | ||
|
|
||
| def path_collision_check(path, lookup, x_off=0, y_off=0): | ||
| """ | ||
| Check if a path is collision-free. | ||
|
|
||
| Args: | ||
| path: List of (x, y, theta) poses | ||
| lookup: Collision lookup table | ||
| x_off, y_off: Optional offsets to apply | ||
|
|
||
| Returns: | ||
| True if collision detected, False if path is free | ||
| """ | ||
| for px, py, _ in path: | ||
| if fast_collision_check(px + x_off, py + y_off, lookup): | ||
| return True | ||
| return False |
Binary file not shown.
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.