Skip to content

Adithya2369/IRIS-Admin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🦯 IRIS β€” AI-Powered Wearable Personal Assistant for the Visually Impaired

Python Platform Wake Word STT License

"Iris, navigate to the bus stop."
"Iris, who is in front of me?"
"Iris, describe surroundings."

IRIS is a voice-controlled wearable AI assistant for the visually impaired, built on a Raspberry Pi 5. It listens for the wake word "Iris", transcribes the spoken command, and launches the appropriate AI module β€” then returns to listening when the module exits.

This repository is the Admin / Command Router β€” the main entry point that ties all 7 modules together.


πŸŽ“ Academic Project

This project is developed as a B.Tech Final Year Project titled β€œIRIS β€” AI-Powered Wearable Personal Assistant for the Visually Impaired” by T. Adithya Reddy from the Department of Electrical and Electronics Engineering, pursuing B.Tech in Electrical and Computer Engineering at Amrita Vishwa Vidyapeetham.

IRIS is a multidisciplinary assistive technology system that combines:

  • Artificial Intelligence
  • Computer Vision
  • Embedded Systems
  • Voice Interfaces
  • Raspberry Pi Computing
  • Real-time Navigation and Safety Systems

to create a wearable assistant aimed at improving independence and accessibility for visually impaired individuals.

This repository represents the central admin and command-routing architecture of the complete IRIS ecosystem, integrating multiple AI-powered assistive modules into a unified voice-controlled platform.

The author would like to express sincere gratitude to Jayasree K R Miss and Sruthy Miss for their continuous guidance, technical support, and mentorship throughout the development of this project. Special appreciation is also extended to project teammates Thushara Thampi and Malavika Sreejith for their valuable contributions, collaboration, and teamwork during the design and implementation phases.

The complete IRIS system has been developed with a strong focus on:

  • Real-world usability
  • Accessibility-driven engineering
  • Low-cost assistive innovation
  • Practical deployment on embedded hardware

with the vision of leveraging AI to build inclusive technology that can positively impact the lives of visually impaired individuals.


πŸ“¦ System Architecture

When a module finishes (or the user exits it), control returns to the admin loop and IRIS begins listening again.


πŸ—‚οΈ The 7 Modules

# Module Trigger phrases Repo
1 GPS Navigation "navigate to", "take me to", "gps" Voice-Guided-GPS-Navigation
2 VisionAid (obstacle detection) "obstacle", "vision aid", "obstacle mode" VisionAid-AI-Navigation-Assistant
3 Hybrid Navigation (GPS + vision) "hybrid", "navigate with vision" AI-Vision-Assistant-for-the-Blind
4 Face Recognition "who is this", "face recognition", "identify" AI-Vision-Assistant-for-Real-Time-Face-Recognition
5 Email Assistant "email", "write an email", "check my email" AI-Voice-Based-Email-Assistant
6 Scene Narrator "describe surroundings", "what is around me" AI-Scene-Narrator
7 SOS Emergency "emergency", "sos", "help" Smart-SOS-alert-system

πŸ“ Repository Structure

IRIS-Admin/
β”‚
β”œβ”€β”€ iris_admin.py          ← Main entry point β€” run this on the Pi
β”œβ”€β”€ setup.sh               ← One-time setup: clones all 7 module repos
β”œβ”€β”€ requirements.txt       ← Admin-layer Python dependencies
β”œβ”€β”€ .gitmodules            ← Git submodule declarations
β”œβ”€β”€ .gitignore
β”œβ”€β”€ README.md
β”‚
└── modules/               ← Created by setup.sh (not committed to git)
    β”œβ”€β”€ gps_navigation/    β†’  Voice-Guided-GPS-Navigation-for-the-Visually-Impaired
    β”œβ”€β”€ visionaid/         β†’  VisionAid-AI-Navigation-Assistant-for-the-Visually-Impaired
    β”œβ”€β”€ hybrid_navigation/ β†’  AI-Vision-Assistant-for-the-Blind
    β”œβ”€β”€ face_recognition/  β†’  AI-Vision-Assistant-for-Real-Time-Face-Recognition
    β”œβ”€β”€ email_assistant/   β†’  AI-Voice-Based-Email-Assistant
    β”œβ”€β”€ scene_narrator/    β†’  AI-Scene-Narrator
    └── sos_emergency/     β†’  Smart-SOS-alert-system

βš™οΈ How It Works

1.  Porcupine runs continuously, listening for the wake word "Iris"
2.  Wake word detected β†’ IRIS says "Yes?"
3.  Whisper records 4 seconds of audio and transcribes it
4.  Command router matches the text to a module using longest-keyword-first matching
5.  The matched module is launched as a blocking subprocess
6.  When the module exits β†’ IRIS returns to wake-word listening (step 1)

