본문으로 건너뛰기

Hand-eye 캘리브레이션

카메라가 로봇 어디에 어떤 각도로 달려 있는지를 측정합니다. 이 값이 있어야 카메라가 본 장애물이 로봇 좌표계에 맞게 놓이고, 스택 기동 때 장애물 인식이 켜집니다. 왼쪽 트리의 캘리브레이션 묶음은 현재 세션이 카메라 모델을 알려 줄 때만 보입니다 — 카메라가 설정돼 있고 카메라를 켜고 기동한 경우입니다.

묶음 아래 두 항목이 두 화면입니다 — 현재 값 · 새 측정. 묶음을 처음 열면 현재 값 이 보입니다.

새 측정​

캘리브레이션 보드(ChArUco 또는 체커보드)를 로봇 앞에 고정해 두고 진행합니다. 보드 사양은 지원팀이 보드와 함께 알려 드립니다. 새 측정 탭을 열면 가운데 캔버스 자리에 캘리브레이션 스테이지가 나타납니다 — 조준 단계부터 카메라 화면이 크게 보이고, 진행 중에는 단계·검출 안내와 중단 아이콘 버튼이 그 화면에 있습니다. 왼쪽 탭은 보드 사양·조준·계획·결과·저장을 맡습니다. 1024px 보다 좁은 화면에서는 왼쪽 패널이 겹쳐 열리는데, 닫아 두어도 조준·계획 단계의 진행 안내 한 줄은 스테이지에 보입니다.

