Skip to main content

19. 멀티모달 로봇: 보고, 듣고, 말하고, 움직이기

지난 장에서 우리는 로봇 에이전트를 설계할 때 생각하는 계층과 움직이는 계층을 분리해야 한다고 배웠습니다. 이번 장에서는 거기에 한 가지를 더 얹습니다. 바로 세상을 여러 감각으로 이해하는 능력입니다.

사람은 누군가 "저 컵 좀 가져와"라고 말하면, 단순히 소리만 듣고 움직이지 않습니다. 목소리를 듣고, 시선을 따라가고, 컵이 어디 있는지 보고, 거기까지 손이 닿는지 몸의 상태를 느끼고, 주변에 부딪힐 것이 없는지도 확인합니다. 이 자연스러운 과정이 바로 멀티모달의 본질입니다.

로봇도 마찬가지입니다. 말만 잘하는 로봇은 똑똑한 스피커에 가깝고, 보기만 잘하는 로봇은 움직일 줄 모르는 CCTV에 가깝습니다. 진짜 "AI 로봇답다"는 느낌은 듣고, 보고, 이해하고, 대답하고, 실제로 행동하는 흐름이 연결될 때 생깁니다.

최근 개인 개발자용 ROS 2 기반 로봇 플랫폼들도 카메라, 라이다, 마이크 배열, 음성 상호작용, 비전 인식, LLM 기반 계획 기능을 함께 묶는 방향으로 발전하고 있습니다. 즉, 멀티모달은 연구실 데모만의 개념이 아니라, 이제 개인 프로젝트에서도 충분히 시도할 수 있는 설계 방식이 되었습니다.1

멀티모달 로봇: 보고, 듣고, 말하고, 움직이기

멀티모달이란 정확히 무엇일까

멀티모달은 말 그대로 여러 종류의 입력과 출력을 함께 다루는 것입니다. 로봇에서 자주 쓰는 모달리티는 다음과 같습니다.

  • 시각: RGB 카메라, 깊이 카메라, 열화상 카메라

  • 청각: 마이크, 마이크 배열, 음성 방향 추정

  • 텍스트: 채팅 명령, 앱 입력, 시스템 로그

  • 거리와 자세 센서: 라이다, 초음파, IMU, 엔코더

  • 행동 출력: 바퀴, 로봇팔, 서보, 스피커, 디스플레이, LED

중요한 것은 입력 종류가 많다는 사실 자체가 아닙니다. 핵심은 서로 다른 입력이 하나의 상황 이해로 합쳐져야 한다는 점입니다.

예를 들어 사용자가 "왼쪽 책상 위에 있는 파란 책 보여줘"라고 말했을 때, 로봇은 다음을 연결해야 합니다.

음성으로 명령을 듣고, 카메라로 책상과 책을 보고, 자신의 몸 기준 왼쪽이 어디인지 알고, 필요하면 이동하거나 카메라 각도를 바꾸고, 결과를 말로 다시 설명해야 합니다.

이때 어느 하나만 빠져도 경험이 어색해집니다. 음성 인식만 되면 "파란 책"이 뭔지 모르고, 카메라만 잘 보면 사용자의 지시를 이해하지 못합니다. 결국 멀티모달 로봇은 여러 감각을 많이 붙인 로봇이 아니라, 감각들을 서로 번역해 주는 로봇이라고 보는 편이 더 정확합니다.

왜 멀티모달 로봇이 더 'AI 로봇답게' 느껴질까

그 이유는 간단합니다. 사람은 언어를 현실 세계에 연결하는 순간, 로봇이 진짜 이해했다고 느끼기 때문입니다.

사용자가 "저 앞에 뭐가 있어?"라고 물었을 때를 생각해 봅시다. 챗봇은 말은 잘할 수 있지만, 실제 장면을 보지 못하면 정답을 말할 수 없습니다. 반대로 카메라 인식 시스템은 장면을 분석할 수 있어도 질문 의도를 모르면 엉뚱한 정보만 내놓을 수 있습니다. 하지만 멀티모달 로봇은 질문을 이해하고, 카메라를 보고, 필요하면 앞으로 조금 움직인 뒤, "앞쪽 1미터 정도에 컵과 노트북이 있습니다"라고 답할 수 있습니다.

