Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
413 commits
Select commit Hold shift + click to select a range
3891eed
updating tx in lidar to camera
AadarshHegde123 Feb 20, 2025
63432ef
lidar->vehecle matrix. and update manual pointpicking
rjsun06 Feb 20, 2025
fd501fa
Merge branch 'EstCal_A' of https://github.com/krishauser/GEMstack int…
rjsun06 Feb 20, 2025
1b44351
camera to vehicle by point selecting.
rjsun06 Feb 20, 2025
9c91ffc
dumb typo
rjsun06 Feb 20, 2025
11907a3
dumb typo
rjsun06 Feb 20, 2025
fa73970
adding testing script and lidar to cam script
AadarshHegde123 Feb 21, 2025
04239a4
Merge branch 'A4_planning_part2' into A4_planning
udymd Feb 22, 2025
60e3d20
Fixed for test function
udymd Feb 23, 2025
591b385
Merge branch 's2025_teamA_control-planning' into A4_planning
udymd Feb 23, 2025
89b16df
Added args for sim/real and milestine/dt/dx in launch
udymd Feb 23, 2025
91632e2
Modified coordinates among real/sim and perception
udymd Feb 23, 2025
e6ec341
Merge pull request #127 from krishauser/A4_planning
udymd Feb 23, 2025
047f84f
get_minimum_deceleration_for_collision_avoidance completed
Henry-YiW Feb 23, 2025
c05d406
get_minimum_deceleration_for_collision_avoidance completed
Henry-YiW Feb 23, 2025
df80729
get_minimum_deceleration_for_collision_avoidance tested
Henry-YiW Feb 23, 2025
54e1af4
Modifying for multiple pedestrians
udymd Feb 23, 2025
1be8acf
Updated gem_e4_dynamics.yaml
laneccolin Feb 23, 2025
66884ba
Merge branch 's2025_teamA' into infra_a_main
Averyyy Feb 23, 2025
323cba2
Merge pull request #117 from krishauser/infra_a_main
Averyyy Feb 23, 2025
cab0bd0
Update the newest pedestrian detection code
rty727433198 Feb 23, 2025
1762b6e
Update gem_e4_dynamics.yaml
laneccolin Feb 23, 2025
96e55b4
Modify for real car
udymd Feb 23, 2025
bc56dc7
Merge branch 's2025_teamA' of https://github.com/krishauser/GEMstack …
udymd Feb 23, 2025
81311b2
Fix indent
udymd Feb 24, 2025
b7682f4
Modified for multiple pedestrians
udymd Feb 24, 2025
ec9d1a6
Merged update
krishauser Feb 24, 2025
d87f5a5
Merge branch 's2025' into s2025_teamA
krishauser Feb 24, 2025
5e04c43
Add camera transform to yaml file
michalj1 Feb 24, 2025
41b39cf
longitudinal plan and brake handled
Henry-YiW Feb 24, 2025
5b5dbd3
Fix cz GNSS coordinate issue solved
udymd Feb 24, 2025
c166eb4
Merge branch 'A4_planning_H1P2_henry' into A4_planning
udymd Feb 24, 2025
82d68b6
get_minimum_deceleration_for_collision_avoidance tested
Henry-YiW Feb 24, 2025
d3ee30e
Modified yaml file to set params of planner
udymd Feb 24, 2025
e9d56d9
Merge branch 's2025_teamA' into A4_planning
udymd Feb 24, 2025
95419dc
Merge pull request #133 from krishauser/A4_planning
udymd Feb 24, 2025
1356375
Reorganizing code. Pending items - pure pursuit controller has oscill…
animeshsingh98 Feb 24, 2025
f10fbbe
Delete .DS_Store
animeshsingh98 Feb 24, 2025
adc4dd5
Added README.md
whizkid42 Feb 24, 2025
9d47105
Updated README.md
whizkid42 Feb 25, 2025
ec606e3
Removing conflict flags
animeshsingh98 Feb 25, 2025
a5d05f9
Modify for perception coordinates
udymd Feb 25, 2025
a75f355
Transfered logic into pedestrian_yield_logic.py
udymd Feb 25, 2025
34dedde
Make generating plots and metrics automatic upon exit of a run by aut…
Jason717717 Feb 25, 2025
90acf7c
add speed error as a factor of comfort index
Jason717717 Feb 25, 2025
92e4ba8
fix a typo for log folder
Jason717717 Feb 25, 2025
bb666ba
add safety index
Jason717717 Feb 25, 2025
24347d5
format metrics to 2 decimal places
Jason717717 Feb 25, 2025
66bc2bd
improved camera->vehicle
rjsun06 Feb 25, 2025
e14d743
add auto_plot attribute in log as comment
Jason717717 Feb 25, 2025
90c25fd
add result for fake_sim with pedestrian_detection.yaml
Jason717717 Feb 25, 2025
af020c0
Removing conflict flags
animeshsingh98 Feb 25, 2025
93cb91a
Update pedestrian_detection.py
rty727433198 Feb 25, 2025
41e46df
Merge branch 's2025_teamA' of https://github.com/krishauser/GEMstack …
udymd Feb 25, 2025
998f75e
Modified to load param in a planner
udymd Feb 25, 2025
29a9d4e
Correcting logic for collision detection
animeshsingh98 Feb 25, 2025
07046eb
Make more points for milestone implementation
SimonKato Feb 25, 2025
e2c7a02
debug cruising speed
Patrick8894 Feb 25, 2025
8045f7c
Adding new modules in requirement.txt
animeshsingh98 Feb 25, 2025
36ff1d3
fixed a bug
SimonKato Feb 25, 2025
5115a4f
Update pedestrian_detection.py
rty727433198 Feb 25, 2025
2999a4f
remove result for fake_sim with pedestrian detection launch yaml file
Jason717717 Feb 25, 2025
66d2069
Merge pull request #139 from krishauser/infra_a_auto_plot
Averyyy Feb 25, 2025
d72f891
Bug where we weren't including the last milestone
SimonKato Feb 26, 2025
24a72c0
Merge branch 'A4_planning_part1_milestone_more_points' into s2025_teamA
SimonKato Feb 26, 2025
a0ed900
Update pedestrian_detection.py
rty727433198 Feb 26, 2025
f09bde8
removing unnecessary file
AadarshHegde123 Feb 26, 2025
af7b5ec
Rename make_gem_e4_ouster_v2.py to lidar_to_vehicle.py
AadarshHegde123 Feb 26, 2025
b2ce15b
Add additional model to dynamics.py that allows for various function …
alo-20 Feb 26, 2025
acfd73b
fix: use latest folders locally and on s3
nmashchenko Feb 26, 2025
c247a43
Update README.md
AadarshHegde123 Feb 26, 2025
28d728f
Update README.md
AadarshHegde123 Feb 26, 2025
4d99bb7
Tune Values in current.yaml so the car does not oscillate
jyl2017 Feb 26, 2025
12663fe
desired speeds and real speeds mismatch issues debugging
joe-hung Feb 26, 2025
83bc82c
Merge pull request #141 from krishauser/s2025_teamA_avery_model
alo-20 Feb 26, 2025
81c5fb5
demo scripts
rjsun06 Feb 26, 2025
70a8173
Merge branch 'EstCal_A' of https://github.com/krishauser/GEMstack int…
rjsun06 Feb 26, 2025
5e70824
Updated date
whizkid42 Feb 26, 2025
3b041a8
Merge remote-tracking branch 'origin/EstCal_A' into EstCal_A
whizkid42 Feb 26, 2025
fb2bf76
fixing yaml matrix
AadarshHegde123 Feb 26, 2025
c3f0449
TODO comment added
SimonKato Feb 26, 2025
2e5bea5
code restructure + clean up
AadarshHegde123 Feb 26, 2025
799c566
removing conflict
AadarshHegde123 Feb 26, 2025
97f76c5
clean-up tested + working
AadarshHegde123 Feb 26, 2025
16cd934
readme update
AadarshHegde123 Feb 26, 2025
430bee1
Merge pull request #143 from krishauser/EstCal_A
AadarshHegde123 Feb 26, 2025
096c28c
Updated camera->vehicle gem_e4_oak.yaml
AadarshHegde123 Feb 26, 2025
201714b
improved accuracy matrices
AadarshHegde123 Feb 26, 2025
3565815
Revert pedestrian detection logic to ray casting
rty727433198 Feb 26, 2025
e94b12a
Merge branch 'A4_planning_transferLogic' into s2025_teamA_planning
udymd Feb 27, 2025
5cd621e
Update gem_e4_ouster.yaml
AadarshHegde123 Feb 27, 2025
977fff8
Update gem_e4_oak.yaml with dates
AadarshHegde123 Feb 27, 2025
e07c668
Updating calibration date in gem_e4.yaml to match most up to date mat…
AadarshHegde123 Feb 27, 2025
e405589
making camera->vehicle script easier to run
AadarshHegde123 Feb 27, 2025
af950f0
camera->vehicle command line arg version works
AadarshHegde123 Feb 27, 2025
060736f
Update documentation
rty727433198 Feb 27, 2025
4b38d44
Merge branch 's2025_teamA' of https://github.com/krishauser/GEMstack …
rty727433198 Feb 27, 2025
31d58ce
Update pedestrian_detection.py
rty727433198 Feb 27, 2025
d68028a
command line args added to lidar->vehicle
AadarshHegde123 Feb 27, 2025
4944d09
Delete yolov8n.pt
rty727433198 Feb 27, 2025
013916e
updating read me and yaml measurement
AadarshHegde123 Feb 27, 2025
47006ee
Transfered yield algorithms
udymd Feb 27, 2025
f878cc5
Merge branch 's2025_teamA' into s2025_teamA_planning
udymd Feb 27, 2025
e35d421
adding optional command line arguments to data capture script
AadarshHegde123 Feb 27, 2025
d5ecbb2
all quality of life changes now complete
AadarshHegde123 Feb 27, 2025
ee8d1ad
Update README.md
AadarshHegde123 Feb 27, 2025
006348c
Update README.md
AadarshHegde123 Feb 27, 2025
e842aea
Update README.md
AadarshHegde123 Feb 27, 2025
a4a43c3
Cleaned up comments
SimonKato Feb 27, 2025
b1090f1
Merge pull request #147 from krishauser/EstCal_A_testing
AadarshHegde123 Feb 27, 2025
c9ac223
removing duplicate file from hw directory
AadarshHegde123 Feb 27, 2025
fd76adb
some code cleanup
Patrick8894 Feb 27, 2025
d922b49
Fix typo
udymd Feb 27, 2025
086e9a5
Merge branch 's2025_teamA_planning' of https://github.com/krishauser/…
udymd Feb 27, 2025
9ec7778
more details in readme
AadarshHegde123 Feb 27, 2025
4ce3419
clarification comments in gem_e4_oak.yaml
AadarshHegde123 Feb 27, 2025
135f0d8
clarifying comments in gem_e4_ouster.yaml
AadarshHegde123 Feb 27, 2025
f2029d5
codes cleaned
Henry-YiW Feb 27, 2025
97f7521
Clean dt code
udymd Feb 27, 2025
22b5994
Updated to use command line arugments
whizkid42 Feb 27, 2025
0364c78
Merge pull request #149 from krishauser/EstCal_A_testing_2
AadarshHegde123 Feb 27, 2025
9c8dc54
Update README.md
AadarshHegde123 Feb 27, 2025
bce7cfd
add comparison plot
ShellyRiver Feb 24, 2025
c8d8378
add pedestrian_detection tracking comparison plots
ShellyRiver Feb 25, 2025
bc12bdd
update pedestrian detection comparison graphs
ShellyRiver Feb 25, 2025
7e69ce7
Update README.md
AadarshHegde123 Feb 27, 2025
7f35cb0
Merge branch 's2025_teamA' of github.com:krishauser/GEMstack into s20…
ShellyRiver Feb 27, 2025
cd2b01c
Merge branch 'A4_planning_H1P2_henry' into s2025_teamA_planning
udymd Feb 27, 2025
15d1b74
Update README.md
AadarshHegde123 Feb 27, 2025
9c9e25c
Update README.md
AadarshHegde123 Feb 27, 2025
2d22ee9
fixed formatting
AadarshHegde123 Feb 27, 2025
ed986b8
fix typo
AadarshHegde123 Feb 27, 2025
40743a6
Update pedestrian_yield_logic.py
udymd Feb 27, 2025
5fdfde8
Adding results in readme
AadarshHegde123 Feb 27, 2025
682ad45
Merge pull request #150 from krishauser/s2025_teamA_planning
udymd Feb 27, 2025
b3d4290
formatting
AadarshHegde123 Feb 27, 2025
c97a30b
Modified test funciton
udymd Feb 27, 2025
868325e
Merge branch 's2025_teamA' of https://github.com/krishauser/GEMstack …
udymd Feb 27, 2025
4c56c3e
adding yaml for lidar->camera transform
AadarshHegde123 Feb 27, 2025
a5af802
adding description to yaml
AadarshHegde123 Feb 27, 2025
aa02bb0
Merge branch 's2025_teamA' of https://github.com/krishauser/GEMstack …
AadarshHegde123 Feb 27, 2025
01a4486
Update README.md to include dependencies for code
AadarshHegde123 Feb 27, 2025
a08d541
Update README.md
AadarshHegde123 Feb 27, 2025
54b1bd7
fixing typo in readme
AadarshHegde123 Feb 27, 2025
118c1c7
Update pedestrian_detection.py
rty727433198 Feb 27, 2025
88cf406
Merge branch 's2025_teamA' of https://github.com/krishauser/GEMstack …
rty727433198 Feb 27, 2025
6cd43aa
Merge pull request #142 from krishauser/hotfix/s3-pull-strategy
Averyyy Feb 28, 2025
924f690
Merge pull request #151 from krishauser/infra_a_main
Averyyy Feb 28, 2025
6ac1a6b
Update the merged version
rty727433198 Mar 27, 2025
6db2384
Update pedestrian_detection.py
Ren990420 Mar 28, 2025
39922ef
Cone detection update
rty727433198 Apr 2, 2025
05748fb
Update cone_detection.py
rty727433198 Apr 8, 2025
47225b4
Update cone_detection.py
rty727433198 Apr 8, 2025
ebd1111
Create cone.pt
rty727433198 Apr 8, 2025
701c81e
Update cone_detection.py
rty727433198 Apr 8, 2025
ce45e25
Update cone_detection.py
rty727433198 Apr 8, 2025
fbf60b5
Update cone_detection.py
rty727433198 Apr 8, 2025
59f6a2e
Update cone_detection.py
Ren990420 Apr 14, 2025
5d903e6
Update agent.py
rty727433198 Apr 16, 2025
1e41933
Update cone_detection.py
rty727433198 Apr 16, 2025
d27f767
Update cone_detection.py
rty727433198 Apr 16, 2025
d7f197c
Create Visualization.py
Ren990420 Apr 18, 2025
95cee43
Update cone_detection.py
rty727433198 Apr 18, 2025
e69b59f
Merge branch 's2025_perception_merge_Tianyu' of https://github.com/kr…
rty727433198 Apr 18, 2025
403fb24
Update cone_detection.py
Ren990420 Apr 18, 2025
2ef0992
Update cone_detection
Ren990420 Apr 21, 2025
312dbf6
Update cone_detection.py
rty727433198 Apr 21, 2025
58d6ffb
Merge branch 's2025_perception_merge_Tianyu' of https://github.com/kr…
rty727433198 Apr 21, 2025
1c94c19
Update cone_detection with different settings
rty727433198 Apr 23, 2025
70076ae
Update cone_detection.py
rty727433198 Apr 23, 2025
f15d948
Update cone_detection.py
rty727433198 Apr 23, 2025
dde07e7
Update cone_detection.py
rty727433198 Apr 23, 2025
e57146a
Update cone_detection.py
rty727433198 Apr 23, 2025
f8eac63
Update cone_detection.py
rty727433198 Apr 24, 2025
2b2afc6
Initial rosbag processing code to extract train and test image and li…
LucasEby Apr 25, 2025
04fff4c
fixed folder formatting and creation issues
LucasEby Apr 26, 2025
89939c1
add iou calc and main func structure for 3d bbox perf eval. Need to a…
lukasdumasius Apr 27, 2025
dab9d18
Finish eval_3d_bbox_performance. Added mAP scores, plot_pr_curves(), …
lukasdumasius Apr 27, 2025
d393daa
Add test_eval_3d_bbox_performance in KITTI format
lukasdumasius Apr 27, 2025
c640e2d
Moved parameters to yaml file
jwang501 Apr 29, 2025
24b0626
Update Visualization.py
rty727433198 Apr 30, 2025
3f3c5a5
Update cone_detection.py
rty727433198 Apr 30, 2025
57ee33f
Updated the yaml file settings
rty727433198 May 1, 2025
023a889
Update cone_detection.yaml
rty727433198 May 1, 2025
82fe084
Updated a better filter; Correct START frame transformation
rty727433198 May 2, 2025
42fea03
Update cone_detection.py
rty727433198 May 2, 2025
c96b164
Moved perception utilities to their own file and cleaned up library i…
LucasEby May 2, 2025
696937c
bug fix: Forgot to import utils in cone_detection. Will test code lat…
LucasEby May 2, 2025
e386be3
Added some comments to explain complicated sections of code and moved…
LucasEby May 2, 2025
24e0e3f
Merge pull request #175 from krishauser/sensor_fusion_tianyu
Ren990420 May 2, 2025
f225433
Initial attempt at combining pointpillars with lidar. Ran into packag…
LucasEby May 3, 2025
9234869
Will start modifying code to publish a BoundBoxArray
LucasEby May 3, 2025
b27dd43
Initial PointPillars container build process
LucasEby May 4, 2025
f03ca21
Initial point pillars and yolo nodes
LucasEby May 4, 2025
0c51d41
Docker container now subscribes to and publishes to nodes outside of …
LucasEby May 4, 2025
baf9bb5
Updated some documentation. Put notes in for future place for someone…
LucasEby May 4, 2025
702c1a7
Merge branch 'sensor_fusion_data_processing' into sensor_fusion_tianyu
lukasdumasius May 4, 2025
7ace7ee
Was not required to have Nvidia Toolkit on system so removing Team B …
LucasEby May 4, 2025
2ca4120
Created a readme file for the perception team and wrote initial senso…
LucasEby May 4, 2025
3241c74
Cleaned up CombinedDetector3D and it's yaml file and documented plan …
LucasEby May 4, 2025
a889ccc
Create PointPillars_ROS
lukasdumasius May 5, 2025
284e80a
Create pointpillars_test.launch
lukasdumasius May 5, 2025
6ceb3d5
pointpillars_ros_node.py updated K, D matrices
lukasdumasius May 5, 2025
04ddc1d
Add CmakeLists.txt
lukasdumasius May 5, 2025
75dfafb
Add package.xml
lukasdumasius May 5, 2025
cfd3994
combined_detection.py add merge, fusing 3d bboxes
lukasdumasius May 5, 2025
93d44e2
Added 3d IOU calculation to combined_detection.py
LucasEby May 5, 2025
43c2908
Update cone detection and pedestrian detection
rty727433198 May 7, 2025
f36acb1
Update cone_detection.yaml
rty727433198 May 7, 2025
90ab0d3
Fixed some minor errors
rty727433198 May 7, 2025
30e5528
change all 'agent' into 'obstacle' in cone detection
rty727433198 May 7, 2025
3574a80
Fixed some run commands in the README file
LucasEby May 7, 2025
914b109
Fixed a MAJOR problem that caused the detections to be extremely off.…
LucasEby May 7, 2025
86d8045
Added some debug code for development purposes
LucasEby May 7, 2025
40106d6
Fixed tiny issue with reflectivity range
LucasEby May 7, 2025
8d5ded1
move l2v to cameras.yaml
rty727433198 May 8, 2025
56d8195
no longer change agent.py
rty727433198 May 8, 2025
aeff943
Update Visualization.py
rty727433198 May 9, 2025
6596f84
Correct orientation error
rty727433198 May 9, 2025
6d5f834
Remove velocity
rty727433198 May 9, 2025
9901471
Update cone_detection.py
rty727433198 May 10, 2025
da48feb
Updated Obstacle.py
rty727433198 May 12, 2025
6d04639
Update obstacle.py
rty727433198 May 12, 2025
fb356e5
Added yolo and point_pillars bounding box visualization code. Fixed W…
LucasEby May 13, 2025
da235ed
Moved shared pedestrian helper functions to utility files. Fixed boun…
LucasEby May 13, 2025
27f612e
Cleaned up bounding box creation process for YOLO node and moved to a…
LucasEby May 13, 2025
72477b2
Added support for combined_detection_utils.py helper functions in poi…
LucasEby May 13, 2025
d869163
Cleaned up unneeded camera matrices from point_pillars_node.py
LucasEby May 13, 2025
aa630ec
Added orientation averaging, fixed a PP bbox height bug, fixed a comb…
LucasEby May 14, 2025
b3c0209
Added id tracking to combined_detection.py. Decreased iou_threshold s…
LucasEby May 14, 2025
6bc8a79
combined_detection.yaml Add model merging mode
lukasdumasius May 14, 2025
7a5b685
combined_detection.py Add model output merging logic
lukasdumasius May 14, 2025
f95cc0c
point_pillars_node.py clean up
lukasdumasius May 14, 2025
c2f2b2b
yolo_node.py update transform matrices + clean up
lukasdumasius May 14, 2025
b990e35
combined_detection.py clean up
lukasdumasius May 14, 2025
aa321cd
Added back the code which converts AgentStates to start frame and tra…
LucasEby May 14, 2025
1db9aef
Made it so Point Pillars bounding box bottoms are cut at ground level
LucasEby May 14, 2025
b7a5fd0
Fixed small typo in point_pillars_node.py
LucasEby May 14, 2025
3bb641b
Added vertical bounding box shift option to Point Pillars boxes
LucasEby May 14, 2025
a741ef0
Added BEV bounding box fusing. Fixed a bug that was in the combined_d…
LucasEby May 14, 2025
fefd213
Fixed some more bugs that were found in the code
LucasEby May 14, 2025
bffa03d
Updated sensor_fusion_tianyu with most recent changes in s2025_percep…
LucasEby May 14, 2025
e427647
Condensed utility files into perception combined utility files
LucasEby May 14, 2025
907c8d4
Added camera calibration file to yolo_node.py
LucasEby May 14, 2025
78ac729
Fixed some tiny things
LucasEby May 14, 2025
34e2062
combined_detection add updated 3d iou
lukasdumasius May 15, 2025
8e42b16
Add confidence threshold to eval, confusion matrices for YOLO_lidar_g…
lukasdumasius May 15, 2025
ba277fb
Add confidence threshold to eval, confusion matrices for YOLO_lidar_g…
lukasdumasius May 15, 2025
7542f05
Updated Perception README file and added BEVFusion set up instructions.
LucasEby May 15, 2025
86cb561
Merge pull request #223 from krishauser/sensor_fusion_tianyu
lukasdumasius May 15, 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
15 changes: 14 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ share/python-wheels/
.installed.cfg
*.egg
MANIFEST
.idea/

