Tabla de contenido:

Uso de sonar, Lidar y visión por computadora en microcontroladores para ayudar a las personas con discapacidad visual: 16 pasos
Uso de sonar, Lidar y visión por computadora en microcontroladores para ayudar a las personas con discapacidad visual: 16 pasos

Video: Uso de sonar, Lidar y visión por computadora en microcontroladores para ayudar a las personas con discapacidad visual: 16 pasos

Video: Uso de sonar, Lidar y visión por computadora en microcontroladores para ayudar a las personas con discapacidad visual: 16 pasos
Video: WeWalk el bastón inteligente para ayudar a las personas con discapacidad visual 2024, Noviembre
Anonim
Uso de sonar, Lidar y visión por computadora en microcontroladores para ayudar a las personas con discapacidad visual
Uso de sonar, Lidar y visión por computadora en microcontroladores para ayudar a las personas con discapacidad visual

Quiero crear un "bastón" inteligente que pueda ayudar a las personas con discapacidad visual mucho más que las soluciones existentes. El bastón podrá avisar al usuario de objetos en el frente o en los laterales haciendo un ruido en los auriculares tipo sonido envolvente. El bastón también contará con una pequeña cámara y LIDAR (Light Detection and Ranging) para que pueda reconocer objetos y personas en la habitación y notificar al usuario mediante el uso de auriculares. Por razones de seguridad, los auriculares no bloquearán todo el ruido, ya que habrá un micrófono que puede filtrar todos los sonidos innecesarios y mantener las bocinas del automóvil y la gente hablando. Por último, el sistema contará con un GPS para que pueda dar indicaciones y mostrar al usuario dónde ir.

¡Vota por mí en los concursos de microcontroladores y fitness al aire libre!

Paso 1: descripción general del proyecto

Resumen del proyecto
Resumen del proyecto
Resumen del proyecto
Resumen del proyecto
Resumen del proyecto
Resumen del proyecto

Según World Access for the Blind, el movimiento físico es uno de los mayores desafíos para las personas ciegas. Viajar o simplemente caminar por una calle concurrida puede resultar muy difícil. Tradicionalmente, la única solución era utilizar el conocido "bastón blanco", que se utiliza principalmente para escanear los alrededores golpeando los obstáculos en las proximidades del usuario. Una mejor solución sería un dispositivo que pueda reemplazar al asistente vidente proporcionando información sobre la ubicación de los obstáculos para que la persona ciega pueda salir a entornos desconocidos y se sienta segura. Durante este proyecto, se desarrolló un pequeño dispositivo que funciona con baterías que cumple con estos criterios. El dispositivo puede detectar el tamaño y la ubicación del objeto por medio de sensores que miden la posición de los objetos en relación con el usuario, transmiten esa información a un microcontrolador y luego la convierten en audio para proporcionar información al usuario. El dispositivo se construyó utilizando tecnologías comerciales LIDAR (Detección de luz y rango), SONAR (Navegación y rango de sonido) y tecnologías de visión por computadora vinculadas a microcontroladores y programadas para proporcionar la salida de información audible requerida utilizando auriculares o audífonos. La tecnología de detección se incorporó dentro de un "bastón blanco" para indicar a los demás la condición del usuario y proporcionar seguridad adicional.

Paso 2: Investigación de antecedentes

Investigación de fondo
Investigación de fondo
Investigación de fondo
Investigación de fondo
Investigación de fondo
Investigación de fondo
Investigación de fondo
Investigación de fondo

En 2017, la Organización Mundial de la Salud informó que había 285 millones de personas con discapacidad visual en todo el mundo, de las cuales 39 millones son completamente ciegas. La mayoría de la gente no piensa en los problemas que enfrentan las personas con discapacidad visual todos los días. Según World Access for the Blind, el movimiento físico es uno de los mayores desafíos para las personas ciegas. Viajar o simplemente caminar por una calle concurrida puede resultar muy difícil. Debido a esto, muchas personas con discapacidad visual prefieren traer a un amigo o familiar vidente para que les ayude a navegar en nuevos entornos. Tradicionalmente, la única solución era utilizar el conocido "bastón blanco", que se utiliza principalmente para escanear los alrededores golpeando los obstáculos en las proximidades del usuario. Una mejor solución sería un dispositivo que pueda reemplazar al asistente vidente proporcionando información sobre la ubicación de los obstáculos para que la persona ciega pueda salir a entornos desconocidos y se sienta segura. NavCog, una colaboración entre IBM y Carnegie Mellon University, ha intentado resolver el problema creando un sistema que utiliza balizas Bluetooth y teléfonos inteligentes para ayudar a guiar. Sin embargo, la solución era engorrosa y resultó muy costosa para implementaciones a gran escala. Mi solución aborda esto eliminando la necesidad de dispositivos externos y utilizando una voz para guiar al usuario durante el día (Figura 3). La ventaja de tener la tecnología incrustada dentro de un "bastón blanco" es que le indica al resto del mundo la condición del usuario que causa cambios en el comportamiento de las personas que lo rodean.

