Skip to content

Repository files navigation

🤖 SARAS: Smart Autonomous Robotic AI System

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.


🚀 Features

  • 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 SpeechRecognition for input and pyttsx3 for synthesized vocal responses.
  • Robotics Ready: Built with RPi.GPIO and gpiozero hooks for future motor and sensor integration.
  • Modular Design: Separate modules for audio processing, AI logic, and hardware control.

📂 Project Structure

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

🛠️ Installation

1. Clone the Repository

git clone <repository-url>
cd saras_mvp

2. Install Dependencies

Ensure you have Python 3.9+ installed. It is recommended to use a virtual environment.

pip install -r requirements.txt

3. Configure Environment Variables

Create 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 Ollama

🚦 Usage

To start the SARAS system, run the main script:

python saras_main.py
  1. Wait for the system to initialize.
  2. Say "Raspberry" to wake the robot.
  3. Ask a question or give a command (e.g., "How is the weather?" or "Move forward").

⚙️ Requirements

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)

🛠️ Future Roadmap

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

📄 License

This project is developed as part of the IOT MDM Course (Academics Sem-3).

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages