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은 허용할 수 있는 가장 긴 체결 시간으로 설정하세요.