3.7.0 3.6.0 3.5.0 3.4.0 3.3.0 3.2.2 3.2.1 3.2.0 Korean English Chinese Czech Dutch French German Hungarian Italian Japanese Polish Portuguese Spanish
3.7.0 3.6.0 3.5.0 3.4.0 3.3.0 3.2.2 3.2.1 3.2.0 Korean English Chinese Czech Dutch French German Hungarian Italian Japanese Polish Portuguese Spanish

set_workpiece_weight()

정의

set_workpiece_weight(weight=0.0, cog=[0.0,0.0,0.0], cog_ref=DR_CUR_TCP, add_up=DR_REPLACE, start_time=None, transition_time=None)

기능

로봇 끝단의 툴 무게/무게 중심에 추가하여 작업물의 무게/무게 중심, 기타 정보를 설정합니다. 전체 페이로드의 무게 및 무게 중심은 설정된 툴 무게/무게 중심과 작업물의 무게/무게 중심을 종합하여 반영됩니다. 작업물의 종류가 다양하거나 동적으로 무게가 변경되어야 하는 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으로 초기화 됩니다.

  • reset_workpiece_weight 명령어는 set_workpiece_weight 명령어로 설정된 작업물 무게를 초기화하는 기능이 아닙니다. 현재 작업물의 무게를 0kg로 초기화하려면 set_workpiece_weight(0) 명령어를 사용하시기 바랍니다.

  • 프로그램 종료 시에도 set_workpiece_weight 명령어로 설정한 작업물의 무게는 유지됩니다.

인수

인수명

자료형

기본값

설명

weight

int

0

무게 [kgf]

cog

list(float[3])

[0, 0, 0]

무게 중심 위치(x, y, z) [mm]

cog_ref

int

DR_CUR_TCP

무게 중심 위치 기준 좌표계,

DR_CUR_TCP : TCP 기준,

DR_FLANGE : FLANGE 기준,

add_up

int

DR_REPLACE

DR_REPLACE(0): 작업물 교체

DR_ADD(1): 작업물 추가

DR_REMOVE(2): 작업물 제거

start_time

float

None

전달 시간 이후 작업물 무게 변경 시작[sec]

transition_time

float

None

전달 시간 동안 작업물 무게 점진적 변경[sec]

알아두기

  • 작업물의 무게는 모델별 최대 페이로드 무게(margin 10%)를 초과할 수 없습니다. 전체 페이로드의 무게도 마찬가지입니다.

  • 작업물의 무게 중심(x, y, z) 각 축의 길이는 1000mm를 초과할 수 없습니다. 전체 페이로드의 무게 중심 각 축의 길이도 마찬가지입니다.

  • start_time을 통해 해당 설정 시간 이후에 작업물 무게 변경이 가능합니다.

  • transition_time을 통해 해당 설정 시간 동안 작업물 무게를 점진적으로 변경이 가능합니다.

  • set_tool, set_workpiece_weight 함수를끼리 연달아 사용하는 경우에는 transition_time 만큼 wait(transition_time) 함수를 사이에 넣어서 사용해야 합니다. 그렇지 않으면 무게 변경에 오류가 생길 수 있습니다.

리턴

설명

0

성공

음수값

오류

예외

예외

설명

DR_Error (DR_ERROR_TYPE)

인수들의 데이터형 오류 시

DR_Error (DR_ERROR_VALUE)

인수의 값이 유효하지 않을 시

DR_Error (DR_ERROR_RUNTIME)

C Extension 모듈 에러 발생 시

DR_Error (DR_ERROR_STOP)

프로그램 강제 종료 시

예제

Python
# Replace 1 kgf workpiece weight at the origin of the current TCP frame
set_workpiece_weight(1)
# Add 0.5 kgf workpiece weight at the origin of the current TCP frame. In total, 1.5kgf
set_workpiece_weight(0.5, add_up=DR_ADD)
# Remove 0.1 kgf workpiece weight at [0, 0, 10] in the current TCP frame. In total, 1.4kgf
set_workpiece_weight(0.1, [0, 0, 10], add_up=DR_REMOVE)
# Remove 0.1 kgf workpiece weight at [0, 0, 10] in the flange frame. In total, 1.3kgf
set_workpiece_weight(0.1, [0, 0, 10], DR_FLANGE, DR_REMOVE)
# Reset. And the weight transition is being occurred after 0.1 sec for 0.2 sec
set_workiece_weight(0, start_time=0.1, transition_time=0.2)

관련 명령어

Keyword

set / workpiece / weight / workpiece_ / workpiece_weight