Skip to content

Latest commit

 

History

History
164 lines (105 loc) · 5 KB

setup.rst

File metadata and controls

164 lines (105 loc) · 5 KB

Setting up SMARTS

First Steps

To setup the simulator, which is called SMARTS, run the following commands,

# git clone ...
cd <project>

# Follow the instructions given by prompt for installing the system requirements
./install_deps.sh

# setup virtual environment; presently only Python 3.7.x is officially supported
python3.7 -m venv .venv

# enter virtual environment to install all dependencies
source .venv/bin/activate

# upgrade pip, a recent version of pip is needed for the version of tensorflow we depend on
pip install --upgrade pip

# install [train] version of python package with the rllib dependencies
pip install -e .[train]

# OPTIONAL: install [camera-obs] version of python package with the panda3D dependencies if you want to render camera sensor observations in your simulations
pip install -e .[camera-obs]

# make sure you can run sanity-test (and verify they are passing)
# if tests fail, check './sanity_test_result.xml' for test report.
pip install -e .[test]
make sanity-test

# then you can run a scenario, see following section for more details

Running

We use the scl command line to run SMARTS together with it's supporting processes. To run the default example simply build a scenario and run the following command:

You need to add the --envision flag to run the Envision server where you can see the visualization of the experiment. See [./envision/README.md](./envision/README.md) for more information on Envision, our front-end visualization tool.

After executing the above command, visit http://localhost:8081/ in your browser to view your experiment.

Several example scripts are provided under [SMARTS/examples](./examples), as well as a handful of scenarios under [SMARTS/scenarios](./scenarios). You can create your own scenarios using the [Scenario Studio](./smarts/sstudio). Below is the generic command to run and visualize one of the example scripts with a scenario.

Pass in the agent example path and scenarios folder path above to run an experiment like the one mentioned above.

Examples

Troubleshooting

  1. Exception: Could not open window.

This may be due to some old dependencies of Panda3D. Try the following instructions to solve it.

# set DISPLAY
vim ~/.bashrc
export DISPLAY=":1"
source ~/.bashrc

# set xorg server
sudo wget -O /etc/X11/xorg.conf http://xpra.org/xorg.conf
sudo /usr/bin/Xorg -noreset +extension GLX +extension RANDR +extension RENDER -logfile ./xdummy.log -config /etc/X11/xorg.conf $DISPLAY & 0

2. SUMO SUMO can have some problems in setup. Please look through the following for support for SUMO:

If you are having issues see: [SETUP](docs/setup.rst) and [SUMO TROUBLESHOOTING](docs/SUMO_TROUBLESHOOTING.md).

3. General In many cases additional run logs are located at ~/.smarts. These can sometimes be helpful.

Docs

To look at the documentation call:

# Browser will attempt to open on localhost:8082
scl docs

CLI Tool

SMARTS provides a command-line tool to interact with scenario studio and Envision.

Usage

scl COMMAND SUBCOMMAND [OPTIONS] [ARGS]...

Commands:

  • envision
  • scenario
  • zoo
  • run

Subcommands of scenario:

  • build-all: Generate all scenarios under the given directories
  • build: Generate a single scenario
  • clean: Clean generated artifacts

Subcommands of envision:

  • start: Start envision server

Subcommands of zoo:

  • build: Build a policy

Subcommands of run: No subcommands of run. You can directly use run to simulate an experiment as mentioned in the example above.