유니티에서 AirSim 사용하기

현재 소속된 연구실에서 드론의 안전성에 관한 프로젝트가 진행될 예정이다. 사용할 드론 시뮬레이터를 탐색하던 와중 AirSim을 찾았고, 직접 해보는 과정을 기록해본다.

AirSim은 Microsoft AI & Research에서 제공되는 오픈 소스 시뮬레이터이며, Unreal Engine, Unity에서 자율 주행 자동차를 빌드, 운행하는 것이 가능하다.
드론 모드의 빌드도 가능하며, PX4와 같은 비행 컨트롤러의 Hardware-in-the-loop 또한 지원하고 있다.

개인 노트북으로는 Unreal 환경 구축에는 무리가 있어, Unity 환경에서 먼저 진행해보았다.
또한 기존에 연구실에서 사용되고 있던 fbx 파일 형식의 3d map를 사용할 수도 있기 때문에, AirSim에서 Unity가 실험 단계임에도 우선적으로 시도해보았다.
이 과정에 있어서 먼저 다운받은 목록은 다음과 같다

AirSim build

build0
build1

OS는 Windows로, 먼저 https://microsoft.github.io/AirSim/docs/build_windows/ 에서 게시된 순서대로 빌드를 진행하였다.

Build AirSim in Unity

build2
build3

Build AirSim in Unity

build2
build3

Unity 폴더로 이동한뒤 빌드를 진행해준다.

Unity 실행

unity0
unity1
unity2
unity3

Unity 실행

unity0
unity1
unity2
unity3

Unity Hub를 실행한 뒤, 설치 탭에서 추가를 통해 아카이브에 접속, 버젼 2019.2.14f1를 다운받아준다. AirSim on Unity 깃허브 페이지에서는 2019.2.15f1를 다운받으라고 게시되어 있었지만, Unity Demo의 유니티 버젼이 2019.2.14f1로 되어있었기 때문에 선택하였다.

프로젝트 탭에서 추가를 통해 AirSim 폴더 내 Unity\UnityDemo를 추가해준다.
UnityDemo를 클릭 시 이미지와 같이 Unity가 실행된다.

Assets 내 Scenes에서 SimModeSelector를 더블클릭함으로서 Hierarchy 패널에 들어가도록한다. 이 때 CarDemo, DroneDemo는 패널에 들어가지 않도록 주의한다.

Scene의 실행

car1
drone1

Scene의 실행

car1
drone1

위의 재생 버튼을 누름으로서 씬를 플레이할 수 있다. 이미지는 각각 Car Mode와 Drone Mode를 선택하고 볼 수 있는 화면으로, 드론은 키보드로 컨트롤이 불가능하지만, 자동차는 키보드 방향키와 WASD 버튼으로 이동한다.

AirSim 빌드 과정에 있어서 생긴 오류는 https://kolikim.tistory.com/34  의 포스트 내용을 통하여 해결하였습니다.