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

move_home

이 함수는 로봇 컨트롤러 내부 또는 외부 오류로 로봇의 축이 틀어지거나 어긋났을 때 로봇의 각 축을 홈 위치로 정렬합니다. 기구적 홈 상태를 복원해 이후 모션 명령을 위해 모든 축을 맞춥니다.

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

bool move_home(MOVE_HOME eMode = MOVE_HOME_MECHANIC, unsigned char bRun = (unsigned)1) {
    return _move_home(_rbtCtrl, eMode, bRun);
};

매개변수

매개변수 이름

자료형

기본값

설명

eMode

MOVE_HOME

MOVE_HOME_MECHANIC

원점 복귀(Homing) 모드를 지정합니다.
열거형 정의를 참고하세요.

bRun

unsigned char

1

모션 실행 플래그
0: 정지, 1: 모션(원점 복귀 실행)

반환값

값

설명

0

오류

1

성공

참고

로봇이 STATE_EMERGENCY_STOP, STATE_SAFE_OFF, STATE_SAFE_OFF2, STATE_SAFE_STOP, STATE_SAFE_STOP2 상태이면 메시지 없이 false를 반환합니다.

예제

// 1) 원점 복귀 모션을 실행해 모든 축을 기계적으로 재정렬
drfl.move_home(MOVE_HOME_MECHANIC, (unsigned char)1);
std::this_thread::sleep_for(std::chrono::seconds(8)); // 모션 중 대기

// 2) 필요하면 원점 복귀 모션을 중간에 정지
drfl.move_home(MOVE_HOME_MECHANIC, (unsigned char)0);

// 3) 원점 복귀가 완료되고 안정된 후에만 작업 재개
drfl.mwait();  // 원점 복귀가 완료될 때까지 대기
float q_next[6] = {0, -30, 90, 0, 90, 0};
drfl.movej(q_next, 50.f, 50.f);  // 새 동작 시작

이 예제는 일반적인 원점 복귀 절차를 보여 줍니다.
로봇이 MOVE_HOME_MECHANIC으로 기구적 정렬을 모두 수행하고, 필요하면 도중에 멈춘 다음, 원점 복귀가 끝나면 정상 모션을 재개합니다.
원점 복귀 후에는 mwait()나 get_robot_state()를 호출해 모션 완료와 상태 안정을 확인하는 것을 권장합니다.