본 포스팅은 광운대학교 "AID와 로봇을 활용한 자율 조작 학습" 강의 자료를 기반으로 작성되었습니다. 강의 내용을 블로그 형식으로 재구성한 글로, 학습 목적의 정리 포스팅임을 밝힙니다.
딥러닝을 처음 공부할 때 "Garbage In, Garbage Out"이라는 말을 들어보셨을 겁니다. 아무리 정교한 모델 구조를 설계해도, 학습 데이터가 엉터리라면 결과도 엉터리라는 뜻입니다.
로봇 학습도 정확히 같은 원칙이 적용됩니다. 모방학습에서 로봇이 배우는 대상은 '전문가의 시연 데이터'입니다. 그렇다면 자연스럽게 이런 질문이 생깁니다.
"전문가의 행동을 어떤 형태로 기록해야 하는가? 그리고 기록한 데이터를 어떻게 모델이 소화할 수 있는 형태로 가공할 것인가?"
이번 글에서는 이 두 질문을 중심으로 로봇 조작 데이터의 종류, 수집 방법, 그리고 전처리 과정을 차례로 풀어보겠습니다.
1. 로봇은 세상을 어떻게 느끼는가 — 두 가지 감각
로봇이 수집하는 데이터는 크게 두 종류로 나눌 수 있습니다.
첫 번째는 고유수용성 감각(Proprioceptive Data)입니다. 사람으로 비유하면 눈을 감고도 팔이 어디에 있는지 느낄 수 있는 감각, 즉 자기 자신의 상태를 아는 데이터입니다. 로봇에서는 각 관절의 각도, 속도, 모터에 가해지는 토크 등이 여기에 해당합니다.
두 번째는 외수용성 감각(Exteroceptive Data)입니다. 로봇 외부의 환경을 인식하는 데이터로, 카메라 영상, 힘/토크 센서, 라이다 등이 이 범주에 들어갑니다.
로봇은 이 두 가지 데이터를 종합해서 현재 상황을 파악하고 행동을 결정합니다. 딥러닝 모델이 학습 데이터 전체를 보고 패턴을 찾아내듯, 로봇 학습 모델도 이 두 감각을 함께 입력받아 올바른 행동을 예측하는 법을 배웁니다.
데이터가 흐르는 과정을 큰 그림으로 보면 이렇습니다. 현실 세계의 정보가 센서(카메라, 엔코더 등)를 통해 원본 데이터로 변환되고, 이것이 AI가 이해할 수 있는 상태(State)/행동(Action) 표현으로 가공되어 모델에 전달됩니다.
2. State와 Action — 모방학습이 배우는 것
모방학습을 한 줄로 요약하면 "상태를 입력받아 행동을 출력하는 함수를 배우는 과정"입니다. 이를 이해하려면 State와 Action 개념을 명확히 해둘 필요가 있습니다.
State(상태)는 모델이 결정을 내리는 데 사용하는 모든 입력 정보의 집합입니다. 특정 시점에 로봇이 "지금 어떤 상황인가"를 판단하기 위한 모든 정보를 담고 있습니다. 예를 들면 카메라 이미지, 현재 관절 각도, 그리퍼 너비 등이 모두 상태에 해당합니다.
Action(행동)은 그 상태에서 전문가가 수행했던 정답 움직임이자, 모델이 앞으로 예측해야 할 출력값입니다. 관절공간으로 제어한다면 "6개 관절의 목표 각도 + 그리퍼"가 Action이 되고, 작업공간으로 제어한다면 "손의 목표 위치(x, y, z) + 방위(쿼터니언) + 그리퍼"가 됩니다.
이 State → Action 쌍을 반복해서 기록한 것이 바로 전문가 시연(Expert Demonstration) 데이터셋입니다.
3. 관절공간 데이터 vs 작업공간 데이터
로봇의 수치 데이터는 크게 관절공간과 작업공간 두 가지 방식으로 표현됩니다.
관절공간(Joint Space) 데이터는 각 관절(모터)의 각도나 위치를 직접적으로 나타내는 데이터입니다. 6축 로봇 팔이라면 (q₁, q₂, q₃, q₄, q₅, q₆) 처럼 6개의 숫자로 현재 자세를 표현합니다. 지난 글에서 다뤘던 data.ctrl 배열이 바로 이것에 해당합니다. 로봇 컨트롤러에서 직접 얻을 수 있어 접근이 쉽고, 특이점 문제 없이 직접 제어가 가능하다는 장점이 있습니다. 다만 숫자만 봐서는 로봇이 어떤 모양을 하고 있는지 직관적으로 알기 어렵습니다.
작업공간(Task Space) 데이터는 로봇의 손(End-Effector)이 3차원 공간에서 어디에 어떤 방향으로 있는지를 나타내는 데이터입니다. 위치는 (x, y, z) 세 값으로, 방위(Orientation)는 오일러 각이나 쿼터니언, 또는 6D 회전 표현으로 나타냅니다.
여기서 방위 표현 방식을 고르는 것이 생각보다 중요합니다. 오일러 각(Roll, Pitch, Yaw)은 가장 직관적이지만, 359°와 0°가 실제로는 거의 같은 방향임에도 숫자상 거리는 크다는 불연속성 문제가 있습니다. 쿼터니언은 이 불연속성을 해결하지만, 동일한 회전을 q와 -q 두 가지로 표현할 수 있는 모호성이 생깁니다. 딥러닝 모델 입장에서는 하나의 정답에 두 개의 레이블이 붙는 셈이라 학습이 혼란스러워집니다.
그래서 최근 로봇 학습에서는 6D 회전 표현이 주목받고 있습니다. 회전 행렬(3×3)의 첫 두 열(총 6개 값)만 사용하는 방식으로, 작은 회전 변화는 6개 숫자의 작은 변화로 표현되고(연속성), 모든 회전이 유일한 값으로 표현됩니다(유일성). 신경망이 회전의 기하학적 관계를 가장 안정적으로 학습할 수 있는 형태입니다.
두 공간의 장단점을 정리하면 이렇습니다. 관절공간은 로봇을 직접 제어하기에 유리하고 특이점 문제가 없지만 비직관적입니다. 작업공간은 사람의 의도를 표현하기에 직관적이지만 특이점 문제와 역기구학 계산이 필요합니다. 실제 시스템에서는 전문가가 작업공간으로 목표를 지정하면, 역기구학이 이를 관절 명령으로 변환해 모터를 구동하는 방식을 많이 씁니다.

