change_operation_speed (자동 모드)
이 절에서는 자동(실행) 운전 중에 change_operation_speed로 로봇의 전체 동작 속도를 동적으로 조정하는 방법을 설명합니다.
이 함수는 현재 설정된 모션 속도의 백분율(1–100%)로 로봇 속도를 조정합니다. 외부 시스템이 DRL 프로그램을 수정하지 않고도 로봇을 느리게 하거나 빠르게 할 수 있습니다.
일반적인 사용법
정밀 정렬이나 비전 캘리브레이션 중에 동작 속도를 낮춥니다.
작업자가 협동 작업 구역에 들어오면 모션 속도를 낮춥니다.
실시간 센서 피드백이나 제품 상태에 따라 실행 중에 속도를 조정합니다.
가변 속도 생산 사이클(예: 품질 검사 모드와 고속 모드)을 구현합니다.
참고
일반적인 운전 범위: 10–100%
안전 모드에 따라 10% 미만의 속도는 제한될 수 있습니다.
변경 사항은 즉시 적용되며 이후의 모든 모션에 영향을 줍니다.
예제: DRL 루틴을 시작하기 전에 로봇 동작 속도 낮추기
// 1) 현재 속도의 20%로 감속
if (!drfl.change_operation_speed(20)) {
printf("Failed to change operation speed.\n");
return -1;
}
printf("Operation speed set to 20%%.\n");
// 2) 간단한 DRL 프로그램 준비
std::string drlProgram =
"i = 0\r\n"
"while i < 2:\r\n"
" movej(posj(15,15,15,15,15,15), vel=60, acc=60)\r\n"
" movej(posj(0,0,0,0,0,0), vel=60, acc=60)\r\n"
" i = i + 1\r\n";
// 3) 로봇이 자동 모드인지 확인
if (drfl.get_robot_mode() == ROBOT_MODE_AUTONOMOUS &&
drfl.get_robot_state() == STATE_STANDBY) {
// 감속한 속도로 DRL 작업 시작
drfl.drl_start(ROBOT_SYSTEM_REAL, drlProgram);
} else {
printf("Robot is not in Auto/Standby state.\n");
}
이 예제는 DRL 루틴을 시작하기 전에 로봇의 동작 속도를 20%로 낮춥니다. 조정한 속도는 자동 모드에서 이후에 내리는 모든 모션 명령에 적용됩니다.
팁
섬세한 픽앤플레이스, 검사, 캘리브레이션 작업에서는 속도를 낮춰 사용하세요.
drl_start와 함께 사용해 속도를 동적으로 제어하는 자동화를 구현할 수 있습니다.
처리량을 중시하는 사이클에서는 속도를 높이는 것(예: 80–100%)이 유용합니다.
생산 환경에서 추적성을 확보하려면 속도 변경을 기록하세요.