300x250

AirSim은 원래 언리얼 엔진 기반으로 만들어졌는데, 유니티를 다뤄 본 경험이 많기 때문에 유니티로 진행하려 했다. 그런데 검색을 통해 얻을 수 있는 정보가 너무 한정적이어서, 결국 언리얼 엔진을 깔아 다시 시작해본다.

 

만약 유니티를 활용한 AirSim 활용법이 궁금하다면, 다음 글을 살펴보자.

 

https://jjuke-brain.tistory.com/77

 

맥, Unity 환경에서 AirSim 사용하기 (Tutorial) (1)

졸업 논문에서 AirSim 환경을 사용할 일이 있는데, 먼저 맥 환경과 Unity 환경에 맞춰 튜토리얼을 진행해보고, 그 과정을 기록해 둔다. 공식 사이트의 매뉴얼은 다음 링크를 참조하자. https://github.com

jjuke-brain.tistory.com

 

모든 절차는 microsoft의 매뉴얼을 따랐다. 자세한 내용은 다음 링크를 참조해보자.

 

https://microsoft.github.io/AirSim/build_macos/

 

Build on macOS - AirSim

Build AirSim on macOS Only macOS Catalina (10.15) has currently been tested. Theoretically, AirSim should work on higher macOS versions and Apple Silicon hardware, but this path is not offically supported. We've two options - you can either build inside do

microsoft.github.io

 

 

목차

     

     

     

     

    1. Pre-build Setup

     

    도커를 이용하는 방법도 있지만, 호스트에 설치하여 맥의 리소스를 최대한 활용하여 진행해보려 한다.

     

     

     

     

    1) Download Unreal Engine

     

    가장 먼저 언리얼 엔진을 다운받아야 한다.

     

    아래 링크에 들어가 런처를 다운로드받자.

     

    https://www.unrealengine.com/ko/download

     

    Download Unreal Engine

    다음 단계를 따라 언리얼 엔진을 다운로드 후 설치하세요.

    www.unrealengine.com

     

    언리얼 엔진

     

    처음 런처를 실행하면, 위와 같은 화면이 보일 것이다.

    왼쪽에 보이는 '언리얼 엔진' 탭을 선택하고, 위쪽에서 '라이브러리'를 누른 후 특정 버전 엔진을 다운받을 수 있다.

    AirSim을 사용하기 최적화된 Unreal 4.27 버전을 다운로드받자.

     

    특정 버전 엔진 설치

     

    이제 실행을 눌러보는데..!

    역시 쉽지 않다.

     

    Xcode 관련 에러 메시지

     

    그나마 간단하게 터미널에 다음 내용만 입력해주면 된다.

     

    sudo xcode-select -s /Applications/Xcode.app/Contents/Developer

     

    정상적인 실행 화면

     

     

     

     

    2) Build AirSim

     

    이제 깃허브에 있는 AirSim 관련 파일들을 클론한 후, 빌드해보자.

    깃허브 주소는 아래와 같다.

     

    https://github.com/microsoft/AirSim

     

    GitHub - microsoft/AirSim: Open source simulator for autonomous vehicles built on Unreal Engine / Unity, from Microsoft AI & Res

    Open source simulator for autonomous vehicles built on Unreal Engine / Unity, from Microsoft AI & Research - GitHub - microsoft/AirSim: Open source simulator for autonomous vehicles built on Un...

    github.com

     

    이제 github 프로젝트를 진행할 디렉토리로 이동한다.

     

    프로젝트 진행할 디렉토리 (github 연동되어있는 상태)

     

    맥을 사용하는 사람들이 잘 모르는 부분이 있던데, 파인더 아래쪽에서 폴더명을 우클릭하면 해당 디렉토리 경로에서 터미널을 바로 실행할 수 있다.

     

    해당 디렉토리 경로에서 터미널 열기

     

    이제 터미널에서 git을 사용하여 AirSim 관련 파일들을 클론해보자.

     

    git clone https://github.com/Microsoft/AirSim.git
    cd AirSim

     

    참고로 'cd'는 해당 디렉토리로 이동한다는 뜻이다.

    'cd AirSim'은 프로젝트를 진행할 디렉토리에서 AirSim이라는 하위 디렉토리로 이동하는 것을 말한다.

     

    git clone 과정

     

    이제 AirSim 폴더에 있는 'setup.sh'파일과 'build.sh'파일을 실행하여 빌드를 진행한다.

     

    ./setup.sh
    ./build.sh

     

     

     

     

    3) Build Unreal Environment

     

    마지막으로, 언리얼 엔진에서 자율주행 프로젝트를 진행하기 위해 언리얼 환경을 빌드해주어야 한다.

    클론해온 AirSim폴더에 'Blocks Environment'라는 환경이 있는데, 원한다면 직접 환경을 만들어 줄 수도 있다.

    만약 직접 환경을 세팅하고 싶다면, 다음 링크를 참조하자.

     

    https://microsoft.github.io/AirSim/unreal_proj/

     

    Setting up Unreal Environment - AirSim

    Unreal Environment Setting Up the Unreal Project Option 1: Built-in Blocks Environment To get up and running fast, you can use the Blocks project that already comes with AirSim. This is not very highly detailed environment to keep the repo size reasonable

    microsoft.github.io

     

     

     

     

     

    2. AirSim 사용 방법

     

    AirSim 디렉토리에서 'Unreal → Environments → Blocks' 디렉토리로 들어간다.

    Blocks 디렉토리에서 터미널을 켜서 아래와 같이 입력하여 GenerateProjectFiles 파일을 실행해준다.

     

    ./GenerateProjectFiles.sh 'UE_PATH'

     

    여기서 UE_PATH란, Unreal 설치 폴더 경로이다. (default : /Users/Shared/Epic Games/UE_4.27/)

     

    Generate Project Files 실행

     

    GenerateProjectFile을 실행하면 다음과 같이 XCode 워크스페이스를 만들어 준다. (차후에 vscode 등의 워크스페이스를 만들어 주고 싶다면, 언리얼엔진 상에서 환경설정을 바꿔주면 된다. CLion, VSCode, XCode로 가능하다.)

     

    XCode 워크스페이스

     

    XCode 워크스페이스를 열고, 빌드를 해주었는데..

    또 오류가 뜬다.

     

    빌드 오류

     

    찾아보니, XCode가 업데이트되면서 컴파일러가 엄격해져 기존에 warning만 띄웠던 것도 에러를 발생시키며 빌드가 되지 않는 것이었다.

    (변수명이 선언만 되고 사용되지 않았다는 뜻)

     

    Block 디렉토리에서 'Source'라는 폴더 안에 'Blocks.Target.cs', 'BlocksEditor.Target.cs' 파일이 보일 것이다.

    두 파일에 다음과 같은 코드를 추가해주자.

     

    bOverrideBuildEnvironment = true;
    AdditionalCompilerArguments = "-Wno-unused-but-set-variable";

     

    이제 빌드가 정상적으로 (warning 정도만 몇 개 띄워주고) 된다.

    실행을 눌러보면 다음과 가같이 <Blocks>라는 프로젝트가 실행된다.

     

    실행 결과

     

    왼쪽 화면은 XCode (워크스페이스) 화면, 오른쪽 화면은 언리얼 화면이다.

     

    확실히 유니티를 쓰다가 넘어와서 그런지, 언리얼은 좀 허접해보인다 ..

    어쨌든, 실행에 성공했으니 다음으로 자율주행 환경을 만들어 보자!

    728x90
    • 네이버 블러그 공유하기
    • 네이버 밴드에 공유하기
    • 페이스북 공유하기
    • 카카오스토리 공유하기