4 minute read

🚀 캡스톤 디자인 기획 리뷰 및 피벗(Pivot) 제안

프로젝트: Indory ➔ Home-Dory (스마트홈 심부름 에이전트)

안녕하세요! 이번 1학기 캡스톤 디자인 멘토링을 맡게 되었습니다. 여러분이 작성한 ‘Indory (Indoor Delivery Agent)’ 기획서를 아주 흥미롭게 잘 읽어보았습니다. V-SLAM 기반의 공간 인식부터 Nav2 주행, 그리고 LeRobot을 활용한 VLA 파지까지, 최근 로봇 공학의 트렌드를 훌륭하게 짚어낸 야심 찬 기획입니다.

하지만 현업 엔지니어의 시각에서, 한 학기(약 3~4개월)라는 제한된 시간 안에 아파트 복도 주행과 엘리베이터 탑승 등 통제할 수 없는 변수들을 모두 구현하는 것은 현실적으로 리스크가 매우 큽니다.

따라서 프로젝트의 성공적인 데모와 여러분의 포트폴리오 가치를 극대화하기 위해, “Embodied AI 기반 스마트홈 심부름 에이전트”로의 과감한 피벗(Pivot)을 제안합니다.


💡 왜 ‘집안 심부름 로봇’인가? (The Pivot)

공간의 스케일(아파트 ➔ 실내 단일 층)은 줄이는 대신, 지능의 깊이(단순 배달 ➔ 인지 및 판단)를 극대화하는 전략입니다.

  1. 불확실성 제거: 조도 변화가 심한 복도나 통신이 끊기는 엘리베이터 대신, 거실이나 연구실 등 통제된 실내 환경으로 무대를 옮겨 자율주행의 안정성을 확보합니다.
  2. 최신 AI 트렌드 부합: 정해진 목적지로 가는 것을 넘어, 사용자의 자연어 명령(음성)을 이해하고 스스로 작업 계획(Task Planning)을 세워 물리적으로 행동하는 Embodied AI 파이프라인을 완성합니다.
  3. 확실한 데모 임팩트: 캡스톤 심사장에서 “물 좀 가져다줄래?”라는 말에 로봇이 물컵을 찾아 집어오는 시연은 그 어떤 배달 알림보다 강력한 임팩트를 줍니다.

🧠 전체 시스템 아키텍처 (The Big Picture)

로봇의 동작은 크게 세 가지 단계로 나뉩니다.

  • Phase 1. Perception & Planning (두뇌): STT ➔ OpenClaw (AI Agent) ➔ Task Planning
  • Phase 2. Navigation (이동): 2D LiDAR + RGB-D ➔ ROS2 Nav2 자율 주행
  • Phase 3. Action (동작): LeRobot + VLA ➔ 사물 파지 및 전달

🛠️ 단계별 기술 스택 가이드

1. 상황 인지 및 에이전트 (Agentic AI)

사용자의 말을 듣고 무엇을 해야 할지 스스로 계획하는 모듈입니다.

  • 음성 인식 (STT): OpenAI Whisper API 또는 로컬 경량화 모델을 사용하여 사용자의 명령(“탁자 위 리모컨 좀 줘”)을 텍스트로 변환합니다.
  • AI 에이전트 (OpenClaw / LLM): 로봇이 가진 환경 데이터베이스(가구 위치, 사물 정보)를 프롬프트로 제공하여 LLM이 맥락을 추론하도록 합니다.
  • 작업 분해 (Task Planning): LLM이 “1. 탁자로 이동 ➔ 2. 리모컨 탐색/파지 ➔ 3. 사용자에게 복귀”라는 순차적 명령을 생성하여 주행 및 제어 모듈로 전달합니다.

2. 자율 주행 및 매핑 (Navigation)

에이전트가 지시한 목표 지점까지 장애물을 피해 안전하게 이동합니다.

  • Global Mapping (2D LiDAR): RPLiDAR A2/A3 등의 2D 라이다를 사용하여 넓은 실내의 점유 격자 지도(Occupancy Grid Map)를 안정적으로 생성합니다.
  • Local Costmap (RealSense RGB-D): 2D 라이다가 보지 못하는 바닥의 작은 물체나 장애물을 RGB-D의 3D 데이터로 보완하여 회피 기동에 사용합니다.
  • 주행 프레임워크: ROS2 기반의 Nav2 스택을 활용하여 주행 안정성을 확보합니다.

3. 로봇 제어 및 동작 (VLA & Manipulation)

목표 지점 도착 후, 비전으로 사물을 식별하고 로봇 팔을 제어합니다.

  • 동작 프레임워크: 기존 기획대로 LeRobot 생태계를 적극 활용합니다.
  • 동작 제어 (VLA): 언어(Language) 명령과 카메라의 시각(Vision) 정보를 입력받아, 로봇 팔의 조인트 제어값(Action)을 직접 출력합니다.
  • 학습 환경: 컵, 리모컨 등 특정 타겟 사물을 정해 MuJoCo 등의 시뮬레이션 환경 또는 실제 환경(Teleoperation)에서 파지(Grasping) 데이터를 수집하고 학습시킵니다.

