Git Product home page Git Product logo

avdev-sandbox's Introduction

AV Development Sandbox

This is the easiest place to get started with AVstack. It already has avstack-core and avstack-api libraries situated in the appropriate places and dependencies set up with the poetry.lock file. Read on for more information on how to get going.

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.

Getting Started

Check out tutorials on our ReadTheDocs page!

Requirements

This currently only works on a Linux distribution (tested on Ubuntu 20.04 and 22.04). It also only works with Python 3.8. Poetry must be installed on your system to handle the dependencies. Python 3.8 must be installed on your system.

Troubleshooting

  • If you install poetry but your systems says it is not found, you may need to add the poetry path to your path. On linux, this would be: export PATH="$HOME/.local/bin:$PATH". I recommend adding this to your .bashrc or .zshrc file.
  • Through an ssh connection, poetry may have keyring issues. If this is true, you can run the following: export PYTHON_KEYRING_BACKEND=keyring.backends.null.Keyring

Installation

The best way to get started is to run the following:

git clone --recurse-submodules https://github.com/avstack-lab/avdev-sandbox/
cd avdev-sandbox
poetry install  # to install the dependencies

Execute Basic Tests

Try the following and see if it works.

cd examples/hello_world
poetry run python hello_import.py

This will validate whether we can import avstack and avapi. Not very interesting, but we have to start somewhere!

Download Models and Datasets

To get fancy with it, you'll need perception models and datasets. To install those, run

./initialize.sh  # to download models and datasets

The initialization process may take a while -- it downloads perception models and AV datasets from our hosted data buckets. If you have a preferred place to store data and perception models, you can pass that as an argument by running:

./initialize.sh /path/to/save/data /path/to/save/models

Execute Full Tests

Once this is finished, let's try out some more interesting tests such as

cd examples/hello_world
poetry run python hello_api.py

which will check if we can find the datasets we downloaded.

And

cd examples/hello_world
poetry run python hello_perception.py

which will check if we can properly set up perception models using MMDetection.

Fire Up Jupyter Notebooks

Now that you have the basic tests running, fire up the jupyter notebooks to get in to some more involved experimentation. You can once again do this through poetry by running

poetry run jupyter notebook

Then go into examples/notebooks and start playing around with them.

Reporting Bugs

I welcome feedback from the community on bugs with this and other repos. Please put up an issue when you find a problem or need more clarification on how to start.

LICENSE

Copyright 2023 Spencer Hallyburton

AVstack specific code is distributed under the MIT License.

avdev-sandbox's People

Contributors

roshambo919 avatar judyhe19 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.