Skip to content

Commit 047b7e2

Browse files
authored
Update README.md
1 parent c787d28 commit 047b7e2

File tree

1 file changed

+77
-14
lines changed

1 file changed

+77
-14
lines changed

README.md

Lines changed: 77 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,84 @@
1-
# AutoDRIVE Simulator Containerization
1+
# AutoDRIVE Simulator: RZR AEB Function
22

3-
This repository provides the necessary files to build a docker image for AutoDRIVE Simulator.
3+
This branch hosts the necessary codebase to run a parameter sweep for verification and validation (V&V) of autonomous emergency braking (AEB) functionality of the [RZR digital twin](https://youtu.be/PLW1-sYW6Hw) using [AutoDRIVE Simulator](https://youtu.be/t0CgNR_LgrQ).
44

5-
It is assumed that if the docker container is to take advantage of an NVIDIA GPU, the host machine has been properly configured by installing the necessary NVIDIA drivers, [Docker](https://docs.docker.com/engine/install/), and the
6-
[NVIDIA Container Toolkit](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/index.html).
5+
This branch, in conjunction with others such as the [palmetto](https://github.com/AutoDRIVE-Ecosystem/AutoDRIVE-Simulator-HPC/tree/palmetto) and [palmetto-webviewer](https://github.com/AutoDRIVE-Ecosystem/AutoDRIVE-Simulator-HPC/tree/palmetto-webviewer) or the [rancher](https://github.com/AutoDRIVE-Ecosystem/AutoDRIVE-Simulator-HPC/tree/rancher) and [rancher-webviewer](https://github.com/AutoDRIVE-Ecosystem/AutoDRIVE-Simulator-HPC/tree/rancher-webviewer), can deploy the said V&V framework on the respective high-performance cloud computing resources.
76

8-
## Building an AutoDRIVE Simulator Docker Image
7+
## SETUP
98

10-
In order to build a docker image for AutoDRIVE Simulator, run
9+
1. Clone `rzr-aeb` branch of the `AutoDRIVE-Simulator-HPC` repository.
10+
```bash
11+
$ git clone --single-branch --branch rzr-aeb https://github.com/AutoDRIVE-Ecosystem/AutoDRIVE-Simulator-HPC.git
12+
```
13+
2. Give executable permissions to all the Python scripts.
14+
```bash
15+
$ cd <path/to/cloned/repo>
16+
$ sudo chmod +x *.py
17+
```
18+
4. Install the necessary dependencies as mentioned below.
19+
[AutoDRIVE Devkit's Python API](https://github.com/Tinker-Twins/AutoDRIVE/tree/AutoDRIVE-Devkit/ADSS%20Toolkit/autodrive_py) has the following dependencies (tested with Python 3.8.10):
20+
21+
- Websocket-related dependencies for communication bridge between [AutoDRIVE Simulator](https://github.com/Tinker-Twins/AutoDRIVE/tree/AutoDRIVE-Simulator) and [AutoDRIVE Devkit](https://github.com/Tinker-Twins/AutoDRIVE/tree/AutoDRIVE-Devkit) (version sensitive):
22+
23+
| Package | Tested Version |
24+
|---------|----------------|
25+
| eventlet | 0.33.3 |
26+
| Flask | 1.1.1 |
27+
| Flask-SocketIO | 4.1.0 |
28+
| python-socketio | 4.2.0 |
29+
| python-engineio | 3.13.0 |
30+
| greenlet | 1.0.0 |
31+
| gevent | 21.1.2 |
32+
| gevent-websocket | 0.10.1 |
33+
| Jinja2 | 3.0.3 |
34+
| itsdangerous | 2.0.1 |
35+
| werkzeug | 2.0.3 |
36+
37+
```bash
38+
$ pip3 install eventlet==0.33.3
39+
$ pip3 install Flask==1.1.1
40+
$ pip3 install Flask-SocketIO==4.1.0
41+
$ pip3 install python-socketio==4.2.0
42+
$ pip3 install python-engineio==3.13.0
43+
$ pip3 install greenlet==1.0.0
44+
$ pip3 install gevent==21.1.2
45+
$ pip3 install gevent-websocket==0.10.1
46+
$ pip3 install Jinja2==3.0.3
47+
$ pip3 install itsdangerous==2.0.1
48+
$ pip3 install werkzeug==2.0.3
49+
```
50+
51+
- Generic dependencies for data processing and visualization (usually any version will do the job):
52+
53+
| Package | Tested Version |
54+
|---------|----------------|
55+
| numpy | 1.13.3 |
56+
| pillow | 5.1.0 |
57+
| opencv-contrib-python | 4.5.1.48 |
58+
59+
```bash
60+
$ pip3 install numpy
61+
$ pip3 install pillow
62+
$ pip3 install opencv-contrib-python
63+
```
1164
12-
`docker build -t autodrive_simulator .`
65+
## USAGE
1366
14-
This will automatically pull the latest AutoDRIVE Simulator release version. To use a specific release version instead, use the VERSION command line argument. For instance, you may run
67+
1. Download, unzip and launch the AutoDRIVE Simulator by referring to the detailed instructions given [here](https://github.com/AutoDRIVE-Ecosystem/AutoDRIVE/tree/AutoDRIVE-Simulator?tab=readme-ov-file#download-and-run):
68+
- Download the latest release of the standalone application of AutoDRIVE Simulator for RZR AEB scenario from [here]().
69+
- Set the execution rights of the standalone application:
70+
```bash
71+
$ cd <path/to/AutoDRIVE Simulator.x86_64>
72+
$ sudo chmod +x AutoDRIVE\ Simulator.x86_64
73+
```
74+
- Run the standalone simulator by double-clicking the standalone executable or via command line interface (CLI):
75+
```bash
76+
$ cd <path/to/AutoDRIVE Simulator.x86_64>
77+
$ ./ AutoDRIVE\ Simulator.x86_64
78+
```
1579
16-
`docker build -t autodrive_simulator . --build-arg VERSION=Simulator-0.2.0`
17-
18-
For testing purposes, you may want to use a local version of AutoDRIVE Simulator, as opposed to pulling a release version from github. In this case,
19-
update the Dockerfile with the folder name containing your AutoDRIVE Simulator application, and run
20-
21-
`docker build -t autodrive_simulator . --build-arg VERSION=local`
80+
3. Execute the [`rzr_aeb`](https://github.com/AutoDRIVE-Ecosystem/AutoDRIVE-Simulator-HPC/blob/rzr-aeb/rzr_aeb.py) Python3 script to run the autonomous emergency braking (AEB) function with RZR, employing the AutoDRIVE Python API.
81+
```bash
82+
$ cd <path/to/rzr_aeb.py>
83+
$ python3 rzr_aeb.py
84+
```

0 commit comments

Comments
 (0)