servol_g (자동 모드)

이 함수는 속도 및 가속도 블렌딩으로 비동기 직교 좌표 보간을 실행해, 부드럽고 연속적인 TCP(툴 중심점) 모션을 만듭니다. 지정한 기구학 제약을 지키면서 목표 위치를 실시간으로 갱신합니다.

이 API는 자동(실행) 모드에서만 동작합니다. 수동(교시) 모드에서는 사용할 수 없습니다.

정의
DRFLEx.h, CDRFLEx 클래스의 public 섹션

bool servol_g(float fTargetPos[NUM_TASK],
              float fTargetVel[2],
              float fTargetAcc[2],
              float fTargetTime = 0.f)
{
    return _servol_g(_rbtCtrl, fTargetPos, fTargetVel, fTargetAcc, fTargetTime);
}

매개변수

매개변수 이름

자료형

기본값

설명

fTargetPos

float[6]

목표 직교 좌표 포즈 [X, Y, Z, Rx, Ry, Rz]입니다. Rx, Ry, Rz는 고정 X-Y-Z 각도(deg)입니다.

fTargetVel

float[2]

병진 속도와 회전 속도 제한입니다.

fTargetAcc

float[2]

병진 가속도와 회전 가속도 제한입니다.

fTargetTime

float

0.0f

전환 시간 [sec]
필요하면 자동으로 조정됩니다.

주의

이 함수는 Rx, Ry, Rz를 ZYZ 오일러 각(Euler Angles)으로 변환해 fTargetPos[3]~fTargetPos[5]에 다시 씁니다. 호출할 때마다 목표 포즈를 새로 복사해 전달하세요. 같은 배열을 다시 사용하면 각도가 한 번 더 변환됩니다.

반환값

값

설명

0

실패

1

성공

예제

// 사전 조건: 연결됨, 서보 온, 자동 모드 활성

float tcp[6] = {400.f, 200.f, 300.f, 180.f, 0.f, 0.f};
float vel[2] = {100.f, 50.f};
float acc[2] = {200.f, 100.f};

drfl.servol_g(tcp, vel, acc, 0.4f);

참고

  • servol_g는 속도/가속도 블렌딩으로 연속 TCP 모션을 제공합니다.

  • 경로 스트리밍, 센서 기반 제어, 하이브리드 궤적(Trajectory) 갱신에 적합합니다.

  • fTargetTime을 맞출 수 없으면 모션 매개변수를 내부에서 최적화합니다.

  • change_operation_speed()나 force/stiffness control API와 연동되지 않습니다.

  • 부드러운 직교 좌표 궤적 생성과 실시간 피드백 제어에 사용하세요.