주요 콘텐츠

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

Custom Variable Mass 6DOF (Quaternion)

바디 좌표축을 기준으로 한 사용자 지정 가변 질량의 6자유도 운동 방정식을 쿼터니언으로 표현

  • Custom Variable Mass 6DOF (Quaternion) block

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

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

설명

Custom Variable Mass 6DOF (Quaternion) 블록은 바디 좌표축을 기준으로 한 사용자 지정 가변 질량의 6자유도 운동 방정식을 쿼터니언으로 표현합니다. 좌표계 및 평행 이동 역학에 대한 설명은 Custom Variable Mass 6DOF (Euler Angles) 블록의 블록 설명을 참조하십시오.

Aerospace Blockset™은 스칼라 우선 규칙에 따라 정의된 쿼터니언을 사용합니다. 쿼터니언 벡터의 변화율 적분에 대한 자세한 내용은 알고리즘 항목을 참조하십시오.

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

  • Custom Variable Mass 6DOF (Quaternion)— 바디 좌표축을 기준으로 한 사용자 지정 가변 질량의 6자유도 운동 방정식을 쿼터니언으로 표현

  • 6DOF (Quaternion) — 바디 좌표축을 기준으로 한 6자유도 운동 방정식의 쿼터니언 표현 구현

  • Simple Variable Mass 6DOF (Quaternion) — 바디 좌표축을 기준으로 한 단순 가변 질량의 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

평탄 지구 좌표축에서 바디 고정 좌표축으로의 변환을 나타내는 쿼터니언으로, 4×1 벡터로 반환됩니다.

데이터형: 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
유형: 문자형 벡터
값: '' | 중괄호로 둘러싸인 쉼표로 구분된 목록
디폴트 값: ''

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

프로그래밍 방식 사용

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

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

프로그래밍 방식 사용

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

대체 구성

모두 확장

6DOF (Quaternion) 블록은 바디 좌표축을 기준으로 한 6자유도 운동 방정식을 쿼터니언으로 표현합니다. 이 블록을 활성화하려면 Mass typeFixed로 설정하십시오.

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

Simple Variable Mass 6DOF (Quaternion) 블록은 바디 좌표축을 기준으로 한 단순 가변 질량의 6자유도 운동 방정식을 쿼터니언으로 표현합니다. 이 블록을 활성화하려면 Mass typeSimple Variable로 설정하십시오.

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

알고리즘

쿼터니언 벡터의 변화율에 대한 적분은 다음과 같이 주어집니다. 이득 Kε이 0이 아닐 경우 쿼터니언 상태 벡터의 노름이 1.0이 되도록 작용합니다. 이 이득의 값은 신중하게 선택해야 합니다. 값이 크면 노름 기준 오차의 감쇠 속도는 향상되지만, 동적 응답이 빨라지면서 시뮬레이션 속도도 느려지기 때문입니다. 쿼터니언 벡터의 한 성분의 크기에 오류가 발생하면, 이 오류가 모든 성분에 균등하게 퍼져 상태 벡터의 오차가 커질 가능성이 있습니다.

[q˙0q˙1q˙2q˙3]=12[0pqrp0rqqr0prqp0][q0q1q2q3]+Kε[q0q1q2q3]ε=1(q02+q12+q22+q32).

참고 문헌

[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에 개발됨

모두 확장