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.move_spiral

기능

로봇제어기에서 방사형 방향으로 반경이 증가하며 회전하는 Spiral motion과 축 방향으로 병행하면서 이동시키기 위한 함수이다. 현재 위치에서 eMoveReference 로 지정한 좌표계 상의 axis 방향에 수직인 평면에서의 나선궤적과 axis 방향으로의 직선궤적을 동시에 따라 이동한다.

인수

인수명

자료형

기본값

범위

설명

eTaskAxis

enum.TASK_AXIS

-

-

상수 및 열거형 정의 참조

fRevolution

float

-

rev > 0

총 회전수 [revolution]

fMaximuRadius

float

-

rmax > 0

spiral 최종 반경 [mm]

fMaximumLength

float

-

 

axis 방향으로 이동하는 거리 [mm]

fTargetVel

float[2]

-


선속도, 각속도

fTargetAcc

float[2]

-


선가속도, 각가속도

fTargetTime

float

0.0

time ≥ 0

총 수행시간 <sec>

eMoveReference

enum.MOVE_REFERENCE

MOVE_REFERENCE_TOOL

 

상수 및 열거형 정의 참조


알아두기
  • fRevolution 는 spiral 모션의 총 회전수를 의미합니다.

  • fMaximuRadius 는 spiral 모션의 최대 반경을 의미합니다.

  • fMaximumLength 는 모션 동안 axis 방향으로 병진하는 거리를 의미합니다. 단, 음수인 경우 –axis 방향 병진합니다.

  • fTargetVel 은 spiral 모션의 이동 속도를 의미합니다.

  • fTargetAcc 는 spiral 모션의 이동 가속도를 의미합니다.

  • fTargetTime 을 지정할 경우 fTargetVel, fTargetAcc 를 무시하고 fTargetTime 기준으로 처리됩니다.

  • eTaskAxis 는 Spiral 모션이 정의하는 평면에 수직인 축을 정의합니다.

  • eMoveReference 는 spiral 모션이 정의하는 기준 좌표계를 의미합니다.

  • 선행모션과 후행모션에 대한 온라인 블렌딩은 지원하지 않습니다.


주의
  • 경로 생성 시 Spiral 경로에 의한 회전각 가속도를 연산하여 값이 큰 경우 안정적인 모션을 위하여 에러가 발생나타날 수 있습니다. 이 경우 fTargetVel, fTargetAcc 또는 fTargetTime 값을 작게 조정하는 것을 권장합니다.


리턴

값

설명

0

오류

1

성공

예제

C++
float rev = 3;
float rmax = 50;
float lmax = 50;
float tvel = { 50, 50 };
float tacc = { 100, 100 };
Drfl.move_spiral(TASK_AXIS_Z, rev, rmax, lmax, tvel, tacc);
// 현재위치에서 시작하여 중심에서 최대 50mm 반경까지 나선형 궤적을
// 속도 50, 50(mm/sec, deg/sec), 가속도 100, 100(mm/sec2, deg/sec2)를
// 유지하며, 동시에 Tool z방향으로 50mm까지 이동


image2021-12-2_11-35-53.png