Study Archives/Robotics

[로봇 학습의 이해 ⑤] 로봇 비전과 파지

ns4A

앞선 글들에서는 로봇이 어떻게 행동을 만들고, 시뮬레이션에서 왜 먼저 배우며, 강화학습 알고리즘이 어떤 식으로 발전해왔는지를 살펴봤습니다.
그런데 여기서 한 가지를 더 생각해봐야 합니다.

로봇은 무엇을 보고, 무엇을 듣고, 무엇을 만지면서 행동을 결정할까요?

사람은 아주 자연스럽게 눈으로 물체를 보고, 귀로 소리를 듣고, 손으로 접촉을 느낍니다.
하지만 로봇에게 이런 과정은 전혀 자연스럽지 않습니다.
카메라가 본 장면은 그저 픽셀 배열일 뿐이고, 마이크가 받은 신호는 시간에 따라 변하는 파형일 뿐이며, 그리퍼 끝에서 느껴지는 힘도 단순한 센서 값에 불과합니다.

즉 로봇이 잘 행동하려면 먼저 세상을 이해해야 합니다.
그리고 그 이해는 결국 인지(perception) 에서 시작됩니다.

이번 글에서는 로봇이 시각 정보를 어떻게 다루는지, 음성을 어떻게 처리하는지, 그리고 물체를 잡는 파지에서는 왜 촉각과 힘 정보가 중요한지까지 한 흐름으로 정리해보겠습니다.


로봇 인지는 왜 중요할까

로봇을 처음 떠올리면 보통 모터와 관절부터 생각하게 됩니다.
물론 그것도 중요합니다.
하지만 실제 로봇 시스템에서는 “어떻게 움직일까” 못지않게 “지금 무엇을 보고 있는가”가 중요합니다.

예를 들어 테이블 위 컵을 집는 문제를 생각해보겠습니다.

  • 컵이 어디에 있는지 알아야 하고
  • 컵의 방향이 어떤지 알아야 하며
  • 주변에 방해물이 있는지도 알아야 하고
  • 집는 순간 미끄러지는지도 감지해야 합니다

즉 파지나 이동 같은 행동도, 그 앞단에는 항상 인지 과정이 있습니다.
조금 과장해서 말하면, 인지가 없는 로봇은 눈을 감고 움직이는 것과 비슷합니다.

그래서 로보틱스에서는 흔히 아래 세 가지 감각이 중요하게 다뤄집니다.

  • 시각: 카메라, RGB-D, 포인트 클라우드
  • 청각: 음성 명령, STT
  • 촉각/힘: 접촉, 압력, 미끄럼, 토크

이 세 가지를 잘 연결해야 로봇이 단순 반복 기계를 넘어 실제 환경과 상호작용하는 시스템에 가까워집니다.


로봇의 눈, 비전 시스템

사람은 물체를 보면 거리, 크기, 방향을 거의 즉시 감으로 파악합니다.
하지만 카메라는 그렇지 않습니다.
카메라는 그저 장면을 2차원 이미지로 받아들입니다.
따라서 로봇이 장면을 이해하려면, 이 2차원 정보를 다시 공간 정보와 연결하는 과정이 필요합니다.

가장 기초적인 단계에서는 아래와 같은 질문들이 등장합니다.

  • 이 픽셀이 실제 공간의 어디를 가리키는가
  • 카메라가 지금 어느 방향을 보고 있는가
  • 물체와 카메라 사이 거리는 어느 정도인가
  • 같은 물체를 다른 각도에서 봐도 같은 대상으로 인식할 수 있는가

이런 문제를 풀기 위해 등장하는 것이 바로 카메라 파라미터캘리브레이션입니다.


카메라 파라미터는 왜 필요할까

카메라 영상만 보면 세상이 평평하게 보입니다.
하지만 로봇은 평면이 아니라 실제 3차원 공간에서 움직여야 합니다.
그래서 “이미지 좌표”와 “현실 좌표”를 연결해주는 정보가 필요합니다.

이때 자주 나오는 표현이 두 가지입니다.

Intrinsic Parameter

카메라 자체의 내부 특성입니다.
예를 들어 초점거리, 광학 중심, 렌즈 왜곡 같은 정보가 여기에 해당합니다.
쉽게 말하면 “이 카메라가 이미지를 어떻게 만들어내는가”에 대한 설정값입니다.

Extrinsic Parameter

카메라가 세계 좌표계에서 어디에 있고, 어느 방향을 보고 있는지에 대한 정보입니다.
즉 “카메라가 공간 안에 어떻게 놓여 있는가”를 설명합니다.

이 둘이 함께 있어야, 로봇은 이미지에서 본 물체를 실제 공간상의 위치와 연결할 수 있습니다.