이때 사용자는 단순히 "답변이 나왔다"가 아니라, 로봇이 지금 내 앞의 세계를 보고 판단했다고 느낍니다. 이 감각이 중요합니다. 개인 프로젝트에서도 바로 이 부분이 결과물의 인상을 크게 바꿉니다.

멀티모달 로봇의 기본 구조

실전에서는 멀티모달 로봇을 다음 흐름으로 이해하면 가장 쉽습니다.

입력 수집 → 시간 정렬과 좌표 정렬 → 개별 인식 → 공통 상태 만들기 → 계획 수립 → 행동 실행 → 결과 설명

겉보기에는 길어 보이지만, 사실은 우리가 이미 아는 부품들의 조합입니다. 차례대로 풀어보겠습니다.

입력 수집: 카메라, 마이크, 텍스트, 센서를 한곳에 모으기

첫 단계는 각 입력을 제각각 받는 것입니다. 카메라는 이미지 프레임을 보내고, 마이크는 오디오 스트림을 보내고, 라이다는 거리 데이터를 보내고, IMU는 현재 자세 변화를 보냅니다. 텍스트 입력이 있다면 그것도 별도로 들어옵니다.

이 단계에서 중요한 것은 모든 입력에 시간과 출처를 붙이는 것입니다. 언제 들어온 데이터인지, 어느 센서에서 왔는지 명확해야 나중에 합칠 수 있습니다. ROS 2가 이런 일을 잘하는 이유도 바로 여기에 있습니다. ROS 2는 센서 데이터를 실어 나르는 공용 배관 역할을 하고, 토픽, 메시지, 타임스탬프, tf2 같은 도구로 여러 센서의 흐름을 연결할 수 있게 해 줍니다.2

쉽게 말해, 멀티모달 로봇 개발은 "센서를 많이 붙이는 일"이 아니라 "센서들이 서로 대화할 수 있게 만드는 일"입니다.

시간 정렬: 같은 순간의 데이터끼리 묶기

멀티모달 로봇이 처음 이상해지는 지점은 대개 여기입니다. 카메라는 초당 30장을 보내고, 라이다는 초당 10번 돌고, 음성 인식은 문장이 끝난 뒤에야 결과를 주고, IMU는 훨씬 빠르게 데이터를 보냅니다.

문제는 이 데이터들이 동시에 들어오지 않는다는 것입니다. 그래서 로봇은 "비슷한 시점의 데이터끼리" 묶어야 합니다.

예를 들어 사용자가 "저 사람 따라가"라고 말한 순간, 카메라가 본 사람 위치와 그때의 로봇 자세 정보가 엇갈리면 곧바로 추적이 어긋납니다. 입으로는 분명 저 사람을 말했는데, 로봇은 이미 지나간 프레임을 붙잡고 있을 수 있습니다.

ROS 2에서는 이런 문제를 다루기 위해 메시지 동기화 도구와 타임스탬프 기반 처리를 많이 사용합니다. 실제 라이다-카메라 퓨전 패키지들도 서로 다른 토픽을 동기화하고, 같은 시점의 이미지와 포인트클라우드를 묶은 뒤, tf2로 좌표를 변환해 하나의 물체 위치를 추정하는 방식으로 구성됩니다.3

비유하자면, 멀티모달은 악기 여러 개를 더하는 일이 아니라 합주를 맞추는 일입니다. 각 악기가 제 멋대로 연주하면 소음이 되고, 박자를 맞추면 음악이 됩니다.

좌표 정렬: 서로 다른 센서의 '앞'을 같게 만들기

시간만 맞춘다고 끝나지 않습니다. 카메라가 보는 앞과 라이다가 재는 앞, 로봇팔 기준의 앞은 서로 다를 수 있습니다. 그래서 멀티모달 로봇에는 좌표계 정렬이 필요합니다.

