set_tool

이 함수는 로봇 컨트롤러에 미리 등록한 툴 중에서 현재 장착된 툴을 설정합니다. 장착된 툴이 없을 때 빈 문자열을 전달하면 현재 툴 설정이 초기화됩니다.

수동 모드에서 사용할 수 있습니다. 다른 모드에서는 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_tool(string strSymbol) {
    return _set_tool(_rbtCtrl, strSymbol.c_str());
};

매개변수

매개변수 이름

자료형

기본값

설명

strSymbol

string

활성화할 툴 이름입니다. 미리 등록된 툴과 일치해야 합니다.
빈 문자열 “”을 전달하면 현재 툴 정보가 지워집니다.

반환값

값

설명

0

오류 — 툴을 선택하지 못함

1

성공 — 툴 선택을 완료함

예제

float fCog[3] = {10.0f, 10.0f, 10.0f};     // 무게 중심
float fInertia[6] = {0.f, 0.f, 0.f, 0.f, 0.f, 0.f};

// (1) 새 툴 등록
drfl.add_tool("tool#1", 5.3f, fCog, fInertia);

// (2) 해당 툴을 사용하도록 선택
bool success = drfl.set_tool("tool#1");
if (success)
    printf("Tool successfully set to tool#1\n");

// (3) 툴 등록 삭제
drfl.del_tool("tool#1");

이 예제는 새 툴(“tool#1”)을 등록하고 컨트롤러의 활성 툴로 설정한 다음, 필요에 따라 툴 정보를 지우거나 삭제합니다.

참고

set_tool()과 set_workpiece_weight()를 연달아 호출할 때는 무게 갱신이 올바르게 처리되도록 mwait로 최소 transition_time초 동안 반드시 지연을 넣어야 합니다. 그렇지 않으면 작업물 무게 데이터가 제대로 적용되지 않을 수 있습니다.