Robotics
TensorRT
ONNX
autoware
ros2
autonomous-driving
planning
end-to-end
e2e
trajectory-generation
lidar
bird-eye-view
3d-object-detection
oneplanner
Instructions to use AutowareFoundation/oneplanner with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- TensorRT
How to use AutowareFoundation/oneplanner with TensorRT:
# No code snippets available yet for this library. # To use this model, check the repository files and the library's documentation. # Want to help? PRs adding snippets are welcome at: # https://github.com/huggingface/huggingface.js
- Notebooks
- Google Colab
- Kaggle
Commit ·
f5a5b86
0
Parent(s):
OnePlanner v1.0
Browse files- .gitattributes +38 -0
- .gitignore +5 -0
- LICENSE +201 -0
- README.md +185 -0
- SHA256SUMS +7 -0
- bevfusion_lidar_feature.onnx +3 -0
- deploy_metadata.yaml +1 -0
- media/oneplanner_scenes.png +3 -0
- ml_package_oneplanner.param.yaml +82 -0
- oneplanner_planner.onnx +3 -0
- replay.mp4 +3 -0
.gitattributes
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
*.7z filter=lfs diff=lfs merge=lfs -text
|
| 2 |
+
*.arrow filter=lfs diff=lfs merge=lfs -text
|
| 3 |
+
*.bin filter=lfs diff=lfs merge=lfs -text
|
| 4 |
+
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
| 5 |
+
*.ckpt filter=lfs diff=lfs merge=lfs -text
|
| 6 |
+
*.ftz filter=lfs diff=lfs merge=lfs -text
|
| 7 |
+
*.gz filter=lfs diff=lfs merge=lfs -text
|
| 8 |
+
*.h5 filter=lfs diff=lfs merge=lfs -text
|
| 9 |
+
*.joblib filter=lfs diff=lfs merge=lfs -text
|
| 10 |
+
*.lfs.* filter=lfs diff=lfs merge=lfs -text
|
| 11 |
+
*.mlmodel filter=lfs diff=lfs merge=lfs -text
|
| 12 |
+
*.model filter=lfs diff=lfs merge=lfs -text
|
| 13 |
+
*.msgpack filter=lfs diff=lfs merge=lfs -text
|
| 14 |
+
*.npy filter=lfs diff=lfs merge=lfs -text
|
| 15 |
+
*.npz filter=lfs diff=lfs merge=lfs -text
|
| 16 |
+
*.onnx filter=lfs diff=lfs merge=lfs -text
|
| 17 |
+
*.ot filter=lfs diff=lfs merge=lfs -text
|
| 18 |
+
*.parquet filter=lfs diff=lfs merge=lfs -text
|
| 19 |
+
*.pb filter=lfs diff=lfs merge=lfs -text
|
| 20 |
+
*.pickle filter=lfs diff=lfs merge=lfs -text
|
| 21 |
+
*.pkl filter=lfs diff=lfs merge=lfs -text
|
| 22 |
+
*.pt filter=lfs diff=lfs merge=lfs -text
|
| 23 |
+
*.pth filter=lfs diff=lfs merge=lfs -text
|
| 24 |
+
*.rar filter=lfs diff=lfs merge=lfs -text
|
| 25 |
+
*.safetensors filter=lfs diff=lfs merge=lfs -text
|
| 26 |
+
saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
| 27 |
+
*.tar.* filter=lfs diff=lfs merge=lfs -text
|
| 28 |
+
*.tar filter=lfs diff=lfs merge=lfs -text
|
| 29 |
+
*.tflite filter=lfs diff=lfs merge=lfs -text
|
| 30 |
+
*.tgz filter=lfs diff=lfs merge=lfs -text
|
| 31 |
+
*.wasm filter=lfs diff=lfs merge=lfs -text
|
| 32 |
+
*.xz filter=lfs diff=lfs merge=lfs -text
|
| 33 |
+
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
+
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
+
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
| 36 |
+
*.webp filter=lfs diff=lfs merge=lfs -text
|
| 37 |
+
media/oneplanner_scenes.png filter=lfs diff=lfs merge=lfs -text
|
| 38 |
+
replay.mp4 filter=lfs diff=lfs merge=lfs -text
|
.gitignore
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# TensorRT engines and their identity files, built and cached beside the ONNX files by
|
| 2 |
+
# autoware_oneplanner on first launch. They are specific to the GPU architecture and TensorRT
|
| 3 |
+
# version they are built on and must not be committed.
|
| 4 |
+
*.engine
|
| 5 |
+
*.engine.identity
|
LICENSE
ADDED
|
@@ -0,0 +1,201 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Apache License
|
| 2 |
+
Version 2.0, January 2004
|
| 3 |
+
http://www.apache.org/licenses/
|
| 4 |
+
|
| 5 |
+
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
| 6 |
+
|
| 7 |
+
1. Definitions.
|
| 8 |
+
|
| 9 |
+
"License" shall mean the terms and conditions for use, reproduction,
|
| 10 |
+
and distribution as defined by Sections 1 through 9 of this document.
|
| 11 |
+
|
| 12 |
+
"Licensor" shall mean the copyright owner or entity authorized by
|
| 13 |
+
the copyright owner that is granting the License.
|
| 14 |
+
|
| 15 |
+
"Legal Entity" shall mean the union of the acting entity and all
|
| 16 |
+
other entities that control, are controlled by, or are under common
|
| 17 |
+
control with that entity. For the purposes of this definition,
|
| 18 |
+
"control" means (i) the power, direct or indirect, to cause the
|
| 19 |
+
direction or management of such entity, whether by contract or
|
| 20 |
+
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
| 21 |
+
outstanding shares, or (iii) beneficial ownership of such entity.
|
| 22 |
+
|
| 23 |
+
"You" (or "Your") shall mean an individual or Legal Entity
|
| 24 |
+
exercising permissions granted by this License.
|
| 25 |
+
|
| 26 |
+
"Source" form shall mean the preferred form for making modifications,
|
| 27 |
+
including but not limited to software source code, documentation
|
| 28 |
+
source, and configuration files.
|
| 29 |
+
|
| 30 |
+
"Object" form shall mean any form resulting from mechanical
|
| 31 |
+
transformation or translation of a Source form, including but
|
| 32 |
+
not limited to compiled object code, generated documentation,
|
| 33 |
+
and conversions to other media types.
|
| 34 |
+
|
| 35 |
+
"Work" shall mean the work of authorship, whether in Source or
|
| 36 |
+
Object form, made available under the License, as indicated by a
|
| 37 |
+
copyright notice that is included in or attached to the work
|
| 38 |
+
(an example is provided in the Appendix below).
|
| 39 |
+
|
| 40 |
+
"Derivative Works" shall mean any work, whether in Source or Object
|
| 41 |
+
form, that is based on (or derived from) the Work and for which the
|
| 42 |
+
editorial revisions, annotations, elaborations, or other modifications
|
| 43 |
+
represent, as a whole, an original work of authorship. For the purposes
|
| 44 |
+
of this License, Derivative Works shall not include works that remain
|
| 45 |
+
separable from, or merely link (or bind by name) to the interfaces of,
|
| 46 |
+
the Work and Derivative Works thereof.
|
| 47 |
+
|
| 48 |
+
"Contribution" shall mean any work of authorship, including
|
| 49 |
+
the original version of the Work and any modifications or additions
|
| 50 |
+
to that Work or Derivative Works thereof, that is intentionally
|
| 51 |
+
submitted to Licensor for inclusion in the Work by the copyright owner
|
| 52 |
+
or by an individual or Legal Entity authorized to submit on behalf of
|
| 53 |
+
the copyright owner. For the purposes of this definition, "submitted"
|
| 54 |
+
means any form of electronic, verbal, or written communication sent
|
| 55 |
+
to the Licensor or its representatives, including but not limited to
|
| 56 |
+
communication on electronic mailing lists, source code control systems,
|
| 57 |
+
and issue tracking systems that are managed by, or on behalf of, the
|
| 58 |
+
Licensor for the purpose of discussing and improving the Work, but
|
| 59 |
+
excluding communication that is conspicuously marked or otherwise
|
| 60 |
+
designated in writing by the copyright owner as "Not a Contribution."
|
| 61 |
+
|
| 62 |
+
"Contributor" shall mean Licensor and any individual or Legal Entity
|
| 63 |
+
on behalf of whom a Contribution has been received by Licensor and
|
| 64 |
+
subsequently incorporated within the Work.
|
| 65 |
+
|
| 66 |
+
2. Grant of Copyright License. Subject to the terms and conditions of
|
| 67 |
+
this License, each Contributor hereby grants to You a perpetual,
|
| 68 |
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
| 69 |
+
copyright license to reproduce, prepare Derivative Works of,
|
| 70 |
+
publicly display, publicly perform, sublicense, and distribute the
|
| 71 |
+
Work and such Derivative Works in Source or Object form.
|
| 72 |
+
|
| 73 |
+
3. Grant of Patent License. Subject to the terms and conditions of
|
| 74 |
+
this License, each Contributor hereby grants to You a perpetual,
|
| 75 |
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
| 76 |
+
(except as stated in this section) patent license to make, have made,
|
| 77 |
+
use, offer to sell, sell, import, and otherwise transfer the Work,
|
| 78 |
+
where such license applies only to those patent claims licensable
|
| 79 |
+
by such Contributor that are necessarily infringed by their
|
| 80 |
+
Contribution(s) alone or by combination of their Contribution(s)
|
| 81 |
+
with the Work to which such Contribution(s) was submitted. If You
|
| 82 |
+
institute patent litigation against any entity (including a
|
| 83 |
+
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
| 84 |
+
or a Contribution incorporated within the Work constitutes direct
|
| 85 |
+
or contributory patent infringement, then any patent licenses
|
| 86 |
+
granted to You under this License for that Work shall terminate
|
| 87 |
+
as of the date such litigation is filed.
|
| 88 |
+
|
| 89 |
+
4. Redistribution. You may reproduce and distribute copies of the
|
| 90 |
+
Work or Derivative Works thereof in any medium, with or without
|
| 91 |
+
modifications, and in Source or Object form, provided that You
|
| 92 |
+
meet the following conditions:
|
| 93 |
+
|
| 94 |
+
(a) You must give any other recipients of the Work or
|
| 95 |
+
Derivative Works a copy of this License; and
|
| 96 |
+
|
| 97 |
+
(b) You must cause any modified files to carry prominent notices
|
| 98 |
+
stating that You changed the files; and
|
| 99 |
+
|
| 100 |
+
(c) You must retain, in the Source form of any Derivative Works
|
| 101 |
+
that You distribute, all copyright, patent, trademark, and
|
| 102 |
+
attribution notices from the Source form of the Work,
|
| 103 |
+
excluding those notices that do not pertain to any part of
|
| 104 |
+
the Derivative Works; and
|
| 105 |
+
|
| 106 |
+
(d) If the Work includes a "NOTICE" text file as part of its
|
| 107 |
+
distribution, then any Derivative Works that You distribute must
|
| 108 |
+
include a readable copy of the attribution notices contained
|
| 109 |
+
within such NOTICE file, excluding those notices that do not
|
| 110 |
+
pertain to any part of the Derivative Works, in at least one
|
| 111 |
+
of the following places: within a NOTICE text file distributed
|
| 112 |
+
as part of the Derivative Works; within the Source form or
|
| 113 |
+
documentation, if provided along with the Derivative Works; or,
|
| 114 |
+
within a display generated by the Derivative Works, if and
|
| 115 |
+
wherever such third-party notices normally appear. The contents
|
| 116 |
+
of the NOTICE file are for informational purposes only and
|
| 117 |
+
do not modify the License. You may add Your own attribution
|
| 118 |
+
notices within Derivative Works that You distribute, alongside
|
| 119 |
+
or as an addendum to the NOTICE text from the Work, provided
|
| 120 |
+
that such additional attribution notices cannot be construed
|
| 121 |
+
as modifying the License.
|
| 122 |
+
|
| 123 |
+
You may add Your own copyright statement to Your modifications and
|
| 124 |
+
may provide additional or different license terms and conditions
|
| 125 |
+
for use, reproduction, or distribution of Your modifications, or
|
| 126 |
+
for any such Derivative Works as a whole, provided Your use,
|
| 127 |
+
reproduction, and distribution of the Work otherwise complies with
|
| 128 |
+
the conditions stated in this License.
|
| 129 |
+
|
| 130 |
+
5. Submission of Contributions. Unless You explicitly state otherwise,
|
| 131 |
+
any Contribution intentionally submitted for inclusion in the Work
|
| 132 |
+
by You to the Licensor shall be under the terms and conditions of
|
| 133 |
+
this License, without any additional terms or conditions.
|
| 134 |
+
Notwithstanding the above, nothing herein shall supersede or modify
|
| 135 |
+
the terms of any separate license agreement you may have executed
|
| 136 |
+
with Licensor regarding such Contributions.
|
| 137 |
+
|
| 138 |
+
6. Trademarks. This License does not grant permission to use the trade
|
| 139 |
+
names, trademarks, service marks, or product names of the Licensor,
|
| 140 |
+
except as required for reasonable and customary use in describing the
|
| 141 |
+
origin of the Work and reproducing the content of the NOTICE file.
|
| 142 |
+
|
| 143 |
+
7. Disclaimer of Warranty. Unless required by applicable law or
|
| 144 |
+
agreed to in writing, Licensor provides the Work (and each
|
| 145 |
+
Contributor provides its Contributions) on an "AS IS" BASIS,
|
| 146 |
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
| 147 |
+
implied, including, without limitation, any warranties or conditions
|
| 148 |
+
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
| 149 |
+
PARTICULAR PURPOSE. You are solely responsible for determining the
|
| 150 |
+
appropriateness of using or redistributing the Work and assume any
|
| 151 |
+
risks associated with Your exercise of permissions under this License.
|
| 152 |
+
|
| 153 |
+
8. Limitation of Liability. In no event and under no legal theory,
|
| 154 |
+
whether in tort (including negligence), contract, or otherwise,
|
| 155 |
+
unless required by applicable law (such as deliberate and grossly
|
| 156 |
+
negligent acts) or agreed to in writing, shall any Contributor be
|
| 157 |
+
liable to You for damages, including any direct, indirect, special,
|
| 158 |
+
incidental, or consequential damages of any character arising as a
|
| 159 |
+
result of this License or out of the use or inability to use the
|
| 160 |
+
Work (including but not limited to damages for loss of goodwill,
|
| 161 |
+
work stoppage, computer failure or malfunction, or any and all
|
| 162 |
+
other commercial damages or losses), even if such Contributor
|
| 163 |
+
has been advised of the possibility of such damages.
|
| 164 |
+
|
| 165 |
+
9. Accepting Warranty or Additional Liability. While redistributing
|
| 166 |
+
the Work or Derivative Works thereof, You may choose to offer,
|
| 167 |
+
and charge a fee for, acceptance of support, warranty, indemnity,
|
| 168 |
+
or other liability obligations and/or rights consistent with this
|
| 169 |
+
License. However, in accepting such obligations, You may act only
|
| 170 |
+
on Your own behalf and on Your sole responsibility, not on behalf
|
| 171 |
+
of any other Contributor, and only if You agree to indemnify,
|
| 172 |
+
defend, and hold each Contributor harmless for any liability
|
| 173 |
+
incurred by, or claims asserted against, such Contributor by reason
|
| 174 |
+
of your accepting any such warranty or additional liability.
|
| 175 |
+
|
| 176 |
+
END OF TERMS AND CONDITIONS
|
| 177 |
+
|
| 178 |
+
APPENDIX: How to apply the Apache License to your work.
|
| 179 |
+
|
| 180 |
+
To apply the Apache License to your work, attach the following
|
| 181 |
+
boilerplate notice, with the fields enclosed by brackets "[]"
|
| 182 |
+
replaced with your own identifying information. (Don't include
|
| 183 |
+
the brackets!) The text should be enclosed in the appropriate
|
| 184 |
+
comment syntax for the file format. We also recommend that a
|
| 185 |
+
file or class name and description of purpose be included on the
|
| 186 |
+
same "printed page" as the copyright notice for easier
|
| 187 |
+
identification within third-party archives.
|
| 188 |
+
|
| 189 |
+
Copyright [yyyy] [name of copyright owner]
|
| 190 |
+
|
| 191 |
+
Licensed under the Apache License, Version 2.0 (the "License");
|
| 192 |
+
you may not use this file except in compliance with the License.
|
| 193 |
+
You may obtain a copy of the License at
|
| 194 |
+
|
| 195 |
+
http://www.apache.org/licenses/LICENSE-2.0
|
| 196 |
+
|
| 197 |
+
Unless required by applicable law or agreed to in writing, software
|
| 198 |
+
distributed under the License is distributed on an "AS IS" BASIS,
|
| 199 |
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
| 200 |
+
See the License for the specific language governing permissions and
|
| 201 |
+
limitations under the License.
|
README.md
ADDED
|
@@ -0,0 +1,185 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
license: apache-2.0
|
| 3 |
+
pipeline_tag: robotics
|
| 4 |
+
tags:
|
| 5 |
+
- autoware
|
| 6 |
+
- ros2
|
| 7 |
+
- autonomous-driving
|
| 8 |
+
- planning
|
| 9 |
+
- end-to-end
|
| 10 |
+
- e2e
|
| 11 |
+
- trajectory-generation
|
| 12 |
+
- lidar
|
| 13 |
+
- bird-eye-view
|
| 14 |
+
- 3d-object-detection
|
| 15 |
+
- tensorrt
|
| 16 |
+
- onnx
|
| 17 |
+
- oneplanner
|
| 18 |
+
---
|
| 19 |
+
|
| 20 |
+
# OnePlanner for Autoware (`oneplanner`)
|
| 21 |
+
|
| 22 |
+
End-to-end planning model for autonomous driving, run in [Autoware](https://github.com/autowarefoundation/autoware)
|
| 23 |
+
by the [`autoware_oneplanner`](https://github.com/autowarefoundation/autoware_oneplanner) ROS 2 node.
|
| 24 |
+
OnePlanner turns the LiDAR point cloud, the Lanelet2 vector map, the route, traffic-light states and the ego
|
| 25 |
+
state into a 6 s ego trajectory, at the LiDAR's rate. A frozen BEVFusion-L backbone turns each point cloud into
|
| 26 |
+
a bird's-eye-view (BEV) feature map, and the planner reads a temporal history of those maps together with the
|
| 27 |
+
vector-map, route and ego context.
|
| 28 |
+
|
| 29 |
+
<p align="center">
|
| 30 |
+
<img src="media/oneplanner_scenes.png" width="100%" alt="Six scenes: crossing a large intersection on green, a right turn at a signalized intersection, a sweeping curve at 40 km/h, holding at a red light and turning left on green, stopping for a red light, and slowing behind traffic queued at a red light">
|
| 31 |
+
</p>
|
| 32 |
+
|
| 33 |
+
## Model overview
|
| 34 |
+
|
| 35 |
+
| | |
|
| 36 |
+
| --- | --- |
|
| 37 |
+
| Task | Ego trajectory planning: a 6 s trajectory at 0.1 s steps, a second (prior) trajectory and turn-indicator logits, plus 3D object detection from the backbone's head |
|
| 38 |
+
| Inputs | Concatenated LiDAR point cloud; 3 s of ego history and the ego state; the nearest lanes, route lanes, polygons and line strings within ±100 m with their traffic-light states and speed limits; the route goal |
|
| 39 |
+
| Architecture | BEVFusion-L LiDAR backbone (sparse-convolution voxel encoder with a detection head, 8.3M parameters, frozen) → 512 × 180 × 180 BEV feature map over ±122.4 m → planner over a history of 3 BEV maps 0.5 s apart and the vector-map context (27.3M parameters) |
|
| 40 |
+
| Runtime | TensorRT through the `autoware_oneplanner` node: the planner in fp32, the backbone in fp16 |
|
| 41 |
+
| Latency | About 13 ms per planning pass (median), about 9 ms of it planner inference, on an NVIDIA RTX PRO 6000 Blackwell Max-Q; the BEV feature extraction runs per LiDAR frame, outside the pass |
|
| 42 |
+
| Format | ONNX (opset 18). The backbone uses the sparse-convolution plugins of `autoware_tensorrt_plugins`; the planner needs no plugin. TensorRT engines are built locally |
|
| 43 |
+
| License | Apache-2.0 |
|
| 44 |
+
|
| 45 |
+
## Files
|
| 46 |
+
|
| 47 |
+
| File | Description |
|
| 48 |
+
| --- | --- |
|
| 49 |
+
| `oneplanner_planner.onnx` | The planner graph, with static shapes |
|
| 50 |
+
| `bevfusion_lidar_feature.onnx` | The BEVFusion-L LiDAR backbone: voxels in, the BEV feature map and undecoded detection proposals out |
|
| 51 |
+
| `ml_package_oneplanner.param.yaml` | The network description the node reads: input convention, tensor names, voxelization geometry, BEV history, detection thresholds, horizon and precision |
|
| 52 |
+
| `media/` | The scenes on this page |
|
| 53 |
+
| `replay.mp4` | An open-loop replay of two recorded drives, shown as this page's video preview |
|
| 54 |
+
| `deploy_metadata.yaml` | Deployment metadata recording the artifact version of this repository |
|
| 55 |
+
| `SHA256SUMS` | Checksums of the files above |
|
| 56 |
+
|
| 57 |
+
> **TensorRT engines are not distributed here.** Engines are specific to the GPU architecture and TensorRT
|
| 58 |
+
> version they are built on. The node builds one per graph on first launch and caches it beside the ONNX file
|
| 59 |
+
> (`<stem>.engine`, with a `<stem>.engine.identity` file that triggers a rebuild when anything changes), so the
|
| 60 |
+
> model directory must be writable. `build_only:=true` builds them and exits.
|
| 61 |
+
|
| 62 |
+
## Inputs and outputs
|
| 63 |
+
|
| 64 |
+
### ROS 2 interface (as used by the node)
|
| 65 |
+
|
| 66 |
+
**Inputs**
|
| 67 |
+
|
| 68 |
+
| Topic | Message type | Description |
|
| 69 |
+
| --- | --- | --- |
|
| 70 |
+
| `~/input/pointcloud` | `sensor_msgs/msg/PointCloud2` | Concatenated point cloud in `base_link`, Autoware `PointXYZIRC` layout |
|
| 71 |
+
| `~/input/odometry` | `nav_msgs/msg/Odometry` | Ego pose and twist |
|
| 72 |
+
| `~/input/acceleration` | `geometry_msgs/msg/AccelWithCovarianceStamped` | Ego acceleration |
|
| 73 |
+
| `~/input/steering` | `autoware_vehicle_msgs/msg/SteeringReport` | Steering tire angle |
|
| 74 |
+
| `~/input/velocity` | `autoware_vehicle_msgs/msg/VelocityReport` | Vehicle speed, used where the odometry twist is exactly zero |
|
| 75 |
+
| `~/input/traffic_signals` | `autoware_perception_msgs/msg/TrafficLightGroupArray` | Traffic-light recognition |
|
| 76 |
+
| `~/input/route` | `autoware_planning_msgs/msg/LaneletRoute` | Mission route |
|
| 77 |
+
| `~/input/vector_map` | `autoware_map_msgs/msg/LaneletMapBin` | Lanelet2 map |
|
| 78 |
+
|
| 79 |
+
**Outputs**
|
| 80 |
+
|
| 81 |
+
| Topic | Message type | Description |
|
| 82 |
+
| --- | --- | --- |
|
| 83 |
+
| `~/output/trajectory` | `autoware_planning_msgs/msg/Trajectory` | Ego trajectory in `map`: a point at t = 0, then one per 0.1 s for 6 s |
|
| 84 |
+
| `~/output/trajectories` | `autoware_internal_planning_msgs/msg/CandidateTrajectories` | The trajectory and the prior trajectory as candidates |
|
| 85 |
+
| `~/output/turn_indicators` | `autoware_vehicle_msgs/msg/TurnIndicatorsCommand` | Turn-indicator command from the model's logits, filtered by the node |
|
| 86 |
+
| `~/output/detected_objects` | `autoware_perception_msgs/msg/DetectedObjects` | Objects of the backbone's detection head, one message per LiDAR frame |
|
| 87 |
+
| `/diagnostics` | `diagnostic_msgs/msg/DiagnosticArray` | `inference_status` |
|
| 88 |
+
|
| 89 |
+
### Graphs
|
| 90 |
+
|
| 91 |
+
The node reads the planner graph's input manifest and fills every input; all coordinates are in the ego frame
|
| 92 |
+
of the planning pose, x forward, y left, metres. The
|
| 93 |
+
[model contract](https://github.com/autowarefoundation/autoware_oneplanner/blob/main/autoware_oneplanner/docs/model_contract.md)
|
| 94 |
+
specifies each tensor's content.
|
| 95 |
+
|
| 96 |
+
**Planner** (`oneplanner_planner.onnx`)
|
| 97 |
+
|
| 98 |
+
| Tensor | dtype / shape | Content |
|
| 99 |
+
| --- | --- | --- |
|
| 100 |
+
| `bev_feature_history` | float32 `[1, 3, 512, 180, 180]` | The last 3 BEV maps, 0.5 s apart, current first, each warped into the planning frame |
|
| 101 |
+
| `ego_current_state` | float32 `[1, 10]` | Ego pose in its own frame, velocity, acceleration, steering tire angle, yaw rate |
|
| 102 |
+
| `ego_agent_past` | float32 `[1, 31, 4]` | Ego poses over the last 3 s at 0.1 s |
|
| 103 |
+
| `lanes`, `lanes_speed_limit`, `lanes_has_speed_limit`, `lanes_on_route` | `[1, 140, 20, 33]`, `[1, 140, 1]`, bool `[1, 140, 1]`, `[1, 140, 2]` | The 140 nearest lanes: centerline, bounds, traffic-light state and line types per point; speed limit; route membership |
|
| 104 |
+
| `route_lanes`, `route_lanes_speed_limit`, `route_lanes_has_speed_limit` | `[1, 25, 20, 33]`, `[1, 25, 1]`, bool `[1, 25, 1]` | The route's next 25 lanes |
|
| 105 |
+
| `polygons` | float32 `[1, 32, 40, 4]` | Intersection areas and crosswalks |
|
| 106 |
+
| `line_strings` | float32 `[1, 128, 20, 4]` | Stop lines and road borders |
|
| 107 |
+
| `goal_pose` | float32 `[1, 4]` | Route goal |
|
| 108 |
+
| `ego_shape` | float32 `[1, 3]` | Wheel base, length, width |
|
| 109 |
+
| `sensor_latency` | float32 `[1, 1]` | Time from the LiDAR stamp to the planning time, in seconds |
|
| 110 |
+
| `turn_indicators` | int32 `[1, 31]` | Carried for a stable signature only; the node binds a constant |
|
| 111 |
+
|
| 112 |
+
| Output | dtype / shape | Content |
|
| 113 |
+
| --- | --- | --- |
|
| 114 |
+
| `trajectory` | float32 `[1, 60, 4]` | x, y, cos(yaw), sin(yaw) at 0.1 s … 6.0 s |
|
| 115 |
+
| `prior_trajectory` | float32 `[1, 60, 4]` | A second ego trajectory, published as a candidate |
|
| 116 |
+
| `turn_indicator_logits` | float32 `[1, 3]` | Logits of DISABLE, ENABLE_LEFT, ENABLE_RIGHT |
|
| 117 |
+
|
| 118 |
+
**Backbone** (`bevfusion_lidar_feature.onnx`)
|
| 119 |
+
|
| 120 |
+
| Tensor | dtype / shape | Content |
|
| 121 |
+
| --- | --- | --- |
|
| 122 |
+
| `voxels` (in) | float32 `[M, 32, 5]` | Points per voxel: x, y, z, intensity, time lag; voxel size 0.17 × 0.17 × 0.2 m over ±122.4 m, z −3…5 m |
|
| 123 |
+
| `coors` (in) | int32 `[M, 3]` | Voxel coordinates z, y, x |
|
| 124 |
+
| `num_points_per_voxel` (in) | int32 `[M]` | Valid points per voxel; M up to 256,000 |
|
| 125 |
+
| `bev_feature` (out) | float32 `[1, 512, 180, 180]` | The BEV feature map |
|
| 126 |
+
| `bbox_pred`, `score`, `label_pred` (out) | `[10, 500]`, `[500]`, int64 `[500]` | Undecoded detection proposals for car, truck, bus, bicycle, pedestrian, traffic cone and barrier |
|
| 127 |
+
|
| 128 |
+
## Usage in Autoware
|
| 129 |
+
|
| 130 |
+
Build [`autoware_oneplanner`](https://github.com/autowarefoundation/autoware_oneplanner) in an Autoware
|
| 131 |
+
workspace as its README describes (ROS 2, Autoware Core, an NVIDIA GPU with CUDA and TensorRT 10, and
|
| 132 |
+
`autoware_tensorrt_plugins` from Autoware Universe for the backbone). Then download the model to the node's
|
| 133 |
+
default model directory and launch it:
|
| 134 |
+
|
| 135 |
+
```bash
|
| 136 |
+
hf download AutowareFoundation/oneplanner --revision v1.0 --local-dir ~/autoware_data/oneplanner
|
| 137 |
+
ros2 launch autoware_oneplanner oneplanner.launch.xml \
|
| 138 |
+
model_path:=$HOME/autoware_data/oneplanner model_name:=oneplanner
|
| 139 |
+
```
|
| 140 |
+
|
| 141 |
+
Pin `--revision` to a tag rather than relying on `main`, and add `--exclude "media/*" "replay.mp4"` to skip
|
| 142 |
+
the demo media. The first launch builds both TensorRT engines, which takes several minutes. To see the output in
|
| 143 |
+
Autoware's RViz layout, remap `output_trajectory:=/planning/trajectory`; to drive with it, wire it into your
|
| 144 |
+
planning stack's trajectory input behind Autoware's trajectory validation.
|
| 145 |
+
|
| 146 |
+
The node feeds the inputs the model was trained with, the `oneplanner_v1` input convention: the ego state as
|
| 147 |
+
recorded, the map conversion, the traffic-light selection and the temporal BEV history are specified in the
|
| 148 |
+
model contract, and the node refuses a model package that states another convention.
|
| 149 |
+
|
| 150 |
+
## Training
|
| 151 |
+
|
| 152 |
+
The planner was trained by TIER IV on driving data recorded in Japan; the data is not public. The BEVFusion-L
|
| 153 |
+
backbone was trained with [AWML](https://github.com/tier4/AWML) and kept frozen while the planner was trained.
|
| 154 |
+
Accuracy figures are measured on internal validation data and are not published.
|
| 155 |
+
|
| 156 |
+
## Limitations
|
| 157 |
+
|
| 158 |
+
- **Research model.** It is not a certified driving system and must not control a vehicle on public roads.
|
| 159 |
+
Run it in simulation, on closed courses, or with a trained safety driver and independent safeguards
|
| 160 |
+
downstream of the planner; see the node's
|
| 161 |
+
[DISCLAIMER](https://github.com/autowarefoundation/autoware_oneplanner/blob/main/DISCLAIMER.md).
|
| 162 |
+
- **Other road users through the LiDAR only.** The planner reads no tracked or predicted objects: other road
|
| 163 |
+
users reach it through the BEV features of the point cloud.
|
| 164 |
+
- **Sensor setup and domain.** Trained on the vehicles, LiDAR configuration and roads of its training data in
|
| 165 |
+
Japan (left-hand traffic, Japanese traffic lights). Performance on other platforms and operational domains is
|
| 166 |
+
not characterized.
|
| 167 |
+
- **Evaluation.** The video preview and the scenes on this page are open-loop replays of recorded drives: the
|
| 168 |
+
plan is drawn against the path a person drove, not executed.
|
| 169 |
+
|
| 170 |
+
## Provenance
|
| 171 |
+
|
| 172 |
+
| | |
|
| 173 |
+
| --- | --- |
|
| 174 |
+
| Source | Exported to ONNX by the OnePlanner training code |
|
| 175 |
+
| This repository | `AutowareFoundation/oneplanner`, tag `v1.0` |
|
| 176 |
+
|
| 177 |
+
The graphs are the exported files, renamed to the node's default file names. `SHA256SUMS` lists their
|
| 178 |
+
checksums.
|
| 179 |
+
|
| 180 |
+
## References
|
| 181 |
+
|
| 182 |
+
- `autoware_oneplanner`: <https://github.com/autowarefoundation/autoware_oneplanner>
|
| 183 |
+
- Model contract: <https://github.com/autowarefoundation/autoware_oneplanner/blob/main/autoware_oneplanner/docs/model_contract.md>
|
| 184 |
+
- AWML: <https://github.com/tier4/AWML>
|
| 185 |
+
- Autoware: <https://github.com/autowarefoundation/autoware>
|
SHA256SUMS
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4 LICENSE
|
| 2 |
+
d701f6c37b44af6a04deab43535c0ff7ed81142def56126bd0df4690f4e57e8e bevfusion_lidar_feature.onnx
|
| 3 |
+
6bd2eba88475af5e5a823eb39b6994e1c45a820049e73500f40a114dd0f3fb03 deploy_metadata.yaml
|
| 4 |
+
b926d057b249bb170cd13c4ff6d5b343451a0153e2a4b9a87af1abbe162f05d3 media/oneplanner_scenes.png
|
| 5 |
+
b1875e9863eabd1604ffc9a99ef9c1447f4c6aee59059d20db5509c460c1b95c ml_package_oneplanner.param.yaml
|
| 6 |
+
dd7271bfbfc3bad2d9ec2c2faf1bceafd677d2e8ebc8d6b082961db638128ee4 oneplanner_planner.onnx
|
| 7 |
+
71c6112962ad280b48ff4278bd6d5b97cb20ee7c034ec2e482ebcd4c71d2ba1c replay.mp4
|
bevfusion_lidar_feature.onnx
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:d701f6c37b44af6a04deab43535c0ff7ed81142def56126bd0df4690f4e57e8e
|
| 3 |
+
size 33765961
|
deploy_metadata.yaml
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
version: v1.0
|
media/oneplanner_scenes.png
ADDED
|
Git LFS Details
|
ml_package_oneplanner.param.yaml
ADDED
|
@@ -0,0 +1,82 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Network description of the OnePlanner model in this directory (oneplanner_planner.onnx and
|
| 2 |
+
# bevfusion_lidar_feature.onnx), read by autoware_oneplanner as ml_package_<model_name>.param.yaml.
|
| 3 |
+
# It overrides the package defaults for this network; host and deployment behaviour (workspace,
|
| 4 |
+
# rates, tolerances, paths) stays in the package's oneplanner.param.yaml. See the package's
|
| 5 |
+
# docs/model_contract.md for the meaning of every field.
|
| 6 |
+
/**:
|
| 7 |
+
ros__parameters:
|
| 8 |
+
# The input convention the model was trained with; the node refuses any other.
|
| 9 |
+
input_convention: "oneplanner_v1"
|
| 10 |
+
# Which sensor input providers the model needs, matched by tensor name.
|
| 11 |
+
sensor_inputs: ["bev_feature"]
|
| 12 |
+
enable_context_inputs: true
|
| 13 |
+
# When the plan starts: at the newest odometry; the graph reads sensor_latency.
|
| 14 |
+
planning_time: "planning_time"
|
| 15 |
+
|
| 16 |
+
# Builder precision of the planner graph.
|
| 17 |
+
precision: "fp32"
|
| 18 |
+
|
| 19 |
+
context:
|
| 20 |
+
ego_history_interval_seconds: 0.1
|
| 21 |
+
# The graph does not read ego_curvature_bias.
|
| 22 |
+
curvature_bias:
|
| 23 |
+
enabled: false
|
| 24 |
+
tau_s: 2.0
|
| 25 |
+
min_speed_mps: 1.0
|
| 26 |
+
# The graph does not read lane_signals / route_signals.
|
| 27 |
+
signal_history:
|
| 28 |
+
enabled: false
|
| 29 |
+
steps: 7
|
| 30 |
+
step_s: 0.5
|
| 31 |
+
turn_indicators:
|
| 32 |
+
# The graph carries this input for a stable signature only; perturbing it changes no
|
| 33 |
+
# output. Bind a constant, subscribe to nothing.
|
| 34 |
+
enabled: false
|
| 35 |
+
|
| 36 |
+
bev_feature:
|
| 37 |
+
history_tensor: "bev_feature_history"
|
| 38 |
+
frames: 3
|
| 39 |
+
interval_seconds: 0.5
|
| 40 |
+
bev_half_extent_m: 122.4
|
| 41 |
+
extractor:
|
| 42 |
+
precision: "fp16"
|
| 43 |
+
feature_tensor: "bev_feature"
|
| 44 |
+
max_points_per_voxel: 32 # from the voxels input shape
|
| 45 |
+
use_intensity: true # 5 point features
|
| 46 |
+
voxels_num: [1, 128000, 256000] # [min, opt, max]
|
| 47 |
+
point_cloud_range: [-122.4, -122.4, -3.0, 122.4, 122.4, 5.0]
|
| 48 |
+
voxel_size: [0.17, 0.17, 0.2]
|
| 49 |
+
detection:
|
| 50 |
+
# The frozen BEVFusion detection head the extractor graph carries. It emits undecoded
|
| 51 |
+
# proposals; the node decodes and suppresses them with autoware_bevfusion's
|
| 52 |
+
# postprocessing and publishes ~/output/detected_objects.
|
| 53 |
+
enabled: true
|
| 54 |
+
# One Autoware class name per head class, in the head's label order. A head class
|
| 55 |
+
# with no ObjectClassification label is written as UNKNOWN.
|
| 56 |
+
# head classes: car, truck, bus, bicycle, pedestrian, traffic_cone, barrier
|
| 57 |
+
class_names: ["CAR", "TRUCK", "BUS", "BICYCLE", "PEDESTRIAN", "UNKNOWN", "UNKNOWN"]
|
| 58 |
+
num_proposals: 500
|
| 59 |
+
out_size_factor: 8
|
| 60 |
+
# Score thresholds per (distance band, class), calibrated for this head and applied as
|
| 61 |
+
# autoware_bevfusion applies detection_score_thresholds: the box centre's radial
|
| 62 |
+
# distance picks the first band whose upper limit exceeds it, and a box beyond the last
|
| 63 |
+
# band is dropped.
|
| 64 |
+
distance_bin_upper_limits: [50.0, 90.0, 121.0, 200.0]
|
| 65 |
+
# distance-major: one row per band, one column per head class
|
| 66 |
+
# CAR TRUCK BUS BICYCLE PEDESTRIAN TRAFFIC_CONE BARRIER
|
| 67 |
+
score_thresholds: [
|
| 68 |
+
0.194733, 0.167118, 0.109791, 0.245172, 0.150065, 0.12842, 0.043799, # [0, 50) m
|
| 69 |
+
0.221063, 0.18848, 0.168961, 0.160301, 0.152223, 0.15707, 0.1, # [50, 90) m
|
| 70 |
+
0.155292, 0.163172, 0.08902, 0.185649, 0.154218, 0.239001, 0.1, # [90, 121) m
|
| 71 |
+
0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1 # [121, 200) m
|
| 72 |
+
]
|
| 73 |
+
|
| 74 |
+
postprocess:
|
| 75 |
+
prediction_tensor: "trajectory"
|
| 76 |
+
extra_trajectory_tensors: ["prior_trajectory"]
|
| 77 |
+
# Logits of DISABLE, ENABLE_LEFT, ENABLE_RIGHT, published as ~/output/turn_indicators.
|
| 78 |
+
turn_indicator:
|
| 79 |
+
tensor: "turn_indicator_logits"
|
| 80 |
+
horizon_seconds: 6.0 # 60 steps
|
| 81 |
+
time_step: 0.1
|
| 82 |
+
generator_name: "OnePlanner"
|
oneplanner_planner.onnx
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:dd7271bfbfc3bad2d9ec2c2faf1bceafd677d2e8ebc8d6b082961db638128ee4
|
| 3 |
+
size 112251756
|
replay.mp4
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:71c6112962ad280b48ff4278bd6d5b97cb20ee7c034ec2e482ebcd4c71d2ba1c
|
| 3 |
+
size 16919234
|