Study Archives/Robotics

[자율 조작 로봇 이해 ①] 로봇팔은 어떻게 스스로 움직일까

ns4A

본 포스팅은 광운대학교 "AID와 로봇을 활용한 자율 조작 학습" 강의 자료를 기반으로 작성되었습니다. 강의 내용을 블로그 형식으로 재구성한 글로, 학습 목적의 정리 포스팅임을 밝힙니다.

 

조작 작업이란 무엇일까

로봇 연구에서 자주 나오는 단어 중 하나가 바로 조작(Manipulation) 입니다. 어렵게 들릴 수 있지만, 개념 자체는 생각보다 단순합니다.

로봇이 물리적인 물체를 인식하고, 잡고, 옮기고, 다루는 모든 행위가 조작 작업입니다.

우리가 매일 하는 일들을 떠올리면 이해가 쉽습니다.

  • 컵을 집어서 다른 곳에 놓기 → Pick & Place
  • 문 손잡이를 잡고 돌리기 → Grasping
  • 물건을 밀어내거나 당기기 → Pushing / Pulling
  • 나사를 조이고 부품을 끼우기 → Assembling
  • 도구를 쥐고 작업하기 → Tool Use

사람에게는 너무나 자연스러운 동작들이지만, 로봇에게는 각각이 굉장히 복잡한 문제입니다. 이 조작 작업을 로봇이 스스로 해내게 만드는 것, 그것이 자율 조작 연구의 핵심입니다.


물체 하나를 잡으려면 세 가지 조건이 필요하다

"그냥 집으면 되는 거 아닌가?"라고 생각하기 쉽습니다. 하지만 성공적인 파지(Grasping)에는 동시에 충족되어야 할 조건이 세 가지 있습니다.

작업 조건(Task Constraints) 수행할 작업에 따라 필요한 힘과 정밀도가 완전히 달라집니다. 가구를 조립할 때는 강한 힘으로 단단히 잡아야 하고, 유리컵을 옮길 때는 훨씬 섬세하게 다뤄야 합니다.

접촉 조건(Contact Constraints) 로봇 손(그리퍼)이 물체에 닿는 방식도 중요합니다. 어느 위치에서, 몇 개의 점으로, 어떻게 닿는지가 모두 결과에 영향을 줍니다. 물체의 형상, 재질, 무게도 접촉 방식에 영향을 미칩니다.

안정 조건(Grasp Stability) 파지를 유지하는 것도 쉬운 문제가 아닙니다. 아래 세 가지를 동시에 만족해야 비로소 안정적인 파지라고 할 수 있습니다.

  • 파지한 상태에서 물체가 흔들리지 않는가?
  • 중력이나 관성 같은 외력에 견디는가?
  • 힘과 토크의 균형을 맞추는가?

이 세 가지를 모두 만족하려면 Force Closure, 즉 어느 방향으로 힘이 가해져도 물체가 빠져나가지 않는 파지 구조가 필요합니다.

결국 물체 하나를 집는 행위 안에는 과제, 접촉, 안정이라는 세 가지 조건이 항상 함께 들어있습니다.


실제 조작 작업, 어디까지 가능할까

조작 작업의 범위는 생각보다 넓습니다. 두 가지 사례만 봐도 그 다양함이 느껴집니다.

가구 조립 작업 조립은 강한 힘이 필요한 작업입니다. 손바닥 전체를 활용해 접촉면을 최대한 넓혀야 단단하게 잡을 수 있습니다. 파지가 약하면 조립 도중 물체가 미끄러지기 때문에, 접촉 조건과 안정 조건을 모두 충족시키는 것이 핵심입니다.

물건을 잡아서 던지기 물체를 목표 위치로 던지는 작업도 조작의 한 유형입니다. 사람의 던지기 동작을 기록하고, 파지 위치와 팔의 움직임, 속도와 타이밍을 학습합니다. 카메라로 물체의 위치를 인식한 뒤, 학습된 궤적에 따라 관절을 회전시켜 물체를 던집니다.

이처럼 조작 작업은 단순히 집고 놓는 것을 넘어, 던지거나 조립하는 복잡한 행동까지 포함합니다.



로봇팔은 어떻게 구성되어 있을까