캘리브레이션 › 새 측정의 보드 사양 폼. 활성 카메라 줄 아래 캡처 방식 수동·자율 구동(선택됨)과 그 설명, 목표 샘플 수, 보드 종류 ChArUco·체커보드, 칸수, 칸 변 길이, 마커 변 길이, ArUco 딕셔너리 입력란과 「다음: 보드 조준」 버튼이 있다.

  1. 캡처 방식 을 고르세요. 수동 은 프리드라이브(FREEDRIVE)로 카메라를 손으로 옮겨 가며 자세 약 18~26개를 직접 만듭니다. 자율 구동(기본값) 은 보드를 한 번 조준하고 이동을 승인하면, 로봇이 두 번째 시드와 계획한 자세를 스스로 구동합니다. 카메라를 다시 단 직후 저장된 값과 실제가 크게 다르면 마운트 확인에서 멈출 수 있습니다 — 그때는 수동으로 먼저 측정하세요.
  2. 보드 종류·칸수·칸 변 길이(mm)와 목표 샘플 수를 입력하세요. ChArUco 보드는 마커 변 길이(mm)와 ArUco 딕셔너리도 필요합니다. 로봇에 현재 값이 있으면 그 측정에 쓴 보드 사양으로 미리 채워집니다. 사양이 맞지 않으면 다음 단계로 넘어가지 않습니다.
  3. 조준 단계에서 가운데 카메라 화면의 안내선에 맞춰 보드가 화면 중앙·0.5–0.7 m 에 오도록 로봇을 움직이세요. jog 조작 패널은 오른쪽 3D 뷰 아래에 있습니다 — 3D 뷰가 접혀 있으면 상단의 3D 뷰 펼치기를 누르세요.
  4. 자율 구동이면 시드 캡처 시작 을 누릅니다. 시드는 두 시점에서 찍습니다 — 한 시점만으로는 카메라 마운트 이상과 보드 이동을 구분할 수 없기 때문입니다.
    • 첫 시드 는 조준한 자세에서 찍고, 로봇은 움직이지 않습니다. 보드까지의 거리와 화면 중심에서 벗어난 각도를 구동 시작 때와 같은 기준으로 확인해, 벗어나면 어느 쪽으로 맞출지 영어 안내가 나옵니다. 그동안 jog 로 맞출 수 있고, 기준을 통과한 채 멈춰야 찍힙니다(150초 안에).
    • 첫 시드가 찍히면 두 번째 시드 이동 승인 카드가 나옵니다. 카메라가 보드 중심을 바라본 채 조금 돌아가는 이동이고, 카드에 툴 끝의 이동 거리·위아래 방향·회전 각과 예상 시간이 보입니다. 60초 안에 이동 승인 → 이동 확인 을 누르면 카운트다운 뒤 로봇이 천천히 움직여 두 번째 시드를 찍고, 다시 카운트다운 뒤 같은 경로로 처음 자세로 돌아옵니다. 돌아온 뒤 툴 끝 위치를 다시 재서 처음 자세와 5 mm 또는 5° 넘게 다르면 성공으로 치지 않고 멈춥니다(조준으로). 두 번째 시점에서 쓸 수 있는 보드 뷰를 얻지 못하면(카메라 마운트가 설정과 크게 다름 · 보드 크기 설정 오류 · 반사나 가림 · 영상 끊김 등) 처음 자세로 돌아온 뒤 멈춥니다.
    • 이어서 계획 생성이 최대 3분 걸리고, 끝나면 구동 시작 을 눌러야 로봇이 구동합니다 — 자동으로 시작하지 않습니다.
    • 시드 캡처·두 번째 시드 이동·계획 생성 중에는 진행 안내 옆과 가운데 화면 아래의 취소 로 멈출 수 있습니다. 카운트다운 중 취소하면 로봇이 움직이지 않고, 이동 중 취소하면 그 자리에 멈춥니다(브레이크는 걸지 않습니다). 브레이크까지 걸려면 하단의 정지, 비상정지는 물리 E-Stop 버튼입니다. 계획 단계의 뒤로 는 조준 단계로 돌아갑니다.
  5. 진행 단계는 가운데 화면에 시드 대기 → 샘플 수집 → 계산 순으로 표시되고, 보드 검출 상태와 다음에 할 일을 안내합니다 — 이 안내 문장은 영어로 나옵니다. 도중에 화면 아래의 중단(아이콘 버튼)으로 끝낼 수 있습니다 — 자율 구동 중이면 이동 중이어도 로봇이 그 자리에 멈추고(브레이크는 걸지 않습니다) 측정이 끝납니다. 브레이크까지 걸려면 하단 로봇 제어 바 오른쪽 끝의 정지 를 누르세요. 비상정지는 물리 E-Stop 버튼입니다.
  6. 결과 화면에서 잔차와 판정을 확인하세요. 판정은 통과 또는 기준 미달 이고, 직접 중단한 측정은 중단됨 으로 표시됩니다. 기준 미달이어도 운영자 확인 아래 저장할 수는 있지만, 다시 측정하는 쪽을 권합니다 — 기준 미달 기록으로는 실기 확인을 할 수 없습니다.
  7. 필요하면 라벨 (선택) 을 입력하고 적용(재시작 후) 을 누르세요. 라벨을 비워 두면 카메라 모델과 날짜로 이름이 붙습니다(예: zedxm-2026-10-01-v1, 같은 날 두 번째는 -v2). 라벨은 영문·숫자만 이름에 반영됩니다 — 한글만으로 된 라벨은 기록에는 그대로 남고, 이름은 라벨을 비웠을 때처럼 날짜로 붙습니다. 버튼 위에는 이 로봇의 지금 값과 바뀔 값(이전 → 새 측정값)이 보입니다. 이름은 저장 뒤 현재 값 에서 바꿀 수 있습니다. 저장 뒤에도 결과 복사 로 결과 전문을 복사할 수 있습니다. 저장 결과는 알림으로도 뜨며, 실패하면 사유가 버튼 위에 남습니다. 저장 중 연결이 끊기면 저장 여부를 확인할 수 없으니 현재 값 에서 확인하세요. 적용하지 못한 결과는 로봇 스택을 다시 시작해도 남아 현재 값 의 적용 안 된 결과 에서 적용할 수 있습니다.

실패 뒤 다시 하기​

측정이 실패하면 결과 화면의 버튼이 실패 원인에 따라 다시 시작할 지점을 고릅니다. 다시 할 필요가 없는 단계는 건너뜁니다.

