이전 버전(1.33.4)의 문서를 보고 있습니다. 이 버전은 계속 지원됩니다.
최신 버전 정보는 1.33.5에서 확인하세요.
최신 버전 정보는 1.33.5에서 확인하세요.
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()으로 재개합니다.