로봇팔은 사람의 팔 구조를 기계적으로 흉내 낸 장치입니다. 다섯 가지 핵심 요소로 이루어져 있습니다.

  • 링크(Link): 관절 사이를 연결하는 막대 구조
  • 조인트(Joint): 회전 또는 직선 이동을 가능하게 하는 구동부
  • 엔드 이펙터(End-effector): 로봇팔 끝에 달려 실제 작업을 수행하는 도구 (그리퍼, 흡착기 등)
  • 액추에이터(Actuator): 조인트를 실제로 움직이게 하는 모터
  • 센서(Sensor): 위치, 속도, 힘 등을 측정해 피드백을 제공

여기서 자유도(DoF, Degrees of Freedom) 가 중요한 개념입니다. 자유도란 로봇팔이 독립적으로 움직일 수 있는 방향의 수를 말합니다. 산업용 로봇팔은 보통 6자유도 이상으로, XYZ 위치 이동과 Roll·Pitch·Yaw 회전을 모두 표현할 수 있습니다. 자유도가 높을수록 더 복잡하고 정밀한 동작이 가능해집니다.

로봇팔의 성능을 결정하는 스펙은 무엇일까

로봇팔을 선택할 때는 세 가지 핵심 스펙을 확인합니다.

자유도(DoF)는 앞서 설명한 것처럼 독립적으로 움직일 수 있는 축의 개수입니다. DoF가 높을수록 더 정밀하고 유연한 동작이 가능하지만, 제어도 그만큼 복잡해집니다.

작업 범위(Reach)는 로봇팔이 닿을 수 있는 최대 거리입니다. 베이스 중심을 기준으로 mm에서 m 단위로 측정되며, 설치 위치와 작업 대상 범위에 따라 선택이 달라집니다.

가반 하중(Payload)은 로봇팔이 안정적으로 운반할 수 있는 최대 무게입니다. 엔드 이펙터 자체 무게도 포함해서 계산해야 하기 때문에, 실제 들어야 하는 물체 무게보다 여유 있게 선택하는 것이 중요합니다.

협동 로봇은 일반 로봇팔과 무엇이 다를까

협동 로봇의 대표 사례로 국내 기업 ROBOTIS에서 개발한 Open Manipulator-Y(OM-Y) 가 있습니다. 6자유도 모듈형 로봇팔로, Reach 580mm, Payload 3kg 사양을 갖추고 있습니다.

DYNAMIXEL-Y 액추에이터 기반으로 고속·고정밀 제어를 지원하고, 오픈 소스 SDK를 제공해서 연구와 교육 목적으로 많이 활용됩니다.

협동 로봇의 핵심은 힘 제어 기반 기술에 있습니다. 임피던스 제어(Impedance Control)나 어드미턴스 제어(Admittance Control)를 통해 사람과 부딪혔을 때 충돌을 감지하고 즉시 안전하게 반응할 수 있습니다. 단순히 빠르고 강한 것이 아니라, 안전하게 함께 일할 수 있다는 점이 협동 로봇이 가진 가장 큰 특징입니다.


자율 조작은 어떤 흐름으로 이루어질까

사람이 원격으로 조작하는 로봇과, 스스로 판단해서 움직이는 로봇은 근본적으로 다릅니다. 자율 조작(Autonomous Manipulation) 은 로봇이 외부 명령 없이 환경을 인식하고 스스로 판단해서 작업을 수행하는 것을 말합니다.

이를 위해 세 가지 흐름이 순서대로 일어납니다.

지각(Perception) → 정책 추론(Policy Inference) → 행동 제어(Action Control)

지각: 로봇은 세상을 어떻게 볼까

지각 단계에서는 카메라와 센서를 통해 환경과 물체를 인식합니다. 객체 탐지, 위치 추정, 자세 인식 등이 모두 이 단계에서 이루어집니다.

실제로 많이 쓰이는 모델이 두 가지입니다.

ResNet은 잔차 연결(Residual Connection)을 활용한 깊은 합성곱 신경망으로, 이미지에서 특징을 효과적으로 추출하는 데 강점이 있습니다.

ViT(Vision Transformer)는 이미지를 패치 단위로 나눠 Transformer 구조로 처리하는 방식입니다. 전체적인 맥락을 파악하는 데 유리해서 최근 로봇 비전에서 자주 활용됩니다.

정책 추론: 로봇은 어떻게 행동을 배울까

인식한 정보를 바탕으로 "어떻게 파지할지", "어느 경로로 이동할지"를 결정하는 단계입니다. 크게 두 가지 학습 방식이 있습니다.

행동 모방 학습(Behavior Cloning) 사람이 직접 작업을 시연하고, 그 데이터를 그대로 따라하도록 학습하는 방식입니다. 데이터 수집이 비교적 쉽고 초기 학습에 유리합니다.

