← All projects

SB01 — Unitree G1 Conversation

A voice-driven conversation system for the Unitree G1 humanoid robot, nicknamed sb01. The robot listens via on-board ASR, reasons with Claude, and speaks back with Edge TTS in real time — with face recognition loading a per-person memory profile at startup. Developed for the CSUSB robotics program.

Embodied AILLMsRobot Learning

Video

Architecture

G1 ASR (DDS)
→
sb01_conversation.py
→
Claude API
→
Edge TTS
→
G1 speaker
↕
face_id.py + memory_manager.py
— who is this? what do I know?

1. ASR callback receives speech transcripts over DDS (rt/audio_msg) · 2. Emotion tag drives chest LED color · 3. Claude builds a reply from conversation history + per-person memory · 4. Edge TTS streams audio back to the G1 speaker · 5. On shutdown, Claude summarizes the session and extracts new facts.

Media

robot + LED photo
face enrollment screenshot
hardware / network setup

Overview

Features

  • Voice conversation over DDS with natural speech replies
  • Emotion-aware chest LEDs (happy → yellow, sad → purple, angry → red)
  • Face recognition at startup, loading a persistent per-person memory profile
  • Automatic weather lookups when a weather question is detected
  • Multilingual TTS — auto-detects English vs. Spanish

Hardware

  • Ethernet (eno0) for DDS — ASR in, TTS/LED out
  • WiFi for Claude API + web/weather lookups
  • Unitree SDK2 for DDS communication with the G1