is_done_bolt_tightening (수동 모드)

이 절에서는 수동(교시) 작업 중에 is_done_bolt_tightening으로 토크 기반 체결 완료를 모니터링하고 검증하는 방법을 설명합니다. 이 함수는 특정 축에서 툴의 측정 토크가 주어진 제한 시간 안에 사용자가 정의한 목표값(N·m)에 도달하는지 확인합니다.

주로 조립 교시, 볼트 체결, 토크 검증 중에 조임 과정이 요구 토크 임계값에 도달했는지 확인할 때 사용합니다.

일반적인 사용법

  • 수동 작업 중 볼트나 너트가 원하는 체결 토크에 도달했는지 검증합니다.

  • if문에서 반환값으로 목표 토크 도달 여부에 따라 분기합니다.

  • task_compliance_ctrl과 함께 사용해 토크 제어 교시를 합니다.

  • 공정 검증이나 수동 캘리브레이션을 위해 토크 도달 피드백을 기록하거나 표시합니다.

참고

  • 이 함수는 목표 토크에 도달하거나 fTimeout이 지날 때까지 대기한 다음 결과를 반환합니다.

예제: 볼트 체결 중 수동 토크 검증

// 사전 조건:
// - 연결됨
// - 서보 온 및 수동(교시) 모드 활성
// - 토크/힘 센서 캘리브레이션 완료
// - 로봇이 체결 위치 근처에 위치

// 1) 초기 볼트 위치로 이동
float fPos1[6] = {0.f, 0.f, 0.f, 0.f, 0.f, 0.f};
drfl.movej(fPos1, 30.f, 30.f);
drfl.mwait();

// 2) 토크 기반 교시를 위해 순응 제어 활성화
float stiffness[6] = { 2500.f, 2500.f, 2500.f, 150.f, 150.f, 150.f };
drfl.task_compliance_ctrl(stiffness);

// 3) 체결 토크 감시(목표 = 10 N·m, 제한 시간 = 5초)
bool bTightened = drfl.is_done_bolt_tightening(FORCE_AXIS_Z, 10.0f, 5.0f);

// 4) 결과 표시
if (bTightened)
    printf("Tightening complete: torque reached 10 N·m or higher.\n");
else
    printf("Timeout: target torque not reached within 5 seconds.\n");

// 5) 확인 후 순응 제어 해제
drfl.release_compliance_ctrl();

이 예제에서 로봇은 순응 제어(Compliance Control) 상태로 동작하면서 Z축에 가해진 토크가 5초 안에 10 N·m에 도달하는지 확인합니다. 이를 통해 수동 교시나 조립 캘리브레이션 중 토크 완료를 실시간으로 검증할 수 있습니다.

팁

  • 이 함수를 사용하기 전에 항상 task_compliance_ctrl을 활성화하세요.

  • fTargetTor는 체결 공정의 요구 토크에 맞춰 설정하세요.

  • fTimeout은 예상 체결 시간에 맞게 조정하세요.

  • 일반적인 볼트 체결 애플리케이션(회전 토크)에는 FORCE_AXIS_Z를 사용하세요.

  • check_force_condition과 함께 사용해 다음 단계로 넘어가기 전에 토크와 힘 임계값을 모두 만족하는지 확인하세요.

  • 컨트롤러가 응답해야 호출이 반환되므로 폴링하지 마세요. fTimeout은 허용할 수 있는 가장 긴 체결 시간으로 설정하세요.