로봇이 유아용 보드 게임을? VLA와 Gemini 3 Flash의 만남!
로봇 공학(Robotics)과 LLM(Large Language Models)을 결합하여 유아용 보드 게임을 플레이하는 'Embodied AI' 프로젝트를 소개
VLA 모델을 활용하여 로봇의 움직임을 제어하고, Gemini 3 Flash를 통해 게임 상태를 추적하는 AI 시스템 구축
데이터 수집의 어려움, 모델 훈련 과정에서의 시행착오, 하드웨어 문제 등 구현 과정의 기술적 난관을 상세히 설명
SmolVLA 모델을 활용하여 훈련된 모델의 성능을 개선하고, Gemini 3 Flash를 활용한 게임 루프 구현
향후 VLA 아키텍처 탐구, 로컬 상태 추적 등 추가적인 연구 및 개선 방향 제시
VLA 모델(VLA Model) 기반 로봇 제어 아키텍처
본문에서는 VLA(Vision-Language-Action) 모델을 사용하여 로봇의 움직임을 제어하는 아키텍처를 제시한다. VLA 모델은 시각 정보와 자연어 명령을 결합하여 로봇이 특정 작업을 수행하도록 학습된다.
데이터 수집(Data Collection): 로봇의 움직임을 학습하기 위해 다양한 시나리오에서 데이터를 수집하고, 각 동작에 대한 레이블을 지정
모델 훈련(Model Training): 수집된 데이터를 사용하여 VLA 모델을 훈련시키고, 로봇의 동작을 예측하고 제어할 수 있도록 학습
추론 및 실행(Inference & Execution): 훈련된 모델을 사용하여 로봇의 동작을 추론하고, 실제 환경에서 작업을 수행
이러한 아키텍처는 로봇이 복잡한 환경에서 작업을 수행할 수 있도록 하며, 강화 학습(Reinforcement Learning)과 결합하여 더욱 정교한 동작을 구현할 수 있다.
Gemini 3 Flash를 활용한 게임 상태 관리
본문에서는 Gemini 3 Flash를 사용하여 게임의 상태를 관리하고, 로봇의 의사 결정을 돕는 방법을 설명한다. Gemini 3 Flash는 LLM(Large Language Model)의 일종으로, 자연어 이해 및 생성 능력을 바탕으로 게임의 규칙을 이해하고, 로봇에게 적절한 명령을 내릴 수 있다.
시스템 지침(System Instructions): Gemini 3 Flash에게 게임의 규칙과 환경에 대한 정보를 제공하여 정확한 판단을 유도
구조화된 출력(Structured Output): Pydantic 모델을 사용하여 Gemini 3 Flash의 출력을 구조화하고, 파싱(Parsing) 및 활용 용이성 확보
Agentic Vision: Gemini 3 Flash의 Agentic Vision 기능을 활용하여 이미지 내 특정 영역을 확대하고, 세부 정보를 파악하여 정확도를 향상
이러한 접근 방식은 로봇이 복잡한 환경에서 자율적인 의사 결정(Autonomous Decision-Making)을 수행할 수 있도록 돕는다.
데이터 수집 과정에서의 기술적 난관
본문에서는 VLA 모델 훈련을 위한 데이터 수집 과정에서 겪은 어려움을 상세히 설명한다. 데이터 수집은 로봇 공학 프로젝트에서 가장 많은 시간과 노력이 소요되는 부분이며, 데이터의 품질이 모델의 성능에 직접적인 영향을 미친다.
수집 방식(Collection Method): Task Decomposition 방식과 End-to-End Policy 방식 중 End-to-End 방식을 선택하여, 로봇의 전체 동작을 하나의 정책으로 학습
데이터셋 구성(Dataset Composition): 4가지 특정 작업(Place the red fruit in the box 등)에 대해 각 100개의 에피소드를 수집하여 총 400개의 에피소드로 구성
도구 활용(Tool Utilization): lerobot-record 명령어를 사용하여 카메라 설정, 로봇 ID 설정, 데이터셋 설정을 자동화하고, --resume=true 플래그를 통해 중단 없는 데이터 수집 환경 구축
데이터 수집 과정에서 발생하는 문제들을 해결하기 위해, 다양한 시도와 반복적인 실험(Iterative Experimentation)이 필요하다.
SmolVLA 모델 훈련 및 성능 분석
본문에서는 SmolVLA 모델을 사용하여 로봇의 동작을 학습시키고, 훈련 과정에서 다양한 파라미터(Parameter) 및 아키텍처(Architecture)를 실험한 결과를 분석한다. 모델 훈련은 로봇의 성능을 결정하는 핵심 요소이며, 다양한 실험을 통해 최적의 모델을 찾아야 한다.
Iteration 1: The Quick Test: SmolVLA 모델을 사용하여 2시간 동안 훈련, 짧은 훈련 시간에도 불구하고 일부 에피소드에서 놀라운 성능을 보였으나, 불안정한 동작도 발생
Iteration 2: Pushing the Boundary with SmolVLA: A-100 고성능 GPU를 사용하여 SmolVLA 모델을 100,000 스텝(Step) 동안 훈련, 이전보다 향상된 성능을 보였으며, 실제 게임 플레이 가능
Iteration 3: The Pi0 Disaster: Pi0-Fast 모델을 사용하여 200,000 스텝 동안 훈련, 모델의 불안정성으로 인해 로봇 팔이 파손되는 문제 발생
다양한 모델과 파라미터 실험을 통해, 최적의 모델 아키텍처(Optimal Model Architecture)와 훈련 설정을 찾아야 한다.
Gemini 3 Flash 기반 게임 루프 구현
본문에서는 Gemini 3 Flash를 활용하여 게임의 흐름을 제어하고, 로봇의 동작을 관리하는 게임 루프(Game Loop)를 구현하는 방법을 설명한다. 게임 루프는 로봇이 게임을 진행하는 핵심 로직이며, Gemini 3 Flash를 통해 게임의 규칙을 이해하고, 상황에 맞는 동작을 수행할 수 있다.
주사위 굴리기(Roll Dice): random.randint() 함수를 사용하여 주사위 굴림을 시뮬레이션하고, 결과를 반환
게임 상태 확인(Check Game State): Gemini 3 Flash를 사용하여 게임의 상태를 확인하고, 게임 종료 여부를 판단
과일 존재 여부 확인(Check Fruit Exists): Gemini 3 Flash를 사용하여 특정 과일이 보드에 남아있는지 확인하고, 남아있지 않은 과일은 EMPTY_FRUITS 세트에 추가
이러한 과정을 통해 로봇은 게임의 규칙을 준수하며, 자율적으로 게임을 진행(Autonomous Game Play)할 수 있다.