Paso 3: requisitos de diseño

Requerimientos de diseño
Requerimientos de diseño

Después de investigar las tecnologías disponibles, analicé las posibles soluciones con los profesionales de la visión sobre el mejor enfoque para ayudar a las personas con discapacidad visual a navegar por su entorno. La siguiente tabla enumera las funciones más importantes necesarias para que alguien realice la transición a mi dispositivo.

Característica - Descripción:

  • Computación: el sistema debe proporcionar un procesamiento rápido de la información intercambiada entre el usuario y los sensores. Por ejemplo, el sistema debe poder informar al usuario de los obstáculos en el frente que se encuentran al menos a 2 m de distancia.
  • Cobertura: el sistema debe proporcionar sus servicios en interiores y exteriores para mejorar la calidad de vida de las personas con discapacidad visual.
  • Hora: el sistema debe funcionar tan bien durante el día como durante la noche.
  • Alcance: el alcance es la distancia entre el usuario y el objeto que debe detectar el sistema. El alcance mínimo ideal es 0,5 m, mientras que el alcance máximo debería ser superior a 5 m. Más distancias serían incluso mejores, pero más difíciles de calcular.
  • Tipo de objeto: el sistema debe detectar la aparición repentina de objetos. El sistema debería poder diferenciar entre objetos en movimiento y objetos estáticos.

Paso 4: Diseño de ingeniería y selección de equipos

Diseño de ingeniería y selección de equipos
Diseño de ingeniería y selección de equipos
Diseño de ingeniería y selección de equipos
Diseño de ingeniería y selección de equipos
Diseño de ingeniería y selección de equipos
Diseño de ingeniería y selección de equipos

Después de mirar muchos componentes diferentes, me decidí por las piezas seleccionadas de las diferentes categorías a continuación.

Precio de las piezas seleccionadas:

  • Pantera de la selva: $ 149.99
  • LiDAR Lite V3: $ 149.99
  • LV-MaxSonar-EZ1: 29,95 dólares
  • Sensor ultrasónico - HC-SR04: $ 3.95
  • Raspberry Pi 3: $ 39.95
  • Arduino: $ 24.95
  • Kinect: 32,44 dólares
  • Floureon 11.1v 3s 1500mAh: $ 19.99
  • LM2596HV: $ 9.64

Paso 5: Selección del equipo: método de interacción

Selección de equipo: método de interacción
Selección de equipo: método de interacción
Selección de equipo: método de interacción
Selección de equipo: método de interacción

Decidí usar el control por voz como método para interactuar con el dispositivo porque tener varios botones en un bastón puede ser un desafío para una persona con discapacidad visual, especialmente si algunas funciones requieren una combinación de botones. Con el control por voz, el usuario puede usar comandos preestablecidos para comunicarse con el bastón, lo que reduce los posibles errores.

Dispositivo: Pros --- Contras:

  • Botones: No hay error de comando cuando se presiona el botón derecho --- Puede ser difícil asegurarse de que se presionan los botones correctos
  • Control por voz: fácil porque el usuario puede usar comandos preestablecidos --- Una pronunciación incorrecta puede provocar errores

Paso 6: Selección de equipo: microcontrolador

Selección de equipo: microcontrolador
Selección de equipo: microcontrolador
Selección de equipo: microcontrolador
Selección de equipo: microcontrolador
Selección de equipo: microcontrolador
Selección de equipo: microcontrolador

El dispositivo usó la Raspberry Pi debido a su bajo costo y suficiente potencia de procesamiento para calcular el mapa de profundidad. El Intel Joule hubiera sido la opción preferida pero su precio hubiera duplicado el costo del sistema por lo que no sería ideal este dispositivo que está desarrollado para brindar una opción de menor costo para los usuarios. El arduino se utilizó en el sistema porque puede obtener información fácilmente de los sensores. BeagleBone e Intel Edison no se utilizaron debido a la baja relación precio / rendimiento, lo cual es malo para este sistema de bajo costo.