📅 1학기 성공을 위한 마일스톤 제안

방대한 시스템인 만큼 선택과 집중이 필요합니다. 아래 일정으로 차근차근 진행해 봅시다.

  1. 1개월 차 (기반 구축): ROS2 세팅, 2D LiDAR 기반 실내 매핑 완료, LeRobot 및 로봇 팔 하드웨어 구동 테스트.
  2. 2개월 차 (AI 파이프라인): STT ➔ LLM 프롬프트 엔지니어링 및 작업 분해(Task Planning) 로직 구축.
  3. 3개월 차 (VLA 학습): 타겟 물체 2~3개에 대한 데이터 수집 및 파지(Grasping) 집중 학습.
  4. 4개월 차 (통합/디버깅): 음성 명령부터 파지, 그리고 사용자에게 복귀하기까지의 전체 시나리오 통합 및 데모 시연 준비.

이번 캡스톤 프로젝트가 여러분의 역량을 한 단계 끌어올리는 멋진 경험이 되기를 바랍니다. 구현하다 막히는 부분이 있다면 언제든 논의해 봅시다! 🚀


🛠️ 부록: 학생들을 위한 LeRobot + MuJoCo 시뮬레이션 환경 세팅 가이드

실제 로봇(하드웨어)이 조립되기 전이나, 잦은 충돌로 인한 모터 파손 위험 없이 안전하게 VLA 모델을 학습시키기 위해서는 시뮬레이션 환경 구축이 필수적입니다. Unity 환경도 언급되었지만, 파지(Grasping) 시의 접촉 물리 연산이 빠르고 정교하며 PyTorch 생태계와 결합하기 가장 좋은 MuJoCo + LeRobot 조합을 강력히 추천합니다.

1. 개발 환경 준비

  • OS 및 하드웨어: VLA 모델 학습과 ROS2 구동을 위해 Ubuntu 22.04 환경과 넉넉한 VRAM(16GB 이상 권장)을 갖춘 NVIDIA GPU PC를 메인 훈련용으로 세팅하는 것이 좋습니다.
  • 필수 라이브러리: CUDA Toolkit 및 최신 PyTorch 환경을 구축합니다.

2. 로봇 모델링 (CAD to MJCF/URDF)

시뮬레이터의 첫 관문은 기구부 설계 파일(CAD)을 물리 엔진이 이해할 수 있는 포맷으로 변환하는 것입니다.

  • OpenClaw나 직접 설계한 로봇 팔의 CAD 데이터를 URDF 또는 MJCF 포맷으로 변환해야 합니다.
  • 조인트(Joint)의 가동 범위(Limit), 질량(Mass), 마찰계수(Friction) 등을 XML 파일에 정확히 기입해야 가상 환경과 현실(Sim-to-Real) 간의 오차를 줄일 수 있습니다. (이 부분은 CAD를 물리 모델로 변환하는 데 익숙하신 현업 선배의 팁을 구해보세요!)

3. LeRobot 및 MuJoCo 설치

Hugging Face의 LeRobot 패키지에는 MuJoCo 기반의 시뮬레이션 환경이 기본적으로 아주 잘 통합되어 있습니다. 터미널에서 아래와 같이 환경을 구성합니다.

# 파이썬 가상환경 생성 및 활성화
conda create -n lerobot python=3.10
conda activate lerobot

# LeRobot 및 의존성 설치 (MuJoCo 엔진 포함)
git clone https://github.com/huggingface/lerobot.git
cd lerobot
pip install -e .

4. 시뮬레이션 환경에서의 데이터 수집 (Teleoperation)

VLA 모델을 학습시키려면 로봇이 “어떻게 움직여야 하는지” 정답(Demonstration) 데이터가 필요합니다.

  • 실제 환경에서 값비싼 로봇 팔 2대(리더-팔로워)를 구성하기엔 캡스톤 예산이 부족할 수 있습니다.
  • 대신, 시뮬레이션 가상 공간 안에서 게임 패드나 키보드, 3D 마우스를 이용해 로봇을 원격 조작(Teleoperation)하며 컵이나 리모컨을 집는 동작 데이터를 대량으로 수집합니다.
  • 수집되는 주요 데이터: 카메라 이미지(Vision), 로봇 팔의 현재 관절 각도(State), 사용자가 조작한 관절 제어 목표값(Action).

5. VLA 모델 학습 및 검증

  • LeRobot에서 제공하는 기본 훈련 스크립트(ACT, Diffusion Policy 등 지원)를 활용해 수집된 데이터셋을 학습시킵니다.
  • 학습이 완료된 모델의 추론(Inference) 결과를 다시 MuJoCo 시뮬레이터로 보내, 로봇 팔이 물건을 제대로 집는지 검증합니다. 성공률이 확보되면 실제 임베디드 보드와 LeRobot 하드웨어에 배포(Deployment)하여 최종 테스트를 진행합니다.

Tags:

Categories:

Updated: