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 controlAPI와 연동되지 않습니다.부드러운 직교 좌표 궤적 생성과 실시간 피드백 제어에 사용하세요.