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.
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.
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.
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
You can find instructions on how to manually install ATOS and its dependencies from source here.
Please click here for instructions on how to use ATOS with a GUI.
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.