Taula de continguts:

Ús de sonar, lidar i visió per computador en microcontroladors per ajudar els discapacitats visuals: 16 passos
Ús de sonar, lidar i visió per computador en microcontroladors per ajudar els discapacitats visuals: 16 passos

Vídeo: Ús de sonar, lidar i visió per computador en microcontroladors per ajudar els discapacitats visuals: 16 passos

Vídeo: Ús de sonar, lidar i visió per computador en microcontroladors per ajudar els discapacitats visuals: 16 passos
Vídeo: DIY Automatic Railway Safety System Project 2024, Juliol
Anonim
Ús de sonar, lidar i visió per computador en microcontroladors per ajudar els discapacitats visuals
Ús de sonar, lidar i visió per computador en microcontroladors per ajudar els discapacitats visuals

Vull crear una "canya" intel·ligent que pugui ajudar les persones amb discapacitat visual molt més que les solucions existents. La canya serà capaç de notificar a l'usuari els objectes anteriors o laterals fent un soroll als auriculars tipus so envoltant. La canya també tindrà una càmera petita i un LIDAR (Light Detection and Ranging) perquè pugui reconèixer objectes i persones a l’habitació i avisar l’usuari mitjançant els auriculars. Per motius de seguretat, els auriculars no bloquejaran tot el soroll, ja que hi haurà un micròfon que pot filtrar tots els sons innecessaris i mantenir les sonores del cotxe i la gent parlant. Finalment, el sistema disposarà d’un GPS perquè pugui donar indicacions i mostrar a l’usuari cap on ha d’anar.

Si us plau, vota’m als concursos de microcontroladors i gimnàs a l’aire lliure.

Pas 1: Visió general del projecte

Visió general del projecte
Visió general del projecte
Visió general del projecte
Visió general del projecte
Visió general del projecte
Visió general del projecte

Segons l'accés mundial per a cecs, el moviment físic és un dels majors desafiaments per a les persones cegues. Viatjar o simplement caminar per un carrer ple de gent pot ser molt difícil. Tradicionalment, l'única solució era fer servir la coneguda "canya blanca", que s'utilitza principalment per escanejar entorns colpejant els obstacles en la proximitat de l'usuari. Una millor solució seria un dispositiu que pugui substituir l’assistent vident proporcionant informació sobre la ubicació dels obstacles perquè la persona cega pugui sortir en entorns desconeguts i sentir-se segura. Durant aquest projecte, es va desenvolupar un petit dispositiu amb bateria que compleix aquests criteris. El dispositiu pot detectar la mida i la ubicació de l’objecte mitjançant sensors que mesuren la posició dels objectes en relació amb l’usuari, retransmeten aquesta informació a un microcontrolador i després la converteixen en àudio per proporcionar-li informació. El dispositiu es va construir utilitzant LIDAR (Detecció i Ranging de Llums), SONAR (Sound Navigation and Ranging) comercials i tecnologies de visió per ordinador vinculades a microcontroladors i programades per proporcionar la informació sonora necessària mitjançant auriculars o auriculars. La tecnologia de detecció es va incrustar dins d’una “canya blanca” per indicar als altres l’estat de l’usuari i proporcionar una seguretat addicional.

Pas 2: Recerca en antecedents

Recerca en antecedents
Recerca en antecedents
Recerca en antecedents
Recerca en antecedents
Recerca en antecedents
Recerca en antecedents
Recerca en antecedents
Recerca en antecedents

El 2017, l’Organització Mundial de la Salut va informar que hi havia 285 milions de persones amb discapacitat visual a tot el món, dels quals 39 milions són completament cecs. La majoria de la gent no pensa en els problemes que afronten cada dia les persones amb discapacitat visual. Segons l'accés mundial per a cecs, el moviment físic és un dels majors desafiaments per a les persones cegues. Viatjar o simplement caminar per un carrer ple de gent pot ser molt difícil. Per això, moltes persones amb discapacitat visual prefereixen portar un amic o membre de la família amb vista per ajudar-los a navegar per nous entorns. Tradicionalment, l'única solució era fer servir la coneguda "canya blanca", que s'utilitza principalment per escanejar entorns colpejant els obstacles en la proximitat de l'usuari. Una millor solució seria un dispositiu que pugui substituir l’assistent vident proporcionant informació sobre la ubicació dels obstacles perquè la persona cega pugui sortir en entorns desconeguts i sentir-se segura. NavCog, una col·laboració entre IBM i la Universitat Carnegie Mellon, ha intentat resoldre el problema creant un sistema que utilitza balises Bluetooth i telèfons intel·ligents per ajudar-lo. Tot i això, la solució era feixuga i resultava molt costosa per a implementacions a gran escala. La meva solució soluciona això eliminant qualsevol necessitat de dispositius externs i utilitzant una veu per guiar l’usuari durant tot el dia (Figura 3). L’avantatge de tenir la tecnologia incrustada dins d’una “canya blanca” és que assenyala la resta del món sobre la condició de l’usuari, cosa que provoca canvis en el comportament de les persones que l’envolten.

