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

get_robot_mode (수동 모드)

이 절에서는 수동(교시) 작업 중에 get_robot_mode를 사용하는 방법을 설명합니다. 이 함수는 이 CDRFLEx 인스턴스에 저장된 모드(초기값 ROBOT_MODE_MANUAL)를 반환합니다. set_robot_mode는 요청한 모드를 저장합니다. 컨트롤러에 안전 모드를 보내는 호출도 컨트롤러가 받아들이면 모드를 저장합니다. drl_stop은 수동 모드를 저장하고, set_safety_mode와 set_robot_control의 초기화 및 복구 옵션은 보낸 안전 모드를 저장하며, multi_jog, 모션 명령, 힘 제어(Force Control) 명령은 현재 안전 모드를 저장합니다. 저장된 모드는 수동 모드로 시작하며 컨트롤러에서 읽어 오지 않습니다. 따라서 컨트롤러가 이미 자동 모드이더라도 자동 모드 전용 함수를 쓰기 전에 set_robot_mode(ROBOT_MODE_AUTONOMOUS)를 호출하세요. 컨트롤러가 모드 변경을 받아들였는지 확인하려면 set_robot_mode의 반환값을 확인하세요.

일반적인 사용법

  • 조그나 모션 명령을 보내기 전에 로봇의 현재 운전 모드를 확인합니다.

  • 모드에 따라 GUI나 입력 권한을 자동으로 조정합니다.

  • 수동 상태에서 의도하지 않은 자동 명령을 막습니다.

참고

  • 일반적인 값:

  • ROBOT_MODE_MANUAL: 티치펜던트 또는 수동 제어

  • ROBOT_MODE_AUTONOMOUS: 프로그램 또는 외부 제어

  • 수동 교시 중에는 ROBOT_MODE_MANUAL을 반환해야 합니다.

주의

set_robot_mode는 false를 반환하더라도 요청한 모드를 저장합니다. 그러면 get_robot_mode가 요청한 모드를 반환하고, 컨트롤러의 모드가 바뀌지 않았는데도 자동 모드나 수동 모드가 필요한 함수가 호출을 받아들입니다. set_robot_mode가 false를 반환하면 이후 set_robot_mode 호출이 true를 반환할 때까지 모드 제한이 있는 함수를 사용하지 마세요.

예제: 로봇이 수동 모드인지 확인

ROBOT_MODE mode = drfl.get_robot_mode();
if (mode == ROBOT_MODE_MANUAL) {
    printf("Robot is in Manual mode. Jogging enabled.\n");
    drfl.jog(JOG_AXIS_TASK_Y, MOVE_REFERENCE_BASE, 10.0f);
} else {
    printf("Robot is not in Manual mode. Jogging disabled.\n");
}

팁

  • 수동 모션이나 교시 전에 항상 수동 모드인지 확인하세요.

  • 안전을 위해 자동 모드에서는 jog나 multi_jog 명령을 제한하세요.

  • 교시 GUI나 원격 조그 제어 애플리케이션에 이 확인 절차를 넣으세요.