Skip to content

gabozan/Orionway

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

159 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Logo Orionway

OrionWay: El guia robot per a trobar el teu camí 🤖👨‍🦯

Python  Arduino  Cloud

OrionWay és un robot guia dissenyat per acompanyar persones amb discapacitat visual en entorns segurs, com el campus de la Universitat Autònoma de Barcelona (UAB).

El projecte combina sensors i visió per computador per oferir assistència en el desplaçament, evitant perills com barreres, persones o passos de zebra. L’usuari mantindrà contacte amb el robot durant els trajectes, detectant quan el robot es desvia, dirigint-lo manualment o utilitzant-lo per identificar objectes desconeguts. L’objectiu és oferir una alternativa intermèdia entre un gos guia i el bastó blanc, combinant la seguretat i intuïció d’ambdós.

El logotip d’OrionWay representa les inicials OW en codi Braille: ⠕⠺


Caution

Orionway és un prototip experimental desenvolupat en un entorn acadèmic i no està certificat per a ús assistencial en entorns reals. El seu ús com a substitut d’un gos guia o bastó blanc no està recomanat en entorns no controlats.

🙌 Autors

Nom NIU
Albert Capdevila Estadella 1587933
Levon Kesoyan Galstyan 1668018
Luis Martínez Zamora 1668180
Sebastian Malbaceda 1681519
Gabriel Rios Sanchez 1671177

🤝 Suport

Agraïment especial

Gràcies a Sergio Alamar, humorista i exjugador de la selecció espanyola de futbol paralímpic, per compartir amb nosaltres la seva experiència directa com a persona cega. La seva col·laboració ens ha ajudat a identificar detalls essencials i a enfocar millor el desenvolupament d’OrionWay per fer-lo realment útil en situacions del dia a dia.

Si voleu conèixer més la seva història: Article de La Vanguardia

Static Badge

Institucions

Professorat

  • Fernando Luis Vilariño Freire
  • Vernon Stanley Albayeros Duarte
  • Carlos Garcia Calvo

📚 Taula de continguts

🎥 Video demostració

💫 Funcionalitats del robot OrionWay

Funcionalitat Demostració
Detecció i reacció a obstacles immediats
Mitjançant els tres sensors d'ultrasons situats al cos del robot i connectats a la placa Arduino, aquest serà capaç de detectar elements propers i modificar la trajectòria dels motors per tal d'esquivar-los. Ha de ser una funcionalitat molt ràpida i eficient, per tal d'aconseguir el millor temps de reacció.
Detecció i reacció a passos de zebra amb semàfors
Mitjançant la càmera i un model de visió per computador, podrem saber l'orientació dels passos de zebra propers, a més de detectar si els seus semàfors es troben en verd o en vermell. Això permetrà encarar el pas de zebra i creuar-lo quan pertoqui, evitant el perill.
Dirigir manualment el robot en qualsevol moment
En qualsevol moment dins el guiatge del robot, l'usuari podrà prémer els botons del mànec per a forçar manualment girs a la dreta o a l'esquerra. IMPORTANT Aquesta funcionalitat no tindrà més prioritat que les dues funcionalitats anteriors, és a dir, si a l'esquerra del robot es troba un obstacle immediat o un pas de zebra amb semàfor en vermell, el robot es detindrà.
Reconeixement d'objectes i resposta per veu
En qualsevol moment, l'usuari podrà preguntar al robot què subjecta a la seva mà mitjançant els botons situats al mànec. És a dir, utilitzant la càmera, el robot es detindrà, girarà la càmera, farà un reconeixement per imatge de l'objecte que l'usuari li mostri, i s'utilitzarà l'altaveu per a dir la resposta.
Apropament automàtic cap a l'usuari en entorns tancats
En situacions en què el robot té visió de l'usuari en un entorn tancat, aquest podrà ser cridat per l'usuari picant dues vegades de mans. Quan això succeeixi, el robot farà fotografies en tots els seus angles i detectarà la direcció on es troba l'usuari. Aleshores, utilitzant els sensors d'ultrasons, navegarà fins a l'usuari desplaçant-se al voltant dels obstacles que podrà trobar.

⚙️ Arquitectura i hardware

L'arquitectura de software del nostre projecte está formada per:

  • Arduino
  • Python (Control Raspberry Pi)
  • YOLO (Detecció d'objectes)
  • ZebrAI (Projecte Visió per Computador que detectar semàfors i passos de zebra) GitHub

Respecte als components hem utilitzat el següent:

Hem realitzar impressions 3D del següent:

Mànec Suport Càmera Suport Motor Pas a Pas

🖥️ Esquemes de software

Casos d'us

Mòduls

Estats

🖧 Esquema de hardware

🤯 Aportacions destacades (Amazing contributions)

  • Robot guia intel·ligent per a persones amb discapacitat visual.
  • Disseny i impressió 3D de components personalitzats i funcionals.
  • Reconeixement avançat de passos de vianants amb semàfor mitjançant visió per computador clàsica i moderna.
  • Identificació on-demand d’objectes particulars amb resposta per veu.
  • API al núvol per a un processament d’imatges ràpid i escalable.
  • Arquitectura modular i adaptable a noves funcionalitats.
  • Codi i models d’intel·ligència artificial 100% oberts i reutilitzables.

📋Requisits i instalació

  • Python: 3.10
  • Sistema operatiu:
    • Per a cloud-api: Linux recomanat
    • Per a raspberry: Raspbian o similar en Raspberry Pi.

Requisits per a cloud-api

Dependències de Python

flask==3.1.1
gunicorn==23.0.0
ultralytics==8.3.111
opencv-python-headless==4.10.0.84
numpy==2.1.1
torch>=1.8.0
torchvision>=0.9.0
pillow>=10.3.0
PyYAML>=5.3.1
requests>=2.32.2
tqdm>=4.66.3
pandas>=1.1.4

Dependències del sistema (Linux)

sudo apt-get update && sudo apt-get install 

Requisits per a raspberry

Dependències de Python

pyserial==3.5
picamera2==0.0.5
opencv-python==4.9.0.80
numpy==1.24.4
requests==2.31.0
google-cloud-texttospeech==2.15.1
pygame==2.1.3

Instal·lació ràpida

1. Clona el repositori

git clone https://github.com/gabozan/Orionway
cd Orionway

2. Instal·la Python 3.10 i pip si no els tens

3. Instal·la les dependències per a cada subprojecte

Per a cloud-api:
cd cloud-api
pip install -r requirements.txt
Per a raspberry:
cd raspberry
pip install -r requirements.txt

4. Obre el projecte a l'IDE d'Arduino i puja'l a la placa

cd arduino
  1. Obre l'arxiu main.ino amb l’IDE d’Arduino.
  2. A l'IDE, selecciona la teva placa i tria el port corresponent.
  3. Compila per pujar el codi a la placa.

🧪 Tests i milllores

  • En aquest projecte s'han fet una serie de tests per tal de comprovar que el funcionament es com esperem que sigui, totes aquestes proves es troben en Tests
  • Per altra banda, en aquest projecte hem tingut en compte unes posibles millores que té l'utilització del robot, tots aquests els hem recopilat en Millores

📚 Bibliografia i recursos

📄 Llicència

Aquest projecte està llicenciat sota la Llicència MIT.

About

Robot guia per a persones amb discapacitat visual, basat en Arduino, Raspberry Pi i visió per computador.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors