This is an implementation of scenoRITA that supports Autoware Universe v1.0.
- Ubuntu 22.04 LTS
- Docker CE
- Python Poetry
- Python 3.10.12
- ROS2 Humble
|--DIR_ROOT
|--autoware
|--src
|--install
|...
|--autoware_maps
|--reduced_autoware
|--scenoRITA-Autoware
|--data
|--src
-
under
DIR_ROOT
, clone the repository, and checkout torelease/v1.0
branchgit clone https://github.com/autowarefoundation/autoware.git
-
under
DIR_ROOT
, clone the repositorygit clone https://github.com/lethal233/scenoRITA-Autoware.git
-
On your host machine, run the following settings:
sudo sysctl -w net.core.rmem_max=2147483647 sudo sysctl -w net.ipv4.ipfrag_time=3 sudo sysctl -w net.ipv4.ipfrag_high_thresh=134217728
-
Pull the image if you haven't done it before
docker pull ghcr.io/autowarefoundation/autoware-universe:humble-1.0-cuda-amd64
-
Run the following command to start a
init
docker container:rocker --nvidia --x11 --user --name scenoRITA_autoware_0 --network c0 --privileged --volume /path/to/autoware --volume /path/to/autoware_maps --volume /path/to/scenoRITA-Autoware -- ghcr.io/autowarefoundation/autoware-universe:humble-1.0-cuda-amd64
-
Fill in the docker image id (
DOCKER_IMAGE_ID
) in thescenoRITA-Autoware/src/config.py
with the docker image id of thescenoRITA_autoware_0
container. -
Inside the
scenoRITA_autoware_0
container, run the following command to install Autoware (if you haven't done it before):cd /path/to/autoware mkdir src vcs import src < autoware.repos vcs import src < simulator.repos
-
Inside the
scenoRITA_autoware_0
container, under/path/to/autoware
,run the following command to install dependencies:sudo apt update rosdep update rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO
-
Inside the
scenoRITA_autoware_0
container, under/path/to/autoware
, run the following command to build Autoware (if you haven't done it before):colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release
-
Inside the
scenoRITA_autoware_0
container, under/path/to/autoware
, run the following command to source the workspace:sudo ip link set lo multicast on source ~/.bashrc source install/setup.bash
-
Download the maps here and de-compress it under
${ADS_MAP_DIR}
, which is defined inconfig.py
-
On your host machine, run the following command to download maps and move scripts:
python3 /path/to/scenoRITA_Autoware/src/prepare.py
-
Install project dependencies via command (if you haven't done it before)
poetry install
-
source environments, please note that you need to source the file based on your terminal (bash, zsh, etc.). For example, if you are using bash, you can run the following commands:
source /path/to/ros/humble/setup.bash source /path/to/reduced_autoware/install/setup.bash
-
Run scenoRITA via command
poetry run python3 src/main.py
if you want to run scenoRITA on different maps (e.g., san_mateo), you can add
--map=san_mateo
to command. But make sure that you add the map toautoware_maps/{map_name}
directory. If you want to modify any configuration, you can modifysrc/config.py
orsrc/utils.py
file.
After running the command, the output of scenoRITA will be stored under out/{execution_id}
and you can find violations
detected under out/{execution_id}/violations
See notes