SARAS (Smart Autonomous Robotic AI System) is a modular, AI-powered voice assistant designed for autonomous robotic platforms. It integrates real-time wake word detection, speech-to-text (STT), advanced AI reasoning (LLMs), and text-to-speech (TTS) to create a seamless human-robot interaction experience.
- Wake Word Activation: Always-on listening using Picovoice Porcupine (Trigger: "Raspberry").
- Dual Brain Architecture:
- Online Mode: Powered by Google Gemini 2.5 Flash for high-performance reasoning.
- Offline Mode: Powered by Ollama (Gemma 3B) for privacy and local execution.
- Natural Interaction: Uses
SpeechRecognitionfor input andpyttsx3for synthesized vocal responses. - Robotics Ready: Built with
RPi.GPIOandgpiozerohooks for future motor and sensor integration. - Modular Design: Separate modules for audio processing, AI logic, and hardware control.
saras_mvp/
├── saras_main.py # Main integration loop
├── saras_launcher.py # Launcher script
├── ai_module.py # LLM Logic (Gemini/Ollama)
├── wake_word.py # Picovoice Porcupine integration
├── speech_to_text.py # Audio-to-text conversion
├── text_to_speech.py # Text-to-audio conversion
└── requirements.txt # Python dependencies
git clone <repository-url>
cd saras_mvpEnsure you have Python 3.9+ installed. It is recommended to use a virtual environment.
pip install -r requirements.txtCreate a .env file or export the following variables:
# Picovoice Configuration
export PICOVOICE_ACCESS_KEY="your_picovoice_key"
export SARAS_WAKE_PPN="path/to/raspberry.ppn"
# AI Mode (online / offline)
export SARAS_MODE="online"
# For Online Mode
export GOOGLE_API_KEY="your_gemini_api_key"
# For Offline Mode (Ensure Ollama is running with gemma:3b)
# No API key needed for local OllamaTo start the SARAS system, run the main script:
python saras_main.py- Wait for the system to initialize.
- Say "Raspberry" to wake the robot.
- Ask a question or give a command (e.g., "How is the weather?" or "Move forward").
| Module | Technology |
|---|---|
| Wake Word | Picovoice Porcupine |
| STT | SpeechRecognition (Google Web Speech API) |
| Brain | Gemini 2.5 Flash / Gemma 3B |
| TTS | pyttsx3 |
| Hardware | Raspberry Pi 4/5 (Recommended) |
- Movement Module: Integration with L298N motor drivers.
- Vision Module: OpenCV integration for obstacle avoidance and face recognition.
- Local STT: Switch to OpenAI Whisper for fully offline speech recognition.
- Web Dashboard: A React-based interface for remote monitoring.
This project is developed as part of the IOT MDM Course (Academics Sem-3).