예를 들어 카메라가 "컵이 화면 오른쪽 아래에 있다"고 말해도, 그 정보만으로는 로봇팔이 바로 집을 수 없습니다. 화면 좌표를 로봇 몸 기준 좌표로 바꿔야 하고, 그다음 다시 로봇팔 좌표계로 넘겨야 합니다.

이 과정을 자주 어렵게 느끼지만, 핵심은 단순합니다. 로봇에게는 여러 기준점이 있고, 우리는 그것들을 연결하는 변환 관계를 알아야 합니다. ROS 2의 tf2가 중요한 이유도 바로 이것입니다. 센서 퓨전 시스템은 시간 정렬뿐 아니라, 센서 간 공간 관계를 유지해야 제대로 동작합니다.2

여기서 한 가지 현실적인 조언을 하자면, 개인 프로젝트에서는 완벽한 수학보다 일관된 좌표 관리 습관이 더 중요합니다. 프레임 이름을 통일하고, 카메라와 로봇 중심의 상대 위치를 문서화하고, 조금이라도 어긋나면 즉시 시각화로 확인하는 습관이 있으면 문제를 크게 줄일 수 있습니다.

개별 인식: 각 모달리티는 자기 일을 먼저 한다

멀티모달이라고 해서 모든 데이터를 한 모델에 한꺼번에 넣을 필요는 없습니다. 실제로는 대부분 각 입력이 먼저 자기 전문 분야를 처리한 뒤, 그 결과를 상위 계층에서 합칩니다.

예를 들어 이런 식입니다.

  • 음성 입력은 VAD, 웨이크워드, STT를 거쳐 텍스트 명령으로 바뀝니다.

  • 카메라는 객체 탐지, 사람 인식, QR 인식, 자세 추정 같은 비전 처리 결과를 냅니다.

  • 라이다는 장애물 거리, 자유 공간, 클러스터 위치를 계산합니다.

  • IMU와 엔코더는 현재 자세와 이동량 추정을 돕습니다.

여기서 이미지 모델과 언어 모델의 역할이 자연스럽게 갈립니다. 이미지 모델은 무엇이 보이는지에 강하고, 언어 모델은 무엇을 해야 하는지를 정리하는 데 강합니다. 둘 다 잘하지만 잘하는 종류가 다릅니다.

공통 상태 만들기: 멀티모달 로봇의 진짜 중심

초보자가 멀티모달 시스템을 만들 때 자주 놓치는 것이 하나 있습니다. 카메라 결과, 음성 결과, 센서 결과를 그냥 흘려보내기만 하고, 하나의 공통 상태판을 만들지 않는 것입니다.

하지만 로봇은 결국 이렇게 생각해야 합니다.

"지금 내 앞 80cm에 컵이 있고, 사용자는 그 컵을 가리키며 집어 달라고 했고, 내 팔은 현재 이 자세이며, 오른쪽에는 충돌 위험이 있다."

이 문장은 여러 모달리티가 합쳐진 결과입니다. 음성만으로도, 카메라만으로도, IMU만으로도 완성되지 않습니다. 그래서 멀티모달 로봇에는 보통 공유 상태가 필요합니다. 형식은 다양하지만, 개념은 같습니다.

예를 들면 이런 정보가 들어갑니다.

  • 현재 사용자 의도

  • 최근 음성 명령과 신뢰도

  • 시야 안의 물체 목록과 위치

  • 사람, 장애물, 금지 구역 정보

  • 로봇의 현재 위치와 자세

  • 배터리와 네트워크 상태

  • 현재 실행 중인 작업 단계

이 공통 상태가 없으면 로봇은 매 순간 새로 태어난 금붕어처럼 행동합니다. 조금 전 사용자가 말한 "그거"가 무엇인지도 기억하지 못하고, 방금 카메라가 본 컵 위치도 다음 순간 잊어버립니다.

이미지 모델, 언어 모델, 제어 모듈은 어떻게 연결될까

이 장의 핵심 질문으로 들어가 봅시다. 멀티모달 로봇에서 세 가지 모듈은 보통 이렇게 나뉩니다.

