주요 콘텐츠

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

6DOF (Euler Angles)

6자유도 운동 방정식의 오일러 각 표현 구현

  • 6DOF (Euler Angles) block

라이브러리:
Aerospace Blockset / Equations of Motion / 6DOF

설명

6DOF (Euler Angles) 블록은 평탄 지구 기준 프레임(Xe, Ye, Ze)을 중심으로 한 바디 고정 좌표계(Xb, Yb, Zb)의 회전을 고려하여, 6자유도 운동 방정식의 오일러 각 표현을 구현합니다. 이러한 기준점에 대한 자세한 내용은 알고리즘를 참조하십시오.

6DOF (Euler Angles), Simple Variable Mass 6DOF (Euler Angles)Custom Variable Mass 6DOF (Euler Angles) 블록은 동일한 블록의 대체 구성입니다.

  • 6DOF (Euler Angles) — 6자유도 운동 방정식의 오일러 각 표현 구현

  • Simple Variable Mass 6DOF (Euler Angles) — 단순 가변 질량에 대한 6자유도 운동 방정식의 오일러 각 표현 구현

  • Custom Variable Mass 6DOF (Euler Angles) — 사용자 지정 가변 질량에 대한 6자유도 운동 방정식의 오일러 각 표현 구현

제한 사항

이 블록은 가해진 힘이 물체의 무게 중심에서 작용하며, 질량과 관성이 일정하다고 가정합니다.

포트

입력

모두 확장

가해진 힘으로, 바디 고정 좌표축에서의 3개 요소 벡터로 지정됩니다. 프레임에 대한 자세한 내용은 Body Coordinates 항목을 참조하십시오.

데이터형: double

가해진 모멘트로, 바디 고정 좌표축에서의 3개 요소 벡터로 지정됩니다. 프레임에 대한 자세한 내용은 Body Coordinates 항목을 참조하십시오.

데이터형: double

출력

모두 확장

평탄 지구 기준 프레임에서의 속도로, 3개 요소 벡터로 반환됩니다.

데이터형: double

평탄 지구 기준 프레임에서의 위치로, 3개 요소 벡터로 반환됩니다.

데이터형: double

오일러 회전 각도 [롤, 피치, 요]는 내재적 x-y-z 회전을 정의하며, 3개 요소 벡터로 라디안 단위로 표현됩니다. 요, 피치, 롤 각도는 z-y-x 회전 시퀀스로 적용되며, 예를 들어 angle2dcm(yaw,pitch,roll,"ZYX")와 같이 사용됩니다.

데이터형: double

평탄 지구 좌표축에서 바디 고정 좌표축으로의 좌표 변환으로, 3×3 행렬로 반환됩니다.

데이터형: double

바디 고정 프레임에서의 속도로, 3개 요소 벡터로 반환됩니다.

데이터형: double

바디 고정 좌표축에서의 각속도로, 초당 라디안 단위의 3개 요소 벡터로 반환됩니다.

데이터형: double

질량으로, 스칼라로 반환됩니다.

종속성

이 포트를 활성화하려면 Output mass properties for acceleration computation 파라미터를 선택하십시오.

데이터형: double

관성 텐서 행렬로, 3×3 행렬로 반환됩니다.

종속성

이 포트를 활성화하려면 Output mass properties for acceleration computation 파라미터를 선택하십시오.

데이터형: double

파라미터

모두 확장

메인

입력 및 출력 단위로, Metric (MKS), English (Velocity in ft/s) 또는 English (Velocity in kts)로 지정됩니다.

단위모멘트가속도속도위치질량관성
Metric (MKS) 뉴턴뉴턴-미터제곱 초당 미터초당 미터미터킬로그램제곱 미터당 킬로그램
English (Velocity in ft/s) 파운드피트-파운드제곱 초당 피트초당 피트피트슬러그(Slug)제곱 피트당 슬러그(Slug foot squared)
English (Velocity in kts) 파운드피트-파운드제곱 초당 피트노트피트슬러그(Slug)제곱 피트당 슬러그(Slug foot squared)

프로그래밍 방식 사용

블록 파라미터: units
유형: 문자형 벡터
값: Metric (MKS) | English (Velocity in ft/s) | English (Velocity in kts)
디폴트 값: Metric (MKS)

질량 유형으로, 다음 테이블에 따라 지정됩니다.

Simple Variable 선택은 앞서 설명한 운동 방정식을 따릅니다.

프로그래밍 방식 사용

블록 파라미터: mtype
유형: 문자형 벡터
값: Fixed | Simple Variable | Custom Variable
디폴트 값: 'Fixed'

평탄 지구 기준 프레임에서 바디의 초기 위치로, 3개 요소 벡터로 지정됩니다.

프로그래밍 방식 사용

블록 파라미터: xme_0
유형: 문자형 벡터
값: '[0 0 0]' | 3개 요소 벡터
디폴트 값: '[0 0 0]'

바디 고정 좌표계에서 바디 좌표축에서의 초기 속도로, 3개 요소 벡터로 지정됩니다.