4. 이미지 데이터 — 로봇의 눈
수치 데이터만으로는 로봇이 세상을 충분히 이해하기 어렵습니다. 물체의 색깔, 형태, 위치 관계 같은 풍부한 정보를 한 번에 담을 수 있는 것은 이미지 데이터입니다. End-to-End 모방학습에서 이미지는 모델 입력의 핵심 요소입니다.
이미지 데이터는 (Height, Width, Channels) 형태의 3차원 텐서로 표현됩니다. RGB 이미지라면 채널이 3개(Red, Green, Blue), 흑백이면 1개입니다. 각 픽셀 값은 0~255 사이의 정수입니다. 딥러닝 배경이 있으신 분이라면 이미 익숙한 형태일 겁니다.
여기서 한 단계 더 나아간 것이 RGB-D 이미지입니다. Depth(깊이) 정보, 즉 각 픽셀까지의 거리 정보를 추가한 형태로, (H, W, 4) 텐서로 표현됩니다. 깊이 정보가 더해지면 물체의 정확한 3차원 위치와 형태를 파악할 수 있고, 배경과 물체를 거리 차이로 쉽게 분리할 수 있어 파지 지점 계산에 매우 유리합니다.
이미지 외에도 다양한 외수용성 센서가 있습니다. LiDAR는 레이저로 환경을 3D 점군(Point Cloud)으로 스캔하고, 촉각 센서는 그리퍼 표면에서 압력 분포를 측정하며, 오디오로 물체 충돌음을 통해 상태를 추론하기도 합니다. 최근에는 이 모든 종류를 함께 활용하는 다중 모달(Multi-modal) 접근이 활발히 연구되고 있습니다.
어떤 센서 조합을 State로 구성할지는 태스크에 따라 달라집니다. 단순한 밀기 동작이라면 {글로벌 카메라 RGB, 끝점 위치}만으로 충분할 수 있고, 정교한 조립 작업이라면 {손목 카메라 RGB-D, 관절 각도, 힘/토크 센서}가 필요할 수 있습니다.
5. 데이터를 수집하는 방법들 — 원격제어(Teleoperation)
모방학습에 필요한 전문가 시연 데이터는 어떻게 수집할까요? 핵심은 원격제어(Teleoperation)입니다. 전문가가 입력 장치를 사용해 로봇을 원격으로 제어하면서, 그 시점의 상태(Observation)와 제어 명령(Action)을 쌍으로 기록하는 방식입니다.
수집 파이프라인은 세 단계로 이루어집니다. 먼저 전문가의 조작이 로봇이 이해할 수 있는 제어 신호로 변환되고, 변환된 신호로 로봇을 구동하면서 동시에 카메라와 센서로 상태 데이터를 획득합니다. 마지막으로 제어 신호(Action)와 상태 데이터(Observation)를 한 쌍으로 묶어 파일로 저장합니다.
입력 장치는 여러 종류가 있습니다.
키보드/조이스틱 제어는 가장 기본적인 방식입니다. 키 입력을 로봇 끝점의 특정 방향 속도로 매핑합니다. 비용이 매우 저렴하고 즉시 구현 가능하지만, 위치와 자세를 동시에 제어하기 어려워 정교한 작업에는 부적합합니다.
리더-팔로워(Leader-Follower) 시스템은 전문가가 '리더' 로봇을 손으로 직접 조종하면 '팔로워' 로봇이 이를 1:1로 실시간 모방합니다. 모든 관절을 자연스럽게 사용하는 복잡한 작업도 직관적으로 제어할 수 있고 데이터 품질이 높습니다. 단, 최소 두 대의 로봇이 필요해 비용이 높습니다.
VR/AR 기반 제어는 VR 헤드셋과 컨트롤러를 착용하고 가상 공간에서 시연하면 그 움직임이 실제 로봇에 전달됩니다. 사람 손의 움직임을 로봇 그리퍼 움직임으로 변환(Remapping)하는 해석 과정이 포함됩니다. 3차원 공간 직관성이 높고 리더-팔로워보다 공간/비용 효율적입니다. 다만 멀미가 있을 수 있고 접촉 감각이 부족하다는 한계가 있습니다.
햅틱 기반 제어는 로봇이 물체와 접촉할 때의 힘과 토크를 전문가에게 실시간으로 피드백하는 방식입니다. 양방향(Bilateral) 제어라고도 불리며, 힘 조절이 필수인 섬세한 작업의 노하우를 데이터화하는 거의 유일한 방법입니다. 장비 비용이 매우 높고 구현이 복잡하다는 단점이 있습니다.
6. 카메라는 어디에 달까 — Eye-in-Hand vs Eye-to-Hand
시각 데이터를 수집할 때, 카메라를 어디에 설치하느냐에 따라 데이터의 성격이 크게 달라집니다.
핸드 아이(Eye-in-Hand)는 카메라를 로봇의 손목이나 그리퍼에 직접 부착하는 방식입니다. 로봇이 움직이면 카메라 시점도 함께 따라 움직이며, 작업 대상을 항상 가까이서 포착합니다. 정밀 조작에 강점이 있지만, 로봇 자신의 팔이 시야를 가리는 시야 가림(Occlusion) 문제가 발생할 수 있습니다.
글로벌(Eye-to-Hand)은 작업 공간 외부(천장, 측면 스탠드)에 카메라를 고정하는 방식입니다. 로봇이 어떻게 움직여도 카메라 시점은 변하지 않아 전체 상황(context)을 파악하기 유리합니다. 원거리 물체의 해상도가 낮아질 수 있다는 단점이 있습니다.
두 방식의 선택 기준은 태스크에 달려 있습니다. "무엇을 만지는가"가 핵심인 정밀 작업에는 핸드 아이, "어디에서 어떻게 움직이는가"가 핵심인 작업에는 글로벌이 유리합니다. 실제 시스템에서는 두 카메라를 함께 사용하는 경우도 많습니다.
7. 수집한 데이터는 그대로 쓸 수 없다 — 전처리 파이프라인
수집한 원본 데이터를 그대로 학습에 사용하면 좋은 결과를 기대하기 어렵습니다. 센서 노이즈, 타임스탬프 불일치, 단위 차이, 이상치 등 다양한 문제가 섞여 있기 때문입니다. 전처리는 이 모든 문제를 해결하는 과정입니다.
전처리 파이프라인은 크게 다음 순서로 진행됩니다.
데이터 로딩 → 클리닝 → 필터링 → 시간 정렬 → 정규화 → 피처 엔지니어링 → 데이터 분할 → 구조화/저장
데이터 클리닝: 결측치와 이상치를 처리합니다. 결측치는 앞뒤 값의 평균으로 채우는 선형 보간(Imputation)을 주로 씁니다. 이상치는 사분위수 범위(IQR)를 벗어나거나 물리적으로 불가능한 값(관절 한계 초과 등)을 탐지해 제거하거나 임계값으로 클리핑합니다.
센서 필터링: 노이즈를 줄입니다. 이동 평균 필터는 구현이 간단하지만 시간 지연이 발생할 수 있고, 칼만 필터는 예측과 측정을 조합해 로봇의 동적 상태를 더 정확하게 추정합니다.
시간 정렬(동기화): 서로 다른 주기의 센서 데이터를 하나의 시간축으로 맞추는 과정입니다. 보통 가장 낮은 주기(카메라 프레임 등)를 기준점(Anchor)으로 삼고, 각 프레임과 가장 가까운 시간의 다른 센서 데이터를 짝지어 묶습니다. 허용 오차(Tolerance)를 벗어난 데이터는 폐기해 동기화 품질을 확보합니다.
정규화: 서로 다른 스케일의 데이터를 통일합니다. 로봇 데이터에서는 이상치에 강건한 표준화(평균 빼고 표준편차로 나누기)를 선호합니다. 통계값(평균, 표준편차)은 전체 학습 데이터셋에서 미리 계산해 메타데이터 파일로 저장해두어야 일관성과 재현성을 확보할 수 있습니다.
좌표계 통일: 관절 각도는 로봇 베이스 좌표계, 물체 위치는 엔드 이펙터 좌표계, 카메라 영상은 카메라 좌표계로 각각 정의됩니다. Hand-Eye Calibration을 통해 카메라와 로봇 베이스 사이의 기하학적 관계(변환 행렬)를 미리 계산해두면, 카메라로 측정한 물체 위치를 로봇 좌표계로 자유롭게 변환할 수 있습니다.
이미지 전처리: 리사이즈(모델 입력 크기 통일)와 정규화(0~255 → 0.0~1.0 → 평균/표준편차 정규화)를 거칩니다. 데이터 증강(무작위 자르기, 좌우 반전, 밝기/대비 조절 등)을 통해 다양성을 높이면 모델의 강건성도 향상됩니다.
액션 표현 방식 선택도 중요합니다. 절대 위치(목표 좌표 그대로)를 쓸지, 델타 위치(현재 대비 변화량)를 쓸지, 속도 명령을 쓸지에 따라 모델의 행동 특성이 달라집니다. 델타 위치는 현재 상태 기준이라 오차 누적에 강건하고, 속도 명령은 부드러운 움직임 생성에 유리합니다.
마지막으로 수치 데이터는 Parquet 형식으로, 이미지 시퀀스는 MP4로 압축 저장합니다. 텍스트 기반 CSV/JSON 대비 훨씬 작은 용량으로 빠른 스캔이 가능합니다.

