주요 콘텐츠

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

Custom Variable Mass 6DOF (Euler Angles)

사용자 지정 가변 질량에 대한 6자유도 운동 방정식의 오일러 각 표현 구현

  • Custom Variable Mass 6DOF (Euler Angles) block

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

Custom Variable Mass 6DOF (Euler Angles) 블록의 대체 구성:
6DOF (Euler Angles) | Simple Variable Mass 6DOF (Euler Angles)

설명

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

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

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

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

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

제한 사항

이 블록은 가해지는 힘이 바디의 무게 중심에 작용한다고 가정합니다.

포트

입력

모두 확장

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

데이터형: double

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

데이터형: double

하나 이상의 질량 변화율(질량이 증가하면 양수, 감소하면 음수)로, 스칼라로 지정됩니다.

종속성

이 포트를 활성화하려면 Include mass flow relative velocity를 선택하십시오.

데이터형: double

질량으로, 스칼라로 지정됩니다.

데이터형: double

관성 텐서 행렬의 변화율로, 3×3 행렬로 지정됩니다.

데이터형: double

관성 텐서 행렬로, 3×3 행렬로 지정됩니다.

데이터형: double

바디 고정 좌표축에서 질량이 바디에 축적(accretion)되거나 바디에서 소멸(ablation)되는 하나 이상의 상대 속도로, 3-요소 벡터로 지정됩니다.

종속성

이 포트를 활성화하려면 Include mass flow relative velocity를 선택하십시오.

데이터형: 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

파라미터

모두 확장

메인

입력 및 출력 단위로, 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)

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

Custom Variable을 선택하면 앞서 설명한 운동 방정식을 따르게 됩니다.

프로그래밍 방식 사용

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

평탄 지구 기준 프레임에서의 바디의 초기 위치로, 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]'

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

프로그래밍 방식 사용

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

상태 특성

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

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

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

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

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

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

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

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

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

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

프로그래밍 방식 사용

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

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

프로그래밍 방식 사용

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

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

프로그래밍 방식 사용

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

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

프로그래밍 방식 사용

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

대체 구성

모두 확장

6DOF (Euler Angles) 블록은 6자유도 운동 방정식을 오일러 각도로 표현합니다. 이 블록을 활성화하려면 Mass typeFixed로 설정하십시오.

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

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

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

알고리즘

바디 고정 좌표 프레임의 원점은 바디의 무게 중심입니다. 이 바디는 강체로 가정되므로, 개별 질량 요소들 사이에 작용하는 힘을 고려할 필요가 없습니다. 평탄 지구 좌표계는 관성 좌표계로 간주되며, 이는 “고정된 별”에 대한 지구의 운동으로 인한 힘을 무시할 수 있게 해주는 훌륭한 근사치입니다.

바디 고정 좌표 프레임의 평행 이동은 아래와 같으며, 여기서 작용하는 힘 [Fx Fy Fz]T는 바디 고정 프레임에 속합니다. Vreb는 바디 좌표축에서의 상대 속도로, 질량 유량(m˙)은 이 속도로 바디 고정 좌표축에서 방출되거나 바디 고정 좌표축으로 유입됩니다.

F¯b=[FxFyFz]=m(V¯˙b+ω¯×V¯b)m˙V¯rebAbe=F¯b+m˙V¯rebmAbb=[u˙bv˙bw˙b]=F¯b+m˙V¯rebmω¯×V¯bV¯b=[ubvbwb],ω¯=[pqr]

바디 고정 프레임의 회전 역학은 다음과 같으며, 여기서 작용하는 모멘트는 [L M N]T이고, 관성 텐서 I는 원점 O를 기준으로 합니다.

M¯B=[LMN]=Iω¯˙+ω¯×(Iω¯)+I˙ω¯I=[IxxIxyIxzIyxIyyIyzIzxIzyIzz]I˙=[I˙xxI˙xyI˙xzI˙yxI˙yyI˙yzI˙zxI˙zyI˙zz]

바디 고정 각속도 벡터 [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]

항공우주 좌표계에 대한 자세한 내용은 Fundamental Coordinate System Concepts 항목을 참조하십시오.

참고 문헌

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

[2] Zipfel, Peter H. Modeling and Simulation of Aerospace Vehicle Dynamics. 2nd ed. Reston, VA: AIAA Education Series, 2007.

확장 기능

모두 확장

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

버전 내역

R2006a에 개발됨

모두 확장