Pas 3: requisits de disseny

Requisits de disseny
Requisits de disseny

Després d’investigar les tecnologies disponibles, vaig discutir possibles solucions amb professionals de la visió sobre el millor enfocament per ajudar els discapacitats visuals a navegar pel seu entorn. A la taula següent es detallen les funcions més importants necessàries perquè algú pugui passar al meu dispositiu.

Funció - Descripció:

  • Computació: el sistema ha de proporcionar un processament ràpid de la informació intercanviada entre l'usuari i els sensors. Per exemple, el sistema ha de ser capaç d'informar l'usuari dels obstacles que hi ha al davant, que es troben a almenys 2 m de distància.
  • Cobertura: el sistema ha de proporcionar els seus serveis en interiors i exteriors per millorar la qualitat de vida de les persones amb discapacitat visual.
  • Hora: el sistema hauria de funcionar tant de dia com de nit.
  • Abast: l'abast és la distància entre l'usuari i l'objecte que el sistema ha de detectar. L’abast mínim ideal és de 0,5 m, mentre que l’abast màxim hauria de ser superior a 5 m. Més distàncies serien encara millors, però més difícils de calcular.
  • Tipus d'objecte: el sistema ha de detectar l'aparició sobtada d'objectes. El sistema hauria de ser capaç de diferenciar entre objectes en moviment i objectes estàtics.

Pas 4: Disseny d'enginyeria i selecció d'equips

Disseny d'enginyeria i selecció d'equips
Disseny d'enginyeria i selecció d'equips
Disseny d'enginyeria i selecció d'equips
Disseny d'enginyeria i selecció d'equips
Disseny d'enginyeria i selecció d'equips
Disseny d'enginyeria i selecció d'equips

Després d’examinar molts components diferents, em vaig decidir per les parts seleccionades de les diferents categories següents.

Preu de les peces seleccionades:

  • Zungle Panther: 149,99 dòlars
  • LiDAR Lite V3: 149,99 dòlars
  • LV-MaxSonar-EZ1: 29,95 dòlars
  • Sensor d'ultrasons: HC-SR04: 3,95 dòlars
  • Raspberry Pi 3: 39,95 dòlars
  • Arduino: 24,95 dòlars
  • Kinect: 32,44 dòlars
  • Floureon 11.1v 3s 1500mAh: 19,99 dòlars
  • LM2596HV: 9,64 dòlars

Pas 5: Selecció d'equips: mètode d'interacció

Selecció d'equips: mètode d'interacció
Selecció d'equips: mètode d'interacció
Selecció d'equips: mètode d'interacció
Selecció d'equips: mètode d'interacció

Vaig decidir utilitzar el control de veu com a mètode per interactuar amb el dispositiu, ja que tenir diversos botons en un bastó pot ser un repte per a una persona amb discapacitat visual, sobretot si algunes funcions requereixen una combinació de botons. Amb el control de veu, l'usuari pot utilitzar ordres predefinides per comunicar-se amb la canya, cosa que redueix els possibles errors.

Dispositiu: Pros --- Contres:

  • Botons: no hi ha cap error de comandament quan es prem el botó dret --- Pot ser difícil assegurar-se que es premen els botons correctes
  • Control de veu: fàcil perquè l'usuari pot utilitzar ordres predefinides --- Una pronunciació incorrecta pot induir a errors

Pas 6: Selecció d'equips: microcontrolador

Selecció d'equips: microcontrolador
Selecció d'equips: microcontrolador
Selecció d'equips: microcontrolador
Selecció d'equips: microcontrolador
Selecció d'equips: microcontrolador
Selecció d'equips: microcontrolador

El dispositiu utilitzava Raspberry Pi a causa del seu baix cost i la potència de processament suficient per calcular el mapa de profunditat. L’Intel Joule hauria estat l’opció preferida, però el seu preu hauria duplicat el cost del sistema, cosa que no seria ideal per a aquest dispositiu desenvolupat per proporcionar una opció de menor cost per als usuaris. L'arduino es va utilitzar al sistema perquè pot obtenir fàcilment informació dels sensors. El BeagleBone i Intel Edison no es van utilitzar a causa de la baixa relació preu / rendiment, cosa que és dolenta per a aquest sistema de baix cost.

