begin_blend(radius=0)
기능
블렌딩 구간을 시작합니다. 이후의 블렌딩 구간 인자 radius를 갖는 sync motion 명령어(movej, movel, movec, movejx)들은 기본적으로 인자로 설정된 radius를 이용해 blending됩니다. radius가 0인 경우 실질적인 blending 효과가 없습니다. 또한 설정된 radius와 다른 blending radius의 설정이 필요한 경우는 해당 모션의 인자에 blending radius를 지정함으로써 예외적으로 blending radius의 변경이 가능합니다.
인수
인수명 | 자료형 | 기본값 | 설명 |
---|---|---|---|
radius | float | 0 | Blending 시 radius |
리턴
값 | 설명 |
---|---|
0 | 성공 |
예외
예외 | 설명 |
---|---|
DR_Error (DR_ERROR_TYPE) | 인수들의 데이터형 오류 시 |
예제
#1
begin_blend(radius=30)
# 이후의 radius 옵션을 가지는 모션 명령은 blending 구간을 30mm로
# 일괄설정함
Q1 = posj(0,0,90,0,90,0)
Q2 = posj(0,0,0,0,90,0)
movej(Q1, vel=10, acc=20)
# Q1 관절각으로 이동하며 Q1의 공간 위치로부터 30mm 전역 거리가 될 때
# 다음 모션을 수행하도록 설정됨
movej(Q2, time=5)
# 직전모션을 유지하며(모션중첩) Blending하여 Q2 관절각으로 이동하며,
# Q2의 공간 위치로부터 30mm 전역 거리가 될 때 다음 모션을 수행하도록
# 설정됨
movej(Q1, v=30, a=60, r=200)
# 직전모션을 유지하며(모션중첩) Blending하여 Q1 관절각으로 이동하며,
# Q1의 공간 위치로부터 200mm 거리가 될 때 다음 모션을 수행하도록
# 설정(전역 설정 미적용)
movej(Q2, v=30, a=60, ra= DR_MV_RA_OVERRIDE)
# 직전모션을 즉시 종료하며 Blending하여 Q2 관절각으로 이동
end_blend() # blending 구간 일괄설정 해제