get_control_mode (수동 모드)

이 절에서는 수동(교시) 작업 중에 get_control_mode를 사용하는 방법을 설명합니다. 이 함수는 3.1 공통에 정의되어 있지만, 수동 교시 전이나 교시 중에 로봇의 현재 제어 모드(Control Mode)를 확인하는 데 매우 중요합니다.

일반적인 사용법

  • 로봇이 위치 제어와 토크 제어 중 어느 상태인지 확인합니다.

  • 잘못된 제어 모드에서 실수로 모션 명령을 보내는 것을 막습니다.

  • 조그, 힘 교시, 운전 모드 전환 전에 사용합니다.

참고

  • 이름이 있는 모드는 CONTROL_MODE_POSITION(3)과 CONTROL_MODE_TORQUE(4)입니다. 컨트롤러는 CONTROL_MODE 이름이 없는 0(서보 오프), 1(서보 온), 2(홀드)도 보고할 수 있습니다. 첫 모니터링 데이터가 도착하기 전에는 이 함수가 0을 반환합니다.

  • 수동 교시 중에는 보통 CONTROL_MODE_POSITION을 보고합니다.

예제: 조그 전에 제어 모드 확인

// 교시 전에 현재 제어 모드 확인
CONTROL_MODE ctrl = drfl.get_control_mode();
printf("Current Control Mode: %d\n", ctrl);

if (ctrl == CONTROL_MODE_POSITION) {
    printf("Safe to jog in position control.\n");
    drfl.jog(JOG_AXIS_TASK_X, MOVE_REFERENCE_BASE, 10.0f);
} else {
    printf("Jogging disabled: not in position control mode.\n");
}

팁

  • 조그나 외력(External Force) 교시를 활성화하기 전에 항상 제어 모드를 확인하세요.

  • 모드가 CONTROL_MODE_POSITION이 아니면 티치펜던트나 API 명령으로 모드를 전환하세요.

  • 자동 제어와 수동 제어 사이를 전환할 때 예기치 않은 모션을 막는 데 도움이 됩니다.