Microcontrolador: Pros --- Contras:

  • Raspberry Pi: tiene suficiente potencia de procesamiento para encontrar obstáculos y tiene WiFi / Bluetooth integrado --- No hay muchas opciones para recibir datos de sensores
  • Arduino: Reciba datos fácilmente de pequeños sensores. es decir. LIDAR, ultrasónico, SONAR, etc. --- No hay suficiente potencia de procesamiento para encontrar obstáculos
  • Intel Edison: puede procesar obstáculos rápidamente con un procesador rápido --- Requiere piezas de desarrollador adicionales para funcionar en el sistema
  • Intel Joule: tiene el doble de velocidad de procesamiento que cualquiera de los microcontroladores en el mercado de consumo hasta la fecha --- costo muy alto para este sistema y difícil de interactuar con GPIO para la interacción del sensor
  • BeagleBone Black: compacto y compatible con los sensores utilizados en el proyecto mediante el uso de la salida de entrada de propósito general (GPIO) --- No hay suficiente potencia de procesamiento para encontrar objetos de manera efectiva

Paso 7: Selección de equipo: Sensores

Selección de equipos: sensores
Selección de equipos: sensores
Selección de equipos: sensores
Selección de equipos: sensores
Selección de equipo: sensores
Selección de equipo: sensores

Se utiliza una combinación de varios sensores para obtener una alta precisión de ubicación. El Kinect es el sensor principal debido a la cantidad de área que puede escanear en busca de obstáculos a la vez. LIDAR, que significa Detección y rango de luz, es un método de detección remota que utiliza luz en forma de láser pulsado para medir distancias desde donde se encuentra el sensor hasta los objetos rápidamente; ese sensor se usa porque puede rastrear un área de hasta 40 metros (m) de distancia y, dado que puede escanear en varios ángulos, puede detectar si algún escalón está subiendo o bajando. Los sensores de navegación y rango de sonido (SONAR) y ultrasónicos se utilizan como seguimiento de respaldo en caso de que el Kinect pierda un poste o golpe en el suelo que represente un peligro para el usuario. El sensor de 9 grados de libertad se utiliza para rastrear la dirección en la que mira el usuario, de modo que el dispositivo pueda almacenar la información para una dirección más precisa la próxima vez que la persona camine en el mismo lugar.

Sensores: Pros --- Contras:

  • Kinect V1: puede rastrear objetos 3D con --- Solo una cámara para detectar alrededores
  • Kinect V2: tiene 3 cámaras infrarrojas y una cámara roja, verde, azul, de profundidad (RGB-D) para la detección de objetos 3D de alta precisión --- Puede calentarse y puede necesitar un ventilador de enfriamiento, y es más grande que otros sensores
  • LIDAR: haz que puede rastrear ubicaciones hasta a 40 m de distancia --- Debe colocarse hacia el objeto y solo puede mirar en esa dirección
  • SONAR: Haz que puede rastrear a 5 m de distancia pero en un rango lejano --- Los objetos pequeños como las plumas pueden activar el sensor
  • Ultrasónico: tiene un alcance de hasta 3 my es muy económico --- En ocasiones, las distancias pueden ser inexactas
  • Sensor de 9 grados de libertad: bueno para detectar la orientación y la velocidad del usuario --- Si algo interfiere con los sensores, los cálculos de distancia pueden calcularse incorrectamente

Paso 8: Selección de equipo: software

Selección de equipo: software
Selección de equipo: software
Selección de equipo: software
Selección de equipo: software
Selección de equipo: software
Selección de equipo: software

El software seleccionado para los primeros prototipos construidos con el sensor Kinect V1 fue Freenect, pero no fue muy preciso. Al cambiar a Kinect V2 y Freenect2, los resultados de seguimiento mejoraron significativamente debido al seguimiento mejorado, ya que el V2 tiene una cámara HD y 3 cámaras de infrarrojos en lugar de una sola cámara en el Kinect V1. Cuando estaba usando OpenNi2 con Kinect V1, las funciones eran limitadas y no podía controlar algunas de las funciones del dispositivo.