버튼언제이어지는 곳
같은 계획으로 다시 구동계획은 그대로 쓸 수 있는 실패 — 중단, 작업 점유, 이동 실패, 시드 대기 시간 초과, 기준 미달(같은 자세로 한 번 더 측정해 봅니다) 등계획 단계의 구동 시작 직전. 구동을 시작하면 로봇이 보드 위치를 다시 확인하고, 보드가 계획 때보다 많이 움직였으면 구동하지 않습니다
조준부터 다시계획 자체가 맞지 않는 실패 — 보드가 움직임, 도달 가능한 자세나 회전 폭 부족, 모은 샘플로 해를 구하지 못함, 계획 없음조준 단계. 시드를 새로 잡아 계획을 다시 만듭니다
보드 사양부터 다시보드 사양이 실제 보드와 다름보드 사양 폼

수동 측정에는 계획이 없으므로 조준부터 다시 또는 보드 사양부터 다시 만 나옵니다.

구동 전 계획 단계(시드 캡처·두 번째 시드 이동·계획 생성)가 실패하면 계획 단계의 다시 시도 가 지금 자세에서 첫 시드부터 다시 찍습니다. 두 번째 시드 이동이 끝나지 않았거나, 돌아온 자세가 처음 자세와 다르거나 확인되지 않거나, 그 이동 중에 연결이 끊겼으면 로봇이 처음 자세가 아닐 수 있습니다. 시드 캡처·계획 생성 중에 끊겼으면 로봇은 움직이지 않았으니 다시 시도 그대로입니다. 취소하면 메시지가 로봇 위치를 알려 줍니다. 로봇이 처음 자세가 아닐 수 있는 경우와 취소한 경우 버튼이 조준으로 바뀝니다 — 로봇 상태와 카메라 케이블을 확인하고 jog 로 다시 조준한 뒤 시작하세요.

구동 종료를 확인하지 못했을 때​

구동 중 연결이 끊기거나 로봇의 이동 결과가 확인되지 않으면 가운데 화면이 그 사실과 원인 후보(E-Stop · 로봇 모드 변경 · 컨트롤러 오류 · 이동 시간 초과 · 서버 연결 끊김)를 한 곳에 알립니다. 로봇이 다시 움직일 수 있으니 E-Stop 으로 구동을 차단한 뒤 E-Stop 으로 구동을 차단했습니다 를 누르세요. 누르기 전에는 화면 잠금이 남고 계획 단계의 구동 시작 도 잠깁니다. 이 확인은 화면의 잠금만 풉니다 — 이전 세션이 끝났는지는 확인되지 않으므로, plem 화면에서 S 키로 로봇 스택을 정지한 뒤 다시 S 키로 시작한 다음 E-Stop 을 해제하세요.

자율 구동은 로봇이 움직입니다

보드 주변을 비우고 비상정지에 손이 닿는 위치에서 진행하세요. 구동 중에는 사이드바의 다른 그룹·탭, 도움말, 하단의 Job 실행·재실행·이어서 실행, 하단의 로봇 모드(BRAKED · TRAJ · FREE), jog 조작 패널이 잠기고(중단하거나 끝난 뒤에 열립니다), 좁은 화면에서는 사이드바가 닫힙니다 — 3D 열 접기·펼치기와 하단 오른쪽 끝의 정지 버튼은 잠기지 않습니다(물리 E-Stop 버튼은 화면 잠금과 무관합니다). 두 번째 시드 이동 중에도 같이 잠깁니다(취소하거나 끝난 뒤에 열립니다). 구동 중, 시드 캡처·이동·계획 생성 중, 또는 저장하지 않은 결과가 있을 때 페이지를 새로고침하거나 닫으려 하면 브라우저가 한 번 더 묻습니다 — 새로고침하면 이 화면은 처음부터 다시 시작하고, 진행 중이던 시드 캡처·이동·계획 생성은 서버가 취소합니다(이동 중이면 로봇이 그 자리에 멈춥니다). 진행 중인 측정은 서버에 연결된 화면이 하나도 남지 않을 때만 취소됩니다 — 다른 화면(다른 Pendant 탭 등)이 연결돼 있으면 측정이 계속될 수 있으니, 로봇이 움직이면 E-Stop 을 누르세요.

