주요 콘텐츠

이 페이지는 기계 번역을 사용하여 번역되었습니다. 영어 원문을 보려면 여기를 클릭하십시오.

Unreal Engine 시각화를 사용한 De Havilland Beaver 조종

이 예제는 Simulink®, Aerospace Blockset™, Simulink® 3D Animation™ 소프트웨어를 사용하여 Unreal Engine®(UE) 시각화 기능을 통해 De Havilland Beaver를 모델링하는 방법을 보여줍니다. 이 문서는 Airport 또는 Griffiss Airport 장면이나 Cesium Ion® 환경에서 파일럿 조이스틱을 사용하여 De Havilland Beaver를 조종하는 방법을 설명합니다.

De Havilland Beaver 모델에는 기체 동역학 및 공기역학이 포함되어 있습니다. 또한 이 모델은 착륙 단계의 풍속 프로파일과 같은 대기의 영향도 반영합니다.

De Havilland Beaver 조종 예제는 FlightGear 비행 시뮬레이터와 연동됩니다. 이 예제에서는 UE 시각화 기능을 살펴봅니다.

참고: 이 예제는 Simulink Online에서 지원되지 않습니다.

UE 시각화 살펴보기

변환을 시작하려면 De Havilland Beaver Airframe > Aircraft Dynamics 서브시스템을 열고, 시각화에 조종면 움직임이 반영되도록 ACBus에 조종사 명령을 추가하십시오.

asbdhc2_AircraftDynamics.png

모델 오른쪽에 있는 세 개의 애니메이션 및 FlightGear 블록을, ACBus를 입력으로 받는 "UE Visualization"이라는 단일 서브시스템으로 교체하십시오.

FlyBeaver.png

새로운 UE 시각화 서브시스템에서 먼저 Simulation 3D Aircraft 블록을 추가한 다음, Simulation 3D Scene Configuration 블록을 추가하십시오. 항공기 블록을 더블 클릭하고 Altitude Sensor 탭에서 Enable altitude and WoW sensors를 해제한 다음, OK를 클릭합니다.

Simulation 3D Sky Hogg Pack 블록을 추가하고, 해당 블록의 포트를 Simulation 3D Aircraft에 연결하십시오. 팩 블록 마스크를 열고 Propulsion 탭에서 Propeller rotation 체크박스를 선택하십시오. Controls 탭에서 Select all 버튼을 누른 다음, OK를 클릭합니다.

ACBus 입력을 버스 선택기에 연결하고, Xe(바디 위치), [phi, theta, psi](바디 회전), Pilot(액추에이터 명령)을 출력하도록 구성합니다. 그림과 같이 해당 데이터를 팩 블록과 회전 서브시스템으로 전송하십시오.

asbdhc2_UEVisualization_mask.png

Sky Hogg 기종은 De Havilland Beaver를 기반으로 하지만, 그보다 크기가 작고 기체가 더 가볍습니다. Beaver를 제대로 시각화하려면 General Aviation 스켈레톤을 사용하여 Beaver의 스켈레톤 메시를 생성한 다음, 해당 FBX 파일을 Unreal Editor®로 가져오십시오. 자세한 내용은 Prepare Custom Aircraft Mesh for the Unreal EditorGeneral Aviation 항목을 참조하십시오.

Simulation 3D Aircraft 블록의 TranslationRotation 입력의 크기는 Sky Hogg 항공기 유형에 필요한 대로 [11x3]으로 설정되어 있습니다. 이 테이블은 이들 각각이 항공기의 어느 부분에 영향을 미치는지 보여줍니다. 단, 바디를 제외한 각 부품에 대해 6자유도 중 하나의 회전만 활성화되어 있다는 점에 유의하십시오. SkyHoggTable_76.png

회전 서브시스템은 프로펠러 회전수(RPM), 러더, 엘리베이터, 좌우 에일러론 및 플랩에 대한 각 조종사 액추에이터 명령에 대해 [1x3] 행 벡터를 생성합니다. RPM Gain 블록은 2*pi/60을 곱하여 초당 라디안으로 변환합니다.

asbdhc2_RotationSubsystem.png

모델을 엽니다.

mdl = "asbdhc2_FlyBeaverUE";
open_system(mdl);

Fly

모델을 실행하기 전에, 시뮬레이션 시계가 실제 시계와 일치하도록 시뮬레이션 속도 조절이 활성화되어 있음에 유의하십시오.

  • 조이스틱이 제대로 연결되어 있는지 확인하십시오.

  • 실행 버튼을 클릭한 다음, 3D 시각화 창이 초기화될 때까지 몇 초 정도 기다려 주십시오.

  • 조이스틱을 사용하여 항공기를 조종하십시오.

  • 시뮬레이션이 실행되면, 먼저 3D 창 내부를 마우스 왼쪽 버튼으로 클릭한 다음, 0부터 9까지의 키를 사용하여 미리 설정된 10가지 카메라 위치 중에서 선택함으로써 카메라 시점을 전환할 수 있습니다. 비행 시뮬레이션에서는 2 (후방) 및 5 (조종석) 뷰가 가장 유용합니다. 카메라 뷰에 대한 자세한 내용은 Customize Scenes Using Simulink and Unreal Editor시뮬레이션 실행 섹션을 참조하십시오.

