정의
posb(seg_type, posx1, posx2=None, radius=0)
기능
-
정속 블렌딩 모션(moveb, amoveb)의 입력 인자로, 각 경유점의 좌표와 단위 경로 형태(라인 또는 원호)의 정보를 갖는 posb는 블랜딩되는 trajectory의 단위 세그먼트 객체를 정의합니다.
-
seg_type이 line인 경우(DR_LINE)는 posx1만 입력, circle인 경우(DR_CIRCLE)는 posx2까지 입력합니다. radius는 이어지는 segment와의 blending 반경을 설정합니다.
인수
|
인수명 |
자료형 |
기본값 |
설명 |
|---|---|---|---|
|
seg_type |
Int |
- |
DR_LINE DR_CIRCLE |
|
posx1 |
posx |
- |
1st task posx |
|
posx2 |
posx |
- |
2nd task posx |
|
radius |
float |
0 |
Blending radius [mm] |
리턴
Posb
예외
|
예외 |
설명 |
|---|---|
|
DR_Error (DR_ERROR_TYPE) |
인수들의 데이터형 오류 시 |
예제
Python
q0 = posj(0, 0, 90, 0, 90, 0)
movej(q0,vel=30,acc=60)
x0 = posx(564, 34, 690, 0, 180, 0)
movel(x0, vel=200, acc=400) # 시작위치로 이동
x1 = posx(564, 200, 690, 0, 180, 0)
seg1 = posb(DR_LINE, x1, radius=40)
x2 = posx(564, 100, 590, 0, 180, 0)
x2c = posx(564, 200, 490, 0, 180, 0)
seg2 = posb(DR_CIRCLE, x2, x2c, radius=40)
x3 = posx(564, 300, 490, 0, 180, 0)
seg3 = posb(DR_LINE, x3, radius=40)
x4 = posx(564, 400, 590, 0, 180, 0)
x4c = posx(564, 300, 690, 0, 180, 0)
seg4 = posb(DR_CIRCLE, x4, x4c, radius=40)
x5 = posx(664, 300, 690, 0, 180, 0)
seg5 = posb(DR_LINE, x5, radius=40)
x6 = posx(564, 400, 690, 0, 180, 0)
x6c = posx(664, 500, 690, 0, 180, 0)
seg6 = posb(DR_CIRCLE, x6, x6c, radius=40)
x7 = posx(664, 400, 690, 0, 180, 0)
seg7 = posb(DR_LINE, x7, radius=40)
x8 = posx(664, 400, 590, 0, 180, 0)
x8c = posx(564, 400, 490, 0, 180, 0)
seg8 = posb(DR_CIRCLE, x8, x8c, radius=0) # 마지막 radius는 0이어야 함
# 먄약 0이 아닌 경우 0으로 처리됨
b_list = [seg1, seg2, seg3, seg4, seg5, seg6, seg7, seg8]
moveb(b_list, vel=200, acc=400)