강화학습(Reinforcement Learning) 로봇이 스스로 환경과 상호작용하면서 보상 신호를 기준으로 좋은 행동을 찾아가는 방식입니다. 시도와 실패를 반복하면서 장기적으로 최적의 정책을 찾아냅니다.

실제 사례로, 지퍼백 열기 작업에서 기존 방식(ViNN)으로는 성공률이 28%에 불과했지만, ACT 방식으로 바꾸자 단 50개 샘플만으로 성공률이 92%까지 올라간 경우가 있습니다. 학습 방법 하나의 차이가 성공률을 세 배 이상 바꿔놓은 셈입니다.

행동 제어: 결정을 실제 움직임으로 바꾸는 방법

결정된 행동을 실제 로봇팔에 전달하는 단계입니다. 세 가지 핵심 기술이 여기서 사용됩니다.

역기구학(Inverse Kinematics) 목표 위치가 주어지면, 그 위치에 도달하기 위해 각 조인트의 각도를 역으로 계산합니다. 로봇팔의 구조적 제약을 고려해야 하기 때문에 생각보다 복잡한 계산이 필요합니다.

모션 제어(Trajectory Control) 조인트 또는 엔드 이펙터의 경로를 생성합니다. 속도, 가속도, 힘의 제한을 모두 포함해서 경로를 최적화합니다.

실시간 제어 루프(Feedback Control) 센서 데이터를 이용해 실시간으로 오차를 보정합니다. PID 제어, 임피던스 제어, 어드미턴스 제어 등이 대표적인 방식입니다.



로봇팔을 움직이게 하는 구동기, 종류가 왜 여러 개일까

로봇팔이 실제로 움직이려면 각 관절을 구동하는 장치가 필요합니다. 이것을 액추에이터(Actuator) 라고 부릅니다. 전기나 공기 같은 입력 신호를 받아서 실제 물리적인 움직임으로 바꿔주는 장치입니다.

구동기는 크게 세 가지 계열로 나뉩니다.

전기식 구동기는 어떻게 다를까

가장 많이 쓰이는 방식입니다.

DC 모터는 브러시 방식으로 구조가 단순하고 가격이 저렴합니다. 다만 브러시가 마모되기 때문에 주기적인 교환이 필요합니다.

BLDC 모터는 브러시리스 방식으로 고효율, 저소음, 긴 수명이 장점입니다. 정밀 제어가 필요한 협동 로봇이나 연구용 로봇팔에서 자주 쓰입니다. 위치와 속도 제어를 위해 Hall 센서나 엔코더를 함께 사용해 폐루프 제어가 가능합니다.

유압식과 공압식은 언제 쓸까

유압식 구동기는 고압 유체가 피스톤을 밀어 움직임을 만들어냅니다. 높은 토크와 강력한 출력이 필요한 중장비나 고출력 시스템에 적합합니다. 다만 오일 누유 위험이 있고 유지보수 부담이 큰 편입니다.

공압식 구동기는 압축 공기로 실린더를 왕복시키는 방식입니다. 경량이고 저비용이며 충격 흡수에 유리합니다. 단, 공기의 압축성 때문에 위치 정밀도는 상대적으로 낮습니다.

세 계열을 비교하면 이렇습니다.

구분토크정밀도가격유지보수
DC 브러시 교환
BLDC 중상 낮음
유압 최상 오일 관리
공압 필터 관리

감속기는 왜 필요할까

모터의 회전 속도를 줄이고 토크를 높이기 위해 감속기가 함께 사용됩니다. 대표적인 세 가지 방식이 있습니다.

Harmonic Drive는 감속비가 100:1 수준으로 매우 높고, 백래시(역방향 유격)가 거의 없습니다. 정밀도가 중요한 로봇팔에서 많이 사용됩니다.

Planetary Gear(유성기어)는 감속비가 10:1 수준으로 상대적으로 낮지만 고효율입니다.

Belt(벨트)는 풀리 지름 비율로 감속비를 설정하는 방식으로 구조가 단순합니다.


센서는 로봇의 감각이다

로봇팔이 움직이는 것만큼 중요한 것이 있습니다. 바로 자신이 어디에 있는지, 얼마나 강하게 잡고 있는지, 주변에 무엇이 있는지를 아는 것입니다. 이 역할을 하는 것이 센서입니다.

센서는 물리량을 전기 신호로 변환하는 장치로, 로봇팔의 감각 기관이라고 볼 수 있습니다.

위치를 아는 센서, 엔코더