예를 들어 로봇 팔이 카메라로 본 큐브를 집으려면,
“이미지 속 네모”를 단순히 보는 것만으로는 부족하고
그 물체가 실제로 몇 cm 앞에 있고 어느 방향에 있는지를 알아야 합니다.



캘리브레이션은 무엇을 하는 과정일까

캘리브레이션은 말 그대로 카메라의 특성을 추정하는 과정입니다.
보통 체커보드 패턴을 여러 각도에서 촬영해서,
이미지 속 점들과 실제 세계 좌표를 비교하며 내부 파라미터와 외부 파라미터를 구합니다.

처음 보면 조금 번거로워 보일 수 있습니다.
그런데 이 과정을 제대로 하지 않으면 이후 단계가 계속 흔들립니다.

예를 들어

  • 물체의 실제 위치를 잘못 추정할 수 있고
  • 깊이를 잘못 해석할 수 있으며
  • 로봇 팔이 집으려는 위치가 계속 어긋날 수 있습니다

즉 캘리브레이션은 화려한 알고리즘이라기보다,
후속 인지와 제어를 위한 기준 좌표를 맞추는 작업이라고 이해하는 편이 좋습니다.


ARuCo 마커는 왜 자주 등장할까

로봇 비전 실습을 보다 보면 ARuCo 마커가 자주 나옵니다.
검은 테두리 안에 이진 패턴이 있는 정사각형 마커인데, 겉보기에는 단순하지만 꽤 강력한 도구입니다.

ARuCo 마커의 장점은 크게 세 가지입니다.

  • 검출이 빠릅니다
  • 각 마커를 ID로 구분할 수 있습니다
  • 마커의 위치와 자세를 비교적 쉽게 추정할 수 있습니다

즉 로봇 입장에서는 “여기에 기준점이 있다”는 것을 안정적으로 찾기 좋은 도구입니다.

왜 이런 마커가 중요할까요?
로봇은 실제 환경에서 기준 좌표가 필요할 때가 많습니다.
물체를 집는 실험이든, 카메라 좌표를 맞추는 실험이든, 이동 로봇의 위치 기준을 잡는 문제든
눈에 잘 띄고 포즈를 추정하기 쉬운 기준물이 있으면 훨씬 편해집니다.

그래서 ARuCo는 비전과 로봇의 만나는 지점에서 아주 자주 쓰입니다.


포인트 클라우드는 무엇을 주는가

일반 RGB 이미지는 색과 형태를 보여주지만, 깊이 정보는 직접 주지 못합니다.
반면 RGB-D 카메라나 LiDAR를 쓰면 각 점이 공간 안에서 어디 있는지를 더 직접적으로 얻을 수 있습니다.
이때 자주 등장하는 표현이 포인트 클라우드입니다.

포인트 클라우드는 쉽게 말하면
공간을 이루는 수많은 3차원 점들의 집합입니다.

처음 보면 그냥 점이 흩뿌려진 데이터처럼 보일 수 있습니다.
하지만 로봇 입장에서는 매우 중요합니다.

왜냐하면 포인트 클라우드를 이용하면

  • 물체의 대략적인 형상을 파악할 수 있고
  • 장애물의 위치를 3차원으로 이해할 수 있으며
  • 잡을 수 있는 면이나 접근 가능한 방향을 추정할 수 있기 때문입니다

특히 매니퓰레이션과 내비게이션 모두에서 포인트 클라우드는 강력한 표현입니다.
이미지보다 조금 덜 직관적으로 보일 수는 있지만,
로봇이 실제 공간을 이해하는 데는 훨씬 직접적인 경우가 많습니다.


로봇의 귀, 음성 처리

시각만으로는 충분하지 않은 경우도 많습니다.
서비스 로봇이나 상호작용형 로봇은 사람의 말을 이해해야 하는 경우가 많기 때문입니다.

예를 들어 사용자가

  • “정지”
  • “오른쪽으로 가”
  • “컵 가져와”
  • “문 앞까지 이동해”

같은 명령을 말로 내릴 수 있습니다.

그런데 로봇에게 음성은 처음부터 단어가 아닙니다.
마이크에 들어오는 것은 단순한 시간축 신호입니다.
즉 사람이 듣는 “말”과, 기계가 받는 “파형” 사이에는 큰 간격이 있습니다.

그래서 음성 처리는 보통 다음 흐름을 거칩니다.

  • 음성 신호를 디지털 형태로 받기
  • 특징을 추출하기
  • 모델이 이해하기 좋은 표현으로 바꾸기
  • 명령어 분류 혹은 텍스트 변환하기

이 흐름을 이해하면 음성 인식이 단순히 “말을 글자로 바꾼다”가 아니라는 점이 보입니다.


