최신 버전 정보는 1.33.5에서 확인하세요.
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_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 좌표계를 기준으로 한 툴 플랜지의 자세 성분입니다. 힘 정렬, 순응 제어, 비주얼 서보잉처럼 자세 제어가 필요한 애플리케이션에 특히 유용합니다.