최신 버전 정보는 1.33.5에서 확인하세요.
add_tool (수동 모드)
이 절에서는 수동 모드의 초기화 루틴에서 add_tool로 로봇 컨트롤러에 새 툴(엔드 이펙터)을 등록하는 방법을 설명합니다.
툴 정의에는 무게, 무게 중심(CoG), 관성(Inertia) 정보가 들어 있으며, 모두 정확한 궤적(Trajectory) 생성과 힘 추정에 필요합니다. 등록한 툴은 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)하고, 실행 중인 프로그램은 정지합니다.
일반적인 사용법
새 그리퍼, 프로브 또는 사용자 정의 엔드 이펙터를 등록합니다.
Smart Setup이나 CAD 사양으로 측정한 툴 데이터를 불러옵니다.
자동 툴 교체 공정에 사용할 툴 설정을 여러 개 준비합니다.
시스템 시작이나 시운전 단계에서 툴 정의를 초기화합니다.
참고
이름은 32바이트로 제한되며, 더 긴 이름은 잘립니다. 이미 있는 이름을 추가하면 해당 항목을 대체하며, 그 툴(TCP)이 활성 상태이면 새 값이 즉시 적용됩니다. 컨트롤러는 툴과 TCP를 각각 최대 50개까지 저장합니다. 이를 넘어 추가하면 알람이 발생하고 실행 중인 프로그램이 정지됩니다.
무게와 CoG 값은 실제 툴과 최대한 가깝게 맞추는 것을 권장합니다.
툴 등록은 보통 사이클마다가 아니라 한 번만 합니다.
예제: 새 툴 설정 등록하기
float cog[3] = {0.f, 0.f, 40.f}; // 플랜지/TCP 기준, 단위 mm
float inertia[6] = {0.f, 0.f, 0.f, 0.f, 0.f, 0.f};
// 새 툴 등록
if (drfl.add_tool("NEW_END_EFFECTOR", 1.2f, cog, inertia)) {
printf("Tool registered successfully.\n");
} else {
printf("Failed to register tool.\n");
return -1;
}
// 새 툴 선택
drfl.set_tool("NEW_END_EFFECTOR");
이 예제는 새 툴을 만든 뒤 set_tool()로 활성화해 이후 모션에 사용합니다.
팁
초기화할 때 모든 툴을 등록해 두고,
set_tool로 툴을 전환하세요.안전한 모션과 정확한 토크 추정을 위해 질량과 CoG 값을 정확하게 입력하세요.
여러 툴을 사용하는 자동화에서는 툴 심볼을 중앙 레시피 테이블에 저장하세요.