# AVstack CORE
This is the core library of `AVstack`. It is independent of any dataset or simulator. This accompanies the preprint [HERE][avstack-preprint].
## Philosophy
Pioneers of autonomous vehicles (AVs) promised to revolutionize the driving experience and driving safety. However, milestones in AVs have materialized slower than forecast. Two culprits are (1) the lack of verifiability of proposed state-of-the-art AV components, and (2) stagnation of pursuing next-level evaluations, e.g.,~vehicle-to-infrastructure (V2I) and multi-agent collaboration. In part, progress has been hampered by: the large volume of software in AVs, the multiple disparate conventions, the difficulty of testing across datasets and simulators, and the inflexibility of state-of-the-art AV components. To address these challenges, we present `AVstack`, an open-source, reconfigurable software platform for AV design, implementation, test, and analysis. `AVstack` solves the validation problem by enabling first-of-a-kind trade studies on datasets and physics-based simulators. `AVstack` solves the stagnation problem as a reconfigurable AV platform built on dozens of open-source AV components in a high-level programming language.
## Installation
**NOTE:** This currently only works on a Linux distribution (tested on Ubuntu 20.04). It also only works with Python 3.8 (to be expanded in the future).
First, clone the repositry and submodules. If you are not running perception, then you may not have to recurse the submodules.
```
git clone --recurse-submodules https://github.com/avstack-lab/lib-avstack-core.git
```
Dependencies are managed with [`poetry`][poetry]. This uses the `pyproject.toml` file to create a `poetry.lock` file. It includes an optional `perception` group so that you can install `avstack` without all the large packages necessary for perception. To install poetry, see [this page](https://python-poetry.org/docs/#installation).
### Without Perception
**NOTE:** for now it is not possible to install without perception. We tried using poetry `groups` with the optional flag but there were unexpected consequences of being unable to install perception when used as a sub-project. This will hopefully be fixed soon.
### With Perception
For installation with perception, run
```
poetry install
```
#### Perception Models
We integrate [mmlab](https://github.com/open-mmlab/)'s `mmdet` and `mmdet3d` as third party submodules for perception. Running perception models requires a GPU!
At a minimum, you may want to run the provided unit tests. These require `mmdet` and `mmdet3d` perception models from the [`mmdet` model zoo][mmdet-modelzoo] and [`mmdet3d` model zoo][mmdet3d-modelzoo]. To do an automated installation of the necessary models, run:
```
cd models
./download_mmdet_models.sh
./download_mmdet3d_models.sh
```
This will download the models to the `models` folder and will *attempt* to establish a symbolic link for `mmdet` and `mmdet3d`. We provide some error checking, but it is up to you to verify that the symbolic link worked.
## Running Tests
Since we are using `poetry`, run:
```
poetry run pytest tests
```
These should pass if either: (a) you did not install perception, or (b) if you installed perception *and* downloaded the models.
# Contributing
See [CONTRIBUTING.md][contributing] for further details.
# LICENSE
Copyright 2022 Spencer Hallyburton
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Logo by [Sydney Jeffs](https://twitter.com/sydney_jeffs).
[avstack-preprint]: todo
[poetry]: https://github.com/python-poetry/poetry
[mmdet-modelzoo]: https://mmdetection.readthedocs.io/en/stable/model_zoo.html
[mmdet3d-modelzoo]: https://mmdetection3d.readthedocs.io/en/stable/model_zoo.html
[contributing]: https://github.com/avstack-lab/lib-avstack-core/blob/main/CONTRIBUTING.md
[license]: https://github.com/avstack-lab/lib-avstack-core/blob/main/LICENSE.md
Raw data
{
"_id": null,
"home_page": "https://avstack.org",
"name": "lib-avstack-core",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8,<3.9",
"maintainer_email": "",
"keywords": "self-driving,autonomy,perception,planning,control",
"author": "Spencer Hallyburton",
"author_email": "spencer.hallyburton@duke.edu",
"download_url": "https://files.pythonhosted.org/packages/8c/68/66b108c3d0f2c2480618f322e72eacd93be4057686a93735485cd06a18ef/lib_avstack_core-0.1.0a1.tar.gz",
"platform": null,
"description": "# AVstack CORE\n\nThis is the core library of `AVstack`. It is independent of any dataset or simulator. This accompanies the preprint [HERE][avstack-preprint].\n\n## Philosophy\n\nPioneers of autonomous vehicles (AVs) promised to revolutionize the driving experience and driving safety. However, milestones in AVs have materialized slower than forecast. Two culprits are (1) the lack of verifiability of proposed state-of-the-art AV components, and (2) stagnation of pursuing next-level evaluations, e.g.,~vehicle-to-infrastructure (V2I) and multi-agent collaboration. In part, progress has been hampered by: the large volume of software in AVs, the multiple disparate conventions, the difficulty of testing across datasets and simulators, and the inflexibility of state-of-the-art AV components. To address these challenges, we present `AVstack`, an open-source, reconfigurable software platform for AV design, implementation, test, and analysis. `AVstack` solves the validation problem by enabling first-of-a-kind trade studies on datasets and physics-based simulators. `AVstack` solves the stagnation problem as a reconfigurable AV platform built on dozens of open-source AV components in a high-level programming language.\n\n\n## Installation\n\n**NOTE:** This currently only works on a Linux distribution (tested on Ubuntu 20.04). It also only works with Python 3.8 (to be expanded in the future).\n\nFirst, clone the repositry and submodules. If you are not running perception, then you may not have to recurse the submodules.\n```\ngit clone --recurse-submodules https://github.com/avstack-lab/lib-avstack-core.git \n```\nDependencies are managed with [`poetry`][poetry]. This uses the `pyproject.toml` file to create a `poetry.lock` file. It includes an optional `perception` group so that you can install `avstack` without all the large packages necessary for perception. To install poetry, see [this page](https://python-poetry.org/docs/#installation). \n\n\n### Without Perception\n\n**NOTE:** for now it is not possible to install without perception. We tried using poetry `groups` with the optional flag but there were unexpected consequences of being unable to install perception when used as a sub-project. This will hopefully be fixed soon.\n\n### With Perception\n\nFor installation with perception, run\n```\npoetry install\n```\n\n#### Perception Models\n\nWe integrate [mmlab](https://github.com/open-mmlab/)'s `mmdet` and `mmdet3d` as third party submodules for perception. Running perception models requires a GPU! \n\nAt a minimum, you may want to run the provided unit tests. These require `mmdet` and `mmdet3d` perception models from the [`mmdet` model zoo][mmdet-modelzoo] and [`mmdet3d` model zoo][mmdet3d-modelzoo]. To do an automated installation of the necessary models, run:\n```\ncd models\n./download_mmdet_models.sh\n./download_mmdet3d_models.sh\n```\nThis will download the models to the `models` folder and will *attempt* to establish a symbolic link for `mmdet` and `mmdet3d`. We provide some error checking, but it is up to you to verify that the symbolic link worked.\n\n## Running Tests\n\nSince we are using `poetry`, run:\n```\npoetry run pytest tests\n```\nThese should pass if either: (a) you did not install perception, or (b) if you installed perception *and* downloaded the models. \n\n# Contributing\n\nSee [CONTRIBUTING.md][contributing] for further details.\n\n\n# LICENSE\n\nCopyright 2022 Spencer Hallyburton\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n\nLogo by [Sydney Jeffs](https://twitter.com/sydney_jeffs).\n\n\n[avstack-preprint]: todo\n[poetry]: https://github.com/python-poetry/poetry\n[mmdet-modelzoo]: https://mmdetection.readthedocs.io/en/stable/model_zoo.html\n[mmdet3d-modelzoo]: https://mmdetection3d.readthedocs.io/en/stable/model_zoo.html\n[contributing]: https://github.com/avstack-lab/lib-avstack-core/blob/main/CONTRIBUTING.md\n[license]: https://github.com/avstack-lab/lib-avstack-core/blob/main/LICENSE.md\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "Core library for autonomous vehicle development",
"version": "0.1.0a1",
"split_keywords": [
"self-driving",
"autonomy",
"perception",
"planning",
"control"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "fc743512fce021d3402e580636b8dbc33da0053d55c77871195c7d60be245a45",
"md5": "f21f216da1d49a9e2e57ca6331801e52",
"sha256": "6004fde3e66cfa88ffadab2fce54185cf81f26d556357586c6a55e569e72a072"
},
"downloads": -1,
"filename": "lib_avstack_core-0.1.0a1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "f21f216da1d49a9e2e57ca6331801e52",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8,<3.9",
"size": 132414,
"upload_time": "2023-01-03T19:34:34",
"upload_time_iso_8601": "2023-01-03T19:34:34.470793Z",
"url": "https://files.pythonhosted.org/packages/fc/74/3512fce021d3402e580636b8dbc33da0053d55c77871195c7d60be245a45/lib_avstack_core-0.1.0a1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "8c6866b108c3d0f2c2480618f322e72eacd93be4057686a93735485cd06a18ef",
"md5": "d9f110959eebc93360bc182d7ab2f3f9",
"sha256": "791885c758b90b0ed20106c6d91ac929d5590e31716445cbda8a548a8beca1a1"
},
"downloads": -1,
"filename": "lib_avstack_core-0.1.0a1.tar.gz",
"has_sig": false,
"md5_digest": "d9f110959eebc93360bc182d7ab2f3f9",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8,<3.9",
"size": 106396,
"upload_time": "2023-01-03T19:34:36",
"upload_time_iso_8601": "2023-01-03T19:34:36.088888Z",
"url": "https://files.pythonhosted.org/packages/8c/68/66b108c3d0f2c2480618f322e72eacd93be4057686a93735485cd06a18ef/lib_avstack_core-0.1.0a1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-01-03 19:34:36",
"github": false,
"gitlab": false,
"bitbucket": false,
"lcname": "lib-avstack-core"
}