정의
get_pattern_point(pos1, pos2, pos3, pos4, index, pattern, row, column, stack, stack_offset, point_offset, ori_type_out=None)
기능
주어진 4점을 이용하여 정해진 Pattern에 맞는 Index에 대한 Pallet Point를 계산하는 기능이며, 정사각형 및 직사각형 평면 Pallet만 가능합니다. Pallet의 4점을 교시 할 때 Orientation을 고정한 후 교시 하기 바랍니다.
인수
|
인수명 |
자료형 |
기본값 |
설명 |
|---|---|---|---|
|
pos1 |
posx |
- |
posx 또는 position list |
|
list (float[6]) |
|||
|
pos2 |
posx |
- |
posx 또는 position list |
|
list (float[6]) |
|||
|
pos3 |
posx |
- |
posx 또는 position list |
|
list (float[6]) |
|||
|
pos4 |
posx |
- |
posx 또는 position list |
|
list (float[6]) |
|||
|
index |
int |
1 |
0 ~ [(row X column) – 1] |
|
pattern |
Int |
0 |
Normal Pallet -> 0: Snake, 1: Zigzag Rhombus Pallet -> 2: Snake, 3: Zigzag |
|
row |
Int |
1 |
줄 개수 (가로 줄 수) |
|
column |
Int |
1 |
열 개수 (세로 줄 수) |
|
stack |
int |
1 |
Pallet 층 개수 |
|
stack_offset |
float |
0.0 |
Pallet 층 높이 (물체의 높이 고려) |
|
point_offset |
float[3] |
None |
교시 점 미세조정 (Translation 방향) |
|
ori_type_out |
int |
None |
output orientation type
|
리턴
|
값 |
설명 |
|---|---|
|
posx or list(float[6]) |
task space point |
예외
|
예외 |
설명 |
|---|---|
|
DR_Error (DR_ERROR_TYPE) |
인수들의 데이터형 오류 시 |
|
DR_Error (DR_ERROR_VALUE) |
인수의 값이 유효하지 않을 시 |
|
DR_Error (DR_ERROR_RUNTIME) |
C Extension 모듈 에러 발생 시 |
|
DR_Error (DR_ERROR_STOP) |
프로그램 강제 종료 시 |
예제
# Example Data
pos1 = posx(300,0,0,0,180,0) # Teaching pose1
pos2 = posx(800,0,0,0,180,0) # Teaching pose2
pos3 = posx(0,500,0,0,180,0) # Teaching pose3
pos4 = posx(800,500,0,0,180,0) # Teaching pose4
direction = 0 # Normal Pallet -> 0: Snake, 1: Zigzag / Rhombus Pallet -> 2: Snake, 3: Zigzag
row = 3
column = 4
stack = 1
thickness = 0
point_offset = [0, 0, 0] # Offset for calculated pose
# Total count
if direction < 2: # Normal Pallet
total_count = row * column * stack
else: # Rhombus Pallet
total_count = (row * column - int(row/2)) * stack
# Calculate Pallet Pose (Resulted in base coordinate)
for pallet_index in range(0, total_count):
Pallet_Pose = get_pattern_point(pos1, pos2, pos3, pos4, pallet_index, direction, row, column, stack, thickness, point_offset)