This repo provides a dockerized deployment of autoware mini with carla and is based on the code here.
Install docker compose. Then download repositories which will be later mounted or copied into the containers.
- Download Tartu.tar.gz and place it inside
carlar0_9_13
folder - Download Carla 0.9.13 and extract PythonAPI folder and place it inside
autoware_mini/CARLA_ROOT/
- Download Autoware Mini and place it inside
autoware_mini/AUTOWARE_MINI/
- Download Scenario Runner and place it in
autoware_mini/SCENARIO_RUNNER/
using:
git clone -b route_scenario https://github.com/UT-ADL/scenario_runner.git
Upgrade shapely version from requirements.txt file in scenario runner to 2.0, because this is the minimum shapely version autoware mini supports.
docker compose up --build
docker compose up carla_sim
If the docker-based carla deployment does not work, start CARLA on your host. Extract the CARLA 0.9.13 archive to /home/carla/
and execute the following commands manually once inside the folder.
cp <path to Tartu.tar.gz> /home/carla/Import
chmod +x ./ImportAssets.sh
bash ./ImportAssets.sh
Start then the carla server in one terminal:
bash ./CarlaUE4.sh -RenderOffScreen --world-port=2000
Open another terminal and run:
docker compose up autoware_mini
Update the command declaration for starting the container in the docker compose file. The default command launches autoware_mini integrated with carla.
version: '3.1'
services:
autoware_mini:
stdin_open: true
command:
- "bash"
- "-c"
- >
source /opt/catkin_ws/devel/setup.bash &&
roslaunch autoware_mini start_carla.launch
You can update the command to activate the scenario_runner.
version: '3.1'
services:
autoware_mini:
stdin_open: true
command:
- "bash"
- "-c"
- >
source /opt/catkin_ws/devel/setup.bash &&
roslaunch autoware_mini start_carla.launch use_scenario_runner:=true
Consider available starting options explained in the autoware mini docs.
- Check that the DISPLAY variable is correctly set.
- Check that permission are available to acces display. Give access by:
xhost +local:
- In case of problems accessing the GPU from the container, make sure that the nvidia container toolkit is installed and nvidia drivers are up-to-date.
For development don´t copy repos, but mount them through volumes.
Lev Sorokin ([email protected])