# PyInstaller
# Usually these files are written by a python script from a template
Expand Down Expand Up @@ -134,6 +135,7 @@ venv/
ENV/
env.bak/
venv.bak/
*.DS_Store

# Spyder project settings
.spyderproject
Expand Down Expand Up @@ -168,4 +170,15 @@ cython_debug/

.vscode/
setup/zed_sdk.run
cuda/

cuda/
#Ignore ROS bags
*.bag

*.png
*.npz
/4.21
/4.30
/5.9
/parking_data
/perception_4.9
Binary file added GEMstack/.DS_Store
Binary file not shown.
35 changes: 35 additions & 0 deletions GEMstack/knowledge/calibration/cameras.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
cameras:
front:
K:
- [684.83331299, 0.0, 573.37109375]
- [0.0, 684.60968018, 363.70092773]
- [0.0, 0.0, 1.0]
D: [0.0, 0.0, 0.0, 0.0, 0.0]
T_l2c:
- [ 0.0289748006, -0.999580136, 0.0000368439, -0.0307300513]
- [-0.0094993062, -0.0003122155, -0.999954834, -0.386689354 ]
- [ 0.999534999, 0.0289731321, -0.0095043721, -0.671425124 ]
- [ 0.0, 0.0, 0.0, 1.0 ]
T_l2v:
- [ 0.99939639, 0.02547917, 0.023615, 1.1 ]
- [ -0.02530848, 0.99965156, -0.00749882, 0.03773583 ]
- [ -0.02379784, 0.00689664, 0.999693, 1.95320223 ]
- [ 0.0, 0.0, 0.0, 1.0 ]

