set_robot_mode

이 함수는 로봇 컨트롤러의 현재 운용 모드(Operation Mode)를 설정합니다.

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

bool set_robot_mode(ROBOT_MODE eMode) { return _set_robot_mode(_rbtCtrl, eMode); };

매개변수

매개변수 이름

자료형

기본값

설명

eMode

ROBOT_MODE

설정할 목표 운용 모드입니다.

반환값

값

유형

설명

0

int

오류 — 로봇 모드를 변경하지 못했습니다.

1

int

성공 — 로봇 모드를 설정했습니다.

참고

요청이 거부되면 false를 반환합니다. true를 반환해도 컨트롤러가 요청을 적용했다는 뜻은 아닙니다. get_robot_mode는 이 CDRFLEx 인스턴스가 보낸 요청을 보고하므로, 이 함수로도 적용 여부를 확인할 수 없습니다. 거부는 TOnLogAlarmCB로 보고됩니다.

주의

조그나 다른 클라이언트가 시작한 모션 또는 프로그램이 실행 중일 때는 모드를 바꾸지 마세요. 실제 로봇에서는 안전 보드가 변경을 거부하고 set_robot_mode가 false를 반환합니다.

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

예제

if (drfl.get_robot_mode() == ROBOT_MODE_MANUAL) {
    // 자동 모드로 전환
    drfl.set_robot_mode(ROBOT_MODE_AUTONOMOUS);
}

이 예제는 로봇이 현재 수동 모드인지 확인하고, 필요하면 자동 모드로 전환해 컨트롤러가 프로그래밍된 모션을 순서대로 실행할 수 있게 합니다.