2.12.4 2.12.3 2.12.2 2.12.1 2.12 2.11.2 2.11.0.1 Korean English Chinese Czech Dutch French German Hungarian Italian Japanese Polish Portuguese Spanish
2.12.4 2.12.3 2.12.2 2.12.1 2.12 2.11.2 2.11.0.1 Korean English Chinese Czech Dutch French German Hungarian Italian Japanese Polish Portuguese Spanish

movej()

기능

로봇이 현재 관절위치에서 목표 관절위치(pos)로 이동합니다.

인수

인수명

자료형

기본값

설명

pos

posj

-

posj 또는

joint angle list

list (float[6])

vel (v)

float

None

velocity(모든 축에 동일) 또는

velocity(축별 velocity)

list (float[6])

None

acc (a)

float

None

acceleration(모든 축에 동일) 또는

acceleration(축별 acceleration)

list (float[6])

None

time (t)

float

None

도달 시간 [sec]

radius (r)

float

None

blending시 radius

mod

int

DR_MV_MOD_ABS

이동 기준

  • DR_MV_MOD_ABS : 절대

  • DR_MV_MOD_REL : 상대

ra

int

DR_MV_RA_DUPLICATE

Reactive motion mode

  • DR_MV_RA_DUPLICATE: duplicate

  • DR_MV_RA_OVERRIDE: override

velx

float

None

Limit TCP speed


알아두기
  • 단축 인수를 지원합니다. (v:vel, a:acc, t:time, r:radius)

  • vel이 None인 경우, _global_velj이 적용됩니다. (_global_velj 초깃값은 0.0이며, set_velj에 의해 설정 가능)

  • acc이 None인 경우, _global_accj이 적용됩니다. (_global_accj 초깃값은 0.0이며, set_accj에 의해 설정 가능)

  • time 지정 시, vel, acc를 무시하고 time 기준으로 처리됩니다.

  • time이 None인 경우, 0으로 처리됩니다.

  • radius가 None인 경우, 블렌딩 구간인 경우는 blending radius로 처리되며 아닌 경우는 0으로 처리됩니다.

  • 진행 중인 모션(선행모션)이 종료되지 않은 상태에서 새로운 모션명령(후행모션)이 실행되면 선행모션과 후행모션이 부드럽게 연결됩니다(모션 블렌딩 기능). 이 때 선행모션의 목표점을 유지하거나 취소할 수 있도록 결정하는 옵션 ra를 후행모션에 설정할 수 있습니다. (유지 : ra= DR_MV_RA_DUPLICATE / 취소 : ra= DR_MV_RA_OVERRIDE) 예를 들어 아래의 그림에서 목표점이 Target#1인 선행모션의 진행 중 ‘2nd motion event’ 지점에서 후행모션이 실행된 경우 후행모션의 옵션 ra= DR_MV_RA_DUPLICATE 이면 선행모션의 목표점을 유지하므로 주황색 궤적과 같이  움직이며 ra= DR_MV_RA_OVERRIDE 이면 선행모션의 목표점을
    취소하므로 초록색 궤적과 같이 움직이게 됩니다. image2021-11-4_13-56-46.png

  • velx가 None이며, set_velx에서 clamp를 DR_ON한 경우, _global_velx가 적용됩니다. (_global_velx 초깃값은 0.0이며, set_velx에 의해 설정)


주의

ra=DR_MV_RA_DUPLICATE 및 radius>0 조건으로 후속 모션이 블렌딩 될 경우 선행모션의 잔여거리, 속도, 가속도로 결정되는 잔여모션시간이 후행모션의 모션시간보다 큰 경우 후행모션이 먼저 종료된 후 선행모션이 종료될 수 있습니다.

관련한 사항은 아래 이미지를 잠고하십시오.

image2021-11-4_13-59-10.png

  • SW V2.8 미만의 버전에서는 블렌딩 반지름 크기가 총 이동 거리의 1/2을 넘을 경우, 블렌딩 이후 모션에 영향을 주기 때문에 모션이 수행되지 않으며, 블렌딩 에러 발생 시 실행 중인 태스크 프로그램이 종료됩니다.

  • SW V2.8 이상의 버전에서는 블렌딩 반지름 크기가 총 이동 거리의 1/2을 넘을 경우, 블렌딩 반지름 크기는 자동으로 총 이동 거리의 1/2로 변경되며, 변경 내역은 information log 메시지로 확인할 수 있습니다.

리턴

값

설명

0

성공

음수값

실패

예외

예외

설명

DR_Error (DR_ERROR_TYPE)

인수들의 데이터형 오류 시

DR_Error (DR_ERROR_VALUE)

인수의 값이 유효하지 않을 시

DR_Error (DR_ERROR_RUNTIME)

C Extension 모듈 에러 발생 시

DR_Error (DR_ERROR_STOP)

프로그램 강제 종료 시

예제

Python
Q1 = posj(0,0,90,0,90,0)
Q2 = posj(0,0,0,0,90,0)

movej(Q1, vel=10, acc=20) 
# 속도 10(deg/sec), 가속도 20(deg/sec2)로 Q1관절각으로 이동

movej(Q2, time=5) 
# Q2관절각까지 5초의 도착시간을 가지고 이동

movej(Q1, v=30, a=60, r=200) 
# Q1관절각으로 이동하며 Q1의 공간위치로부터 200mm의 거리가 될 때 다음
# 모션을 수행하도록 설정

movej(Q2, v=30, a=60, ra= DR_MV_RA_OVERRIDE) 
# 직전모션을 즉시 종료시키며 Blending하여 Q2관절각으로 이동

movej(Q1, v=60, a=60, velx=100) 
# TCP 속도로를 100mm/s 넘지 않도록 조절하여 Q1 관절각으로 이동

관련 명령어