MFCC는 왜 많이 쓰일까

음성 처리에서 자주 나오는 대표 키워드가 MFCC(Mel-Frequency Cepstral Coefficient) 입니다.
이 이름은 길지만 핵심은 비교적 단순합니다.

MFCC는 음성 신호를 짧은 구간으로 나누고,
그 구간의 주파수 특성을 사람이 듣는 방식과 비슷한 형태로 요약해주는 특징 표현입니다.

즉 원래의 파형을 그대로 다루는 대신,
음성의 중요한 패턴만 뽑아서 모델이 보기 좋은 형태로 바꿔주는 것입니다.

왜 이런 과정이 필요할까요?

파형은 정보가 너무 많고 직접 다루기 어렵기 때문입니다.
사람도 소리를 들을 때 단순히 시간축의 진폭만 느끼는 것이 아니라,
어떤 주파수 성분이 어떻게 섞였는지에 더 민감하게 반응합니다.
MFCC는 이런 성질을 일부 반영한 표현이라고 볼 수 있습니다.



STT와 CTC는 무엇을 해결할까

음성 인식에서 조금 더 나아가면 Speech-to-Text, 즉 STT 문제가 등장합니다.
여기서는 단순히 명령어 몇 개를 분류하는 수준이 아니라,
연속적인 음성 신호를 텍스트로 바꿔야 합니다.

이때 어려운 점은 음성의 각 순간이 정확히 어떤 문자나 음소에 대응하는지 미리 딱 잘라 정렬되어 있지 않다는 데 있습니다.
사람이 말할 때 속도도 다르고, 발음도 다르고, 같은 단어라도 길이가 조금씩 다르기 때문입니다.

이런 문제를 다룰 때 자주 등장하는 개념이 CTC(Connectionist Temporal Classification) 입니다.
CTC의 핵심은 입력 시퀀스와 출력 라벨 사이의 정렬을 미리 완벽하게 맞춰두지 않아도,
가능한 여러 정렬 경로를 고려해 학습할 수 있게 해준다는 점입니다.

처음 보면 조금 추상적으로 느껴질 수 있지만,
결국 핵심은 이것입니다.

음성은 길고 연속적이며, 라벨은 짧고 압축되어 있다.
CTC는 이 둘을 유연하게 연결하기 위한 방법이다.

서비스 로봇에서 STT가 중요해지는 이유도 분명합니다.
사람은 키보드보다 음성으로 명령하는 편이 자연스러운 경우가 많기 때문입니다.


로봇의 손, 파지는 왜 어려울까

이제 시각과 음성을 봤으니, 마지막으로 파지를 생각해보겠습니다.
겉보기에는 물체를 집는 일이 단순해 보일 수 있습니다.
하지만 실제로는 로봇에게 꽤 어려운 문제입니다.

예를 들어 컵 하나를 집는다고 해도 아래 같은 요소가 모두 개입합니다.

  • 컵의 위치와 방향
  • 표면 재질
  • 얼마나 강하게 잡아야 하는지
  • 잡는 순간 미끄러지는지
  • 주변 물체와의 충돌 가능성
  • 그리퍼 형태와 자유도

사람은 이런 것을 거의 무의식적으로 처리합니다.
하지만 로봇은 그렇지 않습니다.
그래서 파지는 단순한 “위치 맞추기”가 아니라,
인지와 제어와 접촉 역학이 모두 만나는 문제가 됩니다.


그리퍼와 로봇 핸드

로봇이 물체를 잡는 장치는 하나로 정해져 있지 않습니다.
가장 익숙한 것은 두 개의 손가락처럼 물체를 집는 투 핑거 그리퍼입니다.
이 구조는 단순하고 제어하기 쉬워서 많이 쓰입니다.

하지만 상황에 따라 다른 형태도 등장합니다.

  • 쓰리 핑거 그리퍼: 더 안정적인 파지
  • 진공 그리퍼: 평평한 물체나 흡착 가능한 물체에 유리
  • 소프트 그리퍼: 식품처럼 부드럽고 변형되는 물체에 적합
  • 마그네틱 그리퍼: 금속 물체를 빠르게 다루기에 유리

즉 파지 장치는 “손”이라고 뭉뚱그려 부르기 쉽지만,
실제로는 작업 대상과 환경에 따라 전혀 다른 설계를 사용합니다.

조금 더 사람 손처럼 복잡한 구조로 가면 로봇 핸드가 등장합니다.
여러 자유도를 가지고 손가락을 더 정교하게 움직일 수 있지만, 그만큼 제어도 훨씬 어려워집니다.


촉각 센서와 힘 센서는 어떻게 다를까