관절이 얼마나 회전했는지 측정하는 것이 위치 센서의 역할입니다.

Incremental Encoder는 상대적인 회전량을 측정합니다. 빠르고 저렴하지만, 전원이 꺼졌다가 켜지면 기준 위치를 잃어버린다는 단점이 있습니다.

Absolute Encoder는 절대 위치를 디지털 코드로 인식합니다. 전원이 꺼져도 위치 정보를 유지하기 때문에, 전원을 켤 때마다 원점 복귀가 필요 없습니다.

힘과 토크를 아는 센서

로봇팔이 물체를 얼마나 강하게 잡고 있는지, 어느 방향으로 힘을 받고 있는지를 측정하는 것이 힘·토크 센서입니다.

대표적인 것이 6축 F/T 센서입니다. Fx, Fy, Fz(힘) 와 Mx, My, Mz(토크), 즉 세 방향의 힘과 세 방향의 회전력을 동시에 측정합니다. 보통 로봇 손목이나 엔드 이펙터에 장착되며, 어드미턴스 제어와 충돌 감지의 핵심 입력으로 활용됩니다.

환경을 보는 센서, 비전 센서

카메라 계열 센서는 로봇이 주변 환경을 인식하는 데 사용됩니다.

RGB 카메라는 색상, 텍스처, 형태를 인식합니다. 가장 기본적인 비전 센서입니다.

Depth 센서는 거리 정보를 함께 측정합니다. ToF(Time of Flight) 방식이나 스테레오 방식이 주로 사용됩니다.

LiDAR는 장거리 고정밀 3D 환경 스캔이 가능합니다. 모바일 로봇이나 베이스 주변 환경 매핑에 자주 쓰입니다.

촉각과 근접을 감지하는 센서

손끝의 감촉을 느끼는 것처럼, 로봇도 섬세한 접촉을 감지해야 할 때가 있습니다. 정전용량식이나 저항막식 압력 센서를 소프트 그리퍼에 내장해 촉각을 감지합니다. 또한 IR(적외선)이나 초음파 센서를 사용해 물체에 닿기 전 근거리 감지도 가능합니다.

여러 센서를 합치면 더 정확해진다, Sensor Fusion

각각의 센서는 장점과 단점을 모두 갖고 있습니다. 그래서 실제 시스템에서는 여러 센서의 데이터를 통합해 더 정확한 상태를 추정하는 Sensor Fusion 기법이 자주 사용됩니다.

예를 들어 카메라 + IMU를 결합하면 위치와 자세를 더 안정적으로 추정할 수 있고, 비전 + 힘 센서를 결합하면 접촉 상황을 훨씬 정밀하게 파악할 수 있습니다. 보완적인 정보를 결합함으로써 노이즈를 줄이고 신뢰도를 높이는 방식입니다.

로봇팔에서 센서는 어디에 붙을까

각 센서는 역할에 따라 로봇팔의 다른 위치에 배치됩니다.

  • 조인트: 엔코더, 토크 센서 → 관절 각도 및 힘 측정
  • 손목: 6축 F/T 센서 → 접촉력과 모멘트 감지
  • 엔드 이펙터: RGB-D 카메라 → 물체 인식 및 거리 정보
  • 베이스: LiDAR → 주변 환경의 2D 지도 생성

각 위치마다 역할이 명확히 나뉘어 있고, 이 데이터들이 실시간으로 통합되어 로봇의 판단과 제어에 활용됩니다.

세 종류 센서의 특성을 간단히 비교하면 이렇습니다.

센서 해상도 주기 장점 단점
Encoder 0.01° 이하 1kHz 이상 고속 제어 적합 전기적 노이즈에 민감
F/T 0.1N 이하 100Hz~2kHz 정밀 접촉 제어 가격
RGB-D 640x480 등 10Hz~120Hz 3D 시각 조명에 민감


실제 로봇 없이 연습할 수는 없을까, 시뮬레이션의 등장

로봇을 처음부터 실물로 학습시키는 것은 쉽지 않습니다. 비용이 많이 들고, 잘못되면 장비가 망가지며, 실험 한 번에 시간이 오래 걸립니다.

그래서 등장한 것이 시뮬레이션입니다. 시뮬레이션을 쓰는 이유는 세 가지로 정리됩니다.

  • 비용 절감: 실제 데이터 수집은 시간과 인력이 소모되지만, 시뮬레이션은 병렬로 24시간 돌릴 수 있습니다
  • 안전 확보: 위험한 상황도 실제 장비 손상 없이 반복 테스트할 수 있습니다
  • 빠른 반복: 코드를 바꾸면 즉시 피드백을 받을 수 있어 개발 속도가 훨씬 빨라집니다

