← 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.
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