저장한 값은 다음 기동부터 적용됩니다. 저장 완료 화면은 저장됨 — 재시작 후 적용 과 바뀐 값(이전 → 새)을 보여 줍니다. plem 화면에서 S 키로 로봇 스택을 정지한 뒤 다시 S 키로 시작하면 현재 값 의 표시가 재시작 필요 에서 실행 중 으로 바뀝니다. 재시작 전에는 실기 확인이 거부되므로, 저장 완료 화면에는 실기 확인 버튼이 없습니다 — 현재 값 보기 로 카드로 가세요.

실기 확인​

현재 값 카드의 실기 확인 버튼으로 엽니다(현재 값이 정상 기록일 때만 보입니다). 오른쪽 위 닫기 로 닫습니다. 창 위쪽에 현재 값과 그 표시(실행 중 · 재시작 필요)가, 옆(좁은 화면에서는 아래)에 광학 프레임과 병진·회전 잔차가 나오고, 기준 미달·기록 파일 없음·손상된 기록이면 그 사유가 함께 보입니다. 카메라(Camera)만 켜져 있으면 충돌 회피(cuMotion)·환경 맵(nvblox)을 끈 구성에서도 쓸 수 있습니다.

카메라 화면에서 보드 위 한 점을 누르면 로봇이 그 점 위 2 cm 로 툴 끝을 옮깁니다. 이동 을 누르면 카운트다운(「N초 후 이동합니다」)이 끝난 뒤 움직이고, 카운트다운 중 취소 하면 움직이지 않습니다. 실기 확인 화면의 안내와 거부 사유는 한국어로 나오고, 서버의 영어 문장은 거부 사유 아래 작은 줄로만 보입니다. 툴 끝이 누른 점 바로 위에 오는지 보세요 — 옆으로 빗나간 만큼이 캘리브레이션 오차입니다(보드 칸 크기를 자로 씁니다). 대각선 코너 2~3곳을 반복해 보기를 권합니다. 다음 점을 누르기 전에는 툴을 몇 cm 위로 올리세요 — 툴이 보드 가까이 있으면 옆 점으로 가는 길이 보드에 너무 가까워져 이동이 거부됩니다. 기준을 통과하고 보드 사양이 기록된 값에서만 쓸 수 있고, 그렇지 않으면 누르기 전에 잠기고 사유가 보입니다. 저장이나 「이 값 사용」 뒤에는 스택을 다시 시작해야 합니다. 이동 중 연결이 끊기면 취소가 전달되지 않았을 수 있으니, 로봇이 움직이면 E-Stop 을 누르세요.

현재 값​

연결된 로봇의 Hand-eye 캘리브레이션 카드입니다. 위쪽 현재 값 에 이 로봇이 쓰는 값이, 아래 기록 에 바꿔 쓸 수 있는 다른 값이 최근 측정순으로 나옵니다. 다른 로봇의 값은 이 카드에서 보거나 바꾸지 않습니다 — plem 화면의 로봇 설정에서 바꿉니다.

현재 값 화면. Hand-eye 캘리브레이션 카드에 지금 쓰는 값이 현재·실행 중 표시와 함께 있고, 그 아래 재측정·실기 확인·해제·가져오기 버튼과 다른 기록 목록이 있다. 다른 카메라로 측정한 기록은 흐리게 사유와 함께 보인다.

