주요 콘텐츠

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

6DOF (Quaternion)

R2026a

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

  • 6DOF (Quaternion) block

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

설명

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

쿼터니언 벡터의 변화율 적분에 대한 자세한 내용은 알고리즘 항목을 참조하십시오.

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

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

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

  • Custom Variable Mass 6DOF (Quaternion) — 바디 좌표축을 기준으로 한 사용자 지정 가변 질량의 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

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

데이터형: 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 type을 Fixed로 설정하십시오.

프로그래밍 방식 사용

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

상태 특성

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

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

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

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

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

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

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

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

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

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

프로그래밍 방식 사용

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

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

프로그래밍 방식 사용

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

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

프로그래밍 방식 사용

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

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

프로그래밍 방식 사용

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

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

  • 6DOF Acceleration — m 포트

  • 6DOF Angular Acceleration — I 및 dI/dt coeff 포트.

프로그래밍 방식 사용

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

대체 구성

모두 확장

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

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

Custom Variable Mass 6DOF (Quaternion) 블록은 바디 좌표축을 기준으로 한 사용자 지정 가변 질량의 6자유도 운동 방정식을 쿼터니언으로 표현합니다. 이 블록을 활성화하려면 Mass type을 Custom 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)

Aerospace Blockset™은 스칼라 우선 규칙에 따라 정의된 쿼터니언을 사용합니다.

확장 기능

모두 확장

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

버전 내역

R2006a에 개발됨

모두 확장