set_tcp

이 함수는 로봇 컨트롤러에 미리 등록된 TCP 설정 중에서 현재 활성 TCP(툴 중심점)를 설정합니다. 빈 문자열을 전달하면 TCP 정보가 지워지고 기본값으로 초기화됩니다. 이렇게 하면 모션과 좌표 계산에 장착된 엔드 이펙터나 툴의 올바른 기준점이 사용됩니다.

수동 모드에서 사용할 수 있습니다. 다른 모드에서는 false를 반환하고 this command can only be used in manual mode. please change to manual mode as robot mode를 출력합니다. 모드는 get_robot_mode가 반환하는 값으로 확인합니다. 실제 로봇에서는 로봇이 움직이는 동안 안전 보드도 이 호출을 거부합니다. 이때 모션은 급정지(Quick Stop)로 멈추고 실행 중인 프로그램은 정지됩니다.

정의
DRFLEx.h, CDRFLEx 클래스의 public 섹션

bool set_tcp(string strSymbol) {
    return _set_tcp(_rbtCtrl, strSymbol.c_str());
};

매개변수

매개변수 이름

자료형

기본값

설명

strSymbol

string

활성화할 TCP의 이름입니다.
컨트롤러에 이미 등록된 TCP 항목과 일치해야 합니다.
빈 문자열 “”을 전달하면 활성 TCP가 지워집니다.

반환값

값

설명

0

오류 — TCP를 활성화하지 못함

1

성공 — TCP를 활성 TCP로 설정함

예제

// (1) "tcp#1" TCP 설정
drfl.set_tcp("tcp#1");

// (2) 선택한 TCP 기준으로 이동
float point[6] = {756.6f, 511.6f, 876.6f, 44.5f, 86.7f, 55.7f};
float vel[2]   = {30.f, 20.f};
float acc[2]   = {30.f, 20.f};

drfl.movel(point, vel, acc);

이 예제는 “tcp#1”이라는 TCP를 선택하고, 이 TCP를 모든 위치와 자세 계산의 기준으로 삼아 작업 공간(Task Space) 직선 모션을 실행합니다.