front_right:
K:
- [1176.25545, 0.0, 966.432645]
- [0.0, 1175.14569, 608.580326]
- [0.0, 0.0, 1.0 ]
D: [-0.270136325, 0.164393255, -0.00160720782, -0.0000741246708, -0.0619939758]
T_l2c:
- [-0.71836368, -0.69527204, -0.02346088, 0.05718003]
- [-0.09720448, 0.13371206, -0.98624154, -0.15983010]
- [ 0.68884317, -0.70619960, -0.16363744, -1.04767285]
- [ 0.0, 0.0, 0.0, 1.0 ]
T_l2v:
- [0.99939639, 0.02547917, 0.023615, 1.1]
- [-0.02530848, 0.99965156, -0.00749882, 0.03773583]
- [-0.02379784, 0.00689664, 0.999693, 1.95320223]
- [0.0, 0.0, 0.0, 1.0 ]

6 changes: 3 additions & 3 deletions GEMstack/knowledge/calibration/gem_e4.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
calibration_date: "2024-03-05" # Date of calibration YYYY-MM-DD
calibration_date: "2025-02-25" # Date of calibration YYYY-MM-DD
reference: rear_axle_center # rear axle center
rear_axle_height: 0.33 # height of rear axle center above flat ground
gnss_location: [1.10,0.1.62] # meters, taken from https://github.com/hangcui1201/POLARIS_GEM_e2_Real/blob/main/vehicle_drivers/gem_gnss_control/scripts/gem_gnss_tracker_stanley_rtk.py. Note conflict with pure pursuit location?
rear_axle_height: 0.2794 # height of rear axle center above flat ground
gnss_location: [1.10,0,1.62] # meters, taken from https://github.com/hangcui1201/POLARIS_GEM_e2_Real/blob/main/vehicle_drivers/gem_gnss_control/scripts/gem_gnss_tracker_stanley_rtk.py. Note conflict with pure pursuit location?
gnss_yaw: 0.0 # radians
top_lidar: !include "gem_e4_ouster.yaml"
front_camera: !include "gem_e4_oak.yaml"
9 changes: 9 additions & 0 deletions GEMstack/knowledge/calibration/gem_e4_lidar_cam.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Calibration for top lidar->front rgb camera on GEM e4
# Calibration Date: 02/25/2025 05:09