Beaver_overAirportUpdated (3).png

사용자 지정 장면 및 비행을 사용한 그리피스 공항 업데이트

그리피스 공항(또는 사용자 지정) 장면에서 비행하려면:

  1. Simulation 3D Scene Configuration 블록을 더블 클릭하여 마스크를 열고, Scene sourceUnreal Editor로 설정하십시오.

  2. 지원 패키지에서 AutoVrtlEnv.uproject 파일을 저장한 Project 위치를 입력한 다음, Open Unreal Editor 버튼을 클릭하십시오.

  3. OK를 클릭하여 변경 사항을 저장하고 마스크를 닫으십시오.

  4. Unreal Editor가 실행되면, MathWorksAerospaceContent > Maps 폴더를 찾아 GriffissAirport 파일을 더블 클릭하여 맵을 그리피스 공항으로 변경하십시오.

다음 작업 공간 변수의 값을 변경하십시오.

  • xme_0 = [0, 0, -200] (항공기를 지도 원점 위 200미터 지점에 배치하십시오)

  • heading0 = -45 (진북에서 약 -45도 방향인 33번 활주로와 일직선으로 정렬)

실행 버튼을 클릭하십시오. 모델이 컴파일되고 하단 바에 "Initializing"이 표시되면, Unreal Editor에서 Play 버튼을 클릭하십시오. 연결이 완료되고 시뮬레이션이 시작될 때까지 몇 초 정도 기다려 주십시오.

Beaver_overGriffiss.png

Cesium과 Fly를 사용하여 보스턴 로건 공항 또는 세도나 공항 정보를 업데이트하기

특정 지역의 3D 지도 및 지형 데이터를 스트리밍하는 Cesium을 사용하여 비행하려면:

  1. 아직 Visualize with Cesium를 수행하지 않았다면 먼저 이를 수행하십시오. 초기 설정에는 Cesium Ion 계정 및 액세스 토큰을 생성하고, Cesium Ion 토큰을 보관하기 위해 Simulink Authentication Manager에서 새 토큰을 생성하는 과정이 포함됩니다.

  2. Simulation 3D Scene Configuration 블록 마스크를 열고 Geospatial 탭에서 Enable geospatial configuration을 선택합니다.

  3. Access token ID에 Cesium Ion 토큰 이름을 입력하십시오.

  4. Use advanced Sun sky 옵션을 선택하십시오.

  5. Apply을 클릭하여 변경 사항을 저장하십시오.

  6. Scene 탭에서 Scene source 항목에서 Scene source 또는 Unreal Editor 중 하나를 선택합니다.

  7. Scene source로 Unreal Editor를 사용하는 경우, MathWorksGeoSpatial Content > Maps 폴더를 찾아 GeoSpatialMap 파일을 더블 클릭하여 지도를 GeoSpatial로 변경하십시오.

  8. OK를 클릭하여 변경 사항을 저장하고 마스크를 닫으십시오.

asbdhc2_UEVisualization_geomask.png

지리 공간 원점을 나타내는 작업 공간 변수인 origin_height, origin_latorigin_long에 유의하십시오. 초기 방향은 위 첫 번째 그림에 표시된 6DOF(쿼터니언) 블록의 작업 공간 변수 heading0에 의해 설정됩니다. asbdhc2_VarsTable.png

다음 작업 공간 변수의 값을 변경하십시오.

  • xme_0 = [0, 0, 0] (Cesium Ion의 경우 오프셋 미사용)

  • heading0 = -135 (보스턴 로건 공항의 33번 활주로와 정렬하기 위함이며, 이 활주로는 진동쪽에서 약 -135도 방향에 위치함)

실행 버튼을 클릭한 다음, 3D 시각화 창이 초기화될 때까지 몇 초 정도 기다려 주십시오. Cesium Ion의 경우 3D 이미지가 로드되는 데 몇 초가 더 걸립니다.

기본 지리 공간 원점은 보스턴 로건 공항의 33L 활주로입니다. 초기 방향과 위치를 변경하려면 위에 나열된 heading0origin_ 변수의 값을 변경하십시오. 예를 들어, 세도나 공항 3번 활주로로 접근할 때는 다음 값을 사용하십시오.

  • heading0 = -40

  • origin_height = 1500

  • origin_lat = 34.841435

  • origin_long = -111.797380

FlyTheDeHavillandBeaverWithUnrealEngineVisualizationExample_10.png

참고 항목

|

외부 웹사이트