Skip to content
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

Support for Argoverse 2 Motion Forecasting Dataset #1893

Merged
merged 34 commits into from
Mar 17, 2023
Merged
Show file tree
Hide file tree
Changes from 23 commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
83c4a32
Create initial implementation with map loading
saulfield Feb 7, 2023
f92f688
Map GLB generation
saulfield Feb 8, 2023
e13b998
Infer road lanes
saulfield Feb 10, 2023
493deb3
Lane functions
saulfield Feb 14, 2023
6d9fa35
Compute lane foes
saulfield Feb 14, 2023
42acfb4
Nearest lanes, routes
saulfield Feb 17, 2023
fd392f2
Width at offset
saulfield Feb 17, 2023
40748d5
Route generation and more geometry routines
saulfield Feb 22, 2023
7783596
Waypoints
saulfield Feb 22, 2023
7962251
Road/lane dividers
saulfield Feb 23, 2023
fa01f39
Traffic histories
saulfield Feb 24, 2023
8486f16
GLB refactor
saulfield Mar 1, 2023
f01af46
Copyright header, docstrings, type fixes
saulfield Mar 1, 2023
e6a05b2
Ignore argoverse_map.py in tests
saulfield Mar 1, 2023
5df361b
Format
saulfield Mar 1, 2023
6cbc2a7
Update Makefile
saulfield Mar 1, 2023
f44dfa3
Merge branch 'master' into argoverse
saulfield Mar 1, 2023
874f21e
Fix docstring
saulfield Mar 1, 2023
e235755
Minor updates
saulfield Mar 2, 2023
939344b
Fill in missing methods
saulfield Mar 2, 2023
6a6b30a
Handle edge cases
saulfield Mar 3, 2023
046197b
Merge branch 'master' into argoverse
saulfield Mar 3, 2023
2c4675a
Add changelog entry
saulfield Mar 3, 2023
f6386ff
Add argoverse install test
saulfield Mar 6, 2023
c1c18dd
Update smarts/core/utils/glb.py
saulfield Mar 6, 2023
0dc035a
Merge branch 'argoverse' of github.com:huawei-noah/SMARTS into argoverse
saulfield Mar 6, 2023
f97faf3
Minor change from PR review
saulfield Mar 6, 2023
0b0e92b
Merge branch 'master' into argoverse
saulfield Mar 10, 2023
8e11f9d
Move changelog entry and fix type errors
saulfield Mar 13, 2023
db630b6
Merge branch 'master' into argoverse
saulfield Mar 13, 2023
724a0ef
Move changelog entry
saulfield Mar 13, 2023
6f1f703
Update docs with Argoverse instructions and example
saulfield Mar 15, 2023
a8fe471
Merge branch 'master' into argoverse
saulfield Mar 15, 2023
866fe11
Update docs
saulfield Mar 15, 2023
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
3 changes: 2 additions & 1 deletion .github/workflows/ci-base-tests-linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,10 @@ jobs:
-n auto \
--ignore-glob="**/ros.py" \
--ignore-glob="**/waymo_map.py" \
--ignore-glob="**/argoverse_map.py" \
saulfield marked this conversation as resolved.
Show resolved Hide resolved
${{matrix.tests}} \
--ignore=./smarts/core/tests/test_smarts_memory_growth.py \
--ignore=./smarts/core/tests/test_env_frame_rate.py \
--ignore=./smarts/env/tests/test_benchmark.py \
--ignore=./examples/tests/test_learning.py \
-k 'not test_long_determinism'
-k 'not test_long_determinism'
3 changes: 2 additions & 1 deletion .github/workflows/ci-base-tests-mac.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ jobs:
--doctest-modules \
-n auto \
--ignore-glob="**/waymo_map.py" \
--ignore-glob="**/argoverse_map.py" \
${{matrix.tests}} \
--ignore=./smarts/core/tests/test_smarts_memory_growth.py \
--ignore=./smarts/env/tests/test_benchmark.py \
Expand All @@ -66,4 +67,4 @@ jobs:
--ignore=./smarts/core/tests/test_renderers.py \
--ignore=./smarts/core/tests/test_smarts.py \
--ignore=./smarts/core/tests/test_env_frame_rate.py \
--ignore=./smarts/core/tests/test_observations.py
--ignore=./smarts/core/tests/test_observations.py
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ Copy and pasting the git commit messages is __NOT__ enough.
## [Unreleased]
### Added
- Added objective, scenario description, and trained agent performance, to the Driving Smarts 2022 benchmark documentation.
- Added support for the [Argoverse 2 Motion Forecasting Dataset](https://www.argoverse.org/av2.html#forecasting-link) (see `scenarios/argoverse`).
saulfield marked this conversation as resolved.
Show resolved Hide resolved
### Changed
- Unique id suffix is removed from vehicle name while building agent vehicle in `VehicleIndex.build_agent_vehicle()` function.
### Deprecated
Expand Down
2 changes: 2 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ test: build-all-scenarios
-n `expr \( \`nproc\` \/ 2 \& \`nproc\` \> 3 \) \| 2` \
--nb-exec-timeout 65536 \
./examples/tests ./smarts/env ./envision ./smarts/core ./smarts/sstudio ./tests \
--ignore=./smarts/core/waymo_map.py \
--ignore=./smarts/core/argoverse_map.py \
--ignore=./smarts/core/tests/test_smarts_memory_growth.py \
--ignore=./smarts/core/tests/test_env_frame_rate.py \
--ignore=./smarts/env/tests/test_benchmark.py \
Expand Down
28 changes: 28 additions & 0 deletions scenarios/argoverse/scenario.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
from pathlib import Path

from smarts.sstudio import gen_scenario
from smarts.sstudio import types as t

# scenario_path is a directory with the following structure:
# /path/to/dataset/{scenario_id}
# ├── log_map_archive_{scenario_id}.json
# └── scenario_{scenario_id}.parquet

scenario_id = None # e.g. "0000b6ab-e100-4f6b-aee8-b520b57c0530"
scenario_path = None # e.g. Path("/home/user/argoverse/train/") / scenario_id

traffic_histories = [
t.TrafficHistoryDataset(
name=f"argoverse_{scenario_id}",
source_type="Argoverse",
input_path=scenario_path,
)
]

gen_scenario(
t.Scenario(
map_spec=t.MapSpec(source=f"{scenario_path}", lanepoint_spacing=1.0),
traffic_histories=traffic_histories,
),
output_dir=Path(__file__).parent,
)
2 changes: 2 additions & 0 deletions setup.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,8 @@ waymo =
waymo-open-dataset-tf-2-4-0
opendrive =
opendrive2lanelet>=1.2.1
argoverse =
av2>=0.2.1

[aliases]
test=pytest
Loading