8. 딥러닝과의 연결 고리
여기까지 이해하셨다면 각 개념이 딥러닝 학습 파이프라인의 어느 부분과 맞닿는지 보이기 시작합니다.
State = {카메라 이미지, 관절 각도, 그리퍼 너비}는 모델의 입력 텐서가 됩니다. 이미지는 CNN이나 Vision Transformer로, 관절 각도는 MLP로 인코딩해 함께 처리합니다. ImageNet으로 사전학습된 백본을 파인튜닝하는 전략도 자주 사용됩니다.
Action은 모델이 예측해야 할 출력입니다. 관절공간 제어라면 회귀(Regression) 문제로, 그리퍼 이산화를 포함하면 회귀와 분류가 섞이는 멀티태스크 학습이 됩니다.
전처리에서 중요했던 정규화는 딥러닝에서도 핵심입니다. 입력 스케일이 일정하지 않으면 gradient가 불안정해지고 학습이 어려워집니다. 로봇 데이터에서 표준화를 선호하는 이유도 이와 같습니다.
데이터 증강은 딥러닝에서 이미 익숙한 개념입니다. 이미지 분류에서 RandomFlip, ColorJitter를 쓰듯, 로봇 이미지에도 같은 기법을 적용해 모델이 다양한 조명과 색상 변화에 강건해지도록 합니다.
Trajectory Chunking은 시퀀스 모델(Transformer, RNN 등)의 입력 단위를 정의합니다. 고정 길이로 자를지, 슬라이딩 윈도우를 쓸지, 의미 단위로 분할할지에 따라 모델이 학습하는 문맥의 범위가 달라집니다.
마치며
이번 글에서 다룬 내용을 한 줄씩 정리하면 이렇습니다.
로봇 데이터는 고유수용성(내부 상태)과 외수용성(외부 환경) 두 종류로 나뉩니다. 모방학습은 State → Action 함수를 배우는 것이며, 데이터 설계가 모델 성능의 첫 단추입니다. 관절공간은 직접 제어에, 작업공간은 인간의 의도 표현에 각각 유리한 특성이 있습니다. 이미지 데이터는 풍부한 환경 정보를 담으며, RGB-D와 6D 회전 표현이 학습 안정성을 높입니다. 텔레오퍼레이션 방식(키보드, 리더-팔로워, VR, 햅틱)에 따라 데이터 품질과 수집 비용이 달라집니다. 클리닝, 필터링, 시간 정렬, 정규화, 좌표계 통일, 구조화의 전처리 파이프라인이 필수입니다.
'Study Archives > Robotics' 카테고리의 다른 글
| [자율 조작 로봇 이해 ⑥] LeRobot으로 모방학습 시작하기 — ACT 정책 학습 실습 (0) | 2026.05.28 |
|---|---|
| [자율 조작 로봇 이해 ⑤] 행동 복제(BC)와 역강화학습(IRL) (0) | 2026.05.25 |
| [자율 조작 로봇 이해 ③] 기구학과 동역학 입문 (0) | 2026.05.22 |
| [자율 조작 로봇 이해 ②] MuJoCo로 로봇 팔 띄우고 움직여보기 (0) | 2026.05.22 |
| [자율 조작 로봇 이해 ①] 로봇팔은 어떻게 스스로 움직일까 (0) | 2026.05.21 |