측정하고 아직 적용하지 않은 결과가 있으면 카드 맨 위 적용 안 된 결과 에 측정 시각·잔차·품질(통과 · 기준 미달)과 적용 버튼이 나옵니다. 결과는 로봇 기기에 남아 화면을 새로 고치거나 로봇 스택을 다시 시작해도 사라지지 않고, 적용 은 새 측정의 적용(재시작 후) 과 같이 새 기록으로 저장해 이 로봇의 현재 값으로 바꿉니다. 새 측정을 시작하거나 fine 보정 적용 으로 관절 보정을 적용하면 이 결과는 지워집니다(옛 관절 값으로 잰 결과이므로). 측정 때와 카메라 모델·로봇 모델·로봇 시리얼·툴 회전·F/T 센서 모델이 다르면 저장이 거부되니 다시 측정하세요 — 카메라는 모델로만 비교하므로 같은 모델로 바꾼 카메라는 구별하지 못합니다.

현재 값 옆의 표시가 적용 상태를 알려 줍니다.

표시뜻
실행 중지금 동작 중인 로봇 스택이 이 값으로 카메라 위치를 쓰고 있습니다
재시작 필요값을 바꾸거나 해제한 뒤 아직 로봇 스택을 재시작하지 않았습니다. 재시작하면 적용됩니다
(표시 없음)아직 판단할 수 없습니다(카메라 위치를 아직 받지 못함 등)

현재 값에 문제가 있으면 카드가 먼저 알립니다.

  • 다음 재시작에서 기동이 실패합니다 — 지금 값이 이 로봇과 맞지 않습니다(로봇 모델이 다르거나 기록이 손상됨). 사유가 영어 문장으로 함께 나옵니다. 해제 하거나 다른 값을 사용하세요.
  • 다음 재시작부터 이 값 대신 기본 위치를 씁니다 — 카메라 모델이나 툴 회전이 측정 때와 다릅니다. 기동은 막지 않고, 카메라 기본 위치(툴 회전·F/T 센서를 따라감)로 돌아갑니다. 다시 측정할 때까지 인식 기능(nvblox 등)은 꺼집니다. 지금 구성에서 다시 측정하세요.
  • 기록 파일 없음 · 기록이 손상됨 — 가리키는 기록을 읽을 수 없습니다. 해제 하세요.
  • 다시 측정하기를 권장합니다 — 이 값을 측정한 뒤 로봇의 관절 오프셋·기구학 정보가 갱신되었습니다. 파일이 다시 써진 시각으로 판단하므로 내용이 같아도 표시될 수 있습니다. 경고일 뿐 막지는 않습니다. 같은 경우의 기록에는 재측정 권장 배지가 붙습니다.
  • 카메라 설정이 없거나 서로 맞지 않습니다 — 사유가 영어 문장으로 함께 나옵니다. 로봇 › 설정 버튼으로 카메라를 설정하거나 다시 저장하세요.
동작위치하는 일
적용적용 안 된 결과측정하고 적용하지 않은 결과를 새 기록으로 저장해 현재 값으로 바꿉니다. 다음 기동부터 적용됩니다
재측정카드새 측정 으로 갑니다
실기 확인카드위의 확인 창을 엽니다
해제카드캘리브레이션 없이(공장 기본값) 동작하게 합니다. 다음 기동부터 적용됩니다
가져오기카드내보낸 YAML 을 기록으로 추가합니다. 가져온 값은 바로 쓰이지 않습니다
이 값 사용기록의 ⋯그 값을 이 로봇의 현재 값으로 바꿉니다. 다음 기동부터 적용됩니다
이름 변경 · 내보내기기록의 ⋯ (현재 값도)이름을 바꾸거나 YAML 파일로 내려받습니다
폐기기록의 ⋯메뉴 안에서 한 번 더 확인한 뒤 지웁니다. 어느 로봇이든 쓰고 있는 값은 폐기할 수 없습니다(현재 값은 해제한 뒤)

기록마다 품질(통과 · 기준 미달)과 측정 시각·잔차가 나오고, 다른 로봇이 쓰고 있으면 사용 중: <로봇> 이, 다른 로봇에서 측정했으면 다른 로봇(<시리얼>)에서 측정 이 함께 보입니다. 이 로봇에 쓸 수 없는 기록(다른 카메라·로봇 모델 등)은 숨기지 않고 흐리게, 사유와 함께 보여 줍니다 — 폐기·내보내기로 정리할 수 있게 하기 위해서입니다.