이미지 모델은 장면을 해석합니다. 컵, 책, 사람, 문, 손짓, 표정, 바닥 경계 같은 것을 찾습니다. 필요하면 깊이 카메라나 라이다와 함께 써서 거리도 추정합니다.

언어 모델은 의도와 계획을 정리합니다. 사용자가 원하는 작업이 무엇인지 해석하고, "먼저 찾고, 그다음 접근하고, 마지막으로 보고하자" 같은 순서를 만듭니다. 또한 결과를 사람이 이해할 수 있는 문장으로 설명합니다.

제어 모듈은 실제로 움직입니다. 바퀴를 굴리고, 팔을 뻗고, 카메라 각도를 바꾸고, 스피커로 말하고, 필요하면 즉시 멈춥니다.

이 셋을 한 줄로 그리면 보통 다음과 같습니다.

센서와 입력 → 인식 모듈 → 공유 상태 → 언어 모델/플래너 → 제어 API → 실행 결과 → 다시 공유 상태 갱신

이 구조에서 중요한 것은 언어 모델이 직접 모터 값을 만들지 않는다는 점입니다. 언어 모델은 "컵을 찾아 오른쪽으로 30cm 접근" 같은 상위 명령을 내리고, 실제 속도 제어와 경로 계산은 제어 모듈이 담당합니다. 그래야 느린 추론과 빠른 제어가 섞이지 않습니다.

간단한 예시: "저 컵이 뭐야?"

이 한 문장 안에도 멀티모달이 가득 들어 있습니다.

먼저 마이크가 음성을 받고, STT가 "저 컵이 뭐야?"라는 텍스트를 만듭니다. 여기서 언어 모델은 사용자가 질문한 대상이 "저 컵"이라는 지시어라는 점을 파악합니다. 하지만 "저"는 말만 들어서는 부족합니다. 로봇은 시각 정보가 필요합니다.

그래서 카메라 모듈은 현재 장면에서 컵 후보를 찾고, 필요하면 사용자의 손가락 방향이나 화면 중심에 가까운 물체를 함께 참고합니다. 깊이 정보가 있다면 가장 가까운 컵을 선택할 수도 있습니다.

그다음 이미지 모델이나 비전-언어 모델이 "흰색 머그컵"이라고 판단합니다. 언어 모델은 이 결과를 받아 "앞쪽 책상 위에 흰색 머그컵이 있습니다"라고 자연스럽게 바꿔 말합니다.

중요한 점은 어느 한 모델이 모든 일을 다 하지 않았다는 것입니다. 음성은 음성 모듈이, 시각은 시각 모듈이, 설명은 언어 모델이 담당했습니다. 멀티모달 로봇은 만능 모델 하나보다 역할이 잘 나뉜 팀플레이에 가깝습니다.

조금 더 복잡한 예시: "파란 책 찾아서 보여줘"

이 명령은 질문이 아니라 행동 요청입니다. 그래서 제어 모듈까지 개입해야 합니다.

먼저 음성 명령이 텍스트로 바뀝니다. 언어 모델은 목표를 "파란 책 탐색"으로 해석합니다. 카메라 모듈은 현재 시야에서 책 후보를 찾고, 없다면 탐색 실패를 바로 선언하지 않습니다. 대신 로봇은 카메라를 좌우로 돌리거나, 책상 앞쪽으로 조금 이동해 더 넓게 봅니다.

이 과정에서 공유 상태는 계속 갱신됩니다. "왼쪽 구역 탐색 완료", "파란색 표지 후보 발견", "거리 1.2m", "접근 가능" 같은 정보가 누적됩니다. 언어 모델은 이 상태를 보고 "후보를 찾았으니 가까이 가서 다시 확인하자" 같은 계획 수정을 할 수 있습니다.

마침내 책을 찾으면 로봇은 화면에 표시하거나 카메라를 줌인하고, 스피커로 "왼쪽 선반 두 번째 칸에서 파란 책을 찾았습니다"라고 말할 수 있습니다. 이 순간 사용자 입장에서는 로봇이 그냥 대답한 것이 아니라, 찾고, 보고, 판단하고, 안내했다고 느끼게 됩니다.

센서 퓨전은 왜 필요한가

