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

set_robot_control

이 함수는 로봇 컨트롤러의 현재 운용 상태를 설정하고 변경합니다.

정의
DRFLEx.h, CDRFLEx 클래스의 public 섹션

bool set_robot_control(ROBOT_CONTROL eControl) { return _set_robot_control(_rbtCtrl, eControl); };

매개변수

매개변수 이름

자료형

기본값

설명

eControl

ROBOT_CONTROL

로봇 컨트롤러에 적용할 제어 명령입니다.

반환값

값

유형

설명

0

int

오류 — 제어 상태를 변경하지 못했습니다.

1

int

성공 — 제어 상태를 변경했습니다.

사전 조건

이 표의 상태는 이 클라이언트에 마지막으로 보고된 로봇 상태입니다. 그 밖의 상태에서는 메시지 없이 false를 반환합니다.

eControl

허용 상태

CONTROL_INIT_CONFIG

새 CDRFLEx 객체에서, 컨트롤러가 안전 모드를 보고하기 전이고 모드를 바꾸는 호출(예: set_robot_mode)을 하기 전에만 가능합니다. 아래 주의 사항을 참고하세요.

CONTROL_ENABLE_OPERATION

안전 모드가 INITIALIZE일 때만 가능합니다.

CONTROL_SERVO_ON

SAFE_OFF 또는 SAFE_OFF2에서 가능합니다. STANDBY에서는 아무것도 하지 않고 true를 반환합니다.

CONTROL_RESET_SAFE_STOP

SAFE_STOP 또는 SAFE_STOP2에서만 가능합니다. SAFE_STOP에서는 상태가 바뀔 때까지 기다립니다.

CONTROL_RECOVERY_SAFE_STOP 및 CONTROL_RECOVERY_SAFE_OFF

SAFE_STOP, SAFE_STOP2, SAFE_OFF 또는 SAFE_OFF2에서 가능합니다.

CONTROL_RECOVERY_BACKDRIVE

SAFE_STOP2 또는 SAFE_OFF2에서만 가능합니다.

CONTROL_RESET_RECOVERY

RECOVERY에서만 가능합니다.

주의

연결이 끊기면 CDRFLEx 객체는 안전 모드를 AUTONOMOUS로 기록하므로, 재연결한 객체에서는 CONTROL_INIT_CONFIG가 false를 반환합니다. 연결이 끊긴 후 CONTROL_INIT_CONFIG를 사용하려면 새 CDRFLEx 객체를 만드세요.

예제

if (drfl.get_robot_state() == STATE_SAFE_OFF) {
    // 서보 온(SAFE OFF 상태에서 복귀)
    drfl.set_robot_control(CONTROL_RESET_SAFET_OFF);
}
else if (drfl.get_robot_state() == STATE_SAFE_OFF2) {
    // 복구 모드 진입
    drfl.set_robot_control(CONTROL_RECOVERY_SAFE_OFF);
}

이 예제는 로봇의 안전 오프(safe-off) 상태를 확인하고 그에 맞는 제어 명령을 보냅니다. 서보 전원을 리셋하거나 복구를 실행해, 로봇을 제어할 수 있는 상태로 되돌립니다.

참고

복구 모드에서는 jog, multi_jog와 모션 함수(movej, movel, movec, moveb, movejx, movesj, movesx, move_spiral, move_periodic, 각 함수의 amove 버전, movesj_g, movesx_g)가 false를 반환하고 “this command cannot be used in recovery mode. please change to auto mode as robot mode”를 출력합니다. 복구 모드에서 벗어나려면 set_robot_control(CONTROL_RESET_RECOVERY)을 호출한 다음 set_robot_mode(ROBOT_MODE_MANUAL) 또는 set_robot_mode(ROBOT_MODE_AUTONOMOUS)를 호출하세요. set_robot_mode를 호출하기 전까지 이 함수들은 계속 false를 반환합니다.