시뮬레이터는 어떤 요소로 구성될까

로봇 시뮬레이터는 크게 네 가지 요소로 이루어집니다.

Physics 엔진은 동역학, 충돌, 마찰 등 물리 법칙을 계산합니다. PhysX, ODE, MuJoCo 등이 대표적입니다.

Renderer는 가상 카메라 뷰, 센서 시각화, 조명 효과를 처리합니다. OpenGL이나 RTX 기반 렌더러가 주로 사용됩니다.

Robot Model(URDF/USD)은 로봇팔의 구조, 링크, 질량, 관절 정보를 담은 파일입니다. ROS 친화적인 URDF, MuJoCo용 MJCF, NVIDIA Isaac Sim에서 쓰이는 USD 형식이 있습니다.

API & 플러그인은 사용자 제어, 센서 연결, ROS 연동, 시나리오 스크립트 실행을 담당합니다.

Physics 엔진은 내부적으로 무슨 일을 할까

Physics 엔진 안에서는 세 가지 핵심 계산이 일어납니다.

충돌 검사(Collision Detection)는 객체 간 충돌 여부를 판별합니다. AABB, GJK 같은 알고리즘이 사용됩니다.

시간 적분(Time Integration)은 물리 상태를 시간 단위로 업데이트합니다. Explicit 방식은 빠르지만 불안정하고, Implicit 방식은 느리지만 안정적입니다. Time Step이 작을수록 정확도는 올라가지만 계산량이 늘어납니다.

Soft-Contact 모델은 딱딱한 접촉 대신 연속적인 힘 모델을 사용해 변형과 완충을 표현합니다.

대표 시뮬레이터 플랫폼은 무엇이 있을까

자주 쓰이는 세 가지 플랫폼을 비교하면 이렇습니다.

엔진 속도 그래픽 커뮤니티
Gazebo 보통 ROS 표준
Isaac Sim 매우 우수함 산업·AI 특화
MuJoCo 빠름 보통 연구 중심

MuJoCo는 고속 계산과 정밀한 다관절 로봇 동역학에 최적화되어 강화학습 연구에서 가장 많이 사용됩니다. Isaac Sim은 NVIDIA가 만든 플랫폼으로 그래픽 품질이 뛰어나고 산업·AI 연구에 특화되어 있습니다. Gazebo는 ROS 표준 환경으로 범용성이 높습니다.

시뮬레이션에도 한계는 있다

시뮬레이션이 아무리 정교해도 현실과 완전히 같을 수는 없습니다. 이 간극을 Sim-to-Real Gap 이라고 부릅니다. 시뮬레이션에서는 잘 되던 것이 실제 로봇에서는 잘 안 되는 현상입니다.

그 외에도 로봇 시뮬레이터의 한계점은 몇 가지가 있습니다.

  • 접촉 해상도의 제한 (실제 물체의 미세한 마찰을 완벽히 모사하기 어려움)
  • 실시간성과 정확도의 상충 관계
  • 고속 비전 시스템의 지연

이를 줄이기 위해 질량, 마찰, 조명 같은 환경 파라미터를 랜덤하게 변화시키는 도메인 랜덤화(Domain Randomization) 기법이 함께 사용됩니다. 다양한 조건에서 학습시킴으로써 실제 환경에서도 버틸 수 있는 정책을 만드는 방식입니다.


마무리

자율 조작 로봇이라는 주제, 처음에는 그냥 "집고 놓는 로봇" 정도로 들릴 수 있습니다.

하지만 이번 글에서 살펴본 것처럼 그 안에는 정말 많은 것이 맞물려 있습니다.

물체를 집는 것 하나에도 작업·접촉·안정 조건이 동시에 충족되어야 하고, 로봇팔의 구동기와 감속기 선택이 성능을 결정하며, 수많은 센서가 서로 보완하면서 로봇의 감각을 만들어냅니다. 그 위에 지각·정책·행동 제어로 이어지는 자율 파이프라인이 올라가고, 이 모든 것을 안전하게 실험하기 위해 시뮬레이션 환경이 필요합니다.

이번 글에서는 조작 작업의 유형과 파지 조건, 로봇팔 구성과 스펙, 자율 조작 파이프라인, 구동기와 감속기의 종류, 다양한 센서와 배치 방식, 그리고 시뮬레이션의 역할과 한계까지 전체 흐름을 정리해봤습니다.