주요 콘텐츠

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

Custom Variable Mass 6DOF (Quaternion)

R2026b

바디 좌표축을 기준으로 한 사용자 지정 가변 질량의 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 type을 Fixed로 설정하십시오.

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

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

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

알고리즘

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

[q˙0q˙1q˙2q˙3]=12[0−p−q−rp0r−qq−r0prq−p0][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에 개발됨

모두 확장