이전 버전(1.33.4)의 문서를 보고 있습니다. 이 버전은 계속 지원됩니다.
최신 버전 정보는 1.33.5에서 확인하세요.

check_orientation_condition_rel

이 함수는 지정한 축에서 현재 툴 자세와 목표 자세 사이의 상대 회전 차이가 정의한 최소~최대 각도 범위 안에 있는지 확인합니다. 회전은 각-축(Angle/Axis) 표현으로 나타내며, 목표 자세에서의 각도 편차가 지정한 임계값 안에 있는지 평가합니다.

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

bool check_orientation_condition(FORCE_AXIS eForceAxis,
                                 float fTargetMin,
                                 float fTargetMax,
                                 float fTargetPos[NUM_TASK],
                                 COORDINATE_SYSTEM eForceReference = COORDINATE_SYSTEM_TOOL) {
    return _check_orientation_condition_rel(_rbtCtrl, eForceAxis, fTargetMin, fTargetMax, fTargetPos, eForceReference);
};

매개변수

매개변수 이름

자료형

기본값

설명

eForceAxis

FORCE_AXIS

평가할 회전축(Rx, Ry, Rz)입니다.

fTargetMin

float

허용하는 최소 각도 편차(단위: 도)입니다.

fTargetMax

float

허용하는 최대 각도 편차(단위: 도)입니다.

fTargetPos

float[6]

회전을 비교할 목표 작업 위치(기준 포즈)입니다.

eForceReference

COORDINATE_SYSTEM

COORDINATE_SYSTEM_TOOL

자세를 비교할 기준 좌표계(TOOL 또는 BASE)입니다.

반환값

값

설명

1

조건이 True입니다(자세가 정의한 범위 안).

0

조건이 False입니다(자세가 지정한 범위 밖).

check_orientation_condition_rel

check_orientation_condition_rel


예제

// 사전 조건: 연결됨, 서보 온, 수동(교시) 모드 또는 자동 모드 활성

// 기준 자세 정의(Rx, Ry, Rz, 단위: 도)
float posRef[6] = {400.f, 500.f, 600.f, 0.f, 180.f, 0.f};

// TOOL 좌표계에서 Ry축 회전이 기준 자세의 ±15° 이내인지 확인
bool cond = drfl.check_orientation_condition(FORCE_AXIS_Y, -15.f, 15.f, posRef, COORDINATE_SYSTEM_TOOL);

printf("Orientation condition result: %s\n", cond ? "TRUE" : "FALSE");

이 예제는 TOOL 좌표계에서 Ry축을 중심으로 한 현재 회전이 기준 포즈 자세의 ±15° 안에 있는지 확인합니다.

팁

  • 수동 모드와 자동 모드 모두에서 상대 자세 추적이나 각도 수렴 모니터링에 사용하세요.

  • 나사 정렬, 펙인홀, 미세 회전 조정이 필요한 작업에 특히 유용합니다.

  • 위치 확인과 함께 사용하면 위치와 자세가 모두 원하는 허용 오차 안에 있는지 확인할 수 있습니다.