Skip to content

Tuesday-Labs/maya

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Maya Cover

Maya

Maya is an advanced AI assistant designed to give a "brain" and personality to the Unitree G1 humanoid robot. It orchestrates voice interaction, vision, and motion to create a lifelike companion.

Core Goal: Build an ultra-low latency voice pipeline, cutting down on every millisecond possible to achieve a smooth, natural back-and-forth conversation with the user.

Audience

This project is designed for both laymen (to understand the capabilities and interact with Maya) and developers (to extend the features and build on top of the Unitree SDK).

Features

  • Wake Word Detection: Listens for the name "Maya" to activate.
  • Async Voice Pipeline: Full async pipeline linking Speech-to-Text (STT), Small Language Model (SLM), and Text-to-Speech (TTS).
  • Emotional Intelligence: Leverages the PAD emotional state model baked into the SLM to simulate realistic emotions and personality.
  • Streaming Response: SLM output is piped directly to TTS for near-instant responses.
  • Hardware Integration: Controls Unitree G1 LEDs to show states (Listening, Thinking, Speaking) and triggers arm motions synchronized with speech.
  • Smooth Motion Interpolation: Implements smooth transitions between joint states to eliminate jerky movements, making Maya's physical responses feel fluid and lifelike.
  • Remote Control: Support for wireless remote stop button (key 64) to interrupt the robot in noisy environments.

Tech Stack

Project Structure

  • main.py: The central orchestrator tying all services together.
  • SLM/: Small Language Model service for generating responses.
  • TTS/: Text-to-Speech service (currently using ElevenLabs).
  • STT/: Speech-to-Text service for transcribing user input.
  • WAKEWORD/: Wake word detection service listening for "Maya".
  • INTERFACE/: Services for hardware interaction (LEDs, Motion).
  • HIGH_LEVEL/: High-level control logic for the robot.

Installation & Setup

  1. Clone the repository to the robot's compute board or a connected local machine.
  2. Install dependencies:
    pip install -r requirements.txt
  3. Configure Wake Word: Ensure your microphone device name is correctly set in WAKEWORD/config.json.
  4. Ollama: Ensure Ollama is installed and running with the appropriate model.

Running Maya

To start the Maya voice pipeline, run:

python main.py

Once started, say "Maya" to interact with the robot!

TODO / Future Roadmap

  • Local TTS: Add a local TTS system that can produce similar high-quality audio results as the current solution without relying on the cloud.
  • Multilingual STT: Add a multilingual STT model rather than the current one which only supports English.
  • VLM Implementation: Integrate a Vision-Language Model (VLM) so Maya can "see" and have a sense of understanding of its environment.
  • Pure Autonomy: Push the boundaries to help the robot reach pure autonomy.
  • Enhanced Safety Measures: Implement better safety guardrails and measures for physical movements and interaction.

License

[Specify License, e.g., MIT]

About

The voice and brain for Maya, an AI-powered Unitree G1 robot.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages