본문으로 건너뛰기

M19.01 · 그리퍼·Tool Frame·작업 좌표·핸드아이 보정

단위별 목표·권장 선수와 자료 준비 상태를 확인하고, 공개된 본문과 활동을 읽고 준비 상태를 확인할 수 있습니다.

전체 커리큘럼

학습 안내

본문을 읽고 장비 없는 기본 실습·세 확인 문제와 해설로 이해를 확인하세요.

예상 학습 시간: 미정. 이 페이지 방문이나 자료 열람으로 완료·숙달을 자동 부여하지 않습니다.

현재 경로·이전·다음 단위 확인 ↓

학습 목표

  • 그리퍼 상태·플랜지·Tool Frame/TCP·작업 좌표의 역할과 필요한 단위/기준을 구분한다.
  • 열벡터 변환 체인으로 작업 좌표의 TCP 목표를 base의 플랜지 목표로 계산하고 tool offset 변경의 영향을 설명한다.
  • 카메라 장착 방식에 따른 핸드아이 변환 방향과 필요한 관측/검증 조건을 판정한다.

아래 설명·실습·문제로 각 학습 목표를 확인하세요.

권장 선수

M06의 좌표 변환과 M14.01/03/06의 카메라 프레임·시간·잔차가 선수다. 목표 자세와 경로의 차이는 본문에서 보충하며 M17.01의 구성 공간·충돌과 이어 읽는다. 기본은 합성 좌표와 보정 기록의 종이 계산이다. 이미 알고 있다면 직접 열어볼 수 있습니다.

설명 필수

세 목표에 대응하는 검수된 설명·예제를 읽습니다.

물체를 잡는 부분과 목표를 표시하는 좌표는 다르다

그리퍼는 물체와 접촉해 고정하는 장치다. 평행 손가락·흡착 등 방식이 다르면 필요한 관측과 실패 조건도 다르다. 평행 그리퍼의 명령 숫자가 손가락 사이 거리(m), 모터 각도(rad), 정규화 값 중 무엇인지 먼저 확인한다. 예를 들어 명령 0.5를 보냈다는 기록만으로 손가락 간격 0.5 m나 물체 파지를 뜻한다고 해석할 수 없다. 엔코더가 닫힘 위치를 나타내도 물체가 없거나 미끄러질 수 있다. 접촉·하중/흡착 압력 또는 별도 관측과 작업별 판정이 필요하다.

관절 끝·도구 끝·물체를 구분: 마지막 링크 frame → Tool/TCP frame → Camera/Object frame → 변환 합성.그림 원본 크기로 보기

그림 M19.01-1. 각 칸은 서로 다른 역할/근거다. 아래 방향은 자료/처리의 연결이며 실제 성공을 자동으로 보장하지 않는다. 직접 제작한 개념도이며 본문의 조건과 함께 읽는다.

플랜지 F는 팔 끝 장착부에 정한 기준 프레임이고, Tool Frame T는 부착 공구에 정의한 프레임이다. TCP(Tool Center Point)는 작업 위치를 대표하는 점이며, 그 점을 원점으로 방향까지 정한 것이 여기서의 Tool Frame이다. 제조사/모델마다 이름과 축이 다를 수 있으므로 tool0 같은 이름만으로 실제 TCP라고 단정하지 않는다. 손가락 중심이나 드라이버 끝을 TCP로 택하면 작업 설명이 쉬워진다. 공구 교체/재조립이나 접촉점 변화가 있으면 고정 offset을 다시 확인한다.

작업 프레임 W는 테이블·지그 등 과업의 기준이다. 물체를 작업 프레임에서 지정하면 테이블 배치가 달라져도 그 안의 목표를 유지할 수 있다. 다만 base B에 대한 W의 변환이 정확히 갱신되어야 한다. 관절 명령, 그리퍼 명령, TCP의 위치/방향은 서로 다른 계약이며 하나의 '로봇 위치' 열에 섞어 적지 않는다.

아래첨자를 연결해 목표를 바꾼다

이 단위는 오른손 좌표계·열벡터를 쓴다. T_AB는 B에 표현한 동차 점을 A로 바꾸는 4×4 행렬이다. 회전 R_AB는 3×3, 이동 t_AB는 A에서 본 B 원점의 3×1 위치(m)이며 마지막 행은 (0,0,0,1)이다. 회전 예제의 90도는 π/2 rad와 같다. Modern Robotics 저자 자료의 곱셈 순서처럼 가운데 프레임을 연결한다.

TCP 목표 T_BT와 고정 공구 변환 T_FT를 알면 플랜지 목표는 다음과 같다. 별표 *는 원하는 목표를 뜻하고 역행렬은 변환 방향을 뒤집는다.

TBT∗=TBWTWT∗,TBF∗=TBT∗(TFT)−1.T_{BT}^{*}=T_{BW}T_{WT}^{*},\qquad T_{BF}^{*}=T_{BT}^{*}(T_{FT})^{-1}.

두 식을 확인하려면 T_BF* T_FT=T_BT*를 다시 곱한다. TCP 목표를 그대로 플랜지 목표로 주면 공구 길이만큼 틀릴 수 있다. 이동만 부호를 바꿔 빼는 방법도 일반 회전에서는 맞지 않는다. 회전과 이동을 함께 다루어야 한다.

합성 사례에서 W는 base의 z축으로 +90도 회전하고 원점은 (0.5,0,0) m다. 작업 프레임의 TCP 목표 위치는 (0.2,0.1,0.3) m이고 방향은 W와 같다. +90도 회전은 (x,y,z)를 (−y,x,z)로 바꾸므로 base 위치는 (−0.1,0.2,0.3)+(0.5,0,0)=(0.4,0.2,0.3) m다. 목표 TCP 방향도 base에 대해 +90도다.

공구는 플랜지와 방향이 같고 TCP가 플랜지 +x로 0.1 m 떨어져 있다고 하자. 따라서 플랜지에서 본 offset은 (0.1,0,0)이지만 base에서는 목표 회전 때문에 (0,0.1,0) m다. 플랜지 목표 위치는 (0.4,0.2,0.3)−(0,0.1,0)=(0.4,0.1,0.3) m이고 방향은 +90도다. 여기에 회전된 offset을 더하면 원래 TCP 목표로 돌아간다. base의 x에서 0.1을 빼는 답은 offset이 어느 프레임의 값인지 놓친 것이다.

공구 길이만 0.15 m로 바꾸면 플랜지 위치는 (0.4,0.05,0.3) m다. TCP 작업 목표를 유지하더라도 관절 해는 달라질 수 있다. 목표 자세가 있다고 팔이 반드시 거기에 도달하는 것은 아니다. IK는 목표를 만드는 관절값을 찾는 문제이고 경로 계획은 시작부터 목표까지 중간 상태를 연결하는 문제다. 관절 범위·특이점·공구/물체와 환경의 충돌을 따로 검사한다. 한 끝점의 좌표 계산은 충돌 없는 실행 허가가 아니다. 이 차이를 다음 MoveIt 단위에서 확장한다.

카메라를 어디에 고정했는지 먼저 정한다

핸드아이 보정은 로봇 쪽 기준과 카메라 사이의 고정 강체 변환을 여러 대응 관측에서 구하는 문제다. 카메라를 팔 끝에 고정한 eye-in-hand와 작업대에 고정한 eye-to-hand를 구분한다. 전자는 보통 플랜지→카메라 관계가 고정이고 base→카메라는 관절 자세에 따라 변한다. 후자는 장착이 유지되면 base→카메라가 고정일 수 있다. 장착 조건과 무엇이 움직이는지 명시해야 같은 식을 잘못 재사용하지 않는다.