lidar_to_camera: [
[ 2.89748006e-02, -9.99580136e-01, 3.68439439e-05, -3.07300513e-02],
[-9.49930618e-03, -3.12215512e-04, -9.99954834e-01, -3.86689354e-01],
[ 9.99534999e-01, 2.89731321e-02, -9.50437214e-03, -6.71425124e-01],
[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 1.00000000e+00]
]
9 changes: 7 additions & 2 deletions GEMstack/knowledge/calibration/gem_e4_oak.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
# Calibration for front rgb camera->vehicle on GEM e4
# Calibration Date: 02/25/2025 05:09

reference: rear_axle_center # rear axle center
rotation: [[0,0,1],[-1,0,0],[0,-1,0]] # rotation matrix mapping z to forward, x to left, y to down, guesstimated
center_position: [1.78,0,1.58] # meters, center camera, guesstimated
rotation: [[ 0.00349517, -0.03239524, 0.99946903], # rotation component of camera -> vehicle matrix
[-0.99996547, 0.00742285, 0.0037375],
[-0.00753999, -0.99944757, -0.03236817]] # rotation matrix mapping z to forward, x to left, y to down, guesstimated
center_position: [ 1.75864913, 0.01238124, 1.54408419] # translation component of camera -> vehicle matrix (in meters)
9 changes: 7 additions & 2 deletions GEMstack/knowledge/calibration/gem_e4_ouster.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
# Calibration for top lidar->vehicle on GEM e4
# Calibration Date: 02/25/2025 05:09

