set_user_home (수동 모드)

이 절에서는 수동(교시) 작업 중에 set_user_home을 사용하는 방법을 설명합니다. 이 함수는 로봇이 대기, 캘리브레이션, 안전 복구를 위해 돌아갈 수 있는 사용자 홈 위치(포즈)를 정의합니다. 사용자 홈은 보통 로봇을 알려진 안전한 자세(예: 완전히 편 자세나 접은 자세)로 수동 조그한 후 설정합니다.

일반적인 사용법

  • 수동 교시 세션이 끝날 때 “안전 대기” 포즈를 정의합니다.

  • 빠른 원점 복귀(Homing)나 캘리브레이션 확인에 쓸 반복 가능한 기준 위치를 저장합니다.

  • 툴을 교체하거나 지그 위치를 바꾼 후 홈 위치를 갱신합니다.

참고

  • 홈 위치는 컨트롤러에 저장되며 재부팅 후에도 유지됩니다.

  • 이 포즈는 모든 안전 설정에서 도달할 수 있어야 합니다.

  • 저장된 포즈는 언제든지 get_user_home으로 가져올 수 있습니다.

예제: 수동 교시 후 사용자 홈 포즈 정의

// 1단계. 로봇을 원하는 "홈" 자세로 직접 조그 이동
printf("Position robot at desired home location...\n");
std::this_thread::sleep_for(std::chrono::seconds(3)); // 작업자가 직접 이동

// 2단계. 현재 포즈를 새 사용자 홈 위치로 설정
drfl.set_user_home();

printf("New User Home successfully set.\n");

// 3단계. (선택 사항) 다시 읽어서 검증
LPROBOT_POSE pHome = drfl.get_user_home();
if (pHome != NULL) {
    printf("[Stored User Home]\n");
    for (int i = 0; i < NUMBER_OF_JOINT; ++i)
        printf("J%d [deg]: %.2f\n", i + 1, pHome->_fPosition[i]);
}

팁

  • 홈에는 충돌이 없고 쉽게 도달할 수 있는 포즈를 선택하세요.

  • 툴이나 페이로드 설정을 마친 후 홈을 기록하는 것을 권장합니다.

  • 나중에 move_home으로 이 포즈에 자동으로 돌아갈 수 있습니다.

  • 재현성을 위해 교시 세션마다 홈 포즈를 같게 유지하세요.