Newer
Older
This repository contains the setup for a CARLA-based simulation framework. The simulation framework is designed for simulation-based fault injection for evaluating test case generation approaches for functional safety. It includes a [Search-based test case generation](https://git.fortiss.org/fico/fico_test_case_generation/fico_search) and a [GAN-based test case generation](https://git.fortiss.org/fico/fico_test_case_generation/fico_search).
## Requirements
Before running this notebook, make sure that the computer on which it shall be executed meets the following requirements:
_Hardware_
| Component| Requirements |
| --- | --- |
| CPU | Quad-core Intel or AMD, 2.5 GHz or faster |
| GPU | NVIDIA GeForce 960 GTX or higher with 8 GB VRAM or more |
| RAM | 32 GB or more |
_Software_
* Ubuntu 22.04
* Python 3.10 with `pip` and `venv` (for the Search-based Test Case Generation)
* Python 3.8 with `pip` and `venv` (for the GAN-based Test Case Generation)
* Docker engine (see [here](https://docs.docker.com/engine/install/ubuntu/#install-using-the-repository)) with `sudo`-less access (see [here](https://docs.docker.com/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user))
* NVIDIA Containter Toolkit (see [here](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html#installation-guide))
* Internet access (for pulling Docker images and dependencies)
# Setup of the CARLA-based simulation framework
The pre-defined setup for the FICo simulation framework in this repository includes all necessary components to run the test case generation. This includes:
- CARLA (https://github.com/carla-simulator/carla) (Tag: 0.9.15)
- ScenarioRunner for CARLA (https://github.com/carla-simulator/scenario_runner) (Tag: 0.9.15)
- The CARLA interface for scenario-based testing (https://git.fortiss.org/fico/fico_simulation_framework/fico_carla.git)
- ROSCo for ROS-based co-simulation of FMUs (https://git.fortiss.org/ff1/rosco) (Branch: galactic)
- Search-based test case generation using the OpenSBT framework (https://git.fortiss.org/fico/fico_test_case_generation/fico_search.git)
- GAN-based test case generation (https://git.fortiss.org/fico/fico_test_case_generation/fico_gan.git)
## Installation
To install the simulation framework, run the `setup.bash` script. This script creates the root folder `fico`, in which all components of the FICo simulation framework and FICo test case generation will be installed. This setup script installs all repositories and packages required and sets up necessary virtual environments.
```
The details to run the Search-based test case generation can be found [here](https://git.fortiss.org/fico/fico_test_case_generation/fico_search).
The details to run the GAN-based test case generation can be found [here](https://git.fortiss.org/fico/fico_test_case_generation/fico_gan).