Skip to main content
Skip table of contents

CDRFLEx.servol_rt

기능

외부 제어기에서 태스크 위치 제어를 하는 함수입니다.

주의

  • 현재 servol_rt 명령어는 안정화가 되지 않았습니다. 통신 상황에 따라서 Jerky한 모션이 나올 수 있어서, 타겟 시간(fTargetTime)을 튜닝하여 느린 반응 속도로 사용하거나, speedl_rt 명령어를 이용하여 위치 제어하는 것을 추천합니다.

인수

인수명

자료형

기본값

설명

fTargetPos

float[6]

-

타겟 태스크 위치 [mm, deg] (rotation: euler zyz)

fTargetVel

float[6]

-

타겟 태스크 속도. [mm/s, deg/s]  null값을 입력하면, 입력했던 타겟 태스크 위치 기반으로 자동 계산됩니다.

fTargetAcc

float[6]

-

타겟 태스크 가속도. [mm/s, deg/s] null값을 입력하면, 입력했던 타겟 태스크 위치 기반으로 자동 계산됩니다.

fTargetTime

float

-

타겟 시간 [s]

알아두기

  • Asnyc 명령어입니다. 호출된 후 다음 명령줄로 넘어갑니다.
  • 내부 프로파일은 fTargetTime (fTargetPos, fTargetVel, fTargetAcc ) 에 도달하도록 보간됩니다.
  • fTargetTime <= controller’s control period(=1ms) 인 경우 보간없이 바로 해당 속도로 제어합니다.
  • 모션 중 다음 명령이 들어오지 않으면, 설정된 전역 가속도 제한값 기준으로 감속합니다.

주의

  • 현재 servol_rt 명령어가 안정화되지 않아서 Jerky 한 모션이 나올 수 있습니다. 시스템 상황에 따라서 fTargetTime을 통신 주기보다 크게 설정하여 사용하십시오. 현재 버전에서는 1 [ms] 주기로 servol_rt 명령어를 호출하는 기준으로 fTargetTime >= 20 [ms] 보다 크게 설정하여 사용하거나 speedl_rt를 이용하여 위치 제어하는 것을 권장합니다.
  • 현재 버전에서는 Operation Speed [%] 와 연동되지 않습니다.
  • 현재 버전에서는 힘/강성 제어 함수와 연동되지 않습니다.
  • 현재 버전에서 특이점 옵션 중 DR_VAR_VEL 와 연동되지 않습니다. 설정할 경우 자동으로 DR_AVOID 옵션으로 설정됩니다.

리턴

설명

0

오류

1

성공

예제

CPP
float fTargetPos[6] = {1500, 3, 100, 0, 0, 0};
float fTargetVel[6] = {100, 100, 100, 100, 100, 100};
float fTargetAcc[6] = {100, 100, 100, 100, 100, 100};
float fTargetTime = 6;
Drfl.servol_rt(fTargetPos, fTargetVel, fTargetAcc, fTargetTime);


JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.