Setup
Demo Video
Prerequisites
python3 (3.8, 3.9, 3.10, 3.11)
ubuntu (>=16.04)
Installation
Package
This includes SMARTS but none of the examples.
# For Mac OS X users, ensure XQuartz is pre-installed.
# Install the system requirements. You may use the `-y` option to enable
# automatic assumption of "yes" to all prompts to avoid timeout from
# waiting for user input.
$ bash utils/setup/install_deps.sh
# This should install the latest version of SMARTS from package index (generally PyPI).
$ pip install 'smarts[camera_obs,sumo,example]'
Development
Run the following commands to setup the SMARTS simulator.
$ git clone https://github.com/huawei-noah/SMARTS.git
$ cd <path/to/SMARTS>
# For latest stable release
$ git checkout tags/<tag_name>
# e.g., git checkout tags/v1.0.3
Note
Alternatively, to use the current development (i.e., bleeding edge) version:
$ git checkout master
# For Mac OS X users, ensure XQuartz is pre-installed.
# Install the system requirements. You may use the `-y` option to enable
# automatic assumption of "yes" to all prompts to avoid timeout from
# waiting for user input.
$ bash utils/setup/install_deps.sh
# Setup virtual environment. Presently at least Python 3.8 and higher is
# officially supported.
$ python3.8 -m venv .venv
# Enter virtual environment to install dependencies.
$ source .venv/bin/activate
# Upgrade pip.
$ pip install --upgrade pip
# Install smarts with extras as needed. Extras include the following:
# `camera_obs` - needed for rendering camera observations, and for testing.
# `sumo` - needed for using SUMO scenarios.
# `test` - needed for running tests.
# `example` - needed for running examples.
# `--config-settings editable_mode=strict` - may be needed depending on version of setuptools.
# See https://github.com/huawei-noah/SMARTS/issues/2090.
$ pip install -e '.[camera_obs,sumo,test,example]' --config-settings editable_mode=strict
# Run sanity-test and verify they are passing.
# If tests fail, check './sanity_test_result.xml' for test report.
$ make sanity-test