프로그래밍 방식 사용

블록 파라미터: Vm_0
유형: 문자형 벡터
값: '[0 0 0]' | 3개 요소 벡터
디폴트 값: '[0 0 0]'

초기 오일러 방향 각 [롤, 피치, 요]로, 3개 요소 벡터로 지정되며, 단위는 라디안입니다. 오일러 회전 각도는 바디 좌표계와 북쪽-동쪽-아래쪽(NED) 좌표계 사이의 각도입니다.

프로그래밍 방식 사용

블록 파라미터: eul_0
유형: 문자형 벡터
값: '[0 0 0]' | 3개 요소 벡터
디폴트 값: '[0 0 0]'

NED 좌표계에 대한 초기 바디 고정 각속도로, 3개 요소 벡터로 지정되며, 단위는 초당 라디안(rad/s)입니다.

프로그래밍 방식 사용

블록 파라미터: pm_0
유형: 문자형 벡터
값: '[0 0 0]' | 3개 요소 벡터
디폴트 값: '[0 0 0]'

강체의 초기 질량으로, double형 스칼라로 지정됩니다.

프로그래밍 방식 사용

블록 파라미터: mass_0
유형: 문자형 벡터
값: '1.0' | double형 스칼라
디폴트 값: '1.0'

바디의 빈 질량으로, double형 스칼라로 지정됩니다.

프로그래밍 방식 사용

블록 파라미터: mass_e
유형: 문자형 벡터
값: double형 스칼라
디폴트 값: '0.5'

바디의 전체 질량으로, double형 스칼라로 지정됩니다.

프로그래밍 방식 사용

블록 파라미터: mass_f
유형: 문자형 벡터
값: double형 스칼라
디폴트 값: '2.0'

바디의 관성으로, double형 스칼라로 지정됩니다.

종속성

이 파라미터를 활성화하려면 Mass typeFixed로 설정하십시오.

프로그래밍 방식 사용

블록 파라미터: inertia
유형: 문자형 벡터
값: eye(3) | double형 스칼라
디폴트 값: eye(3)

바디의 빈 관성에 대한 관성 텐서 행렬로, 3×3 행렬로 지정됩니다.

프로그래밍 방식 사용

블록 파라미터: inertia_e
유형: 문자형 벡터
값: 'eye(3)' | 3×3 행렬
디폴트 값: 'eye(3)'

바디의 전체 관성에 대한 관성 텐서 행렬로, 3×3 행렬로 지정됩니다.

프로그래밍 방식 사용

블록 파라미터: inertia_f
유형: 문자형 벡터
값: '2*eye(3)' | 3×3 행렬
디폴트 값: '2*eye(3)'

이 체크박스를 선택하면 질량 유량 상대 속도 포트를 추가합니다. 이것은 질량이 축적(accretion)되거나 소멸(ablation)되는 상대 속도입니다.

프로그래밍 방식 사용

블록 파라미터: vre_flag
유형: 문자형 벡터
값: off | on
디폴트 값: off

가속도의 질량 속성에 대한 포트를 활성화하려면 이 체크박스를 선택하십시오. 그러면 이 포트를 다음 블록들의 입력으로 사용할 수 있습니다.

  • 6DOF Accelerationm 포트

  • 6DOF Angular AccelerationIdI/dt coeff 포트.

프로그래밍 방식 사용

블록 파라미터: mass_flag
유형: 문자형 벡터
값: 'off' | 'on'
디폴트 값: off

상태 속성

각 상태에 고유한 이름을 할당하십시오. 선형화 과정에서 블록 경로 대신 상태 이름을 사용할 수 있습니다.

  • 단일 상태에 이름을 지정하려면 따옴표 사이에 고유한 이름을 입력하십시오. 예를 들어, 'velocity'.

  • 여러 상태에 이름을 할당하려면 중괄호로 묶인 쉼표로 구분된 목록을 입력하십시오. 예를 들어, {'a', 'b', 'c'}. 각 이름은 고유해야 합니다.

  • 파라미터가 비어 있는 경우(' '), 이름 할당이 발생하지 않습니다.

  • 상태 이름은 이름 파라미터를 가진 선택된 블록에만 적용됩니다.

  • 상태의 개수는 상태 이름의 개수로 정확히 나뉘어야 합니다.

  • 상태보다 적은 수의 이름을 지정할 수 있지만, 상태보다 많은 이름을 지정할 수는 없습니다.

    예를 들어, 네 가지 상태를 가진 시스템에서 두 개의 이름을 지정할 수 있습니다. 첫 번째 이름은 처음 두 상태에 적용되며, 두 번째 이름은 마지막 두 상태에 적용됩니다.

  • MATLAB® 작업 공간에서 변수를 사용하여 상태 이름을 할당하려면 따옴표 없이 변수를 입력하십시오. 변수는 문자형 벡터, 셀 배열 또는 구조체일 수 있습니다.

