Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
c72815c
Testing sim2real irl
shraddhaamohan May 10, 2025
56022e0
Fixed trajectory. Car stops (pokkali2, sm148)
sanjaypokkali May 11, 2025
85b2b1a
fully tested reak planning ( sm148, pokkali2, brijesh2, saik2, ps109)
shraddhaamohan May 11, 2025
4a67e1e
Merge branch 'gazebo_agent_detection' into s2025_planning_PR
brijesh2709 May 12, 2025
5d21442
Merge fix obstacle.py
brijesh2709 May 12, 2025
6ea3060
Cleaned up Kinodynamic RRT* implementation
anandk1999 May 14, 2025
0e30c6d
Small change - Kinodynamic RRT*
anandk1999 May 14, 2025
859fdf7
Modify computational_graph, add ped_yield_logic and planning launch file
shraddhaamohan May 14, 2025
d0ba6bf
Add occupancy grid and visualization of rrt path code
brijesh2709 May 14, 2025
a1ce552
Add collision checker for rrt
shraddhaamohan May 14, 2025
c0b1f47
Add occupancy grid map utils for rrt
brijesh2709 May 14, 2025
6851834
Add updated route planning component, mission plan and base rrt star …
sanjaypokkali May 14, 2025
25d16ab
clearing the clutter
brijesh2709 May 14, 2025
5d4d4b3
worked on a quintic hermite spline planner for generating a C2 contin…
jeffbyju May 14, 2025
5e4a1c0
worked on the code for extracting occupancy grid from a screenshot of…
jeffbyju May 14, 2025
36e7af3
added pgm file for the highbay map
jeffbyju May 14, 2025
6885121
Adding my code to the file
prathyush-706 May 14, 2025
c267266
added the code for generating a quintic hermite spline to the correct…
jeffbyju May 14, 2025
5046446
Kinodynamic RRT* planning added
anandk1999 May 14, 2025
cc7949e
Clean up trajectory planning component
brijesh2709 May 14, 2025
28eaf4c
Merge branch 's2025_planning_PR' of https://github.com/krishauser/GEM…
brijesh2709 May 14, 2025
a146a92
Synced trajectory planners different use cases
brijesh2709 May 14, 2025
2a69605
Yaml file updates to show all available planners
brijesh2709 May 14, 2025
71f12ff
Delete unused files
brijesh2709 May 14, 2025
408c12f
Merge branch 's2025' into s2025_planning_PR
brijesh2709 May 14, 2025
46e93b6
working sim
brijesh2709 May 14, 2025
9f8ead9
remove files
brijesh2709 May 14, 2025
49b8fa5
minor fixes
brijesh2709 May 14, 2025
7bd4965
Merge fixes 1
brijesh2709 May 14, 2025
fa5de46
Merge fixes 2
brijesh2709 May 14, 2025
aaf403e
Merge fixes
brijesh2709 May 14, 2025
807b615
fixes
brijesh2709 May 14, 2025
9849848
done
brijesh2709 May 14, 2025
3447704
test
brijesh2709 May 14, 2025
93af3ea
test
brijesh2709 May 14, 2025
e49abb5
Remove redundant code
brijesh2709 May 15, 2025
b99e3c8
Merge branch 's2025' into s2025_planning_PR
sanjaypokkali May 15, 2025
cbf2e9f
fix spacing eof
brijesh2709 May 15, 2025
61c8387
Merge branch 's2025_planning_PR' of https://github.com/krishauser/GEM…
brijesh2709 May 15, 2025
5df09de
print statements, eof, pep guidelines
brijesh2709 May 15, 2025
3df964e
Merge branch 's2025' into s2025_planning_PR
sanjaypokkali May 15, 2025
31f1840
No longer passing mode in mission plan and getting directly from sett…
sanjaypokkali May 15, 2025
7576e96
WIP: local changes to route_planning_component.py
brijesh2709 May 15, 2025
2c856b3
Merge branch 's2025_planning_PR' of https://github.com/krishauser/GEM…
brijesh2709 May 15, 2025
5340a9c
Relapce X_Component naming convention
brijesh2709 May 16, 2025
5ef94a5
updated computation_graph
brijesh2709 May 16, 2025
4d0c3f4
Unmodify files planning team did not change
sanjaypokkali May 16, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 14 additions & 4 deletions GEMstack/knowledge/defaults/computation_graph.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -46,18 +46,28 @@ components:
- mission_planning:
inputs: all
outputs: mission
- mission_planning_example: # one way
inputs: all
outputs: mission_plan
- route_planning:
inputs: all
outputs: route
- route_planning_component:
inputs: all
outputs: [ route, mission ]
- planning_route: # one way
inputs: [vehicle,mission_plan, agents, obstacles]
outputs: route
- save_lidar_data:
inputs: all
outputs:
- driving_logic:
inputs:
outputs: intent
- parking_component: # one way
inputs: all
outputs: mission_plan
- summon_component: # one way
inputs: all
outputs: route
outputs: route
- _mission_planner: # one way
inputs: all
outputs: mission_plan
Expand All @@ -75,4 +85,4 @@ components:
outputs:
- gazebo_collision_logger:
inputs: []
outputs:
outputs:
55 changes: 55 additions & 0 deletions GEMstack/onboard/planning/collision.py
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 added GEMstack/onboard/planning/highbay_image.pgm
Binary file not shown.
Loading
Loading