iamaisim/ProjectAirSim

Project AirSim is Microsoft's evolution of AirSim, an advanced simulation platform for building, training, and testing autonomous systems in high-fidelity virtual environments

Project AirSim – 개요

Project AirSim은 드론, 고정익 항공기, 무인 지상 차량(UGV)과 같은 자율 시스템을 위한 오픈소스, 엔진 독립적 시뮬레이션 플랫폼입니다. Microsoft의 원래 AirSim 및 Project AirSim 코드베이스를 기반으로 하며 현재 IAMAI Consulting이 유지 관리합니다. 핵심 시뮬레이션 라이브러리와 API는 3D 엔진 없이(경량 Project AirSim Runtime) 실행하거나 Unreal Engine 5 내에서 호스팅하여 완전한 3D 세계, 렌더링된 센서, 복잡한 환경을 제공할 수 있습니다.


핵심 기능(main 브랜치 / 1.0.0 릴리스 기준)

기능 세부 사항
차량 유형 구성 가능한 단일 또는 다중 차량 장면; 드론, 고정익 항공기(JSBSim Cessna 310, Skywalker X8), UGV(SimpleDrive SUV Blueprint).
물리 엔진 Fast Physics (C++), JSBSim, Simulink (MATLAB) – 사용자 정의 C++ 레이어로 확장 가능.
비행 컨트롤러 PX4, ArduPilot용 SITL/HITL 지원, 수동 제어.
센서 카메라, LiDAR(GPU 360°), 레이더, IMU, GPS, 기압계, 자기계, 대기 속도 등(Runtime에서 비렌더링 센서도 사용 가능).
다중 차량 및 군집 공유 시뮬레이션에서 여러 차량을 함께 실행하고 센서 제품군을 구성할 수 있습니다.
API 액세스 Python 및 C++ 클라이언트 라이브러리; ROS 2 C++ 브리지.
실행 모드 • Unreal 호스트 – 전체 렌더링, 메시 충돌, 동적 도시.
• Runtime 호스트 – 헤드리스, 렌더링 없음, 빠른 물리; 평평한 지면 충돌로 제한.
크로스 엔진 참조 실험적 Unity 호스트(참조 전용, 지원되지 않음).

일반적인 사용 사례

  • 지각 기반 제어 – 예: 실시간 카메라 피드를 사용한 자율 착륙.
  • 환경 테스트 – 차량이 비행하는 동안 날씨, 바람, 조명을 조정합니다.
  • 인프라 검사 – 대규모 Unreal 세계에서 풍력 터빈 또는 재생 에너지 자산 검사.
  • 군집 연구 – 수십 대의 고정익 또는 회전익 항공기를 동시에 시뮬레이션합니다.
  • 에어택시 및 도시 모빌리티 – 밀집된 도시 모델에서 자율 에어택시 운영을 테스트합니다.
  • 로봇 통합 – 제공된 브리지를 통해 ROS 2 스택, PX4 또는 사용자 정의 컨트롤러를 연결합니다.

시작하기

  1. 빠른 평가 – 최신 GitHub 릴리스에서 사전 빌드된 환경을 다운로드하고 사전 빌드 환경 가이드를 따라 장면을 시작하고 Python으로 차량을 제어합니다.
  2. 전체 빌드 – Unreal 5.2/5.7/5.8을 설치하고 UE_ROOT를 설정하고 setup_linux_dev_tools.sh(또는 Windows 해당)를 실행한 다음 시뮬레이션 라이브러리를 빌드합니다(./build.sh simlibs_debug). 프로젝트 파일을 생성하고 VS Code/Visual Studio에서 작업 공간을 엽니다.
  3. 헤드리스 모드 – -RenderOffScreen으로 패키징된 Unreal 빌드를 실행하거나 -nullrhi로 렌더링을 완전히 비활성화하여 클라우드 또는 CI 워크로드에 사용합니다.
  4. Runtime 전용 – 경량 Project AirSim Runtime을 사용하여 Unreal 없이 물리 및 비렌더링 센서를 실행합니다(컨트롤러 개발 또는 대규모 배치 실행에 유용).

아키텍처 개요

클라이언트 라이브러리 (Python / C++ / ROS2)  <--->  시뮬레이션 호스트
   |                                         |
   |   • Runtime(헤드리스)                  |   • 시뮬레이션 라이브러리(핵심 물리, 로봇 정의, 센서 모델)
   |   • Unreal Engine 플러그인(렌더링)      |

두 호스트는 동일한 핵심 라이브러리를 공유하므로 Runtime용으로 작성된 코드는 Unreal 호스트에서 변경 없이 작동합니다.


플랫폼 지원

  • Linux – Ubuntu 22.04(기본), Clang 13 또는 Unreal의 패키지된 툴체인 사용.
  • Windows – Windows 11, Visual Studio 2022(MSVC 14.37/14.44).
  • macOS – Apple Silicon(ARM64) 헤드리스 빌드 및 라이브러리 테스트용.
  • Unreal Engine – 5.2, 5.7, 5.8.
  • Python – ≥ 3.10(4 미만).
  • ROS 2 – Ubuntu 22.04의 Humble.

커뮤니티 및 지원

  • GitHub – 버그, 기능, 기여를 위한 이슈, 토론, 풀 리퀘스트.
  • Discord – 실시간 커뮤니티 채팅.
  • 전문 서비스 – IAMAI는 시뮬레이션 준비, PX4/ROS 2 통합, 사용자 정의 Unreal 환경, 검증 파이프라인에 대한 컨설팅을 제공합니다.

라이선스

핵심 시뮬레이션 코드, API, 구성 시스템은 MIT 라이선스로 배포됩니다. 타사 구성 요소(예: JSBSim 항공기 정의, Unreal 자산)는 원래 라이선스를 유지합니다. 자세한 내용은 NOTICE.txt 및 thirdparty/Licenses/를 참조하세요.


결론: Project AirSim은 자율 차량 연구 및 개발을 위한 유연하고 모듈식 시뮬레이션 스택을 제공하며, 무거운 3D 엔진을 사용하거나 사용하지 않고도 사용할 수 있고 ROS 2, PX4, ArduPilot과 같은 인기 있는 로봇 도구와 직접 통합됩니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트