Breadcrumbs

speedl()

정의의

speedl(vel, acc, time)

기능

비동기 방식의 모션 명령어로 모션 시작과 동시에 다음 명령어를 수행합니다. 연속적으로 전달되는 명령 중 가장 최근의 목표 속도를 설정한 속도, 가속도 내에서 추종하는 모션 입니다.

인수

인수명

자료형

기본값

설명

vel

list (float[6])

-

목표 속도[mm/s, deg/s]

acc (a)

float

None

최대 가속도[mm/s2] 또는

최대 가속도[mm/s2], 최대 가속도[deg/s2]

list (float[2])

time (t)

float

None

도달 시간 [sec]

알아두기

  • 단축 인수를 지원합니다. (a:acc, t:time)

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

  • time이 입렵된 경우 최대 가속도 조건에 의해 도달 시간을 지킬 수 없는 경우 자동 조정하고 알림 메시지를 띄웁니다.

  • 속도가 있는 상태에서 정상적으로 정지하고 싶은 경우에는, vel을 [0,0,0,0,0,0]으로 입력하거나 stop 명령어를 활용합니다.

주의

  • 현재는 속도 슬라이드바의 작동 속도 조절 기능과 연동되지 않습니다.

  • 현재는 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)

프로그램 강제 종료 시

예제

Python
movej(posj(0,0,90,0,90,0), v=30, a=60) 
x = get_desired_posx()

v_y = 250
v = 5
at_max = 500
ar_max = 60
go_plus = True
while True:
    xd = get_desired_posx()
    if go_plus:
        speedl([v, v_y, v, 30, 0, 30], [at_max, ar_max])
        if xd[1] > x[1] + 200:
            go_plus = False
    else:
        speedl([-v, -v_y, -v, -30, -0, -30], [at_max, ar_max])
        if xd[1] < x[1] - 200:
            go_plus = True

관련 명령어