Microcontrolador: Pros --- Contres:

  • Raspberry Pi: té prou potència de processament per trobar obstacles i té WiFi / Bluetooth integrat --- No hi ha moltes opcions per rebre dades dels sensors
  • Arduino: rep fàcilment dades de petits sensors. és a dir, LIDAR, ultrasònic, SONAR, etc. --- No hi ha prou potència de processament per trobar obstacles
  • Intel Edison: pot processar obstacles ràpidament amb un processador ràpid --- Requereix peces de desenvolupador addicionals per funcionar al sistema
  • Intel Joule: té el doble de velocitat de processament que qualsevol dels microcontroladors del mercat de consum fins al moment --- Cost molt elevat per a aquest sistema i difícil d'interacció amb GPIO per a la interacció del sensor
  • BeagleBone Black: Compacte i compatible amb els sensors que s'utilitzen en el projecte mitjançant la sortida d'entrada d'ús general (GPIO) --- No hi ha prou potència de processament per trobar objectes amb eficàcia

Pas 7: Selecció d'equips: Sensors

Selecció d'equips: Sensors
Selecció d'equips: Sensors
Selecció d'equips: Sensors
Selecció d'equips: Sensors
Selecció d'equips: Sensors
Selecció d'equips: Sensors

S’utilitza una combinació de diversos sensors per obtenir una precisió de localització elevada. El Kinect és el sensor principal a causa de la superfície que pot explorar per detectar obstacles alhora. LIDAR, que significa LIght Detection and Ranging, és un mètode de teledetecció que utilitza la llum en forma de làser pulsat per mesurar les distàncies des d’on es troba el sensor fins als objectes; aquest sensor s'utilitza perquè pot rastrejar una àrea de fins a 40 metres (m) de distància i, atès que pot escanejar en diversos angles, pot detectar si hi ha cap escaló cap amunt o cap avall. Els sensors SOAR Navigation And Ranging (SONAR) i ultrasons s’utilitzen com a seguiment de còpia de seguretat en cas que Kinect perdi un pal o un cop al terra que suposi un perill per a l’usuari. El sensor de 9 graus de llibertat s’utilitza per rastrejar la direcció cap a l’usuari de manera que el dispositiu pugui emmagatzemar la informació per obtenir una precisió més alta dirigint la propera vegada que la persona camini al mateix lloc.

Sensors: Pros --- Contres:

  • Kinect V1: pot rastrejar objectes 3D amb --- Només una càmera per detectar entorns
  • Kinect V2: té 3 càmeres d'infrarojos i una càmera vermella, verda, blava, de profunditat (RGB-D) per a la detecció d'objectes 3D d'alta precisió --- Pot escalfar-se i necessitar un ventilador de refrigeració i és més gran que altres sensors
  • LIDAR: biga que pot rastrejar ubicacions de fins a 40 m de distància --- Cal situar-se cap a l'objecte i només pot mirar en aquesta direcció
  • SONAR: feix que pot rastrejar-se a 5 m de distància, però en una distància molt llarga --- Els objectes petits com les plomes poden activar el sensor
  • Ultrasònic: té un abast de fins a 3 m i és molt barat --- Les distàncies de vegades poden ser inexactes
  • Sensor de 9 graus de llibertat: bo per detectar l'orientació i la velocitat de l'usuari --- Si alguna cosa interfereix amb els sensors, els càlculs de distància es poden calcular incorrectament

Pas 8: Selecció d'equips: programari

Selecció d'equips: programari
Selecció d'equips: programari
Selecció d'equips: programari
Selecció d'equips: programari
Selecció d'equips: programari
Selecció d'equips: programari

El programari seleccionat per als primers prototips construïts amb el sensor Kinect V1 era Freenect, però no era molt precís. En canviar a Kinect V2 i Freenect2, els resultats del seguiment es van millorar significativament a causa de la millora del seguiment, ja que el V2 té una càmera HD i 3 càmeres infraroges en comparació amb una sola càmera del Kinect V1. Quan utilitzava OpenNi2 amb el Kinect V1, les funcions eren limitades i no podia controlar algunes de les funcions del dispositiu.