멀티모달 로봇에서 자주 만나는 개념이 센서 퓨전입니다. 어렵게 들리지만, 뜻은 단순합니다. 센서 하나로는 부족하니 서로의 약점을 메운다는 것입니다.

카메라는 색과 모양을 잘 보지만 거리에는 약할 수 있습니다. 라이다는 거리를 잘 재지만 색을 모릅니다. IMU는 몸의 기울기와 움직임 변화를 빠르게 알려 주지만 시간이 지나면 오차가 쌓일 수 있습니다. 그래서 여러 센서를 합치면 더 안정적인 판단이 가능합니다.2

특히 카메라와 라이다를 함께 쓰는 구조는 많이 쓰입니다. 카메라가 "저건 사람이다"라고 알려 주고, 라이다가 "저 사람은 2.3미터 앞에 있다"를 보태는 식입니다. 실제 ROS 2 기반 퓨전 예제들은 이미지 토픽, 카메라 정보, 포인트클라우드, 객체 탐지 결과를 함께 받아서 3D 위치를 추정하고 시각화합니다.3

개인 개발자 관점에서는 너무 거대한 퓨전 시스템을 처음부터 만들 필요는 없습니다. 오히려 다음처럼 시작하는 편이 좋습니다.

  • 카메라 + 초음파 센서로 "보이는 물체"와 "가까운 장애물"을 함께 보기

  • 카메라 + 깊이 카메라로 물체의 종류와 대략적 거리 함께 얻기

  • 카메라 + IMU로 로봇이 흔들릴 때 시야 변화를 보정하기

핵심은 화려한 논문 수준의 퓨전이 아니라, 로봇이 덜 멍청해지는 조합을 만드는 것입니다.

멀티모달 로봇의 말하기는 단순 TTS가 아니다

로봇이 말하는 것도 멀티모달의 일부입니다. 많은 사람이 "음성 출력은 마지막에 TTS만 붙이면 되지"라고 생각하지만, 실제로는 그렇지 않습니다.

좋은 로봇의 말하기는 상황과 연결되어야 합니다. 로봇은 지금 무엇을 보고 있는지, 어떤 행동을 하려는지, 무엇 때문에 멈췄는지를 설명할 수 있어야 합니다. 즉, 말은 장식이 아니라 행동 설명 인터페이스입니다.

예를 들어 로봇이 갑자기 멈췄을 때 "멈췄습니다"라고만 말하면 사용자는 답답합니다. 하지만 "앞쪽 40cm에 장애물이 있어 잠시 멈췄습니다"라고 말하면 상황이 이해됩니다. 이런 설명은 단순 음성 합성이 아니라, 공유 상태를 언어로 바꾸는 작업입니다.

최근에는 Jetson 같은 보드에서 STT, VLM, TTS를 로컬로 묶고, 툴 호출을 통해 실제 로봇 동작과 연결하는 예시도 나오고 있습니다. 이런 구조는 응답 지연을 줄이고, 인터넷 의존성을 낮추며, 프라이버시 측면에서도 유리합니다.4

느린 두뇌와 빠른 반사신경을 다시 구분하자

멀티모달이 들어오면 시스템은 더 똑똑해지지만, 동시에 더 느려질 위험도 커집니다. 카메라 분석, 음성 인식, LLM 추론까지 모두 거치면 꽤 많은 시간이 걸릴 수 있기 때문입니다.

그래서 여기서도 지난 장의 원칙이 중요합니다. 빠른 루프와 느린 루프를 분리해야 합니다.

장애물 회피, 균형 유지, 급정지, 모터 제어 같은 것은 빠른 루프에서 돌아야 합니다. 반면 장면 설명, 장기 계획, 사용자의 질문 답변은 느린 루프에 있어도 됩니다.

예를 들어 사용자가 "저기 사람 따라가"라고 말했을 때, 사람이라는 목표를 정하는 것은 느린 추론입니다. 하지만 실제 추적 중에 사람과의 거리를 유지하고 장애물을 피하는 것은 빠른 제어입니다. 이 둘이 섞이면, 로봇은 생각하다가 벽에 부딪히는 아주 비싼 장난감이 됩니다.

