parallel_axis(x1, x2, x3, axis, ref)
기능
입력된 기준좌표계(ref) 기준의 3개의 포즈(x1,x2,x3)가 이루는 평면의 normal vector (get_normal(x1, x2, x3) 참조) 방향에 Tool좌표계의 지정축(axis)의 방향을 일치시킵니다. 이때 로봇 TCP 위치는 현재 위치를 유지합니다
인수
|
인수명 |
자료형 |
기본값 |
설명 |
|---|---|---|---|
|
x1 |
posx |
- |
posx 또는 position list |
|
list (float[6]) |
|||
|
x2 |
posx |
- |
posx 또는 position list |
|
list (float[6]) |
|||
|
x3 |
posx |
- |
posx 또는 position list |
|
list (float[6]) |
|||
|
axis |
int |
- |
axis
|
|
ref |
int |
DR_BASE |
reference coordinate
|
알아두기
P시리즈의 경우,
-
x1, x2, x3의 z 값은 모두 동일해야 합니다.
-
axis는 DR_AXIS_Z 만 사용 가능하며, ref도 DR_BASE만 사용 가능합니다.
리턴
|
값 |
설명 |
|---|---|
|
0 |
성공 |
|
음수값 |
오류 |
예외
|
예외 |
설명 |
|---|---|
|
DR_Error (DR_ERROR_TYPE) |
인수들의 데이터형 오류 시 |
|
DR_Error (DR_ERROR_VALUE) |
인수의 값이 유효하지 않을 시 |
|
DR_Error (DR_ERROR_RUNTIME) |
C Extension 모듈 에러 발생 시 |
|
DR_Error (DR_ERROR_STOP) |
프로그램 강제 종료 시 |
예제
x0 = posj(0, 0, 90, 0, 90, 0)
movej(x0, 60, 30)
x1 = posx(0, 500, 700, 30, 0, 90)
x2 = posx(500, 0, 700, 0, 0, 45)
x3 = posx(300, 100, 500, 45, 0, 45)
parallel_axis(x1, x2, x3, DR_AXIS_X, DR_WORLD)
#WORLD좌표계 기준 x1,x2,x3로 이루어진 평면에 수직인 방향에 툴 X축을 일치
#P시리즈의 경우
x0 = posj(0, 0, 90, 0, 45, 0)
movej(x0, 60, 30)
x1 = posx(0, 500, 700, 30, 0, 90)
x2 = posx(500, 0, 700, 0, 0, 45)
x3 = posx(300, 100, 700, 45, 0, 45)
parallel_axis(x1, x2, x3, DR_AXIS_Z, DR_BASE)
관련 명령어
parallel_axis(vect, axis, ref)
기능
입력된 기준좌표계(ref) 기준의 벡터(vect) 방향에 Tool좌표계의 지정축(axis)의 방향을 일치시킵니다. 이때 로봇 TCP 위치는 현재 위치를 유지합니다.
인수
|
인수명 |
자료형 |
기본값 |
설명 |
|---|---|---|---|
|
vect |
list (float[3]) |
- |
vector |
|
axis |
int |
- |
axis
|
|
ref |
int |
DR_BASE |
reference coordinate
|
알아두기
P시리즈의 경우,
-
vect는 z축에 대한 vector([0,0,±z]) 값만 적용 가능합니다. (z != 0)
-
axis는 DR_AXIS_Z 만 사용 가능하며, ref도 DR_BASE만 사용 가능합니다.
리턴
|
값 |
설명 |
|---|---|
|
0 |
성공 |
|
음수값 |
오류 |
예외
|
예외 |
설명 |
|---|---|
|
DR_Error (DR_ERROR_TYPE) |
인수들의 데이터형 오류 시 |
|
DR_Error (DR_ERROR_VALUE) |
인수의 값이 유효하지 않을 시 |
|
DR_Error (DR_ERROR_RUNTIME) |
C Extension 모듈 에러 발생 시 |
|
DR_Error (DR_ERROR_STOP) |
프로그램 강제 종료 시 |
예제
x0 = posj(0, 0, 90, 0, 90, 0)
movej(x0, v=60, a=30)
parallel_axis([1000, 700, 300], DR_AXIS_X, DR_WORLD)
# WORLD 좌표계 기준 [1000,700,300] vector방향으로 툴의 X축을 일치
#P시리즈의 경우
x0 = posj(0, 0, 90, 0, 45, 0)
movej(x0, v=60, a=30)
parallel_axis([0, 0, 300], DR_AXIS_Z, DR_BASE)