속도 상태 이름은 중괄호로 둘러싸인 쉼표로 구분된 목록으로 지정됩니다.

프로그래밍 방식 사용

블록 파라미터: Vm_statename
유형: 문자형 벡터
값: '' | 중괄호로 둘러싸인 쉼표로 구분된 목록
디폴트 값: ''

위치 상태 이름을 중괄호로 묶인 쉼표로 구분된 목록으로 지정합니다.

프로그래밍 방식 사용

블록 파라미터: xme_statename
유형: 문자형 벡터
값: '' | 중괄호로 둘러싸인 쉼표로 구분된 목록
디폴트 값: ''

바디 회전 속도 상태 이름으로, 중괄호로 둘러싸인 쉼표로 구분된 목록으로 지정됩니다.

프로그래밍 방식 사용

블록 파라미터: pm_statename
유형: 문자형 벡터
값: '' | 중괄호로 둘러싸인 쉼표로 구분된 목록
디폴트 값: ''

오일러 회전 각도 상태 이름으로, 중괄호로 둘러싸인 쉼표로 구분된 목록으로 지정됩니다.

프로그래밍 방식 사용

블록 파라미터: eul_statename
유형: 문자형 벡터
값: '' | 중괄호로 둘러싸인 쉼표로 구분된 목록
디폴트 값: ''

질량 상태 이름으로, 문자형 벡터로 지정됩니다.

프로그래밍 방식 사용

블록 파라미터: mass_statename
유형: 문자형 벡터
값: '' | 문자형 벡터
디폴트 값: ''

대체 구성

모두 확장

Simple Variable Mass 6DOF (Euler Angles) 블록은 단순 가변 질량의 6자유도 운동 방정식에 대한 오일러 각 표현을 구현합니다. 이 블록을 활성화하려면 Mass typeSimple Variable로 설정하십시오.

라이브러리:
Aerospace Blockset / Equations of Motion / 6DOF

Custom Variable Mass 6DOF (Euler Angles) 블록은 사용자 지정 가변 질량에 대한 6자유도 운동 방정식의 오일러 각 표현을 구현합니다. 이 블록을 활성화하려면 Mass typeCustom Variable로 설정하십시오.

라이브러리:
Aerospace Blockset / Equations of Motion / 6DOF

알고리즘

6DOF (Euler Angles) 블록은 이러한 기준 프레임 개념을 사용합니다.

  • 바디 고정 좌표계의 원점은 바디의 무게 중심이며, 바디는 강체로 가정됩니다. 이 가정은 개별 질량 요소들 사이에 작용하는 힘을 고려할 필요가 없도록 합니다.

    평탄 지구의 기준 프레임은 관성계로 간주되며, 이는 "고정된 별들"에 대한 지구의 상대 운동으로 인한 힘을 무시할 수 있게 하는 훌륭한 근사값입니다.

    Flat Earth Reference frame

  • 바디 고정 좌표계의 평행 이동 운동. 여기서 가해진 힘 [Fx Fy Fz]T는 바디 고정 프레임에 속하며, 바디의 질량 m은 일정하다고 가정합니다.

    F¯b=[FxFyFz]=m(V¯˙b+ω¯×V¯b)Abb=[u˙bv˙bw˙b]=1mF¯bω¯×V¯bAbe=1mFbV¯b=[ubvbwb],ω¯=[pqr]

  • 바디 고정 프레임의 회전 동특성. 가해진 모멘트는 [L M N]T이며, 관성 텐서 I는 원점 O를 기준으로 합니다.

    M¯B=[LMN]=Iω¯˙+ω¯×(Iω¯)I=[IxxIxyIxzIyxIyyIyzIzxIzyIzz]

  • 바디 고정 각속도 벡터 [p q r]T와 오일러 각 변화율 [ϕ˙θ˙ψ˙]T 간의 관계는 오일러 변화율을 바디 고정 좌표계로 변환함으로써 결정됩니다.

    [pqr]=[ϕ˙00]+[1000cosϕsinϕ0sinϕcosϕ][0θ˙0]+[1000cosϕsinϕ0sinϕcosϕ][cosθ0sinθ010sinθ0cosθ][00ψ˙]J1[ϕ˙θ˙ψ˙]

    J를 역변환하면 오일러 속도 벡터를 결정하는 데 필요한 관계식을 얻을 수 있습니다.

    [ϕ˙θ˙ψ˙]=J[pqr]=[1(sinϕtanθ)(cosϕtanθ)0cosϕsinϕ0sinϕcosθcosϕcosθ][pqr]

참고 문헌

[1] Stevens, Brian, and Frank Lewis, Aircraft Control and Simulation. Hoboken, NJ: Second Edition, John Wiley & Sons, 2003.

[2] Zipfel, Peter H., Modeling and Simulation of Aerospace Vehicle Dynamics. Reston, Va: Second Edition, AIAA Education Series, 2007.

확장 기능

모두 확장

C/C++ 코드 생성
Simulink® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.

버전 내역

R2006a에 개발됨

모두 확장