speedl (자동 모드)

비동기 모션 명령이므로, 모션이 시작되면 곧바로 다음 명령을 실행합니다. 이 함수는 직교 좌표 속도 제어를 하며, 연속된 명령 가운데 가장 최근의 목표 TCP(툴 중심점) 속도를 최대 속도와 가속도 제약 안에서 따라갑니다.

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

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

bool speedl(float fTargetVel[NUM_TASK],
            float fTargetAcc[2],
            float fTargetTime)
{
    return _speedl(_rbtCtrl, fTargetVel, fTargetAcc, fTargetTime);
}

매개변수

매개변수 이름

자료형

기본값

설명

fTargetVel

float[6]

6개 직교 좌표 축의 목표 TCP 속도 [X, Y, Z, Rx, Ry, Rz]입니다.

fTargetAcc

float[2]

병진 가속도와 회전 가속도 [mm/s², deg/s²]입니다.

fTargetTime

float

명령 지속 시간 [sec]입니다. 맞출 수 없으면 자동으로 조정됩니다. -10000 = 지정하지 않음이며, 컨트롤러가 자동으로 정한 값을 사용합니다.

반환값

값

설명

0

실패

1

성공

참고

로봇이 STATE_EMERGENCY_STOP, STATE_SAFE_OFF, STATE_SAFE_OFF2, STATE_SAFE_STOP, STATE_SAFE_STOP2 상태이면 메시지 없이 false를 반환합니다.

true를 반환해도 컨트롤러가 요청을 적용했다는 뜻은 아닙니다. get_current_posj, get_current_posx 또는 모니터링 데이터 콜백으로 모션을 확인하세요.

예제

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

// 직교 좌표 공간의 선속도와 가속도 정의
float jvel[6] = {10.f, 10.f, 10.f, 10.f, 10.f, 10.f};
float jacc[2] = {20.f, 20.f};

// TCP 속도 제어 실행
drfl.speedl(jvel, jacc, -10000.f);

참고

  • fTargetTime을 지정했지만 최대 속도나 가속도 조건 때문에 유지할 수 없으면 자동으로 조정되고 알림 메시지가 표시됩니다.

  • DRCF v3.0~v3.3에서는 0.1초 안에 새 명령이 오지 않으면 알람과 함께 모션이 멈춥니다. DRCF v3.4 이상과 v2.12.x에서는 stop()이나 속도 0 명령이 올 때까지 로봇 팔이 마지막 목표 속도를 유지합니다.

  • speedl은 change_operation_speed() 함수와 연동되지 않습니다.

  • force/stiffness control 명령과도 연동되지 않습니다.

  • 부드러운 직교 좌표 속도 제어, 실시간 모션 스트리밍, 외부 컨트롤러 동기화에 사용하는 것을 권장합니다.