기능
로봇 끝단의 툴 무게/무게 중심에 추가하여 작업물의 무게/무게 중심, 기타 정보를 설정한다. 전체 페이로드의 무게 및 무게 중심은 설정된 툴 무게/무게 중심과 작업물의 무게/무게 중심을 종합하여 반영된다. 작업물의 종류가 다양하거나 동적으로 무게가 변경되어야 하는 Application에서 사용 가능한 함수이다.
-
작업물 무게 변경은 Auto Mode 중 Collision Detection과 TCP SLF Violation 검사가 모두 무효화된 경우에만 허용됩니다.
-
현재 버전에서, Collision Detection은 Collision Sensitivity를 0으로 Override 한 경우, TCP SLF Violation은 TCP SLF Limit을 최대로 Override 한 경우를 기능이 무효화된 상태로 간주합니다. 이 무효화는 Collision Sensitivity Reduction Zone, Custom Zone 등을 이용해서 설정할 수 있습니다.
-
그 외의 경우에 작업물 무게가 0으로 설정되어 있지 않으면 SS1 보호 정지를 발생시킵니다.
-
에러 발생으로 로봇이 정지하여 매뉴얼로 복구하여야 하는 경우 복구 모드에서 로봇을 원하는 위치에 놓고, Auto Mode에서 해당 Zone들이 활성화된 상태에서 Servo On, I/O 조작 등을 통해 작업물을 언로딩할 수 있습니다.
-
설정된 툴 무게를 변경하는 경우에는 작업물 무게가 0으로 초기화 됩니다.
-
set_safety_mode 명령어를 사용하여 안전 모드 설정을 직접 수행해야 합니다(예제 참조)
-
set_tool, set_workpiece_weight 함수를끼리 연달아 사용하는 경우에는 transition_time 만큼 wait(transition_time) 함수를 사이에 넣어서 사용해야 합니다. 그렇지 않으면 무게 변경에 오류가 생길 수 있습니다.
인수
|
인수명 |
자료형 |
기본값 |
설명 |
|
fWeight |
float |
0 |
무게 [kgf] |
|
fCog |
float[3] |
[0, 0, 0] |
무게 중심 위치(x, y, z) [mm] |
|
eCogRef |
enum.COG_REFERENCE |
COG_REFERENCE_TCP |
상수 및 열거형 정의 참조 |
|
eAddUp |
enum.ADD_UP |
ADD_UP_REPLACE- |
상수 및 열거형 정의 참조 |
|
fStartTime |
float |
-10000 |
전달 시간 이후 작업물 무게 변경 시작[sec] |
|
fTransitionTime |
float |
-10000 |
전달 시간 동안 작업물 무게 점진적 변경[sec] |
리턴
|
값 |
설명 |
|
0 |
실패 |
|
1 |
성공 |
예제
Drfl.set_safety_mode(SAFETY_MODE_AUTONOMOUS, SAFETY_MODE_EVENT_MOVE);
Drfl.set_workpiece_weight();
Drfl.set_safety_mode(SAFETY_MODE_AUTONOMOUS, SAFETY_MODE_EVENT_STOP);