reference: rear_axle_center # rear axle center
position: [1.10,0,2.03] # meters, calibrated by Hang's watchful eye
rotation: [[1,0,0],[0,1,0],[0,0,1]] #rotation matrix mapping lidar frame to vehicle frame
position: [1.1, 0.03773044170906172, 1.9525244316515322] # top lidar to vehicle matrix translation component
rotation: [[ 0.99941328, 0.02547416, 0.02289458], # top lidar to vehicle matrix rotation component
[-0.02530855, 0.99965159, -0.00749488],
[-0.02307753, 0.00691106, 0.99970979]]
5 changes: 4 additions & 1 deletion GEMstack/knowledge/defaults/computation_graph.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ components:
inputs: [vehicle, roadgraph, agents]
outputs: agent_intents
- relations_estimation:
inputs: [vehicle, roadgraph, agents, obstacles]
inputs: all
outputs: relations
- predicate_evaluation:
inputs: [vehicle, roadgraph, agents, obstacles]
Expand All @@ -52,3 +52,6 @@ components:
- trajectory_tracking:
inputs: [vehicle, trajectory]
outputs:
- signaling:
inputs: [intent]
outputs:
24 changes: 18 additions & 6 deletions GEMstack/knowledge/defaults/current.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,22 +13,34 @@ control:
brake_speed : 2.0
pure_pursuit:
lookahead: 2.0
lookahead_scale: 3.0
crosstrack_gain: 1.0
lookahead_scale: 2.0
crosstrack_gain: 0.3
desired_speed: trajectory
longitudinal_control:
pid_p: 1.0
pid_i: 0.1
pid_p: 0.8
pid_i: 0.03
pid_d: 0.0
planning:
longitudinal_plan:
mode: 'real' # 'real' or 'sim'
yielder: 'expert' # 'expert', 'analytic', or 'simulation'
planner: 'dt' # 'milestone', 'dt', or 'dx'
desired_speed: 1.0
acceleration: 0.5
max_deceleration: 6.0
deceleration: 2.0
min_deceleration: 0.5
yield_deceleration: 0.5


