move_pause

이 함수는 로봇 컨트롤러에서 현재 실행 중인 로봇 모션을 일시 정지합니다. 실행 중인 모션이 없으면 함수 호출이 무시됩니다.

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

bool move_pause() { return _move_pause(_rbtCtrl); };

매개변수
없음

반환값

값

설명

0

모션을 일시 정지하는 중 오류가 발생했습니다.

1

현재 모션을 일시 정지했습니다.

참고

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

예제

// 조인트 목표 위치 정의
float j1[NUM_JOINT] = {0, 0, 90, 0, 0, 90};

// 비동기 조인트 모션 시작
Drfl.amovej(j1, 20, 40);

while (true) {
    // 현재 조인트 위치 가져오기
    LPROBOT_POSE pPose = Drfl.get_current_posj();

    // 3번 조인트가 45도를 넘으면 모션 일시 정지
    if (pPose->_fPosition[2] >= 45) {
        Drfl.move_pause();  // 모션 일시 중단
        std::this_thread::sleep_for(std::chrono::seconds(5)); // 5초 대기
        break;
    }
}

// 모션 재개
Drfl.move_resume();

이 예제는 로봇 모션을 일시 정지하는 방법을 보여 줍니다. 로봇의 3번째 조인트가 45°에 도달하면 move_pause()로 모션을 5초 동안 멈춘 다음 move_resume()으로 재개합니다.