이전 버전(1.33.4)의 문서를 보고 있습니다. 이 버전은 계속 지원됩니다.
최신 버전 정보는 1.33.5에서 확인하세요.

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%)이 유용합니다.

  • 생산 환경에서 추적성을 확보하려면 속도 변경을 기록하세요.