#configure the simulator, if using
simulator:
dt: 0.01
real_time_multiplier: 1.0 # make the simulator run faster than real time by making this > 1
gnss_emulator:
dt: 0.1 #10Hz
dt: 0.05 #10Hz
#position_noise: 0.1 #10cm noise
#orientation_noise: 0.04 #2.3 degrees noise
#velocity_noise:
# constant: 0.04 #4cm/s noise
# linear: 0.02 #2% noise
# linear: 0.02 #2% noise
146 changes: 146 additions & 0 deletions GEMstack/knowledge/detection/bevfusion_instructions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,146 @@
# BEVFusion Set Up Instructions
These instructions were tested on T4 g4dn.xlarge AWS instances with Arara Ubuntu 20.04 DCV images.

## Set Up Instructions for Cuda 11.3
### Set Up your Nvida Driver
```
sudo apt-get update
sudo apt-get install -y ubuntu-drivers-common
ubuntu-drivers devices
sudo apt-get install -y nvidia-driver-565
sudo reboot
```

### Check to make sure that your nvidia driver was set up correctly:
```
nvidia-smi
```

### Install Cuda 11.3
```
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin
sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/11.3.0/local_installers/cuda-repo-ubuntu2004-11-3-local_11.3.0-465.19.01-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2004-11-3-local_11.3.0-465.19.01-1_amd64.deb # This never copy pastes right. Just manually type
sudo apt-key add /var/cuda-repo-ubuntu2004-11-3-local/7fa2af80.pub
sudo apt-get update
sudo apt-get -y install cuda-11-3
```

