move_resume (수동 모드)
이 절에서는 수동(교시) 작업 중에 move_resume을 사용하는 방법을 설명합니다. 이 함수는 3.1 공통에 정의되어 있으며, 주로 move_pause를 호출한 후 일시 정지된 모션을 이어서 실행할 때 사용합니다.
일반적인 사용법
일시 정지된 모션을 같은 속도와 궤적(Trajectory)으로 재개합니다.
작업 영역 점검, 툴 정렬, 안전 확인 후에 흔히 사용합니다.
mwait와 함께 사용해 모션이 완전히 복구되도록 합니다.
참고
이 함수를 호출하기 전에 move_pause로 로봇을 일시 정지해 두어야 합니다.
stop으로 정지한 모션은 재개할 수 없습니다. 이 경우 새 모션 명령을 내려야 합니다.
예제: 일시 정지, 점검, 재개
#include <thread>
#include <chrono>
// 연결, 수동 모드, 서보 온이 설정되었다고 가정합니다.
// 작업물을 향해 비동기 모션 시작
float pos[6] = {500.0f, 150.0f, 400.0f, 180.0f, 0.0f, 90.0f};
float vel[2] = {50.0f, 50.0f};
float acc[2] = {50.0f, 50.0f};
drfl.amovel(pos, vel, acc);
// 육안 점검을 위해 일시 정지
std::this_thread::sleep_for(std::chrono::milliseconds(800));
drfl.move_pause();
printf("Motion paused for inspection.\n");
// 확인 후 재개
std::this_thread::sleep_for(std::chrono::milliseconds(1200));
drfl.move_resume();
// 모션이 완료될 때까지 대기
drfl.mwait();
팁
점검이나 정렬 직후
move_resume()을 사용해 일시 정지한 궤적을 그대로 이어 가세요.일시 정지 시간이 길었다면 재개하기 전에 get_robot_state로 로봇 상태를 다시 확인해 통신과 서보 상태가 안정적인지 확인하세요.
비상 중단에는 일시 정지/재개 대신 stop을 사용하세요.