/ATOS

ROS2 based platform for coordinating tests of automated vehicles and their surrounding systems.

Primary LanguageC++Mozilla Public License 2.0MPL-2.0

ATOS - AV Test Operating System

ATOS stands for AV Test Operating System, and is an ISO 22133-compliant and ROS2-based scenario execution engine, controls, monitors and coordinates both physical and virtual vehicles and equipment according to scenarios specified in the ASAM OpenSCENARIO® format. It is made for running in real-time and uses GPS time to ensure exact and repeatable execution between runs.



To build ATOS follow the guide below. More documentation can be found [here](https://atos.readthedocs.io/en/latest/).


Installing ATOS

There are two ways to start using ATOS: using the docker image or building from source. The docker image is the easiest way to get started, but if you intend to make changes to ATOS, we recommend building from source.

Using the docker image

To run ATOS using the docker image, first install docker on your computer. Then, run the following command from the root repo directory:

docker compose up

You can also start ATOS without the compose file with docker run:

If you run Docker Engine you can start ATOS using the computers own network stack with

docker run --network="host"  --ipc=host --privileged -it -v ~/.astazero/ATOS/:/root/.astazero/ATOS/ astazero/atos_docker_env:latest bash -c "source /root/atos_ws/install/setup.sh ; ros2 launch atos launch_basic.py insecure:=True"

If you run Docker Desktop you will need to specify the ports to expose to the host computer.

docker run --ipc=host --privileged -it -v ~/.astazero/ATOS/:/root/.astazero/ATOS/ -p 80:80 -p 8080:8080 -p 8081:8081 -p 8082:8082 -p 3000:3000 -p 3443:3443 -p 55555:55555 -p 443:443 -p 9090:9090 astazero/atos_docker_env:latest bash -c "source /root/atos_ws/install/setup.sh ; ros2 launch atos launch_basic.py insecure:=True"

See the GUI documentation on how to enable secure connections. You might wish to mount the config directory at ~/.astazero/ATOS/ to a different location on your host computer. This can be done by changing the path after the -v flag in the above command. You might also wish to inspect the image with instead of running the launch_basic.py script. This can be done by removing the last "bash -c ..." part of the command.

Using the installation script

ATOS comes with an installation script that automates the installation process. It is intended for use on Ubuntu 22.04. The script will install ROS2 Humble, ATOS dependencies, and ATOS itself. It will also create a workspace (~/atos_ws) and build ATOS. The script can be executed using the following command:

./setup_atos.sh

Building from source manually

You can find instructions on how to manually install ATOS and its dependencies from source here.

Using ATOS with a Graphical User Interface (GUI)

Please click here for instructions on how to use ATOS with a GUI.

Funded by

This project has partly been funded by the below organisations. The herein expressed views of the contributors do not necessarily reflect the views of the organisations.



AstaZero logo



Vinnova logo