1.33 1.32 1.31 1.30 1.29 1.28 1.20 Korean English Chinese Czech Dutch French German Hungarian Italian Japanese Polish Portuguese Spanish
1.33 1.32 1.31 1.30 1.29 1.28 1.20 Korean English Chinese Czech Dutch French German Hungarian Italian Japanese Polish Portuguese Spanish

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

성공

예제

C++
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);