기능
비동기 방식의 모션 명령어로 모션 시작과 동시에 다음 명령어를 수행합니다. 연속적으로 전달되는 명령 중 가장 최근의 목표 위치를 설정한 속도, 가속도 내에서 추종하는 모션입니다.
인수
|
인수명 |
자료형 |
기본값 |
설명 |
|---|---|---|---|
|
pos |
posx |
- |
posx 또는 position list |
|
list (float[6]) |
|||
|
vel (v) |
float |
None |
최대 속도[mm/s] 또는 최대 속도[mm/s], 최대 속도[deg/s] |
|
list (float[2]) |
|||
|
acc (a) |
float |
None |
최대 가속도[mm/s2] 또는 최대 가속도[mm/s2], 최대 가속도[deg/s2] |
|
list (float[2]) |
|||
|
time (t) |
float |
None |
도달 시간 [sec] |
알아두기
-
단축 인수를 지원합니다. (v:vel, a:acc, t:time)
-
vel이 None인 경우, _global_velx가 적용됩니다. (_global_velx 초기값은 0이며, set_velx에 의해 설정 가능)
-
acc이 None인 경우, _global_accx가 적용됩니다. (_global_accx 초기값은 0이며, set_accx에 의해 설정 가능)
-
time이 입렵된 경우 최대 속도/가속도 조건에 의해 도달 시간을 지킬 수 없는 경우 자동 조정하고 알림 메시지를 띄웁니다.
주의
-
현재는 속도 슬라이드바의 작동 속도 조절 기능과 연동되지 않습니다.
-
현재는 singularity 처리 옵션 중 DR_VAR_VEL 옵션과 연동되지 않습니다. DR_VAR_VEL 옵션으로 설정 시 자동으로 DR_AVOID옵션으로 변경하고 알림 메시지를 띄웁니다.
-
현재는 힘/강성 제어 명령어와 연동되지 않습니다.
-
현재는 check_motion(), change_operation_speed() 명령어와 연동되지 않습니다.
리턴
|
값 |
설명 |
|---|---|
|
0 |
성공 |
|
음수값 |
오류 |
예외
|
예외 |
설명 |
|---|---|
|
DR_Error (DR_ERROR_TYPE) |
인수들의 데이터형 오류 시 |
|
DR_Error (DR_ERROR_VALUE) |
인수의 값이 유효하지 않을 시 |
|
DR_Error (DR_ERROR_RUNTIME) |
C Extension 모듈 에러 발생 시 |
|
DR_Error (DR_ERROR_STOP) |
프로그램 강제 종료 시 |
예제
set_velj(30)
set_accj(60)
set_velx(50)
set_accx(100)
movej(posj(0,0,90,0,90,0))
Xt=posx(368, 34.5, 442.5, 50.26, -180, 50.26)
servol(Xt,v=[100, 100], a=[200,300])
Xt=posx(368, 34.5, 442.5, 50.26, -180, 50.26)
target =posx(368, 34.5, 200, 50.26, -180, 50.26)
del_t = [0, 0, -3, 0, 3, 0]
while 1:
for i in range(0,6):
Xt[i] = Xt[i] + del_t[i]
if del_t[i] > 0:
if Xt[i] > target[i]:
Xt[i] = target[i]
else:
if Xt[i] < target[i]:
Xt[i] = target[i]
servol(Xt,v=[100, 100], a=[200,300])