eye-in-hand에서 F에 카메라 C를 단단히 고정하고 보정 표적 O는 base에 고정했다고 하자. i번째 동시 관측의 로봇 변환을 G_i=T_BF(i), 표적의 카메라 변환을 C_i=T_CO(i), 구하려는 고정값을 X=T_FC로 정의한다. 모든 관측에서 G_i X C_i는 같은 T_BO가 되어야 한다. 두 관측 i/j를 비교하면 다음 관계를 얻는다.

AiX=XBi,Ai=Gj−1Gi,Bi=CjCi−1.A_iX=XB_i,\qquad A_i=G_j^{-1}G_i,\qquad B_i=C_jC_i^{-1}.

A_i/B_i는 두 관측 사이 상대 운동이며 X와 곱하는 순서가 다르다. 이 식은 '카메라 translation 한 번 빼기'가 아니라 회전/이동이 연결된 제약이다. 여기서는 해법 코드를 실행하지 않고 어떤 자료와 방향이 필요한지 판정한다. OpenCV4.13 calibrateHandEye는 gripper→base와 target→camera를 입력받아 camera→gripper를 출력한다. 이 예제에서 그 gripper 프레임을 F로 택했다면 출력이 X다. Tool TCP 프레임으로 바꾸려면 추가 고정 변환까지 일관되게 적용한다.

많은 자료보다 식을 구분할 수 있는 자료가 필요하다

한 자세에서 표적이 잘 보였다는 사실만으로 X 전체가 결정되지는 않는다. 같은 축의 작은 회전만 반복하면 구분하기 어려운 성분이 남을 수 있다. OpenCV 문서는 최소한 비평행 회전축을 가진 두 상대 운동과 세 자세를 요구하며 더 많은 자료를 권장한다. 그 숫자만 채웠다고 정확도가 보장되는 것은 아니다. 다양한 관측에서도 표적이 제대로 보이고 로봇/영상의 취득 시각이 대응해야 한다. 보드 크기의 단위, 카메라 내부 보정, 로봇 기구학 모델, 사용한 프레임과 장착 상태도 결과에 영향을 준다.

예를 들어 수집 표가 '20행 모두 같은 z축 회전, 영상 취득/관절 시각 차이 미상, 보드 칸 크기 단위 미상'이라면 행 수만으로 통과시키지 않는다. 축 다양성·단위/시간 대응을 먼저 보완할 자료로 표시한다. 이 활동은 수집 계획의 검토이며 실제 팔을 움직이라는 지시가 아니다.

검증에서는 추정에 쓰지 않은 자세/관측의 표적 위치·방향 일관성, 영상 재투영 잔차, 독립 기준과의 오차를 구별한다. 작은 pixel 잔차만으로 TCP의 m 단위 정확도를 승인하지 않는다. 보정 버전·카메라/공구 장착 버전·시간 기준·적용 범위를 함께 기록하고 장착이 달라지면 재검증한다. 기존 3.2 동차변환 체인과 기존 4.1 카메라 보정 품질은 자세한 모델 연결 자료다. 기본 활동은 아래 수치/기록만으로 끝난다.

관련 기존 자료 · 보충해서 읽기

  • 기존 상세 본문 · 관련 기존 자료 · 보충 참고

    3.1 SO-101 기구학 모델

    목표 일부 관련

    기존 자료의 관련 범위이며 신규 목표 전체의 품질 검수는 아직 진행하지 않았습니다.

  • 기존 상세 본문 · 관련 기존 자료 · 보충 참고

    4.2 Isaac Sim/USD, ROS 2, OpenCV 좌표 변환

    목표 일부 관련

    기존 자료의 관련 범위이며 신규 목표 전체의 품질 검수는 아직 진행하지 않았습니다.

학습 범위와 한계

기본 설명·예제가 준비되었습니다. 기존 보충 자료의 범위와 구별하세요.

실습 필수

장비 없는 실습을 수행하고 관찰·계산 근거를 해설과 비교합니다.

