servo_off (수동 모드)
이 절에서는 수동(교시) 작업에서 servo_off를 사용하는 방법을 설명합니다. 이 함수는 로봇의 서보 전원을 끄고 모든 조인트의 토크를 안전하게 제거합니다.
주로 점검이나 교시를 위해 모션을 멈출 때, 또는 로봇 팔을 손으로 직접 움직이기 전에 사용합니다.
일반적인 사용법
핸드가이딩 교시나 수동 정렬 전에 모든 모터 토크를 해제합니다.
설정, 캘리브레이션, 복구 중에 모션을 안전하게 멈춥니다.
안전 절차나 유지보수 절차의 일부로 사용해 로봇이 예기치 않게 움직이지 않도록 합니다.
참고
servo_off()를 호출하면 모든 로봇 조인트를 손으로 자유롭게 움직일 수 있습니다.서보 전원을 다시 켤 때까지(예: 티치펜던트나 안전 리셋 사용) 모션 명령은 비활성화됩니다.
예제: 모션 후 서보 전원을 안전하게 끄기
// 사전 조건:
// - 연결 완료(open_connection)
// - 수동(교시) 모드 활성
// - 현재 서보 전원 ON 상태
// 1) 로봇을 기준 위치로 이동
float qTarget[6] = {0, -30, 90, 0, 90, 0};
drfl.movej(qTarget, 50, 50);
drfl.mwait();
// 2) 서보 전원을 부드럽게 OFF
if (drfl.servo_off(STOP_TYPE_SLOW))
printf("[Servo] Power OFF (SLOW stop)\n");
else
printf("[Servo] Failed to turn OFF\n");
// 3) 수동 조작 전 잠시 대기
std::this_thread::sleep_for(std::chrono::seconds(2));
// 4) 이제 수동 위치 조정이나 교시를 위해 로봇을 손으로 움직일 수 있습니다
팁
모션이 갑자기 멈추지 않도록 가능하면
STOP_TYPE_SLOW를 사용하세요.수동 정렬을 하기 전에 반드시 로봇이 완전히 정지했는지 확인해야 합니다.
서보 전원이 꺼지지 않으면 check_motion으로 진행 중인 모션이나 보호 정지(Protective Stop)가 없는지 확인하세요.
수동 조정을 마친 뒤 정상 운전으로 돌아가려면 티치펜던트나 컨트롤러 인터페이스에서 서보 전원을 다시 켜세요.
release_protective_stop, set_auto_servo_off와 함께 사용하면 완전한 안전 제어 워크플로를 구성할 수 있습니다.