get_current_rotm

이 함수는 현재 툴 자세의 회전 행렬(Rotation Matrix)을 BASE 좌표계(eTargetRef = COORDINATE_SYSTEM_BASE, 기본값) 기준으로 반환합니다. 모니터링 버전 1에서는 WORLD 좌표계 기준으로도 반환할 수 있습니다.

정의
DRFLEx.h, CDRFLEx 클래스의 public 섹션

float (*get_current_rotm(COORDINATE_SYSTEM eTargetRef = COORDINATE_SYSTEM_BASE))[3] {
    return _get_current_rotm(_rbtCtrl, eTargetRef);
};

매개변수

매개변수 이름

자료형

기본값

설명

eTargetRef

COORDINATE_SYSTEM

COORDINATE_SYSTEM_BASE

회전 행렬을 계산할 기준 좌표계(Reference Coordinate System)입니다. 현재는 COORDINATE_SYSTEM_BASE와 COORDINATE_SYSTEM_WORLD만 지원하며, COORDINATE_SYSTEM_WORLD를 쓰려면 setup_monitoring_version(1)이 필요합니다. 다른 좌표계에서 TCP 자세를 구하려면 get_current_posx(eTargetRef)를 사용하세요.

반환값

값

설명

float[3][3]

eTargetRef로 선택한 좌표계를 기준으로 툴의 현재 자세를 나타내는 3×3 회전 행렬입니다.

주의

이 함수는 다른 eTargetRef 값을 거부하지 않습니다. 모니터링 버전 0에서는 eTargetRef를 무시하고 BASE 행렬을 반환합니다. 모니터링 버전 1에서는 COORDINATE_SYSTEM_BASE를 제외한 모든 값에 대해 WORLD 행렬을 반환합니다.

예제

float (*result)[3] = drfl.get_current_rotm();
for (int i = 0; i < 3; i++) {
    for (int j = 0; j < 3; j++) {
        printf("%f ", result[i][j]);
    }
    printf("\n");
}

이 예제는 툴의 회전 행렬을 출력합니다. 각 요소 result[i][j]는 BASE 좌표계를 기준으로 한 툴 플랜지의 자세 성분입니다. 힘 정렬, 순응 제어, 비주얼 서보잉처럼 자세 제어가 필요한 애플리케이션에 특히 유용합니다.