여기서 중요한 구분이 하나 있습니다.
바로 촉각 센서힘 센서입니다.
둘 다 접촉과 관련이 있지만 역할이 완전히 같지는 않습니다.

촉각 센서

촉각 센서는 접촉 면에서 발생하는 압력, 미끄럼, 진동, 질감 같은 정보를 더 세밀하게 감지합니다.
쉽게 말하면 사람 피부 감각을 흉내 내려는 쪽에 가깝습니다.

예를 들어 물체가 미끄러지기 직전의 작은 진동이나,
표면이 부드러운지 거친지 같은 정보는 촉각 센서가 더 잘 다룰 수 있습니다.

힘/토크 센서

힘 센서는 보통 손목이나 관절 근처에서 전체적인 힘과 토크를 정량적으로 측정합니다.
즉 지금 로봇이 얼마나 세게 누르고 있는지, 어느 방향으로 힘이 걸리는지를 수치로 파악하는 데 강합니다.

두 센서는 경쟁 관계라기보다 서로 보완적입니다.
하나는 접촉의 미세한 디테일에 강하고, 다른 하나는 전체 힘의 크기와 방향에 강합니다.


 

파지에서 중요한 것은 결국 안정성이다

로봇이 물체를 집는다고 해서 끝이 아닙니다.
실제로 중요한 것은 안정적으로 잡고, 원하는 위치까지 옮기고, 놓는 것입니다.

즉 파지는 아래 질문들로 이어집니다.

  • 지금 힘이 너무 센가
  • 너무 약해서 미끄러질 위험은 없는가
  • 물체가 깨지기 쉬운가
  • 접촉 중 충돌이 발생하고 있는가
  • 목표 동작 중 자세가 무너지지는 않는가

그래서 파지에서는 단순한 위치 제어만으로 부족한 경우가 많습니다.
접촉을 감지하고, 힘을 조절하고, 미끄럼을 빠르게 알아차리는 능력이 함께 필요합니다.

이 지점에서 다시 앞선 내용들이 연결됩니다.

  • 비전은 어디를 잡아야 하는지 알려주고
  • 음성은 무엇을 하라는지 알려주며
  • 촉각과 힘은 지금 잘 잡고 있는지를 알려줍니다

즉 로봇 인지와 파지는 따로 떨어진 주제가 아니라, 실제로는 한 작업 안에서 자연스럽게 연결됩니다.


로봇 인지는 결국 행동으로 이어져야 한다

지금까지 시각, 음성, 파지를 따로 나눠서 설명했지만, 실제 로봇 시스템에서는 이들이 동시에 작동합니다.

예를 들어 사용자가
“왼쪽 테이블 위 컵 가져와”
라고 말한다고 해보겠습니다.

그러면 로봇은

  • 음성으로 명령을 이해하고
  • 카메라로 컵을 찾고
  • 깊이 정보를 이용해 위치를 추정하고
  • 그리퍼를 적절히 접근시키고
  • 힘과 촉각 정보를 보며 안정적으로 집어야 합니다

즉 인지는 단지 세상을 이해하는 데서 끝나는 것이 아니라,
행동을 정확하게 만들기 위한 입력으로 작동합니다.

이 관점이 중요합니다.
로봇의 센서는 그 자체로 목적이 아니라, 결국 더 나은 행동 생성을 위한 재료이기 때문입니다.


마무리

로봇이 세상을 이해한다는 말은 멋있게 들리지만, 실제로는 아주 구체적인 문제들의 조합입니다.
카메라는 픽셀을 주고, 마이크는 파형을 주고, 촉각 센서는 접촉 신호를 줍니다.
로봇은 이 낯선 숫자들을 바탕으로 지금 무엇이 보이는지, 어떤 명령이 들어왔는지, 물체를 잘 잡고 있는지를 판단해야 합니다.

그래서 로봇 인지는 단순한 부가 기능이 아닙니다.
행동을 만들기 위한 출발점이며, 파지나 이동 같은 실제 작업의 성패를 좌우하는 핵심 요소에 가깝습니다.

특히 파지 문제를 보면 이 점이 더 분명해집니다.
물체를 잡는다는 단순한 행동 하나에도 시각, 깊이, 접촉, 힘 조절이 모두 함께 들어가기 때문입니다.

결국 로봇이 잘 움직이기 위해서는 먼저 잘 인식해야 합니다.
그리고 잘 인식한다는 것은 단순히 많이 보는 것이 아니라,
행동에 필요한 정보를 올바르게 뽑아내는 것에 더 가깝습니다.

다음 글에서는 이런 감각 정보와 강화학습 흐름 위에서,
로봇이 사람의 시연을 보고 따라 배우는 방법인 모방학습과 실제 응용 흐름을 이어서 정리해보겠습니다.