주요 콘텐츠

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

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자유도 운동 방정식의 오일러 각 표현 구현

제한 사항

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

포트

입력

모두 확장

바디 프레임에서 질량 중심에 가해지는 힘으로, Units에 명시된 단위의 3-요소 벡터로 지정됩니다. 프레임에 대한 자세한 내용은 Body Coordinates 항목을 참조하십시오.

데이터형: double

바디 프레임에서 질량을 기준으로 바디에 작용하는 모멘트로, Units에 명시된 단위의 3-요소 벡터로 지정됩니다. 프레임에 대한 자세한 내용은 Body Coordinates 항목을 참조하십시오.

데이터형: double

출력

모두 확장

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

데이터형: double

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

데이터형: double

x, y, z 축에 대한 오일러 회전 각도 [롤, 피치, 요]를 3-요소 벡터 형태로 라디안 단위로 표시합니다. 요, 피치, 롤 각도는 프레임 A에서 프레임 B(예: angle2dcm(yaw,pitch,roll,"ZYX"))로 변환할 때 z-y-x 오른손 법칙에 따른 내재적 수동 변환을 적용하여 구합니다.

데이터형: 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-요소 벡터로 지정됩니다. z-y-x 회전 순서에 따라 롤, 피치, 요 각도를 지정하십시오.

프로그래밍 방식 사용

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

NED 프레임을 기준으로 한 초기 바디 고정 각속도로, 초당 라디안(rad/s) 단위의 3-요소 벡터로 지정됩니다.

프로그래밍 방식 사용

블록 파라미터: 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에 개발됨

모두 확장