check_orientation_condition_abs (자동 모드)

이 절에서는 자동(실행) 운전 중에 check_orientation_condition_abs로 지정한 축을 중심으로 한 절대 자세가 미리 정의한 각도 범위 안에 있는지 확인하는 방법을 설명합니다.

주로 자동 조립이나 정밀 모션 시퀀스에서 자세 정렬, 삽입 준비 상태, 안전한 회전 한계를 확인하는 데 사용합니다.

일반적인 사용법

  • 각도 오프셋이 임계값 이상인지 확인하려면 fTargetMin을 사용하세요.

  • 각도 오프셋이 임계값 이하인지 확인하려면 fTargetMax를 사용하세요.

  • 현재 각도 편차가 허용 범위 안에 있는지 확인하려면 fTargetMin과 fTargetMax를 모두 설정하세요.

  • 공정 자동화 중에 회전 정렬이나 검증이 필요한 위치 결정 작업에 주로 사용합니다.

참고

  • 이 함수는 각-축(Angle/Axis) 방식으로 회전 차이를 계산하므로 두 포즈 사이의 최단 각도 거리를 구합니다.

  • eForceReference = COORDINATE_SYSTEM_TOOL이면 기준 자세를 BASE 좌표계로 정의해야 합니다.

  • 각도 편차의 단위는 도(degree)입니다.

예제

// 사전 조건: 연결됨, 자동 모드 활성, 서보 온

// Rx–Ry–Rz 축 기준 목표 자세 범위 정의
float minOri[6] = {0.f, 0.f, 0.f, -10.f, -10.f, -10.f};
float maxOri[6] = {0.f, 0.f, 0.f, 10.f, 10.f, 10.f};

// TOOL 좌표계에서 Rz축 기준 자세 편차 확인
bool cond = drfl.check_orientation_condition(FORCE_AXIS_Z, minOri, maxOri, COORDINATE_SYSTEM_TOOL);

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

이 예제는 TOOL 좌표계에서 Z축(Rz)을 중심으로 현재 툴 자세가 목표 자세의 ±10° 안에 있는지 확인합니다.

팁

  • 공정의 다음 단계를 시작하기 전에 자동 정렬 확인에 이 함수를 사용하세요.

  • check_position_condition과 함께 사용하면 자동 작업 중에 6D 검증(위치와 자세)을 모두 할 수 있습니다.

  • 각도의 단위는 도(degree)입니다.

  • 이 함수는 정밀한 회전 제어가 중요한 로봇 삽입 작업, 나사 체결, 정밀 조립 작업에서 특히 유용합니다.