add_tcp (수동 모드)

이 절에서는 시스템 초기화나 툴 설정 중에 add_tcp로 로봇 컨트롤러에 새 TCP(툴 중심점)를 등록하는 방법을 설명합니다.

TCP는 툴 플랜지를 기준으로 한 위치와 자세를 정의하며, 작업 공간(Task Space)에서 정밀하게 제어하는 데 핵심 요소입니다.

등록한 TCP는 set_tcp로 활성화할 수 있습니다.

수동 모드에서 사용할 수 있습니다. 다른 모드에서는 함수가 false를 반환하고 this command can only be used in manual mode. please change to manual mode as robot mode를 출력합니다. 모드는 get_robot_mode가 반환하는 값으로 확인합니다.

주의

실제 로봇에서는 로봇이 움직이는 동안 안전 보드도 이 호출을 거부합니다. 이때 모션은 급정지(Quick Stop)하고, 실행 중인 프로그램은 정지합니다.

일반적인 사용법

  • 새 그리퍼, 스크루드라이버, 용접 토치, 프로브의 TCP를 등록합니다.

  • 작업 끝단이 여러 개인 복잡한 툴에는 TCP를 여러 개 만듭니다.

  • Smart Setup이나 CAD 사양으로 측정한 TCP 값을 불러옵니다.

  • 레시피 기반 자동화 작업에 사용할 TCP 설정을 준비합니다.

참고

  • 이름은 32바이트로 제한되며, 더 긴 이름은 잘립니다. 이미 있는 이름을 추가하면 해당 항목을 대체하며, 그 툴(TCP)이 활성 상태이면 새 값이 즉시 적용됩니다. 컨트롤러는 툴과 TCP를 각각 최대 50개까지 저장합니다. 이를 넘어 추가하면 알람이 발생하고 실행 중인 프로그램이 정지됩니다.

  • 자세 값은 Z-Y-Z 오일러 각 규칙(A, B, C)을 따릅니다.

  • TCP 등록은 보통 시운전 단계에서 한 번만 합니다.

예제: 그리퍼용 새 TCP 등록하기

// TCP 예: 플랜지 기준 앞으로 80 mm, 오른쪽으로 0 mm, 아래로 30 mm
// 위치(X, Y, Z) 다음에 Z-Y-Z 오일러 각(A, B, C)
float tcp[6] = {80.f, 0.f, -30.f, 180.f, 0.f, 180.f};

// TCP 등록
if (!drfl.add_tcp("TCP_GRIPPER_CENTER", tcp)) {
    printf("Failed to register TCP.\n");
    return -1;
}

// TCP 활성화
drfl.set_tcp("TCP_GRIPPER_CENTER");

이 예제는 TCP를 등록한 뒤 바로 활성화해 이후의 픽 앤 플레이스 작업에 사용합니다.

팁

  • 접촉점이나 측정점이 다른 툴에는 TCP를 여러 개 정의하세요.

  • 정밀도를 높이려면 가능한 한 Smart Setup 자동 측정을 사용하세요.

  • 레시피와 툴 라이브러리의 이름 규칙을 일관되게 유지하세요.