Skip to content

Implementation of scenoRITA that supports Autoware Universe v1.0

License

Notifications You must be signed in to change notification settings

Software-Aurora-Lab/scenoRITA-Autoware

 
 

Repository files navigation

scenoRITA for Autoware Universe v1.0

This is an implementation of scenoRITA that supports Autoware Universe v1.0.

Prerequisites

  1. Ubuntu 22.04 LTS
  2. Docker CE
  3. Python Poetry
  4. Python 3.10.12
  5. ROS2 Humble

File Structure

|--DIR_ROOT
    |--autoware
        |--src
        |--install
        |...
    |--autoware_maps
    |--reduced_autoware
    |--scenoRITA-Autoware
        |--data
        |--src

Installation

  1. under DIR_ROOT, clone the repository, and checkout to release/v1.0 branch

    git clone https://github.com/autowarefoundation/autoware.git
    
  2. under DIR_ROOT, clone the repository

    git clone https://github.com/lethal233/scenoRITA-Autoware.git
    
  3. 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
  4. Pull the image if you haven't done it before

    docker pull ghcr.io/autowarefoundation/autoware-universe:humble-1.0-cuda-amd64
  5. 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
  6. Fill in the docker image id (DOCKER_IMAGE_ID) in the scenoRITA-Autoware/src/config.py with the docker image id of the scenoRITA_autoware_0 container.

  7. 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
  8. 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
  9. 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
  10. 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
  11. Download the maps here and de-compress it under ${ADS_MAP_DIR}, which is defined in config.py

  12. On your host machine, run the following command to download maps and move scripts:

    python3 /path/to/scenoRITA_Autoware/src/prepare.py

Running scenoRITA for Autoware

  1. Install project dependencies via command (if you haven't done it before)

    poetry install
    
  2. 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
  3. 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 to autoware_maps/{map_name} directory. If you want to modify any configuration, you can modify src/config.py or src/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

NOTES

See notes

About

Implementation of scenoRITA that supports Autoware Universe v1.0

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 96.8%
  • Shell 3.2%