### Manually modify your bashrc file to include Cuda 11.3
```
sudo nano ~/.bashrc
```

Add the next 2 lines to the bottom of the file:
```
export PATH=/usr/local/cuda-11.3/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-11.3/lib64:$LD_LIBRARY_PATH
```

Ensure you source your bashrc file:
```
source ~/.bashrc
nvidia-smi
```

### Set Up Miniconda
```
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash ~/Miniconda3-latest-Linux-x86_64.sh
source ~/.bashrc
```

### Set Up mmdetection3d:
```
conda create --name openmmlab python=3.8 -y
conda activate openmmlab
conda install pytorch=1.10.2 torchvision=0.11.3 cudatoolkit=11.3 -c pytorch
pip install -U openmim
mim install mmengine
mim install 'mmcv>=2.0.0rc4, <2.2.0'
mim install 'mmdet>=3.0.0,<3.3.0'
pip install cumm-cu113
pip install spconv-cu113
git clone https://github.com/open-mmlab/mmdetection3d.git -b dev-1.x
cd mmdetection3d
pip install -v -e .
python projects/BEVFusion/setup.py develop
```

### Run this afterwards to verify BEVFusion has been set up correctly:
```
python projects/BEVFusion/demo/multi_modality_demo.py demo/data/nuscenes/n015-2018-07-24-11-22-45+0800__LIDAR_TOP__1532402927647951.pcd.bin demo/data/nuscenes/ demo/data/nuscenes/n015-2018-07-24-11-22-45+0800.pkl projects/BEVFusion/configs/bevfusion_lidar-cam_voxel0075_second_secfpn_8xb4-cyclic-20e_nus-3d.py ~/Downloads/bevfusion_lidar-cam_voxel0075_second_secfpn_8xb4-cyclic-20e_nus-3d-5239b1af.pth --cam-type all --score-thr 0.2 --show
```

## Set Up Instructions for Cuda 11.1
### Set Up your Nvida Driver
```
sudo apt-get update
sudo apt-get install -y ubuntu-drivers-common
ubuntu-drivers devices
sudo apt-get install -y nvidia-driver-565
sudo reboot
```

### Check to make sure that your nvidia driver was set up correctly:
```
nvidia-smi
```

### Install Cuda 11.3
```
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin
sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/11.1.0/local_installers/cuda-repo-ubuntu2004-11-1-local_11.1.0-455.23.05-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2004-11-1-local_11.1.0-455.23.05-1_amd64.deb
sudo apt-key add /var/cuda-repo-ubuntu2004-11-1-local/7fa2af80.pub
sudo apt-get update
sudo apt-get -y install cuda-11-1
```

### Manually modify your bashrc file to include Cuda 11.3
```
sudo nano ~/.bashrc
```

Add the next 2 lines to the bottom of the file:
```
export PATH=/usr/local/cuda-11.1/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-11.1/lib64:$LD_LIBRARY_PATH
```

Ensure you source your bashrc file:
```
source ~/.bashrc
nvidia-smi
```

### Set Up Miniconda
```
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash ~/Miniconda3-latest-Linux-x86_64.sh
source ~/.bashrc
```

### Set Up mmdetection3d:
```
conda create --name openmmlab python=3.8 -y
conda activate openmmlab
pip install torch==1.10.0+cu111 torchvision==0.11.1+cu111 -f https://download.pytorch.org/whl/torch_stable.html
pip install -U openmim
mim install mmengine
mim install 'mmcv>=2.0.0rc4, <2.2.0'
mim install 'mmdet>=3.0.0,<3.3.0'
pip install cumm-cu111
pip install spconv-cu111
git clone https://github.com/open-mmlab/mmdetection3d.git -b dev-1.x
cd mmdetection3d
pip install -v -e .
python projects/BEVFusion/setup.py develop
```

