A library for building continuous simulation environments, designed to support safe autonomy research.
Project description
safe-autonomy-simulation
Intro
The safe-autonomy-simulation
package provides a framework for building continuous time simulation environments. This package also provides an example simulation environments and simulation entities in the safe_autonomy_simulation.sims
package.
Installation
The safe-autonomy-simulation
package can be installed using any python package manager.
It is recommended to install the project dependencies into an isolated virtual environment.
The following command will install safe-autonomy-simulation
into your local environment using the pip
package manager:
pip install safe-autonomy-simulation
JAX support (experimental)
The safe-autonomy-simulation
package supports numerical computation acceleration via the JAX library. This is an experimental feature.
The safe_autonomy_simulation
package comes installed with JAX for CPU acceleration. JAX also provides GPU acceleration for numerical computing. If you'd like this feature the easiest way to install it is using pip
:
pip install jax[cuda12]
For more information on installing JAX see the official documentation.
JAX can be enabled on a per-class basis for classes that support it. As JAX is an experimental feature it is not enabled by default.
Installing from source
Alternatively, safe-autonomy-simulation
can be installed from source using any of the following methods. Again, it is recommended to install this package in an isolated virtual environment. The following sections describe how to install safe-autonomy-simulation
from source in an isolated virtual environment using poetry
, conda
, and pip + virtualenv
.
Poetry (Recommended)
Poetry is a tool for dependency management and packaging in Python. It allows you to declare the libraries your project depends on and it will manage (install/update) them for you. Poetry will automatically create an isolated virtual environment in your project location for development.
cd safe-autonomy-simulation
poetry install
Conda
Conda is a powerful command line tool for package and environment management that runs on Windows, macOS, and Linux. Conda is often used for package and environment management in data science projects.
cd safe-autonomy-simulation
conda create -n my-env
conda activate my-env
conda install .
Pip + virtualenv
pip
is the default package installer for Python. You can use pip to install packages from the Python Package Index and other indexes. virtualenv
is a tool to create isolated Python environments. Since Python 3.3, a subset of it has been integrated into the python standard library under the venv
module. You can use pip
together with virtualenv
to install your project dependencies in an isolated virtual environment.
cd safe-autonomy-simulation
virtualenv venv
pip install .
Local Documentation
This repository is setup to use MkDocs which is a static site generator geared towards building project documentation. Documentation source files are written in Markdown, and configured with a single YAML configuration file.
NOTE: In order to properly build the documentation locally, you must first have safe-autonomy-simulation
and its dependencies installed in your container/environment!
Build Docs with Poetry (recommended)
Install the MkDocs modules in a container/virtual environment via Poetry:
poetry install --with docs
To build the documentation locally without serving it, use the following command from within your container/virtual environment:
poetry run mkdocs build
To serve the documentation on a local port, use the following command from within your container/virtual environment:
poetry run mkdocs serve
Usage
Public Release
Approved for public release; distribution is unlimited. Case Number: AFRL-2024-3374
Team
Jamie Cunningham, John McCarroll, Kyle Dunlap, Nate Hamilton, Charles Keating, Kochise Bennett, Aditesh Kumar, Kerianne Hobbs
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file safe_autonomy_simulation-2.1.2.tar.gz
.
File metadata
- Download URL: safe_autonomy_simulation-2.1.2.tar.gz
- Upload date:
- Size: 39.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a8ef003409dc036da03daf4b9910b149ba499a15890b1e39043b3a5f2234ee78 |
|
MD5 | 386e04de70008e52c8cf41bcc7a07a01 |
|
BLAKE2b-256 | 6d9f90516a104ca6019849318e0f8c0a26c616a12963319aa02ed969b19bb521 |
File details
Details for the file safe_autonomy_simulation-2.1.2-py3-none-any.whl
.
File metadata
- Download URL: safe_autonomy_simulation-2.1.2-py3-none-any.whl
- Upload date:
- Size: 60.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c858fb74d9ea7b7bcc59e0b5eb6802ea57ed45f879979cdbce3b2a52fb80d1de |
|
MD5 | 2c24edc0b7e1b47bab96bc7b58073603 |
|
BLAKE2b-256 | 4eb7fb631937287ea23228122bf0f418c0d810318bdae713bf14741b44a86072 |