개인 개발자를 위한 현실적인 구현 패턴

멀티모달 로봇을 만든다고 해서 처음부터 대형 모델 여러 개와 거대한 센서 퓨전 스택을 올릴 필요는 없습니다. 개인 개발자에게는 단계적으로 커지는 구조가 좋습니다.

1단계: 데스크 멀티모달 로봇

USB 카메라, 마이크, 스피커, 작은 서보 하나만 있어도 시작할 수 있습니다. 사용자가 말하면 STT로 텍스트를 만들고, 카메라가 책상 위 장면을 보고, 언어 모델이 설명을 만들고, 서보가 고개를 돌리거나 LED 표정을 바꿉니다.

이 단계의 목표는 "말과 시각이 연결된 상호작용"을 만드는 것입니다.

2단계: 이동 가능한 멀티모달 로봇

여기에 바퀴와 거리 센서를 붙이면 훨씬 재미있어집니다. 이제 로봇은 "앞쪽을 보고 설명"하는 수준을 넘어, "가까이 가서 다시 보고 설명"할 수 있습니다. 즉, 인식이 행동을 유도하고, 행동이 다시 더 나은 인식을 만드는 루프가 생깁니다.

이 단계부터는 공유 상태와 안전 정지가 특히 중요해집니다.

3단계: 집을 수 있는 멀티모달 로봇

로봇팔이나 그리퍼를 붙이면 "저거 집어줘" 같은 명령이 가능해집니다. 다만 이때부터는 시각 인식만으로 부족하고, 깊이 정보와 좌표 변환, 그리퍼 상태, 작업 가능 범위까지 함께 봐야 합니다.

이 단계의 핵심은 로봇이 세상을 설명하는 데서 끝나지 않고, 세상에 손을 대기 시작한다는 점입니다. 그래서 멀티모달 구조가 더 중요해집니다.

멀티모달에서 자주 생기는 착각

첫 번째 착각은 비전-언어 모델 하나면 다 된다는 생각입니다. 물론 VLM은 대단합니다. 이미지를 보고 설명하고, 질문에 답하고, 대상을 찾는 데 매우 유용합니다. 하지만 실제 로봇에서는 실시간 제어, 안전 정지, 센서 동기화, 좌표 변환 같은 문제를 대신 해결해 주지 않습니다.

두 번째 착각은 센서가 많을수록 무조건 똑똑하다는 생각입니다. 센서가 늘면 오히려 정렬과 디버깅 포인트도 늘어납니다. 카메라 두 대, 라이다 하나, 마이크 배열까지 붙였는데 좌표계가 꼬여 있으면, 그 로봇은 감각이 많은 게 아니라 혼란이 많은 상태입니다.

세 번째 착각은 로봇이 알아서 문맥을 이해할 것이라는 기대입니다. "저거", "아까 그거", "왼쪽에 있는 거" 같은 표현은 사람에겐 쉽지만 로봇에겐 어렵습니다. 이런 표현을 처리하려면 최근 대화 기록, 최근 시각 인식 결과, 사용자 방향, 현재 시선 중심 같은 정보가 함께 있어야 합니다.

실패 처리까지 포함해야 진짜 멀티모달이다

멀티모달 로봇은 여러 입력을 쓰기 때문에 실패 처리 방식도 더 풍부해야 합니다.

예를 들어 음성 인식이 불확실하면 로봇은 "컵이라고 하셨나요, 북이라고 하셨나요?"라고 되물을 수 있습니다. 시각 인식이 애매하면 "조금 더 가까이 가서 다시 볼게요"라고 말하고 접근할 수 있습니다. 거리 센서가 위험을 감지하면 계획을 잠시 멈추고 "앞이 막혀 있어 우회하겠습니다"라고 설명할 수 있습니다.

이런 식으로 실패를 다른 모달리티로 보완하는 것이 멀티모달의 진짜 장점입니다. 듣기가 애매하면 보기로 보완하고, 보기가 애매하면 움직여서 다시 보고, 그래도 애매하면 사람에게 확인을 요청합니다. 이 유연함이 로봇을 훨씬 덜 답답하게 만듭니다.