Keyboard fallback: If Whisper is not installed, IRIS falls back to accepting typed commands via the terminal β€” useful for testing on a laptop.


πŸš€ Installation

Prerequisites

  • Raspberry Pi 5 (8 GB recommended) running Raspberry Pi OS
  • USB microphone + earphones
  • Python 3.10 or higher
  • Internet connection for setup (Whisper model download, API calls)
  • Free Porcupine access key from console.picovoice.ai β€” no credit card needed

Step 1 β€” Clone this repo

git clone https://github.com/Adithya2369/IRIS-Admin.git
cd IRIS-Admin

Step 2 β€” Run the setup script

This clones all 7 module repos into modules/:

chmod +x setup.sh
./setup.sh

If you prefer Git submodules instead of the script, see Using Git Submodules below.

Step 3 β€” Install admin dependencies

pip install -r requirements.txt

System packages needed on Raspberry Pi OS:

sudo apt update
sudo apt install -y portaudio19-dev espeak espeak-ng ffmpeg python3-dev

Step 4 β€” Pre-download the Whisper model

python3 -c "import whisper; whisper.load_model('tiny')"

This downloads ~75 MB once and caches it locally. Takes a few minutes on the Pi.

Step 5 β€” Set your Porcupine key

export PORCUPINE_ACCESS_KEY="your_key_from_picovoice"

To make it permanent, add that line to ~/.bashrc.

Step 6 β€” Configure each module

Each module has its own config.py or configuration section inside its main script. Refer to the individual module READMEs for the keys/settings each one needs (API keys, SERVER_IP for VisionAid, etc.).

Module Key config
GPS Navigation ORS_API_KEY in modules/gps_navigation/config.py
VisionAid SERVER_IP + GEMINI_API_KEY in modules/visionaid/config.py
Hybrid Navigation ORS_API_KEY + camera settings
Face Recognition Known faces directory
Email Assistant Gmail credentials + GEMINI_API_KEY
Scene Narrator GEMINI_API_KEY
SOS Emergency Gmail SMTP + Twilio credentials in modules/sos_emergency/sos.py

Step 7 β€” Run IRIS

python3 iris_admin.py

You will hear: "Iris is ready. Say Iris to activate."


πŸ—£οΈ Example Commands

You say (after "Iris") What happens
"Navigate to Charminar" GPS navigation launches, routes to Charminar
"Obstacle mode" VisionAid starts detecting obstacles via YOLOv8
"Hybrid navigation" GPS + vision combined mode
"Who is in front of me" Face recognition activates
"Write an email to Professor Rao asking for leave" Email assistant composes and sends the email
"Describe surroundings" Scene narrator gives a spoken description
"Emergency" SOS alert sends GPS location to emergency contacts

⚠️ VisionAid Special Note (Module 2)

VisionAid is a split system:

  • server.py runs on your laptop (handles YOLOv8 + Depth Anything V2 inference)
  • pi_client.py runs on the Pi (camera capture + TTS)

The admin launches pi_client.py. Make sure server.py is already running on the laptop and SERVER_IP is correctly set in modules/visionaid/config.py before activating this module.


πŸ”§ Using Git Submodules

If you prefer using Git submodules instead of setup.sh:

# Clone with submodules in one go
git clone --recurse-submodules https://github.com/Adithya2369/IRIS-Admin.git

# Or, if you already cloned without --recurse-submodules:
git submodule update --init --recursive

# To pull latest changes in all submodules later:
git submodule update --remote --merge

πŸ› οΈ Troubleshooting

Problem Fix
"YOUR_PORCUPINE_ACCESS_KEY" error Export the key: export PORCUPINE_ACCESS_KEY="your_key"
No mic found Run arecord -l to list devices; set MIC_DEVICE_INDEX in iris_admin.py
Whisper not installed pip install openai-whisper (IRIS falls back to keyboard input without it)
Module script not found Run setup.sh to clone modules, or check the path in MODULE_ENTRY
TTS produces no sound sudo apt install espeak; check alsamixer volume
Command not recognised Speak clearly; check COMMAND_MAP in iris_admin.py for valid phrases

πŸ“œ License

This project is intended for educational and research purposes as part of a B.Tech Final Year Project. You are free to use, modify, and build upon this code for non-commercial academic purposes with attribution.


πŸ‘¨β€πŸ’» Author

T. Adithya Reddy


"Technology should serve everyone β€” including those who cannot see it."

About

IRIS is an AI-powered wearable personal assistant for visually impaired individuals built on Raspberry Pi 5. It integrates voice interaction, GPS navigation, obstacle detection, scene narration, face recognition, SOS alerts, and real-time AI assistance using Whisper, YOLOv8, Gemini AI, and embedded computer vision technologies.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors