이전 버전(1.33.4)의 문서를 보고 있습니다. 이 버전은 계속 지원됩니다.
최신 버전 정보는 1.33.5에서 확인하세요.

speedj (자동 모드)

비동기 모션 명령이므로, 모션이 시작되면 곧바로 다음 명령을 실행합니다. 연속으로 전송된 명령 가운데 가장 최근의 목표 조인트 속도를, 해당 명령에 설정한 최대 속도와 가속도 범위 안에서 따라갑니다.

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

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

bool speedj(float fTargetVel[NUM_JOINT],
            float fTargetAcc[NUM_JOINT],
            float fTargetTime)
{
    return _speedj(_rbtCtrl, fTargetVel, fTargetAcc, fTargetTime);
}

매개변수

매개변수 이름

자료형

기본값

설명

fTargetVel

float[6]

6개 축의 목표 조인트 속도 [deg/s]입니다.

fTargetAcc

float[6]

조인트 가속도 [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[6] = {20.f, 20.f, 20.f, 20.f, 20.f, 20.f};

// 조인트 공간에서 속도 제어 실행
drfl.speedj(jvel, jacc, -10000.f);

참고

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

  • 서서히 정지하려면 fTargetVel = {0,0,0,0,0,0}으로 설정하거나 stop()을 호출하세요.

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

  • speedj는 운용 속도 조정 함수 change_operation_speed()와 연동되지 않습니다.

  • 연속 조인트 속도 제어, 궤적(Trajectory) 추종, 실시간 모션 갱신 루프에 사용하는 것을 권장합니다.