Software: Pros --- Contras:

  • Freenect: tiene un nivel más bajo de control para controlar todo --- Solo es compatible con Kinect V1
  • OpenNi2: Puede crear fácilmente los datos de la nube de puntos a partir del flujo de información de Kinect --- Solo es compatible con Kinect V1 y no es compatible con el control de bajo nivel
  • Freenect2: Tiene un nivel más bajo de control para la barra de sensores --- Solo funciona para el Kinect V2
  • ROS: Sistema operativo ideal para programar funciones de la cámara --- Debe instalarse en una tarjeta SD rápida para que el software funcione

Paso 9: Selección de equipo: otras piezas

Selección de equipo: otras piezas
Selección de equipo: otras piezas
Selección de equipo: otras piezas
Selección de equipo: otras piezas

Las baterías de iones de litio se seleccionaron por ser ligeras, tener una gran capacidad de potencia y ser recargables. La variante 18650 de la batería de iones de litio tiene una forma cilíndrica y encaja perfectamente en el prototipo de bastón. El primer prototipo de caña está fabricado en tubo de PVC porque es hueco y reduce el peso de la caña.

Paso 10: Desarrollo del sistema: creación del hardware, parte 1

Desarrollo del sistema: creación del hardware, parte 1
Desarrollo del sistema: creación del hardware, parte 1
Desarrollo del sistema: creación del hardware, parte 1
Desarrollo del sistema: creación del hardware, parte 1
Desarrollo del sistema: creación del hardware, parte 1
Desarrollo del sistema: creación del hardware, parte 1

Primero tenemos que desmontar el Kinect para que sea más ligero y que encaje dentro de la caña. Comencé quitando toda la carcasa exterior del Kinect ya que el plástico usado pesa MUCHO. Luego tuve que cortar el cable para poder quitar la base. Tomé los cables del conector que se muestra en la imagen y los soldé a un cable USB con cables de señal y las otras dos conexiones eran para la alimentación de entrada de 12V. Como quería que el ventilador dentro del bastón funcionara a máxima potencia para enfriar todos los demás componentes, corté el conector del ventilador del Kinect y conecté 5 V desde la Raspberry Pi. También hice un pequeño adaptador para el cable LiDAR para que pueda conectarse directamente a la Raspberry Pi sin ningún otro sistema en el medio.

Accidentalmente soldé el cable blanco al negro, así que no mire las imágenes para ver los diagramas de cableado

Paso 11: Desarrollo del sistema: creación del hardware, parte 2

Desarrollo del sistema: creación del hardware, parte 2
Desarrollo del sistema: creación del hardware, parte 2
Desarrollo del sistema: creación del hardware, parte 2
Desarrollo del sistema: creación del hardware, parte 2
Desarrollo del sistema: creación del hardware, parte 2
Desarrollo del sistema: creación del hardware, parte 2
Desarrollo del sistema: creación del hardware, parte 2
Desarrollo del sistema: creación del hardware, parte 2

Creé una pieza reguladora para proporcionar energía a todos los dispositivos que requieren 5V como la Raspberry Pi. Ajusté el regulador colocando un medidor en la salida y ajustando la resistencia para que el regulador proporcionara 5.05V. Lo puse un poco más alto que 5V porque con el tiempo, el voltaje de la batería baja y afecta ligeramente el voltaje de salida. También hice un adaptador que me permite alimentar hasta 5 dispositivos que requieren los 12V de la batería.

Paso 12: Desarrollo del sistema: Programación del sistema Parte 1

Desarrollo del sistema: Programación del sistema, parte 1
Desarrollo del sistema: Programación del sistema, parte 1
Desarrollo del sistema: Programación del sistema, parte 1
Desarrollo del sistema: Programación del sistema, parte 1
Desarrollo del sistema: Programación del sistema, parte 1
Desarrollo del sistema: Programación del sistema, parte 1

Una de las partes más desafiantes de este sistema es la programación. Cuando conseguí que el Kinect jugara con él por primera vez, instalé un programa llamado RTAB Map que toma el flujo de datos del Kinect y lo convierte en una nube de puntos. Con la nube de puntos, creó una imagen 3D que se puede rotar para ver la profundidad de donde están todos los objetos. Después de jugar con él por un tiempo y ajustar todas las configuraciones, decidí instalar algún software en la Raspberry Pi para permitirme ver el flujo de datos del Kinect. Las dos últimas imágenes de arriba muestran lo que la Raspberry Pi puede producir a unos 15-20 fotogramas por segundo.

Recomendado: