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 |
평가할 회전축(Rx, Ry, Rz)입니다. |
||
fTargetMin |
float |
허용하는 최소 각도 편차(단위: 도)입니다. |
|
fTargetMax |
float |
허용하는 최대 각도 편차(단위: 도)입니다. |
|
fTargetPos |
float[6] |
회전을 비교할 목표 작업 위치(기준 포즈)입니다. |
|
eForceReference |
|
자세를 비교할 기준 좌표계(TOOL 또는 BASE)입니다. |
반환값
값 |
설명 |
|---|---|
1 |
조건이 True입니다(자세가 정의한 범위 안). |
0 |
조건이 False입니다(자세가 지정한 범위 밖). |
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° 안에 있는지 확인합니다.
팁
수동 모드와 자동 모드 모두에서 상대 자세 추적이나 각도 수렴 모니터링에 사용하세요.
나사 정렬, 펙인홀, 미세 회전 조정이 필요한 작업에 특히 유용합니다.
위치 확인과 함께 사용하면 위치와 자세가 모두 원하는 허용 오차 안에 있는지 확인할 수 있습니다.