'AI 로봇답다'는 느낌을 만드는 작은 디테일

멋진 멀티모달 시스템은 거창한 모델 크기보다 작은 연결에서 나옵니다.

로봇이 질문을 받으면 곧바로 대답하지 않고 잠깐 시선을 돌려 장면을 확인하는 동작, 사용자가 말을 끊으면 발화를 멈추고 다시 듣는 반응, 물체를 찾지 못했을 때 조용히 실패하지 않고 이유를 설명하는 태도, 이런 것들이 다 합쳐져 인상을 만듭니다.

실제로 최근 로봇 플랫폼과 데모들은 음성 명령, 비전 인식, 이동, 집기, 장면 설명을 ROS 2 구조 안에서 연결하는 방향으로 발전하고 있습니다. 결국 사용자 경험의 핵심은 "대단한 모델"보다 "끊기지 않는 상호작용"에 있습니다.1

처음 만들 때 추천하는 최소 아키텍처

처음부터 복잡하게 가지 말고, 다음 정도로 시작해 보길 권합니다.

  • 입력 계층: 카메라 1대, 마이크 1개 또는 마이크 배열, 텍스트 입력

  • 인식 계층: STT, 간단한 객체 탐지 또는 VLM, 거리 센서 해석

  • 상태 계층: 현재 명령, 보이는 물체, 로봇 자세, 배터리, 위험 상태 저장

  • 판단 계층: LLM 또는 규칙 기반 플래너

  • 실행 계층: 이동, 카메라 팬틸트, 발화, 정지 API

  • 설명 계층: TTS와 화면 텍스트로 결과 보고

이 구조만 갖춰도 "책상 위에 뭐가 있어?", "저 컵 가까이 보여줘", "앞이 위험하면 멈춰" 같은 상호작용은 충분히 만들 수 있습니다. 중요한 것은 완벽한 자율성보다, 각 모달리티가 왜 필요한지 분명한 구조를 만드는 것입니다.

이 장의 핵심 정리

멀티모달 로봇은 카메라, 음성, 텍스트, 센서를 한데 모아 놓은 로봇이 아닙니다. 그보다 더 중요한 것은, 이 서로 다른 입력을 하나의 상황 이해와 행동 계획으로 연결하는 구조입니다.

이미지 모델은 장면을 보고, 언어 모델은 의도를 이해하고 계획을 세우며, 제어 모듈은 실제로 움직입니다. 그리고 그 사이에는 시간 정렬, 좌표 정렬, 공유 상태, 안전 검사 같은 보이지 않는 연결부가 있습니다. 이 연결부가 튼튼해야 로봇은 말도 잘하고, 보기도 잘하고, 실제로도 믿을 만하게 움직입니다.

개인 개발자에게도 이 접근은 충분히 현실적입니다. 처음에는 카메라와 음성, 간단한 이동만 연결해도 좋습니다. 중요한 것은 감각을 많이 붙이는 것이 아니라, 듣고 본 것을 행동으로 바꾸는 루프를 만드는 것입니다.

이 루프가 만들어지는 순간, 로봇은 단순한 전자 장난감을 넘어섭니다. 그때부터 비로소 우리는 "아, 이건 진짜 AI 로봇 같네"라는 말을 하게 됩니다.

참고

1ROSOrin: A Multimodal ROS 2 Platform for Embodied AI

2ROS and Sensor Fusion: Integration and Tooling

3GitHub - AbdullahGM1/l2i_fusion_detection

4GitHub - amarrmb/reachy-mini: Voice + vision AI brain for Reachy Mini robot

책 목록

혼자 만드는 AI 로봇: 개인 개발자를 위한 현실적인 로봇 제작 로드맵

전체 목차 보기

이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.

틸노트는 사용자가 AI를 활용해 노트를 쉽게 작성하거나 편집할 수 있는 서비스입니다.

AI 스퀘어 단톡방에 함께해요

AI 활용과 틸노트 사용 팁을 나누는 오픈채팅방입니다. 입장 비밀번호는 tilnote입니다.

참여하기