### Run this afterwards to verify BEVFusion has been set up correctly:
```
python projects/BEVFusion/demo/multi_modality_demo.py demo/data/nuscenes/n015-2018-07-24-11-22-45+0800__LIDAR_TOP__1532402927647951.pcd.bin demo/data/nuscenes/ demo/data/nuscenes/n015-2018-07-24-11-22-45+0800.pkl projects/BEVFusion/configs/bevfusion_lidar-cam_voxel0075_second_secfpn_8xb4-cyclic-20e_nus-3d.py ~/Downloads/bevfusion_lidar-cam_voxel0075_second_secfpn_8xb4-cyclic-20e_nus-3d-5239b1af.pth --cam-type all --score-thr 0.2 --show
```
54 changes: 52 additions & 2 deletions GEMstack/knowledge/vehicle/dynamics.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,13 +31,63 @@ def acceleration_to_pedal_positions(acceleration : float, velocity : float, pitc
if acceleration < -dry_decel*0.5 or (acceleration <= 0 and velocity < 0.1): # a little deadband to avoid oscillation
throttle_percent = 0.0 #drift to stop
else:
throttle_percent = accel_active_range[0] + (acceleration+dry_decel)/max_accel * (accel_active_range[1]-accel_active_range[0])
throttle_percent = accel_active_range[0] + ((acceleration+dry_decel)/max_accel * (accel_active_range[1]-accel_active_range[0]))
brake_percent = 0
else:
brake_percent = brake_active_range[0] + -(acceleration+dry_decel)/max_brake * (brake_active_range[1]-brake_active_range[0])
brake_percent = brake_active_range[0] + (-(acceleration+dry_decel)/max_brake * (brake_active_range[1]-brake_active_range[0]))
throttle_percent = 0
print(acceleration, (max(throttle_percent,0.0),max(brake_percent,0.0),1))
return (max(throttle_percent,0.0),max(brake_percent,0.0),1)


# Model that's built on top of Hang's model.
# Designed to allow for various scaling based on current vehicle velocity, and use of functions other than linear
# for scaling.
# DANGER: NEEDS TESTED
elif model == 'avery_v1':
model = settings.get('vehicle.dynamics.acceleration_model', 'avery_v1')
if gear != 1:
print("WARNING: Can't handle gears other than 1 yet")

max_accel = settings.get('vehicle.dynamics.max_accelerator_acceleration')[1] # m/s^2
max_brake = settings.get('vehicle.dynamics.max_brake_deceleration') # m/s^2
dry_decel = settings.get('vehicle.dynamics.internal_dry_deceleration') # m/s^2
accel_active_range = settings.get('vehicle.dynamics.accelerator_active_range') # pedal position fraction
brake_active_range = settings.get('vehicle.dynamics.brake_active_range') # pedal position fraction
mapping_function = settings.get('vehicle.dynamics.pedal_mapping_function', 'linear')
velocity_scalar = settings.get('vehicle.dynamics.velocity_scaling_factor', 0) # Adjust sensitivity based on velocity


def apply_function(value, function='linear'):
if function == 'linear':
value = value # already linear mapping

# no guarantee that these functions will give good results until we get more test data about accel -> pedal mapping.
elif function == 'quadratic':
value = value ** 2 # value squared
elif function == 'exponential':
value = (math.exp(value) - 1) / 2
elif function == 'log':
value = math.sqrt(math.log(value + 1)) + 0.2

value += velocity * velocity_scalar
return value

if acceleration > -dry_decel:
if acceleration < -dry_decel*0.5 or (acceleration <= 0 and velocity < 0.1): # a little deadband to avoid oscillation
throttle_percent = 0.0 #drift to stop
else:
throttle_percent = accel_active_range[0] + ((acceleration+dry_decel)/max_accel * (accel_active_range[1]-accel_active_range[0]))
throttle_percent = apply_function(throttle_percent, mapping_function)
brake_percent = 0
else:
brake_percent = brake_active_range[0] + (-(acceleration+dry_decel)/max_brake * (brake_active_range[1]-brake_active_range[0]))
brake_percent = apply_function(brake_percent, mapping_function)
throttle_percent = 0
print(acceleration, (max(throttle_percent,0.0),max(brake_percent,0.0),1))
return (max(throttle_percent,0.0),max(brake_percent,0.0),1)


elif model == 'kris_v1':
brake_max = settings.get('vehicle.dynamics.max_brake_deceleration')
reverse_accel_max = settings.get('vehicle.dynamics.max_accelerator_acceleration_reverse')
Expand Down
2 changes: 1 addition & 1 deletion GEMstack/knowledge/vehicle/gem_e2_dynamics.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ max_accelerator_power_reverse: 10000.0 #Watts. Power (backwards) in reverse gea

acceleration_model : kris_v1
accelerator_active_range : [0.32, 1.0] #range of accelerator pedal where output acceleration is not flat
brake_active_range : [0,1] #range of brake pedal where output deceleration is not flat
brake_active_range : [0.25,1] #range of brake pedal where output deceleration is not flat

internal_dry_deceleration: 0.2 #m/s^2: deceleration due to internal dry friction (non-speed dependent)
internal_viscous_deceleration: 0.05 #1/s: scales the current velocity to get deceleration due to internal viscous friction (speed dependent)
Expand Down
Loading
Loading