ROS2 CARLA Autoware Bridge

2025. 3. 28. 09:01·Spatial AI/SLAM

 

 

1. NVIDIA Container Toolkit, ROS2 Humble Docker 설치

 

NVIDIA Container Toolkit 설치

관련 포스팅Docker 설치Docker 명령어 모음    NVIDIA Container ToolkitDocker 컨테이너 내에서도 NVIDIA GPU를 사용할 수 있도록 지원하는 도구    Installationcurl -fsSL https://nvidia.github.io/libnvidia-container/gpgk

soheelog.com

 

Docker를 통한 ROS2 Humble 재설치: with CUDA & GUI 환경

관련 포스팅Docker 설치Docker 명령어 모음NVIDIA Container Toolkit 설치Docker를 통한 ROS2 Humble 설치     지난 포스팅 Docker를 통한 ROS2 Humble 설치를 진행하고 나서 재부팅 이후에 `qt.qpa.xcb: could not connect t

soheelog.com

 

GitHub - sohee-zoe/ros2-humble-Dockerfile: Ubuntu 22.04 ROS 2 Humble

Ubuntu 22.04 ROS 2 Humble. Contribute to sohee-zoe/ros2-humble-Dockerfile development by creating an account on GitHub.

github.com

 

 

2. CARLA, CARLA-Autoware-Bridge, Autoware

 

GitHub - TUMFTM/Carla-Autoware-Bridge: Carla 0.9.15 and Autoware Universe Humble

Carla 0.9.15 and Autoware Universe Humble. Contribute to TUMFTM/Carla-Autoware-Bridge development by creating an account on GitHub.

github.com

 

2-1 CARLA 시뮬레이터

docker pull carlasim/carla:0.9.15
docker run \
  --name carla \
  --privileged \
  --gpus all \
  --net=host \
  -e DISPLAY=$DISPLAY \
  -v /tmp/.X11-unix:/tmp/.X11-unix:rw \
  carlasim/carla:0.9.15 \
  /bin/bash ./CarlaUE4.sh -vulkan -carla-rpc-port=1403
  
docker start carla

 

 

2-2 CARLA Autoware Bridge

 

GitHub - ttgamage/carla-ros-bridge: ROS Humble bridge for CARLA v0.9.15

ROS Humble bridge for CARLA v0.9.15. Contribute to ttgamage/carla-ros-bridge development by creating an account on GitHub.

github.com

docker pull tumgeka/carla-autoware-bridge:latest

docker run \
  --name carla-autoware-bridge \
  --rm \
  -it \
  --network host \
  -e RMW_IMPLEMENTATION=rmw_cyclonedds_cpp \
  tumgeka/carla-autoware-bridge:latest
  
docker start carla-autoware-bridge
docker exec -it carla-autoware-bridge /bin/bash


# Launch the bridge
ros2 launch carla_autoware_bridge carla_aw_bridge.launch.py port:=1403 town:=Town10HD
ros2 launch carla_autoware_bridge carla_aw_bridge.launch.py port:=1403 town:=Town02

# spawn traffic
python3 src/carla_autoware_bridge/utils/generate_traffic.py -p 1403

 

 

2-3 Autoware

Option 1) autoware-universe:humble-2024.01-cuda-amd64

`TUMFTM/Carla-Autoware-Bridge`에서 설명하는 autoware 도커 이미지는 제공되지 않고 있다.
git clone https://github.com/TUMFTM/Carla_t2.git

ros2 launch autoware_launch e2e_simulator.launch.xml vehicle_model:=carla_t2_vehicle sensor_model:=carla_t2_sensor_kit map_path:=<path to /wsp/map>

docker pull ghcr.io/autowarefoundation/autoware:humble-2024.01-cuda-amd64

rocker --network=host -e RMW_IMPLEMENTATION=rmw_cyclonedds_cpp -e LIBGL_ALWAYS_SOFTWARE=1 --x11 --nvidia --volume /path/to/code -- ghcr.io/autowarefoundation/autoware-universe:humble-2024.01-cuda-amd64

 

Issue)

더보기

문제 1. rocker 미지원

 

 

Docker installation quick start Failed! · Issue #8700 · autowarefoundation/autoware_universe

Checklist I've read the contribution guidelines. I've searched other issues and no duplicate issues were found. I'm convinced that this is not my fault but a bug. Description I tried following the ...

github.com

 

sudo apt install software-properties-common

sudo add-apt-repository universe

sudo apt update && sudo apt install curl -y

sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null

sudo apt update

sudo apt-get install python3-rocker
더보기

문제 2. autoware universe 도커 이미지 인증 문제

 

# Autoware 이미지 풀
docker pull ghcr.io/autowarefoundation/autoware-universe:humble-2024.01-cuda-amd64

 

Error response from daemon: Head "
https://ghcr.io/v2/autowarefoundation/autoware-universe/manifests/humble-2024.01-cuda-amd64
": unauthorized

 

  • 해결 방법
    • 옵션 1) 어떤 유저가 수정해서 fork함 → better_autoware_launch
    • 옵션 2) 소스코드로 빌드

 

Option 2) Better Autoware Launch

 

GitHub - YuqiHuai/better_autoware_launch

Contribute to YuqiHuai/better_autoware_launch development by creating an account on GitHub.

github.com

git clone git@github.com:YuqiHuai/rocker.git --depth=1
cd rocker
pip install -e .

# for uv
# pip install -e . --system
git clone https://github.com/YuqiHuai/better_autoware_launch.git
cd better_autoware_launch

bash docker/build/build_docker.sh
bash docker/build/build_docker.sh --multi_container

# bash docker/scripts/dev_start.sh --container_name autoware --use_multi_container
# bash docker/scripts/dev_into.sh --container_name autoware

 

`docker/scripts/dev_start_custom.sh` 작성

# !/bin/bash

CONTAINER_NAME="autoware_dev_${USER}"
USE_MULTI_CONTAINER=false
GREAT_GRAND_PARENT=$(dirname "$(dirname "$(dirname "$(realpath "$0")")")")

show_help() {
    echo -e "\e[34mUsage:\e[0m $0 [options]"
    echo -e "\e[34mOptions:\e[0m"
    echo -e "  \e[32m--container_name <name>\e[0m    Set container name"
    echo -e "  \e[32m--use_multi_container\e[0m      Enable multi-container mode"
    echo -e "  \e[32m--help\e[0m                     Show this help message"
    exit 0
}

# Parse named arguments
while [[ $# -gt 0 ]]; do
    case "$1" in
    --container_name)
        CONTAINER_NAME="$2"
        shift 2
        ;;
    --use_multi_container)
        USE_MULTI_CONTAINER=true
        shift
        ;;
    --help)
        show_help
        ;;
    *)
        echo -e "\e[31m[ERROR]: Unknown argument $1\e[0m"
        show_help
        ;;
    esac
done

# check if image is built
check_image() {
    if [[ "$(docker images -q $IMAGE_NAME 2>/dev/null)" == "" ]]; then
        echo -e "\e[31m[ERROR]: Image $IMAGE_NAME not found\e[0m"
        exit 1
    fi
}

if [[ "$USE_MULTI_CONTAINER" == true ]]; then
    IMAGE_NAME="sora_autoware_multi_container:latest"
else
    IMAGE_NAME="sora_autoware:latest"
fi

check_image

# check if container is running
if [[ "$(docker ps -q -f name=$CONTAINER_NAME)" != "" ]]; then
    echo -e "\e[31m[ERROR]: Container $CONTAINER_NAME already running\e[0m"
    exit 1
fi

rocker --nvidia --privileged --x11 --user --net host \
    -e RMW_IMPLEMENTATION=rmw_cyclonedds_cpp \
    -e LIBGL_ALWAYS_SOFTWARE=1 \
    --volume $GREAT_GRAND_PARENT/data/autoware_map:$HOME/autoware_map \
    --volume $GREAT_GRAND_PARENT:$HOME/better_autoware_launch \
    --name $CONTAINER_NAME \
    --hostname $CONTAINER_NAME \
    --mode non-interactive \
    --detach \
    -- $IMAGE_NAME sleep infinity

echo -e "\e[32m[INFO]: Started container $CONTAINER_NAME\e[0m"
bash docker/scripts/dev_start_custom.sh --container_name autoware --use_multi_container
bash docker/scripts/dev_into.sh --container_name autoware

 

 

Option 3) Autoware Universe 소스코드 빌드

 

GitHub - autowarefoundation/autoware_universe

Contribute to autowarefoundation/autoware_universe development by creating an account on GitHub.

github.com

mkdir -p ~/autoware_ws/src
cd ~/autoware_ws/src
git clone -b humble https://github.com/autowarefoundation/autoware_universe.git
cd ..
colcon build --symlink-install

 

 

3. CARLA ROS Bridge

 

GitHub - ttgamage/carla-ros-bridge: ROS Humble bridge for CARLA v0.9.15

ROS Humble bridge for CARLA v0.9.15. Contribute to ttgamage/carla-ros-bridge development by creating an account on GitHub.

github.com

source .venv/bin/activate
mkdir ros-bridge && cd ros-bridge
git clone --recurse-submodules https://github.com/ttgamage/carla-ros-bridge.git
mv carla-ros-bridge src
rosdep update
rosdep install --from-paths src --ignore-src -r
colcon build --symlink-install
source install/setup.zsh

 

 

 

 

결과

 

아직 CARLA Autoware Bridge 연동만 확인되었다..

'Spatial AI > SLAM' 카테고리의 다른 글

ROS2 RTAB-Map 시뮬레이션  (1) 2025.04.09
ROS2 Cartographer & Nav2 - Gazebo로 시뮬레이션  (0) 2025.04.05
CARLA Simulator 설치  (0) 2025.03.27
자율주행 오픈소스 데이터셋 & 소프트웨어 & 시뮬레이터  (0) 2025.03.21
스마트 시티와 스마트 모빌리티  (0) 2025.03.21
'Spatial AI/SLAM' 카테고리의 다른 글
  • ROS2 RTAB-Map 시뮬레이션
  • ROS2 Cartographer & Nav2 - Gazebo로 시뮬레이션
  • CARLA Simulator 설치
  • 자율주행 오픈소스 데이터셋 & 소프트웨어 & 시뮬레이터
Z0e
Z0e
3D Vision Engineer, Zoe 입니다.
  • Z0e
    I'm not a robot
    Z0e
    • 분류 전체보기
      • Spatial AI
        • Geometry
        • SLAM
      • Programming
        • Python
        • Git
        • Docker
      • Setting
        • Ubuntu
        • ROS
      • Study
        • Google Skills
  • 인기 글

  • hELLO· Designed By정상우.v4.10.3
Z0e
ROS2 CARLA Autoware Bridge
상단으로

티스토리툴바