Priceless

[Autoware] 자율주행 오픈소스 Autoware 설치 가이드 본문

Autonomous Driving/Autoware

[Autoware] 자율주행 오픈소스 Autoware 설치 가이드

Hyun__ 2023. 7. 31. 23:06

자율주행 오픈소스 Autoware 설치 가이드

Source Install 기준으로 작성

docker install은 별도 링크 참고

 

설정(Local PC기준)

CPU: i7-13700K

GPU: RTX 4070

RAM: 32GB

OS: Ubuntu 22.04

 

요구사항(Requirement)

최소 하드웨어 사양(Minimun Hardware Requirement)

CPU: 8 cores

RAM: 16GB

GPU: Optional

 

소프트웨어 요구 사항(Software Requirement)

Ubuntu 22.04

Ubuntu install guide: 

 

ROS2 Humble

ROS2 install guide: 

 

추가 라이브러리(Additional Library)

아래의 라이브러리를 사용해야 하기 때문에 GPU가 있어야 하며,

PC 세팅이 일정 성능 이상 충족되어야 한다

CUDA, cuDNN, TensorRT

 

미리 설치하지 마시오

Don't install in advance.

 

설치 과정(Install Process)

- 패키지 목록을 최신 상태로 업데이트 후 git을 설치한다

sudo apt-get -y update
sudo apt-get -y install git

 

- git을 통해 Autoware 레포지토리 복제 후 autoware 디렉토리로 이동한다

git clone https://github.com/autowarefoundation/autoware.git
cd autoware

 

- 개발환경을 설정하는 쉘 스크립트 파일 setup-dev-env.sh를 실행한다

./setup-dev-env.sh

 

- 디렉토리를 이동한 후 소스 파일 디렉토리를 생성한다

- src 디렉토리에 autoware.repos에 저장된 레포지토리 정보를 가져온다

 

src 디렉토리에 버전 관리 시스템(VCS, Version Control System)을 통해 autoware.repos 파일로부터 레포지토리 정보를 읽어온다

autoware.repos 파일에는 레포지토리 정보랑 위치가 저장되어 있다

cd autoware
mkdir src
vcs import src < autoware.repos

 

rosdep 업데이트

- rosdep을 사용하기 전에 의존성 패키지를 업데이트 한다

You may need to update rosdep before executing rosdep command

rosdep update

 

- setup.bash 파일을 불러와 ROS humble을 사용하도록 한다

- 의존성 패키지를 설치한다

 

rosdep은 ROS 의존성 패키지를 관리하고 패키지가 필요로 하는 라이브러리 및 도구를 설치한다

from-paths src는 src 디렉토리에 있는 ROS 패키지의 의존성을 해결한다

ignore-src는 src 디렉토리 외부에 있는 패키지를 무시한다

rosdistro $ROS_DISTRO는 현재 사용 중인 ROS 배포 버전을 나타내 ROS 배포에 대한 의존성을 설치한다

source /opt/ros/humble/setup.bash
rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO

 

- 워크스페이스를 빌드한다

 

symlink-install 옵션은 패키지 설치 중에 복사 대신 심볼릭 링크를 사용하도록 지정한다

이렇게 하면 빌드 중에 실행 가능한 파일 및 라이브러리를 복사하는 대신 심볼릭 링크를 생성한다

심볼릭 링크를 사용하면 빌드 프로세스 간에 이동 및 공유가 편리해진다

cmake-args -DCMAKE_BUILD_TYPE=Release 부분은 CMake 빌드 프로세스에 전달되는 추가 CMake 파라미터를 지정한다

DCMAKE_BUILD_TYPE=Release로 CMake 빌드 타입을 Release 모드로 설정한다

이렇게 하면 코드 최적화 및 디버깅 정보가 제거되어 배포할 수 있는 파일이 생성된다

Release 모드는 실행 파일의 성능을 향상시키고 크기를 최적화하는 데 유용하다

colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release

 

 

빌드 중 메모리 부족 문제 (Out of memory issue for building)

해결 방법: 아래 명령어를 통해 CPU가 병렬로 사용하는 자원을 더 많이 할당한다

사용 중인 CPU를 기준으로 core 수가 16개이므로 아래 명령어에 숫자 16을 추가한다

 

Solution: expand resource core of CPU using below command

In case of this CPU, use CPU with 16 cores.

So, add '-parallel-workers 16'

colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release -parallel-workers <number of core>

 

빌드 완료 후 과정

아래 사이트의 튜토리얼을 참고하여 진행할 수 있다

Simulation tutorials - Autoware Documentation (autowarefoundation.github.io)

 

출처(source)

https://autowarefoundation.github.io/autoware-documentation/main/installation/