입력은 본문의 작업 프레임/공구/목표 수치다. 그리퍼 기록은 '명령 0.5, 인코더 정상, 단위/접촉 관측 미상'이며 핸드아이 수집 표는 20행의 같은 z축 회전·시각 차이와 보드 단위 미상이다.

  1. 그리퍼 기록이 파지를 증명하는지 판정한다. F/T/W의 역할과 공구 offset의 기준 프레임을 적는다.
  2. base의 TCP/플랜지 목표를 계산하고 offset을 다시 더해 검산한다. 공구를 0.15 m로 바꾼 변형도 계산한다.
  3. eye-in-hand에서 X의 방향과 입력 G_i/C_i를 적는다. 수집 표의 결함과 독립 검증/버전 기록을 제안한다.

관찰은 장치/좌표 계약, 변환 계산, 보정 자료의 세 부분으로 남긴다. 막히면 모든 벡터 옆에 기준 프레임을 쓰고, 행 수와 운동 종류를 다른 열로 나눈다. 실제 장비/소프트웨어 설치는 필요하지 않다.

0 / 8,000자 · 확인하면 이 브라우저에 저장

답안을 작성하고 확인하기를 한 번 선택하면 해설·판정 기준을 열어볼 수 있습니다.

학습 범위와 한계

기본 실습은 장비 없이 수행합니다. 실제 장비·GPU 실증을 완료했다는 뜻은 아닙니다.

평가·해설 필수

목표별 세 서술문항에 답하고 해설·판정 기준으로 자기검토합니다.

확인 문제 Q1

그리퍼의 정규화 명령 0.5와 TCP의 x=0.5 m를 같은 상태로 취급할 수 있는가? Tool Frame과 작업 프레임의 역할, 파지 확인에 부족한 관측을 설명하라.

0 / 8,000자 · 확인하면 이 브라우저에 저장

답안을 작성하고 확인하기를 한 번 선택하면 해설·판정 기준을 열어볼 수 있습니다.

확인 문제 Q2

본문과 같은 T_BW/0.1 m 공구에서 작업 프레임의 TCP 목표만 (0.1,0,0.2) m로 바꾼다. 방향은 여전히 W와 같다. base의 TCP/플랜지 목표 위치를 계산하고 끝점 계산으로 충돌 없는 실행을 보장하는지 설명하라.

0 / 8,000자 · 확인하면 이 브라우저에 저장

답안을 작성하고 확인하기를 한 번 선택하면 해설·판정 기준을 열어볼 수 있습니다.

확인 문제 Q3

eye-in-hand 보정 함수가 camera→flange를 출력했다. 이를 곧바로 base→camera라고 저장할 수 있는가? 한 축 회전 20개만으로 충분한지도 판단하고 필요한 입력/검증 근거를 설명하라.

0 / 8,000자 · 확인하면 이 브라우저에 저장

답안을 작성하고 확인하기를 한 번 선택하면 해설·판정 기준을 열어볼 수 있습니다.

학습 범위와 한계

서술답안과 해설이 준비되었습니다. 자기검토와 학습 완료는 숙달 인증과 별개입니다.

참고 자료

E5 연결: M17.01. 기본 활동은 본문에 제공한 입력으로 수행하고, 심화 연결에서 가정과 제약을 비교한다.

학습 확인

실습과 세 문항의 답안을 해설과 비교한 뒤, 이 단위의 학습 완료를 직접 기록할 수 있습니다. 자기검토·학습 완료는 자동 채점이나 숙달 인증과 별개입니다.

실습1개·확인 문제3개의 답안을 저장하고 각각 자기검토를 기록하세요.

학습 이동

학습 단계 순서 · 공통 과정 이후 전문화 선택

전체 목차로 돌아가기 →

신규 활동의 답안은 이 브라우저의 통합 학습 기록에 저장합니다. 기존 화면의 답안·진도는 원래 키를 유지합니다. AI 강사는 현재 단위의 준비 상태·부족한 범위와 연결된 실제 자료를 참고합니다.