Programari: Pros --- Contres:

  • Freenect: té un nivell de control inferior per controlar tot --- Només admet el Kinect V1
  • OpenNi2: pot crear fàcilment les dades del núvol de punts a partir del flux d'informació de Kinect --- Només admet Kinect V1 i no és compatible amb el control de baix nivell
  • Freenect2: té un nivell de control inferior per a la barra del sensor --- Només funciona per al Kinect V2
  • ROS: Sistema operatiu ideal per programar funcions de càmera --- Cal instal·lar-lo en una targeta SD ràpida perquè el programari funcioni

Pas 9: Selecció d'equips: altres parts

Selecció d'equips: altres peces
Selecció d'equips: altres peces
Selecció d'equips: altres peces
Selecció d'equips: altres peces

Les bateries de ions de liti es van seleccionar perquè eren lleugeres, tenien una gran potència i eren recarregables. La variant 18650 de la bateria de ions de liti té una forma cilíndrica i s’adapta perfectament al prototip de canya. El primer prototip de canya és de tub de PVC perquè és buit i redueix el pes de la canya.

Pas 10: desenvolupament del sistema: creació del maquinari part 1

Desenvolupament del sistema: creació del maquinari part 1
Desenvolupament del sistema: creació del maquinari part 1
Desenvolupament del sistema: creació del maquinari part 1
Desenvolupament del sistema: creació del maquinari part 1
Desenvolupament del sistema: creació del maquinari part 1
Desenvolupament del sistema: creació del maquinari part 1

Primer hem de desmuntar el Kinect per fer-lo més lleuger i perquè quedi dins de la canya. Vaig començar traient tota la carcassa exterior del Kinect, ja que el plàstic utilitzat pesa MOLT. Després vaig haver de tallar el cable per poder treure la base. Vaig agafar els cables del connector que es mostra a la imatge i els vaig soldar a un cable USB amb cables de senyal i les altres dues connexions eren per a la potència d’entrada de 12V. Com que volia que el ventilador de la canya funcionés a tota potència per refredar tots els altres components, vaig tallar el connector del ventilador del Kinect i vaig cablejar 5 V del Raspberry Pi. També he fabricat un petit adaptador per al cable LiDAR perquè es pugui connectar directament al Raspberry Pi sense cap altre sistema intermedi.

Vaig soldar accidentalment el fil blanc amb el negre, així que no mireu les imatges dels diagrames de cablejat

Pas 11: desenvolupament del sistema: creació del maquinari part 2

Desenvolupament del sistema: creació del maquinari part 2
Desenvolupament del sistema: creació del maquinari part 2
Desenvolupament del sistema: creació del maquinari part 2
Desenvolupament del sistema: creació del maquinari part 2
Desenvolupament del sistema: creació del maquinari part 2
Desenvolupament del sistema: creació del maquinari part 2
Desenvolupament del sistema: creació del maquinari part 2
Desenvolupament del sistema: creació del maquinari part 2

Vaig crear una peça reguladora per proporcionar energia a tots els dispositius que requereixen 5V com el Raspberry Pi. Vaig ajustar el regulador posant un comptador a la sortida i ajustant la resistència de manera que el regulador proporcionés 5,05V. La vaig posar una mica més alta que 5V perquè amb el pas del temps, la tensió de la bateria disminueix i afecta lleugerament la tensió de sortida. També he fabricat un adaptador que em permet alimentar fins a 5 dispositius que requereixen 12V de la bateria.

Pas 12: Desenvolupament del sistema: programació del sistema Part 1

Desenvolupament del sistema: programació del sistema Part 1
Desenvolupament del sistema: programació del sistema Part 1
Desenvolupament del sistema: programació del sistema Part 1
Desenvolupament del sistema: programació del sistema Part 1
Desenvolupament del sistema: programació del sistema Part 1
Desenvolupament del sistema: programació del sistema Part 1

Una de les parts més difícils d’aquest sistema és la programació. Quan vaig aconseguir que Kinect hi jugés per primera vegada, vaig instal·lar un programa anomenat RTAB Map que pren el flux de dades del Kinect i el converteix en un núvol de punts. Amb el núvol de punts, va crear una imatge en 3D que es pot girar de manera que vegeu la profunditat d’on es troben tots els objectes. Després de jugar-hi una estona i ajustar tots els paràmetres, vaig decidir instal·lar algun programari al Raspberry Pi per permetre'm veure el flux de dades del Kinect. Les dues darreres imatges anteriors mostren què pot produir el Raspberry Pi a uns 15-20 fotogrames per segon.

Recomanat: