diseño de un sistema portátil para la detección de...

57
Diseño de un Sistema Portátil para la Detección de Obstáculos por medio de Kinect, como Apoyo a Personas con Limitaciones Visuales. Darrison Romero Felipe Rodríguez Director: Ing. Miguel Ricardo Pérez Pereira Trabajo de grado para optar por el título de Ingeniero en Control Bogotá, Colombia 2018

Upload: others

Post on 15-May-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Diseño de un Sistema Portátil para la Detección de ...repository.udistrital.edu.co/bitstream/11349/14039/... · La movilidad es un componente primordial de la libertad y la dignidad

Diseño de un Sistema Portátil para la Detección de Obstáculos por medio de

Kinect, como Apoyo a Personas con Limitaciones Visuales.

Darrison Romero

Felipe Rodríguez

Director:

Ing. Miguel Ricardo Pérez Pereira

Trabajo de grado para optar por el título de

Ingeniero en Control

Bogotá, Colombia

2018

Page 2: Diseño de un Sistema Portátil para la Detección de ...repository.udistrital.edu.co/bitstream/11349/14039/... · La movilidad es un componente primordial de la libertad y la dignidad

AGRADECIMIENTOS

Felipe Rodríguez

Agradezco a Dios y a mi familia padre, madre, hermana y sobrina por el apoyo incondicional durante mi

proceso de educación a lo largo de este difícil camino en el que nos formamos intelectual, personal y

éticamente, de igual forma a la universidad Distrital Francisco José de Caldas quien nos permite

presentar este prototipo para culminar mis estudios de pregrado.

A Darrison Romero mi compañero en la elaboración de este proyecto de grado, porque con su apoyo y

dedicación hemos podido terminar satisfactoriamente este prototipo.

Darrison Romero

En primera instancia, agradezco a Dios por su guía y compañía a lo largo de mi carrera, por darme la

fortaleza y determinación para sobrepasar cada dificultad y eventualidad adversa que se presentó en el

camino.

También agradezco a mi familia por su apoyo incondicional y por alentarme en los momentos en los

que, por alguna circunstancia, considere desfallecer.

A la Universidad Distrital Francisco José de Caldas, mi alma mater, quien mediante sus docentes,

instalaciones y recursos, oriento mi carrera y me brindo herramientas que me permitieron, y lo seguirán

haciendo, creer como persona en el ámbito profesional y personal. Asimismo, me concedió la

oportunidad de construir el prototipo con el que anhelo culminar esta etapa de mi ciclo profesional.

Al Ingeniero y docente Miguel Pérez, quien, mediante sus conocimientos y experiencia, dirigió con

entereza cada paso en el desarrollo de este proyecto.

Por último, pero no menos importante, deseo expresar mi gratitud a mi compañero Felipe Rodríguez,

quien fue mi aliado en esta ardua campaña en la que el objetivo era aprender y aportar un grano de

arena a la mejora en la calidad de vida de personas con limitaciones visuales.

Page 3: Diseño de un Sistema Portátil para la Detección de ...repository.udistrital.edu.co/bitstream/11349/14039/... · La movilidad es un componente primordial de la libertad y la dignidad

RESUMEN

Con el fin de contribuir en la mejora de la calidad de vida de las personas con discapacidad visual, se ha

diseñado un prototipo portátil que les brinda apoyo sobre su desplazamiento autónomo, utilizando

como medio de visión un Kinect. Este dispositivo también cuenta con una Raspberry Pi 3, esta funciona

como cerebro, que ejecuta y procesa toda la información capturada por el Kinect. Cuenta además con

un sistema sensorial de alarma que indica la ubicación de objetos u obstáculos por medio de tres

actuadores (vibradores de celular) colocados estratégicamente en tres puntos del cuerpo a nivel del

abdomen. Mediante este sistema de alarma, el usuario discapacitado mejorará su sentido de la

ubicación, ya que dependiendo de si el objeto se encuentra a la izquierda, derecha o centro, los

actuadores vibrarán con una intensidad proporcional al nivel de cercanía del usuario con respecto al

elemento presente en el ambiente.

Además, el usuario podrá obtener información del obstáculo cuando lo desee por medio de un pulsador,

este funciona como interfaz de solicitud entre el usuario y el dispositivo. Al oprimirlo, se envía la

siguiente información de forma audible:

La distancia a la cual se encuentra el objeto.

El ancho del objeto, si este se encuentra a más de 1m de distancia del usuario.

Ubicación en la que se encuentra el obstáculo con referencia al usuario, la cual está divida en

tres segmentos, derecha, centro e izquierda y sus combinaciones derecha - centro, centro -

izquierda y derecha – centro – izquierda.

Cabe destacar que este es un dispositivo que complementa la ayuda del bastón blanco, es importante

mencionarlo puesto que este último es un elemento que brinda identidad y seguridad para las personas

con limitaciones visuales.

Palabras Claves: Kinect, limitación visual, bastón blanco, Raspberry Pi, alertas sensoriales.

Page 4: Diseño de un Sistema Portátil para la Detección de ...repository.udistrital.edu.co/bitstream/11349/14039/... · La movilidad es un componente primordial de la libertad y la dignidad

ABSTRACT

In order to contribute to the improvement of the quality of life of people with visual disabilities, a

portable prototype has been designed that gives them support on their autonomous movement, using

as a means of vision a Kinect. This device also has a Raspberry Pi 3, this works as a brain, which executes

and processes all the information captured by the Kinect. It also has a sensorial alarm system that

indicates the location of objects or obstacles by means of three actuators (cell vibrators) strategically

placed in three points of the body at the level of the abdomen. Through this alarm system, the disabled

user will improve their sense of location, since depending on whether the object is left, right or center,

the actuators will vibrate with an intensity proportional to the level of closeness of the user with respect

to the element present in the environment.

In addition, the user will be able to obtain information about the obstacle whenever he wishes by means

of a pushbutton, this functions as a request interface between the user and the device. When pressed,

the following information is sent audibly:

The distance at which the object is located.

The width of the object, if it is more than 1m away from the user.

Location in which the obstacle is located with reference to the user, which is divided into three

segments, right, center and left and their combinations right - center, center - left and right -

center - left.

It should be noted that this is a device that complements the help of the white cane, it is important to

mention it since this is an element that provides identity and security for people with visual limitations.

Key words: Kinect, visual limitation, white cane, raspberry pi, sensory alerts.

Page 5: Diseño de un Sistema Portátil para la Detección de ...repository.udistrital.edu.co/bitstream/11349/14039/... · La movilidad es un componente primordial de la libertad y la dignidad

CONTENIDOS 1. INTRODUCCION

2. PLANTEAMIENTO DEL PROBLEMA

3. OBJETIVOS

3.1 OBJETIVO GENERAL

3.2 OBJETIVOS ESPECIFICOS

4. MARCO TEORICO

4.1 DISCAPACIDAD VISUAL Y CEGUERA

4.2 BASTON BLANCO

4.3 KINNECT

4.4 RASPBERRY PI 3 MODELO B

4.5 PYTHON

4.5.1 Open CV

4.5.2 RPi.GPIO

4.7 MOTORES VIBRADORES

5. DESARROLLO DEL PROYECTO

5.1 HARDWARE

5.1.1 Kinect

5.1.2 Raspberry Pi 3

5.1.3 Vibradores

5.1.4 Tarjeta de potencia

5.1.5 Alimentación

5.2 SOFTWARE

5.2.1. Conexión entre Raspberry - Kinect

5.2.2 Identificación de la distancia del objeto

5.2.3 Identificación de la posición del objeto

5.2.4 Identificación del ancho del objeto

5.2.5 Información vía audio

Page 6: Diseño de un Sistema Portátil para la Detección de ...repository.udistrital.edu.co/bitstream/11349/14039/... · La movilidad es un componente primordial de la libertad y la dignidad

6. ANALISIS DE RESULTADOS

6.1. Pruebas finales.

6.1.2. Prueba con persona en condición de discapacidad visual.

7. Conclusiones.

8. Bibliografía.

Page 7: Diseño de un Sistema Portátil para la Detección de ...repository.udistrital.edu.co/bitstream/11349/14039/... · La movilidad es un componente primordial de la libertad y la dignidad

1. INTRODUCCION

La movilidad es un componente primordial de la libertad y la dignidad del ser humano y uno de los

aspectos más importantes en la independencia de las personas.

Sin percatarse, las personas actúan naturalmente al realizar diferentes tipos de actividades que

requieren movilidad y orientación. Sin embargo, para las personas que presentan discapacidad visual

realizar este tipo de acciones es más complejo.

Con el fin de dar claridad a lo que implica el desplazamiento de una persona, es necesario entender el

significado de los conceptos movilidad y orientación. La ONCE (Organización Nacional de Ciegos de

España) sugiere las siguientes descripciones para el concepto movilidad: “Capacidad, disposición y

facilidad para desplazarse de un lugar a otro; facultad de moverse dentro del propio entorno; capacidad

de la persona discapacitada para desplazarse con autonomía en su entorno, sirviéndose en caso

necesario de una ayuda.” (Cebrián De Miguel, Cantalejo, 1998).

Así, y según la definición dictada por la ONCE, se comprenderá movilidad como el movimiento integral

de una persona que implica un cambio de ubicación espacial, sometido a la voluntad de esta, en relación

con otros objetos que permanecen en posiciones fijas o que están en desplazamiento.

El término movilidad esta enlazado con la orientación. Este último es definido por la ONCE como:

“Proceso por el cual la persona discapacitada visual utiliza los restantes sentidos para establecer su

posición y su relación con respecto a los elementos del medio.” (Cebrián De Miguel et al., 1998). Según

esta definición dada por la ONCE, se entenderá orientación como el conocimiento de la posición actual

con respecto a los objetos presentes en el medio o entorno.

Así mismo, la ONCE determina la idea de los conceptos movilidad y orientación unidos como el grupo de

destrezas que facilitan el desplazamiento independiente de las personas con discapacidad visual.

Definidos previamente los términos movilidad y orientación, es comprensible la importancia que estos

toman para las personas con limitaciones visuales y así se pueden proyectar las dificultades relacionadas

a cualquier actividad que requieran de un desplazamiento autónomo y voluntario.

Para este proyecto la movilidad se definirá como la habilidad para desplazarse desde la posición fija que

se tiene en un momento, a una deseada en otra parte del entorno, caminando. Adicionalmente, se

entenderá por orientación como el proceso mediante el cual la persona con discapacidad visual emplea

los sentidos restantes para determinar su ubicación en relación a los elementos presentes en su

entorno.

2. PLANTEAMIENTO DEL PROBLEMA

Según el censo del 2005 realizado por el DANE, la población colombiana con limitación visual es el 2,49%

de la población total del país (Colombia), los cuales representan el 43,2% de las personas con algún tipo

de discapacidad. En el censo del 2005, el enfoque con el que se enmarcó fue respecto a las limitaciones

permanentes en las actividades cotidianas y con condición de limitación mayor a un año, donde se

obtuvo un resultado de 2.624.898 personas (Censos de población y vivienda, 2005).

Page 8: Diseño de un Sistema Portátil para la Detección de ...repository.udistrital.edu.co/bitstream/11349/14039/... · La movilidad es un componente primordial de la libertad y la dignidad

En este mismo censo, se obtiene que la limitación visual es la mayor limitación que afecta a los

colombianos con una cifra de 1.134.085 personas en condición de discapacidad visual, o sea el 43,2% de

la población con algún tipo de discapacidad.

Con estos datos se puede analizar el número de personas que poseen limitación visual. Se podría

plantear una relación directa entre la edad y la deficiencia visual, debido al desgaste por el uso de los

ojos, exposición a radiación y otros parámetros. Con las cifras obtenidas en el censo del 2005 se obtiene

el número de personas con limitación visual según la edad como se muestra en la siguiente tabla:

Prevalencia de personas con limitación visual por 1.000 habitantes, según rangos de edad. Censo 2005

Rangos de edad (años)

Población proyectada Número de personas con limitación visual

censadas

Tasa por 1,000 habitantes

De 0 a 4 años 4.280.363 18.925 4.4

De 5 a 9 años 4.305.015 40.320 9.4

De 10 a 14 años 4.425.547 59.448 13.4

De 15 a 19 años 4.394.301 49.664 11.3

De 20 a 24 años 4.047.540 43.161 10.7

De 25 a 29 años 3.615.528 40.497 11.2

De 30 a 34 años 3.266.736 40.065 12.3

De 35 a 39 años 2.919.906 47.907 16.4

De 40 a 44 años 2.936.124 73.496 25.0

De 45 a 49 años 2.742.033 100.601 36.7

De 50 a 54 años 2.286.879 102.155 44.7

De 55 a 59 años 1.814.786 92.769 51.1

De 60 a 64 años 1.411.771 83.578 59.2

De 65 a 69 años 1.045.929 85.334 81.6

De 70 a 74 años 832.587 79.459 95.4

De 75 a 79 años 589.649 72.906 123.6

De 80 años y más 593.511 103.800 174,9

Tabla 1. Censo 2005 de personas con limitación visual por edad por el DANE

Revisando los datos de la Tabla 1, podemos observar que conforme aumentan los años vividos el riesgo

de padecer una limitación visual es mayor.

Adicionalmente, para el desarrollo pleno de una persona, es necesario realizar variedad de actividades

que le aporten tanto a estructuras mentales, como físicas y sociales. Algunas de estas actividades son

caminar, correr, saltar, hablar, comunicarse, entre otras, las cuales son esenciales para cualquier ser

humano. Según el censo del DANE de 2005, las personas con discapacidades se ven privadas de realizar

algunas de estas actividades, donde se tiene que 48,1% de personas con discapacidad visual le dan

mayor importancia a la movilidad (caminar, correr, saltar); el 35,6% también le ven gran importancia a

actividades relacionadas con el aprendizaje (estudiar); adicionalmente, el 33,1% ven necesario poder

desplazarse debido a problemas respiratorios o del corazón; el 18,2% toman oír como la actividad más

Page 9: Diseño de un Sistema Portátil para la Detección de ...repository.udistrital.edu.co/bitstream/11349/14039/... · La movilidad es un componente primordial de la libertad y la dignidad

importante y finalmente el 11,4% le dan mayor importancia a hablar y comunicarse (Censos de

población y vivienda, 2005).

Con base en lo manifestado por el DANE en el censo del 2005, es claro que la movilidad es uno los

aspectos más relevantes para las personas invidentes. Es por el motivo anterior que se ha venido

trabajando en la construcción de dispositivos y herramientas que contribuyan a mejorar el

desplazamiento de las personas con limitaciones visuales, ya sea en recintos cerrados como sus casas o

en zonas urbanas tales como parques, centros comerciales, etc.

Teniendo en cuenta el problema planteado, se presentan los siguientes tipos de herramientas que se

suelen utilizar para mejorar la movilidad de personas invidentes:

Guía vidente: Es una persona que puede ver, esta sirve como guía para la movilidad del

invidente.

Bastón Blanco: Se trata del uso de un bastón que es de color blanco (internacionalmente

reconocido como herramienta de un invidente), mediante el cual se capta la presencia de

obstáculos.

Perro guía: Se aplica mediante la asistencia de un perro entrenado para reconocer amenazas

que se encuentren cerca al invidente. La asistencia del perro también se usa como guía en

espacios urbanos.

También existen herramientas sin auxiliares de movilidad tales como:

Uso de pistas: Son rutas especialmente diseñadas para que las personas invidentes puedan

desplazarse de un lugar a otro minimizando el riesgo de sufrir un accidente.

Puntos de referencia: Son marcas que pueden identificar los invidentes con las cuales pueden

conocer su posición actual.

Rastreo: Es una técnica en la que, por medio del tacto del invidente, este va reconociendo lo

que se encuentra a su alrededor con el fin de guiarse en el espacio en el que se encuentre.

La herramienta más práctica para una persona invidente es el bastón blanco y también es su icono a

nivel nacional e internacional. El uso del bastón blanco, junto con otras técnicas y herramientas, permite

a los invidentes llegar casi a cualquier lugar, sin embargo, el bastón blanco posee bastantes desventajas

y limitaciones como las mencionadas a continuación:

Detectan obstáculos que se encuentren de la cintura para abajo, dejando al usuario expuesto en

la parte superior, permitiendo que sufra golpes en áreas como el pecho, los hombros, la cabeza

entre otros.

Para que el obstáculo pueda ser detectado, es necesario que el bastón blanco haga contacto con

él, lo que genera peligro para el invidente y para el obstáculo que se encuentre alrededor.

“Por la longitud limitada y el ángulo de alcance del bastón, los objetos a localizar son aquellos

ubicados en un rango muy pequeño, lo cual hace que el invidente vaya más despacio, debido a

la posible cercanía del obstáculo” (Galán, 2013).

Observando estas desventajas, es necesario generar una herramienta complementaria al bastón blanco.

Es preciso hacer hincapié en el término complementario porque, como se mencionó anteriormente, el

bastón blanco es una herramienta irremplazable y un símbolo de identidad para personas con

discapacidad visual.

Page 10: Diseño de un Sistema Portátil para la Detección de ...repository.udistrital.edu.co/bitstream/11349/14039/... · La movilidad es un componente primordial de la libertad y la dignidad

El sistema diseñado generará más seguridad a la persona al momento de desplazarse, esto se debe a

que obtendrá información del ambiente en el cual se encuentra; será transmitida vía audio al usuario

siempre y cuando este la desee para no generar saturación de información al mismo. Facilitará la

movilidad de la persona tanto en espacios cerrados como abiertos, protegerá al invidente de posibles

lesiones en zonas delicadas del cuerpo como por ejemplo el rostro, cuello entre otros.

3. OBJETIVOS

3.1 OBJETIVO GENERAL

Diseñar un sistema portátil para la detección y descripción de obstáculos por medio del sensor Kinect,

que pueda ser utilizado para mejorar la movilidad de las personas con discapacidad visual y que

funcione como apoyo al Bastón Blanco.

3.2 OBJETIVOS ESPECIFICOS

Desarrollar un sistema capaz de leer la información proveniente del sensor Kinect de Microsoft,

que sea portátil y cómodo para los usuarios.

Desarrollar un algoritmo que obtenga una descripción detallada del objeto u obstáculo que se

encuentra más cerca al usuario y que realice dicha descripción de una forma audible para el

usuario cuando el mismo lo requiera.

Desarrollar un sistema por medio de vibraciones que permita alertar al usuario de los posibles

obstáculos, esto con el fin de evitar la sobre carga sensorial auditiva.

4. MARCO TEÓRICO

4.1 DISCAPACIDAD VISUAL Y CEGUERA

La discapacidad visual se define con base en la agudeza visual del ojo, así como en el campo visual del

mismo. Se interpreta discapacidad visual del ojo cuando existe una reducción considerable de la

agudeza visual o el campo visual del ojo aún con el uso de lentes.

Existen diferentes causas de la discapacidad visual, inadecuado desarrollo de los órganos visuales (en la

gestación o en el transcurso de la niñez), accidentes o procedimientos que perjudiquen los ojos, las vías

visuales o el cerebro. También existen varios tipos de discapacidades que tienen como origen una

enfermedad (WHO, World Health Organization,2010) :

Cataratas

Glaucoma

Diabetes

Tracoma

Ausencia de Vitamina A

Según la Clasificación Internacional de Enfermedades CIE, la actividad visual se divide en cuatro grupos:

Page 11: Diseño de un Sistema Portátil para la Detección de ...repository.udistrital.edu.co/bitstream/11349/14039/... · La movilidad es un componente primordial de la libertad y la dignidad

Visión normal

Discapacidad visual moderada

Discapacidad visual grave

Ceguera

La baja visión está conformada por los grupos Discapacidad visual moderada y Discapacidad visual grave.

Subsecuentemente, los casos de discapacidad visual están representados por baja visión y ceguera.

¿Quién está en riesgo?

Mayores de 50 años

De acuerdo a datos mundiales (WHO, 2012), de la población con limitación visual en el mundo, el 65%

de esta son mayores de 50 años. Aunque esta población apenas representa el 20% de la población

mundial (WHO, 2012), es importante resaltar que va en aumento en muchos países, por ende, más

personas estarán en riesgo de adquirir enfermedades de tipo visual por envejecimiento.

Menores de 15 años

Aunque se cree que el número de niños en el mundo con algún tipo de afectación visual es de alrededor

de 19 millones, 12 millones padecen de errores de refracción que son fáciles de diagnosticar y corregir.

Alrededor de 1.4 millones de personas menores de 15 años padecen de ceguera irreversible y requieren

de rehabilitación visual (WHO, 2012).

Datos y cifras según la WHO.

Alrededor del 90% de los discapacitados visuales a nivel mundial se concentran en los países en

vías de desarrollo.

Lo errores visuales de refracción no tratados o corregidos componen el causal más relevante de

discapacidad visual, sin embargo, en los países con ingresos medios y bajos la causa más

importante de ceguera son las cataratas.

El 80% del total mundial de casos de discapacidad visual se pueden evitar o curar.

Respuesta mundial

En las últimas dos décadas, se han hecho avances significativos tales como:

Implementación, por parte de los gobiernos, de normas y programas enfocados en la

prevención y control de la discapacidad visual.

Incorporación y aumento de servicios oftalmológicos en los sistemas de atención a la salud,

teniendo como énfasis que estos servicios sean accesibles y de alta calidad.

Planes de educación y concientización acerca de la importancia de la función visual, incluyendo

los centros educacionales (WHO, 2012).

4.2 BASTÓN BLANCO

Page 12: Diseño de un Sistema Portátil para la Detección de ...repository.udistrital.edu.co/bitstream/11349/14039/... · La movilidad es un componente primordial de la libertad y la dignidad

El bastón blanco es la identificación de una persona con ceguera, basta con observar a alguien

utilizándolo para saber que es una persona discapacitada. Se dice que el bastón blanco lo invento el

argentino José Fallótico (Asociación guipuzcoana para promover la inclusión de personas con baja

Visión, 2015). La idea surgió al observar tambalear un ciego en la calle, decidió buscar un bastón en su

casa con el objetivo de ayudar a esa persona, luego de un tiempo decidió pintarlo de blanco y así con

este color se distinguiera a las personas con discapacidad visual. Nunca fue patentado por él, por lo cual

este invento se atribuye a George Benham, quien decidió colocar un listón rojo al bastón y así aumentar

más su visibilidad (Unión nacional de ciegos de Uruguay, 2012). Así fue como se logró identificar a las

personas con ceguera y darles prioridad, generando así que actualmente se celebre el 15 de octubre

como el día del bastón blanco (http://www.lionsclubs.org/EN/index.php). En un principio solo se utilizó

como distintivo sobre todo en lugares en donde cruzan vías con alto flujo vehicular, hoy en día también

es un medio de protección e información.

Hay diferentes tipos de bastones blancos, en los cuales puede variar su longitud, su estilo y materiales

de fabricación. Uno de los más cómodos según el discapacitado es el bastón plegable, el cual puede

acortarse en diferentes partes para que sea fácil guardar en el momento que no se necesite, por

ejemplo, al momento de coger algún transporte vehicular donde se hace difícil transportarlo.

Figura 1. Bastón blanco plegable (http://www.medicalexpo.es/fabricante-medical/baston-blanco-8072).

Existe también el bastón simple, como su nombre lo indica es el bastón más sencillo de todos, pues su

punta es de goma, empuñadura ergonómica y todo su cuerpo es rígido. La longitud del bastón varía

dependiendo de la altura de la persona y generalmente este no debe superar la altura del esternón

colocando el bastón verticalmente (Martínez, 2012).

Page 13: Diseño de un Sistema Portátil para la Detección de ...repository.udistrital.edu.co/bitstream/11349/14039/... · La movilidad es un componente primordial de la libertad y la dignidad

Figura 2. Bastón blanco simple (http://www.medicalexpo.es/fabricante-medical/baston-blanco-8072).

Hoy en día a nivel internacional no solamente existe el bastón blanco el cual identifica a las personas con

ceguera total, también se encuentra el bastón de color verde que identifica a las personas que tienen

alguna limitación visual (baja visión). El bastón de color rojo identifica a las personas que poseen

ceguera y sordera, es decir no ven ni oyen.

4.3. KINECT

Es un controlador de juego libre y entretenimiento creado por Alex Kipman, desarrollado por Microsoft

para la videoconsola Xbox 360, y desde junio del 2011 para PC a través de Windows 7 y Windows

8(Microsoft, 2010).

Figura 3. Kinect (Microsoft, 2010).

Fue originalmente elaborado para la consola Xbox 360 con el objetivo de controlar e interactuar a través

de reconocimiento de voz, facial, procesamiento de imágenes, entre otras características.

Este dispositivo cuenta básicamente con una cámara RGB, un sensor de profundidad, un micrófono

multi-array y un procesador personalizado que es propio de Microsoft, en el Anexo A se muestra la ficha

técnica de este dispositivo.

El Kinect no solamente se ha utilizado para la consola de juegos Xbox 360, a partir del lanzamiento para

Windows, ha tomado fuerza en la realización de proyectos que buscan mejorar o solucionar problemas,

en el área de discapacidad, se puede mencionar por ejemplo la rehabilitación virtual con Kinect para

Page 14: Diseño de un Sistema Portátil para la Detección de ...repository.udistrital.edu.co/bitstream/11349/14039/... · La movilidad es un componente primordial de la libertad y la dignidad

personas con esclerosis múltiple(Microsoft,2012), con el cual a través del sistema de captura de

movimiento, realizan varias actividades sin necesidad de tener un mecanismo o una máquina para

desarrollarlo. El Kinect ha despertado en diferentes personas el desarrollo de sus ideas generando

proyectos en áreas tales como turismo, salud, educación, entre otras.

En la figura 4 se presentan los componentes internos del Kinect:

Figura 4. Kinect: Componentes internos (Microsoft, 2010).

La Cámara Depth funciona a partir de dos elementos, un proyector de luz infrarrojo y un sensor de

recepción de la misma luz, el software del Kinect determina una matriz de 640 *480, en la cual el pixel

varía su valor dependiendo que tan lejos se encuentre el objeto con respecto al sensor receptor.

Figura 5. Proyección y recepción del haz de luz infrarrojo (http://ideasgeek.net).

4.4. RASPBERRY PI 3 MODELO B

La Raspberry Pi 3 Modelo B es la tercera generación de Raspberry Pi. Esta poderosa computadora de

una sola tarjeta con tamaño de tarjeta de crédito se puede utilizar para muchas aplicaciones y

Page 15: Diseño de un Sistema Portátil para la Detección de ...repository.udistrital.edu.co/bitstream/11349/14039/... · La movilidad es un componente primordial de la libertad y la dignidad

reemplaza a la original Raspberry Pi Modelo B + y Raspberry Pi 2 Modelo B. Mientras mantiene el

popular formato de tarjeta, la Raspberry Pi 3 Model B le ofrece un procesador más potente, 10 veces

más rápido que la primera generación de Raspberry Pi. Además, agrega conectividad LAN inalámbrica

(Wi-Fi) y Bluetooth.

Figura 6. Raspberry PI 3 Modelo B (Raspberry Organization).

Fuera de los aspectos técnicos, uno de los atractivos más destacables de este mini computador es su

costo. Ofrece la capacidad de un ordenador a bajo precio convirtiéndose en una buena alternativa.

La Raspberry Pi 3, acopla en su circuito un Chipset Broadcom BCM2387 de cuatro núcleos ARM Cortex-

A53 a 1.2 GHz (Raspberry Organization, 2015). Este procesador es capacitado para ejecutar aplicaciones

y juegos de video, además cuenta con capacidad de procesamiento para otro tipo de tareas.

La capacidad de memoria RAM DDR2 con la que cuenta (1 Gb), le permite ejecutar bastantes sistemas

operativos tales como Windows 10 Lot Core, Ubuntu Snappy, Raspbian (Raspberry Organization,2015).

Como se mencionó anteriormente, una de las mejoras de esta tarjeta con respecto a los modelos

previos de Raspberry, es la inclusión de conectividad Wi-Fi y Bluetooth.

Las dimensiones de la tarjeta son bastante cómodas para su portabilidad, aplicaciones de robótica,

estaciones meteorológicas, reproductor de contenido (Media Center), sistemas de control, etc. Su

tamaño es 85 mm x 56 mm x 17 mm.

La alimentación de esta tarjeta es de 5V DC, es recomendable que la fuente de alimentación este en la

capacidad de entregar una corriente de 2.5A 5.1 VDC, dado que una fuente de alimentación con

capacidad menor de corriente causando problemas de compilación y que está no funcione

correctamente o en el caso extremo que ni siquiera arranque su sistema operativo.

Page 16: Diseño de un Sistema Portátil para la Detección de ...repository.udistrital.edu.co/bitstream/11349/14039/... · La movilidad es un componente primordial de la libertad y la dignidad

Figura 7. Raspberry PI 3: Periféricos (https://tech.scargill.net/raspberry-pi-3/)

Posee un conector de audio de 3.5mm de 4 polos la cual es compartida con una señal de video

compuesta. Este conector también se conoce como TRRS (Tip Ring Ring Sleeve)(

https://encyclopedia2.thefreedictionary.com/TRRS,2015), que significa que posee 4 conexiones y que

son compatibles con auriculares destinados a teléfonos inteligentes, es decir un conector estándar. La

configuración del conector se muestra en la siguiente Figura:

Figura 8. Conector de audio Raspberry Pi 3 (MATT, 2014).

En donde la zona 4 es video, el 3 es tierra, 2 auricular derecho y 1 auricular izquierdo.

4.4.1. Módulo GPIO

En la Figura 9 se puede ver la descripción de cada uno de los pines que se pueden utilizar para salida o

entrada de datos. Existen pines para propósitos específicos como lo es la comunicación RS232 o I2C. La

nomenclatura de cada uno de ellos no tiene relación con el orden específico en el que se encuentran

dispuestos, por ejemplo, el pin GPIO 14 pertenece al pin 8 de la tarjeta.

Page 17: Diseño de un Sistema Portátil para la Detección de ...repository.udistrital.edu.co/bitstream/11349/14039/... · La movilidad es un componente primordial de la libertad y la dignidad

Figura 9. Módulos GPIO (https://www.iconspng.com/image/97539/raspberry-pi-3-gpio-pin-chart-with-

pi).

Con simples líneas de código puede seleccionarse un pin del GPIO y determinar si es de salida o entrada.

hay diferentes funcionalidades de cada pin del GPIO, de acuerdo a esto pueden agruparse en tres

definiciones:

Pines de alimentación que ofrecen voltajes de 5 V y de 3,3 V.

Pines GND.

Pines multipropósito.

Los del último grupo pueden ser subdivididos en dos subgrupos: Los de propósito específico (SPI, I2C,

Rs232 y PWM) y los restantes de salida o entrada digital que reciben o transmiten 3.3V.

4.4.2. PWM

El PWM es el proceso en el cual se modifica el ciclo útil de trabajo de una señal periódica, En nuestro

caso para regular la intensidad del vibrador. El ciclo de trabajo de una señal periódica es el ancho

relativo de su parte positiva con respecto al período (José Briceño, 2005).

Page 18: Diseño de un Sistema Portátil para la Detección de ...repository.udistrital.edu.co/bitstream/11349/14039/... · La movilidad es un componente primordial de la libertad y la dignidad

Figura 10. PWM (Lucas Martin, 2012).

Representado matemáticamente:

𝐷 =𝜏

𝑇

Fórmula 1. PWM.

Dónde:

D es el clico de trabajo

𝜏 es el ancho de pulso

T es el periodo de la función

Con Raspberry PI 3 es posible realizar modulación por ancho de pulso. A través del módulo GPIO,

podemos simular niveles variables de energía de salida a un dispositivo eléctrico. Se puede pulsar las

salidas con anchos variables para controlar la cantidad de potencia efectiva. Un ciclo en estado

encendido (ON) más corto en comparación con el ciclo de apagado (OFF) entrega un voltaje promedio

más bajo. Un tiempo más largo ON en relación con el tiempo de inactividad produce un voltaje más alto.

4.5. PYTHON

Se refiere al lenguaje de programación Python (con reglas de sintaxis para escribir lo que se considera

código Python válido) y el software de interpretación Python que lee el código fuente (escrito en el

lenguaje Python) y lleva a cabo sus instrucciones. El intérprete de Python se puede descargar

gratuitamente desde http://python.org/, y hay versiones para Linux, OS X y Windows.

El nombre Python viene del surrealista grupo de comedia británico Monty Python, no de la serpiente

pitón (Python en inglés).

Page 19: Diseño de un Sistema Portátil para la Detección de ...repository.udistrital.edu.co/bitstream/11349/14039/... · La movilidad es un componente primordial de la libertad y la dignidad

Este lenguaje no necesita compilador, es de alto nivel y solo requiere un intérprete por lo tanto cuando

se ejecutan las líneas de código se hace directamente y sin necesidad de generar ejecutables. Otra

característica importante es que Python es orientado a objetos, cuenta con elementos como (Rossum,

2009):

Clase: Modelo sobre el cual se crean y estructuran los objetos.

Propiedad: Características de un objeto que se manejan como variables.

Método: Función que contiene acciones que deben realizar los objetos, su sintaxis es Def

nombre método().

Objeto: Cualquier sustantivo cuyas características puedan describirse como cualidades o

atributos. Algunos tipos de objetos son: String, entero, float, char, etc. Algunos de estos objetos

pueden caracterizarse nombrando otros objetos. Cuando se programa en Python no es

necesario especificar el tipo del objeto, solo se le asigna un nombre y valor especifico.

Herencia: Una clase puede heredar a otra si los objetos comparten propiedades y/o métodos.

Para crear un objeto no es necesario declarar su tipo, solo basta con asignarle un nombre y un valor, al

momento de ejecutarlo el intérprete le asignara un tipo de acuerdo a los valores con los que el nombre

del objeto haya sido igualado.

Cualquier código que se quiera ejecutar con Python debe ser guardado con la extensión .py.

4.5.1. Python IDE

Mientras que el intérprete de Python es la plataforma que ejecuta los programas, el software de

entorno de desarrollo interactivo (IDE) es donde se escriben los scripts, muy similar a un procesador de

texto. Existen varios softwares que permiten escribir y compilar Python, dentro de los cuales se resaltan

los mencionados a continuación:

PyCharm: Creado por JetBrains, es un IDE profesional y viene en dos modalidades: Una edición

gratis y otra mucho más completa orientada a empresas de desarrollo de sofware. Este IDE ha

sido utilizado por compañías como Twitter, Groupon, Spotify, ebay y Telefónica

(http://mavegas97.blogspot.com.co,2017). Aunque la mayoría de sus aplicaciones están

disponibles para modalidad gratuita, características como desarrollo remoto, soporte de bases

de datos, soporte de frameworks de desarrollo web, etc, están disponibles solo para la edición

profesional de PyCharm.

PyDev: Este IDE es completamente libre de costo, es un plugin de código abierto y se ejecuta en

Eclipse. Algunas de las características de PyDev son: Integración con Django, completa el código

de manera automática, soporte multilenguaje, plantillas de código, análisis de código, marcado

de errores y mucho más. Se mantiene siempre actualizado y contiene una gran comunidad de

usuarios y empresas de patrocinio como Liclipse, Squish, TraceTronic, entre otras.

Spyder: Es un potente entorno de desarrollo interactivo para el lenguaje Python con funciones

avanzadas de edición, pruebas interactivas, depuración e introspección y un entorno

informático numérico gracias al soporte de IPython (intérprete interactivo mejorado de Python)

y bibliotecas populares de Python como NumPy (álgebra lineal), SciPy (procesamiento de señal e

imagen) o matplotlib (trazado interactivo 2D / 3D).

Page 20: Diseño de un Sistema Portátil para la Detección de ...repository.udistrital.edu.co/bitstream/11349/14039/... · La movilidad es un componente primordial de la libertad y la dignidad

4.5.2. Open CV

Open CV (open source computer visión library) es una librería gratuita para uso académico como

comercial. Posee interfaces C++, Python (en la cual estamos trabajando) y Java. Es compatible con

Windows, Linux, IOS y Android, para nuestro caso Raspbian, que es un sistema operativo de la familia

Linux. Se ha utilizado en infinidad de aplicaciones, desde sistemas de seguridad con detección de

movimiento, hasta aplicaciones de control de procesos donde se requiere reconocimiento de objetos.

Abarcan una gran gama de áreas en el proceso de visión, como reconocimiento de objetos, calibración

de cámaras, visión estéreo y visión robótica.

4.5.3. RPi.GPIO

Este es un paquete que proporciona una clase para controlar GPIO (entradas y salidas digitales) en una

Raspberry Pi.

Hay dos formas de numerar los pines IO en una Raspberry Pi dentro de RPi.GPIO. El primero es usar el

sistema de numeración BOARD. Esto se refiere a los números de pin en el encabezado P1 de la placa de

la Raspberry Pi. La ventaja de utilizar este sistema de numeración es que el hardware siempre

funcionará, independientemente de la revisión de la placa del RPi. No necesitará volver a cablear los

conectores o cambiar el código.

El segundo sistema de numeración son los números de BCM. Esta es una forma de trabajar de nivel

inferior y se refiere a los números de canal en Broadcom SOC. Siempre debe trabajar con un diagrama

de qué número de canal va a qué pin en la placa RPi (Raspberry Organization).

Obligatoriamente se debe especificar cuál se aplicará:

GPIO.setmode(GPIO.BOARD)

GPIO.setmode(GPIO.BCM)

Los pines de las Raspberry se pueden configurar como salidas o entradas así:

GPIO.input(channel)

GPIO.output(channel, state)

Para el caso de las salidas se debe configurar un parámetro que hace referencia al estado inicial del pin

de salida: Alto o bajo.

Es posible que tenga más de un script / circuito en el GPIO de la Raspberry Pi. Como resultado de esto, si

RPi.GPIO detecta que un pin se ha configurado para algo distinto al predeterminado (entrada), recibirá

una advertencia cuando intente configurarlo de otra forma en cualquier script.

4.6. MOTORES VIBRADORES

4.6.1. MOTOR DC COMO VIBRADOR

Dado que el eje de un motor DC está perfectamente centrado, al girar la cantidad de vibración que se

genera es mínima. Para que el motor vibre, en el eje se acopla una carga metálica semi-cilíndrica. Esta

Page 21: Diseño de un Sistema Portátil para la Detección de ...repository.udistrital.edu.co/bitstream/11349/14039/... · La movilidad es un componente primordial de la libertad y la dignidad

carga hace que, cuando el motor gire, se genere un cabeceo de la carga con lo cual se produce la

vibración.

Figura 11. Motor DC con carga semi- cilíndrica acoplada al eje,

(http://www.inteligenciaartificialyrobotica.com/esp/item/340/mot-2265-motor-vibrador).

Este principio de funcionamiento es aplicado en los vibradores de dispositivos móviles:

Figura 12. Motor vibrador de celular (Samsung S5, 2016).

Son vibradores de bajo consumo de corriente, no superior a los 80 mA, su voltaje de polarización

normalmente de 5V, aunque esto principalmente lo define el fabricante, para este proyecto se utilizaron

tres vibradores del celular Samsung Galaxy S5.

5. ESTADO DEL ARTE

Algunos de los desarrollos más recientes en cuanto a dispositivos asistenciales para personas con

discapacidad visual, tienen como objetivo proveer sistemas que se adapten a las tareas de movilidad.

5.1 ARGUS

ARGUS, por sus siglas en inglés (Assisting personal guidance system for people with visual impairment),

es un sistema guiado para personas invidentes que está basado en información acústica y que permite

detectar la distancia y dirección de la que proviene el sonido. Lo desarrolladores de ARGUS plantean que

“las personas invidentes o con problemas de visión pueden moverse autónomamente y de forma

segura. Puede ser usada también por personas que trabajen en condiciones de baja visibilidad o con

riesgos” (Melissa Peralta, et al., 2014).

Page 22: Diseño de un Sistema Portátil para la Detección de ...repository.udistrital.edu.co/bitstream/11349/14039/... · La movilidad es un componente primordial de la libertad y la dignidad

Figura 13. ARGUS (Melissa Peralta, et al., 2014).

5.2 DISPOSITIVO DE NAVEGACIÓN PARA PERSONAS INVIDENTES BASADO EN LA TECNOLOGÍA

TIME OF FLIGHT

Según los diseñadores del proyecto (Ismael Lengua, Larisa Dunai, Guillermo Peris, Beatriz Defez, 2013),

este es un dispositivo diseñado como complemento al bastón blanco, detecta obstáculos e informa al

usuario mediante sonidos acústicos la localización de los mismos, en distancia y dirección. El rango de

trabajo del dispositivo va desde 0.5 m a 5 m de distancia, con un rango de 60° de azimut (30° derecha,

30° izquierda). Este dispositivo brinda la información vía audible, mediante auriculares estéreo, sobre la

presencia de objetos situados en el camino del usuario. Está compuesto por sensores 3D-CMOST

montados en gafas de sol, el cerebro del dispositivo es una FPGA que se encarga de procesar la

información proveniente de los sensores y convertirla en sonidos acústicos.

Figura 14. Imagen de Cognitive Aid System for Brind (Ismael Lengua, et al., 2013)

5.3 BASTÓN GUÍA ULTRASÓNICO CON INDICADOR SONORO PARA PERSONAS CON LIMITACIÓN

VISUAL

Según Jonatan Galán (2013), responsable del proyecto, la característica principal que tiene este

dispositivo es que por medio de audio le indica al usuario la distancia a la que se encuentra de algún

Page 23: Diseño de un Sistema Portátil para la Detección de ...repository.udistrital.edu.co/bitstream/11349/14039/... · La movilidad es un componente primordial de la libertad y la dignidad

objeto, sin necesidad que el usuario choque con este para saber de su presencia. Este dispositivo es

muy similar al bastón blanco, por lo que detecta cambios en el suelo y obstáculos que se encuentren

muy bajos.

Figura 15. Diagrama en bloques del bastón guía (Galán, 2013).

El dispositivo cuenta con dos sensores de ultrasonido, uno capta los obstáculos en la parte frontal y baja

del usuario y el otro sensor capta los obstáculos de la parte superior.

Las alertas se generan en un rango de 0 cm a 95 cm para el sensor de la parte superior, si no hay

obstáculos en este rango de distancia en nivel superior, el dispositivo evalúa si existen obstáculos en el

mismo rango, pero en el nivel inferior para alerta en el caso que encuentre alguno.

Adicionalmente, con Kinect se han desarrollado aplicaciones que buscan ayudar al mejoramiento de la

sociedad tales como:

5.4 PROGRAMA DE PROCESAMIENTO DE IMÁGENES ADQUIRIDAS POR MEDIO DEL SENSOR

KINECT PARA DETERMINAR LA POSIBILIDAD UNA VÍCTIMA EN DETERMINADA ZONA

Uno de los dispositivos diseñados por la Universidad Distrital Francisco José de Caldas es un programa

que usa la adquisición de imágenes por medio del Sensor de Kinect, que procese e identifique si en estas

imágenes hay una víctima posible, según Monsalve (2016), responsable del programa. Este programa

tiene la capacidad, junto al sensor del Kinect, de detectar posibles víctimas humanas en las imágenes

capturadas:

Page 24: Diseño de un Sistema Portátil para la Detección de ...repository.udistrital.edu.co/bitstream/11349/14039/... · La movilidad es un componente primordial de la libertad y la dignidad

Figura 16. Identificación de personas mediante el dispositivo Kinect (Monsalve, 2016).

El programa detecta las posibles víctimas de una catástrofe, realiza la identificación de la víctima

mediante correlación y redes neuronales.

6. DESARROLLO DEL PROYECTO

El sistema diseñado es un apoyo tanto en movilidad como en orientación (según las definiciones

mencionadas en la introducción del documento y dadas por la ONCE) para las personas con discapacidad

visual. Debe estar ubicado en una posición en donde no sea difícil o incómodo su transporte y en donde

la periférica de la cámara de profundidad tenga la mejor captura de espacio a transitar por la persona,

por este hecho se colocó a la altura del pecho y por debajo de los hombros del usuario, para poder tener

una mejor percepción de obstáculos que no puedan ser detectados por el Bastón Blanco. Cuenta con

dos tipos de alertas: No audible y audible. La alerta no audible consta de tres actuadores físicos,

vibradores, que indican la posición del objeto más próximo al usuario. Estos vibradores están ubicados

en el área abdominal del usuario, posicionados a la derecha, centro e izquierda del mismo. Ahora, si un

objeto es detectado a la derecha del usuario se activa el vibrador de la derecha, si un objeto es

detectado justo enfrente del usuario se activa el vibrador del centro y así respectivamente. La intensidad

en la vibración varía conforme a la distancia del objeto respecto al usuario, si el obstáculo se encuentra

a 50 cm del usuario la intensidad en la vibración será la máxima entregada por el sistema y si el objeto

se encuentra a 250 cm del usuario la intensidad en la vibración será la mínima.

La alerta audible se genera siempre y cuando el usuario lo requiera y describe la posición, ancho y

distancia del objeto más próximo al usuario.

Dicho sistema está estructurado de la siguiente forma:

Page 25: Diseño de un Sistema Portátil para la Detección de ...repository.udistrital.edu.co/bitstream/11349/14039/... · La movilidad es un componente primordial de la libertad y la dignidad

Figura 17. Diagrama de bloque general (Autores).

6.1 HARDWARE

6.1.1 KINECT

Fue un dispositivo que revoluciono en su momento los video juegos, cuando salió la versión para

Windows 2011, despertó en muchas personas la curiosidad, tanto así que se ha aplicado para elaborar

escáners 3D, en el área de la salud para fisioterapia como lo mencionábamos anteriormente y ha

generado hoy hacer este proyecto para personas con discapacidad visual.

Se utilizó el Kinect principalmente porque se vio la posibilidad de trabajar en el tratamiento de señales

digitales en áreas como la de discapacidad y dado que, el Kinect pertenece a la universidad Distrital fue

de fácil acceso. En segundo lugar, Muchos de los dispositivos que se han realizado para las personas con

discapacidad visual son basados en sensores de ultrasonido, por consiguiente, se decidió utilizar un

dispositivo en el que se pueda llegar a obtener información más detallada mediante el procesamiento

de señales digitales a través de una cámara. Al analizar todo lo que Microsoft logro en cuanto a

procesamiento de imágenes para la consola de xbox 360, se evidencio el alcance que puede tener este

dispositivo para otras actividades diferentes a los juegos y el entretenimiento, como es el caso de este

proyecto.

El potencial más fuerte del Kinect en el desarrollo del proyecto y el motivo principal por el que se

implementó este dispositivo, es su cámara de profundidad. Uno de los aspectos más importantes en la

cámara Depth (de profundidad) es que los contrastes de luz que se pueden generar en el ambiente, por

ejemplo, si hay atenuación de luz, no afectan al dispositivo, permitiendo que no haya variación de los

datos adquiridos según la intensidad lumínica que se tenga en el ambiente, hecho que es muy difícil de

Sensor de proximidad

Sistema de procesamiento

digital

Sistema de alerta auditivo

Sistema de alerta no auditivo

Page 26: Diseño de un Sistema Portátil para la Detección de ...repository.udistrital.edu.co/bitstream/11349/14039/... · La movilidad es un componente primordial de la libertad y la dignidad

controlar en las cámaras RGB, dado que para contrarrestar este fenómeno hay que desarrollar

diferentes filtros adicionales en el algoritmo.

La cámara Depth del Kinect funciona con un proyector de luces infrarrojas que emite un haz de luz

infrarrojo como pequeños puntos invisibles para el ojo humano, los cuales son detectados por el

receptor infrarrojo que captura estos puntos y mide la distancia de los objetos.

Como se menciona anteriormente, esta cámara tiene una resolución 640 x 480 pixeles a 30 frames por

segundo. Fue el componente del Kinect más importante para el desarrollo del prototipo, gracias a que

las características vistas favorecen a la detección de objetos.

Por cuestiones de tamaño, comodidad, sería factible desarmar el Kinect, extraer la cámara de

profundidad y utilizarla exclusivamente en el dispositivo. Esto no fue posible dado que el Kinect

pertenece a la Universidad Distrital Francisco José de Caldas y por consiguiente no se puede realizar

ninguna modificación, aunque se deja propuesto para un trabajo futuro.

En la siguiente imagen se observa las dos cámaras y el proyector infrarrojo que posee internamente el

Kinect:

Figura 18. Cámaras Kinect y proyector IR(https://es.slideshare.net/ArbelaezGroup/kinect-como-

funciona-7228721)

A continuación, se observa el despiece de todas las partes que componen el Kinect:

Page 27: Diseño de un Sistema Portátil para la Detección de ...repository.udistrital.edu.co/bitstream/11349/14039/... · La movilidad es un componente primordial de la libertad y la dignidad

Figura 19. Despiece del Kinect (https://es.ifixit.com/Teardown/Xbox+360+Kinect+Teardown/4066)

En la figura anterior se puede observar las cámaras, el motor de la base, ventilador de refrigeración,

cables de alimentación, tarjetas de desarrollo, micrófono, entre otros.

En el mercado se están desarrollando cámaras de profundidad mejorando la que actualmente posee el

Kinect, Intel está trabajando en dos cámaras Reálcense para ser utilizadas en dispositivos móviles y en el

área de la educación, dotándolas con visión 3D. Consiguen una resolución de 1280 x 720 pixeles, con 90

frames por segundo y un rango aproximadamente de 10 metros, compatible con Realsense SDK 2.0 de

Intel, con código abierto, permitiendo que este prototipo se pueda mejorar y porque no producirse en

masa.

6.1.2 RASPBERRY PI 3

Este prototipo es controlado por un miniordenador denominado Raspberry pi 3.

Se escogió este miniordenador por las prestaciones que ofrece:

Una de las ventajas que encontramos es el rendimiento de proceso que ofreció en el algoritmo,

no sufre bloqueos de ninguna índole al momento de procesar la información, cuando se

observan las dos cámaras con ayuda de un monitor, se ve una fluidez buena al momento de

hacer un desplazamiento del Kinect.

El costo de este mini ordenador está alrededor de $150.000 pesos colombianos, lo cual lo hace

muy accesible y además disminuye el costo considerablemente del prototipo, dado que, si se

utilizara un miniordenador de Intel, por ejemplo, el más económico como el W5 Pro tiene un

costo alrededor de los $600.000 pesos colombianos, se estaría hablando de que es 4 veces más

costoso que la Raspberry Pi 3.

El tamaño es vital para este prototipo, este debe ser portátil, por consiguiente, de fácil

transporte. La Raspberry Pi 3 tiene un tamaño de placa de 85mm x 56mm que, si lo comparamos

Page 28: Diseño de un Sistema Portátil para la Detección de ...repository.udistrital.edu.co/bitstream/11349/14039/... · La movilidad es un componente primordial de la libertad y la dignidad

con un dispositivo móvil actual de pantalla Touch de 5”, la Raspberry Pi 3 logra ser más pequeño

aún, permitiendo que su transporte sea fácil.

para el usuario generando que sea apto para lo que exige el proyecto.

El Módulo GPIO es tal vez la ventaja más importante que le brinda al prototipo la Raspberry Pi 3

y el cual no se puede encontrar en otro mini ordenador. Gracias a esto es posible el desarrollo

de la etapa de alarma y vibración de distancia del prototipo. Lo mejor de todo es que estos

periféricos pueden ser configurables como de salida o de entrada permitiendo que no sean fijos,

además, hay algunos también para ser utilizadas con PWM, comunicación serie RS232, I2C, etc.

Dado que en otros casos se debería utilizar una tarjeta adicional como una arduino,

aumentando aún más el proyecto.

La salida de audio fue importante pues es el puente de comunicación de información entre el

usuario y la Raspberry Pi 3. Se tiene una salida de audio con un conector compuesto de 3.5mm,

lo cual es una ventaja puesto que, en el mercado son muy comerciales estos auriculares para

este tipo de conector.

Se utilizaron cuatro pines del módulo GPIO, tres como salidas, estos controlan tres vibradores para que

el usuario sepa en qué posición se encuentra el objeto, generando una variación de ancho de pulso

(PWM) con el objetivo de modificar la intensidad de vibración emitida sobre la persona, se hizo de esta

forma para que el usuario pueda diferenciar sensorialmente cuando se esté acercando al obstáculo.

El otro pin es configurado como entrada, la cual físicamente es un pulsador en donde el usuario oprime

cuando requiere solicitar información del obstáculo, es decir, distancia, posición y ancho del objeto. Esta

información se transmite vía audio, puesto que es el único medio factible por el cual el usuario puede

adquirir la información, el lenguaje braille sería otra opción, pero es más compleja de implementar para

ellos y para acoplarlo al dispositivo también.

6.1.3 VIBRADORES

Se utilizó un sistema sensorial de vibración, dado que es un medio sensible detectable para una persona

con discapacidad visual, se pueden colocar en diferentes puntos del cuerpo en donde el usuario pueda

identificar más fácilmente la posición y en donde tenga más sensibilidad, se recomienda que se coloque

en la zona abdominal, por medio de las pruebas que se explicarán más adelante se recomienda que los

vibradores se encuentren conectados directamente en el cuerpo para que se tenga una mayor

sensibilidad de la vibración.

Se utilizaron tres vibradores de celular Samsung Galaxy S5, su diámetro de 1cm es ideal para la función

que se tiene destinada para el prototipo, además se hicieron pruebas de intensidad de vibración por

medio de un PWM con las intensidades a trabajar en el prototipo las cuales son del 100%, 75%, 50%,

25% y así determinar que la variación realizada con estos vibradores se pueda distinguir una de la otra.

Para la distancia se plantearon dos métodos de transmitir sensorialmente la cercanía o alejamiento del

objeto, una es la modulación de ancho de pulso (PWM) y la otra era transmitir la información por

frecuencia, es decir, a medida que el obstáculo se acerca a la persona, el dispositivo aumenta el

switcheo ON-OFF sobre los vibradores, hasta que quede encendido totalmente.

Page 29: Diseño de un Sistema Portátil para la Detección de ...repository.udistrital.edu.co/bitstream/11349/14039/... · La movilidad es un componente primordial de la libertad y la dignidad

Se escogió modulación por ancho de pulso porque según la ley del todo o nada (Cortez, Gonzales y

Torres,2015), las fibras musculares cuando son sometidas a un estímulo constante generan un proceso

de adaptación por el cual el impulso no será transmitido con la misma intensidad.

6.1.4 ETAPA DE POTENCIA

Se tuvo que desarrollar una tarjeta de potencia para el manejo de los actuadores, puesto que necesitan

una alimentación de 5V, con una corriente de trabajo de 60mA a 85mA, ofreciendo una potencia de

0.425W. Se realizó un circuito seguidor de corriente con transistores 2N 2222, con el objetivo de

proteger la salida de la Raspberry Pi 3 y aumentar la salida de corriente, esto debido a que, si se realiza

la conexión directamente sobre la Raspberry Pi 3, se genera una caída de tensión a 2.7V, provocando

que el PWM no funcione correctamente. El transistor 2N 2222 soporta una corriente máxima de 600

mA, capacidad suficiente para la alimentación de los actuadores.

En la siguiente figura se muestran los vibradores que se utilizaron y el despiece de uno de ellos:

Figura 20. Vibradores (Autores)

Figura 21. Desarme vibrador (Autores).

Como podemos evidenciar este vibrador, tiene acoplado una carga semicilíndrica a un motor DC,

permitiendo que vibre por un cabeceo y descentramiento del mismo.

Page 30: Diseño de un Sistema Portátil para la Detección de ...repository.udistrital.edu.co/bitstream/11349/14039/... · La movilidad es un componente primordial de la libertad y la dignidad

Figura 22. Plano eléctrico de la tarjeta de potencia (Autores).

El plano anterior corresponde al circuito diseñado para la etapa de potencia, en donde V1 es el vibrador

1 (izquierda), V2 vibrador 2(derecha) y V3 Vibrador 3(centro). Tenemos también que en el conector

derivan las salidas de los pines 23, 16 y 13 correspondientes de la Raspberry definidos como salidas.

Físicamente también tendrá un conector para la alimentación, es decir 5v y GND.

Por otra parte, se tiene conectado un pulsador al pin 21 de la Raspberry, el cual está configurado como

una entrada y es el encargado de transmitir el flanco de subida para que ejecute el proceso de

descripción por audio y le de la información correspondiente de las características del objeto al usuario

cuando este realice la pulsación.

6.1.5 ALIMENTACION

Dado que el dispositivo debe ser portátil se debe buscar una fuente de alimentación de igual manera

para este. En principio se utilizaron dos baterías recargables para celular de 2600mAh con salida de 5V.

Una alimenta la Raspberry Pi 3 y la otra únicamente la tarjeta de potencia. La batería se muestra en la

figura 20. Esta se conecta por medio de un cable con terminal USB de un extremo el cual va conectado a

la batería y del otro extremo va un cable micro USB, como se muestra en la figura 21.

Page 31: Diseño de un Sistema Portátil para la Detección de ...repository.udistrital.edu.co/bitstream/11349/14039/... · La movilidad es un componente primordial de la libertad y la dignidad

Figura 23. Batería de alimentación (Autores).

Figura 24. Conexión alimentación Raspberry Pi 3(Autores).

Un aspecto importante para resaltar es la alimentación del Kinect, puesto que este necesita una

alimentación de 12V DC, que viene dada por un cargador de voltaje de entrada de 110V AC y salida

12VDC, pero al no poder modificar de ninguna forma por pertenecer a la Universidad Distrital, se

adquirió otra fuente de alimentación como el que se observa en la siguiente figura:

Figura 25. Fuente de alimentación del Kinect (Autores).

Page 32: Diseño de un Sistema Portátil para la Detección de ...repository.udistrital.edu.co/bitstream/11349/14039/... · La movilidad es un componente primordial de la libertad y la dignidad

Así lo que se hizo fue desacoplar el cargador del cable de alimentación para poder conectarlo a una

fuente portátil (batería) de voltaje. Se realizaron las siguientes pruebas para encontrar la durabilidad de

las baterías utilizadas para la alimentación con los dispositivos conectados independientemente.

En primer lugar, Se dejó conectado el dispositivo en total funcionamiento con un cargador de entrada

110V AC a 0.3 A y de salida 5V DC a 2A conectado a la Raspberry pi 3, por otra parte, la alimentación de

la tarjeta de potencia se tiene conectada a una de las baterías recargables completamente cargada la

cual genera un voltaje de salida de 7V DC. El resultado de esta prueba fue de una durabilidad de 7 Horas

de trabajo.

La segunda prueba se realizó conectando la batería totalmente cargada ahora en la alimentación de la

raspberry pi 3 y el cargador en la tarjeta de potencia, la durabilidad en esta prueba fue

aproximadamente de 2.5 horas con el dispositivo en total funcionamiento.

Para poder lograr que toda la alimentación sea a través de una batería recargable de 5V, se decidió

hacer pruebas colocando las baterías ya mencionadas en serie para elevar su voltaje al doble, con el

objetivo de evidenciar si el Kinect trabaja correctamente con este voltaje.

El resultado que se obtuvo fue que el Kinect trabajo sin ningún problema con un voltaje de 14V DC

medido a la salida de la conexión serie de las dos baterías de 2600mAh. El siguiente paso fue con las

baterías totalmente cargadas realizar una prueba de durabilidad con el dispositivo trabajando en la

detección de objetos, la autonomía que se alcanzo fue alrededor de 6.5 horas.

Si analizamos los datos de las pruebas mencionadas anteriormente, el elemento encargado del control y

el procesamiento es el que consume más energía, ya que con una batería de 2600mAh tendremos un

tiempo de solamente de 2.5 horas. Para obtener una durabilidad mínima de 6 horas se necesita una

batería tres veces más grande es decir de alrededor de 7000mAh.

Si tomamos los datos obtenidos de las pruebas ya mencionadas, se sabe que en un circuito paralelo se

debe sumar los consumos de corriente de cada uno de los dispositivos, por lo tanto, para una

durabilidad aceptable de 6 horas de trabajo se debe utilizar una batería en general de 15000mAh como

la que se muestra en la figura 26:

Figura 26. Batería de 15000mAh ( https://www.amazon.es/KMASHI-15000mAh-Compacta-puertos-

Bater%C3%ADa/dp/B01A4524MM).

Page 33: Diseño de un Sistema Portátil para la Detección de ...repository.udistrital.edu.co/bitstream/11349/14039/... · La movilidad es un componente primordial de la libertad y la dignidad

6.2 SOFTWARE

Según el diccionario de real academia española un algoritmo es un

conjunto ordenado y finito de operaciones que permite hallar la solución de un problema. Luego, hay

dos formas de representar un algoritmo:

Pseudocódigo

Diagramas de flujo

A lo largo del documento los algoritmos son representados mediante pseudocódigo y diagramas de

flujo.

El algoritmo se desarrolló en lenguaje Python, se realizó en este lenguaje de programación por dos

razones:

Python es desarrollado bajo una licencia de código abierto por lo que es libremente utilizable y

distribuible, incluso para uso comercial (https://www.python.org/).

Python es el lenguaje de programación Open Source más familiar para los autores del proyecto.

El primer paso consiste en la conexión entre la Raspberry Pi y el Kinect. Acto seguido se realiza la

captura y análisis de los datos obtenidos de la cámara Depth, donde se identifica la cantidad de objetos

que rodean al usuario para así después definir en qué posición se encuentran, derecha, izquierda o

centro. Si el usuario solicita la descripción por audio, la Raspberry le informara la distancia, la posición

(izquierda, centro o derecha) y ancho del o los objetos más cercanos que se encuentren a la misma

distancia. Adicionalmente, se informa al usuario mediante el control de actuadores físicos si hay objetos

cerca y la distancia de estos por medio de una intensidad de vibración.

El siguiente diagrama de flujo describe la estructura general del algoritmo diseñado:

Page 34: Diseño de un Sistema Portátil para la Detección de ...repository.udistrital.edu.co/bitstream/11349/14039/... · La movilidad es un componente primordial de la libertad y la dignidad

Figura 27. Diagrama de flujo general del algoritmo (Autores).

Page 35: Diseño de un Sistema Portátil para la Detección de ...repository.udistrital.edu.co/bitstream/11349/14039/... · La movilidad es un componente primordial de la libertad y la dignidad

6.2.1 CONEXION KINECT- RASPBERRY PI 3

Para que la Raspberry Pi 3 pueda recibir la información proveniente del Kinect, se buscó en la red

librerías que generaran la vinculación del Kinect y la raspberry, se probó muchas de estas librerías, pero

sin ningún resultado, puesto que siempre hubo problemas de conexión entre los dispositivos. Después

de varias pruebas se instaló la librería Freenect en el sistema Raspbian Python. Este procedimiento de

instalación de la librería se tomó de https://www.mariolukas.de/2015/04/proof-of-concept-3d-scanner-

with-kinect-and-raspberry-pi2/ y se describe a continuación:

Primero se instalan las herramientas de compilación y dependencias de libfreenect:

sudo apt-get install git-core git sudo apt-get install freeglut3 freeglut3-dev libxmu-dev libxi-dev sudo apt-get install cmake cmake-curses-gui pkg-config

La librería frenect necesita que la librería USB libusb este instalada:

sudo apt-get install libudev-dev

Luego se descarga la librería para instalarla desde la ubicación web:

wget http://sourceforge.net/projects/libusb/files/libusb-1.0/libusb-1.0.19/libusb-1.0.19.tar.bz2/download ar xvjf download cd libusb-1.0.19 ./configure make sudo make install

Finalmente se instala la librería freenect:

cd .. git clone https://github.com/OpenKinect/libfreenect.git cd libfreenect mkdir build cd build ccmake .. make sudo make install

Luego hay que instalar las librerías de Python de la librería de freenect con el comando:

sudo python setup.py install Al terminar estos pasos se termina la instalación de la librería libfreenect. Ahora solo queda importarla desde el código que se esté trabajando en el lenguaje Python como se muestra a continuación:

Page 36: Diseño de un Sistema Portátil para la Detección de ...repository.udistrital.edu.co/bitstream/11349/14039/... · La movilidad es un componente primordial de la libertad y la dignidad

import freenect #import cv import cv2 import numpy as np import argparse import RPi.GPIO as GPIO import pyttsx

6.2.2 IDENTIFICACION DE LA DISTANCIA DEL OBJETO

Uno de los objetivos del prototipo es determinar la distancia promedio a la que se encuentra un objeto,

para esto se plantea un algoritmo que indique a la persona la distancia a la que se encuentra el

obstáculo, con la finalidad de que el usuario tenga mayor información a la hora de desplazarse por un

área ya sea cerrada o abierta.

El primer paso para el análisis e identificación de la distancia del objeto más próximo al usuario, fue

determinar el comportamiento de la cámara de profundidad del Kinect. Esta arroja una imagen en

escala de grises de 640 pixeles de ancho por 480 pixeles de alto, lo que genera una matriz de 640 x 480

pixeles. El valor de cada pixel varía con relación a la distancia del objeto que detecte la cámara de

profundidad del Kinect.

Figura 28. Izquierda: Imagen tomada de la cámara RGB del Kinect. Derecha: Imagen tomada de la cámara de profundidad del Kinect (Autores).

Para analizar el comportamiento de la matriz de datos que se toma de la cámara de profundidad del

Kinect, se realizaron diferentes pruebas con objetos ubicados en distintas distancias, siempre

manteniendo un espacio vacío alrededor de los objetos de prueba para poder comparar la variación del

valor del pixel dado por la detección del objeto en relación con el espacio vacío.

En los anexos AAA, BBB, CCC, DDD y EEE, se presentan segmentos de las matrices tomadas a las

distancias determinadas de 50 cm, 100 cm, 150 cm, 200 cm y 250 cm respectivamente. Basados en las

pruebas realizadas y los datos tomados, se puede analizar que a medida que el objeto se aleja el valor

del pixel aumenta. Al alejar el objeto los pixeles o componentes de la matriz en donde se encuentra el

mismo aumentan su valor en el rango de 0 a 255 y a medida que se acerca sucede lo contrario, es decir,

disminuye el valor del pixel.

Page 37: Diseño de un Sistema Portátil para la Detección de ...repository.udistrital.edu.co/bitstream/11349/14039/... · La movilidad es un componente primordial de la libertad y la dignidad

Figura 29. Izquierda) Imagen cámara Depth: Objeto a 250 cm. Derecha) Imagen cámara Depth: Objeto a 100 cm (Autores).

Adicionalmente, se concluyó que la posición del objeto (izquierda, centro o derecha) no influye en el

valor del pixel, esto se puede evidenciar en el anexo FFF, en el que se presentan los datos de la matriz

tomada para dos objetos, uno a la derecha y otro a la izquierda.

Figura 30. Izquierda: Imagen cámara Depth: Comparativo dos objetos a la misma distancia (150 cm) en posiciones distintas (izquierda y derecha)

Derecha: Imagen cámara RGB: Comparativo dos objetos a la misma distancia (150 cm) en posiciones distintas (izquierda y derecha) (Autores).

Una de las ventajas de la cámara de profundidad del Kinect, es que los cambios en la intensidad de luz

no afectan los datos obtenidos. Al comparar la información de los anexos CCC y GGG, se pude verificar

que los datos son exactamente iguales, donde la información del anexo CCC corresponde a la

información obtenida con luz, mientras la información del anexo GGG corresponde a la información

obtenida sin luz.

Page 38: Diseño de un Sistema Portátil para la Detección de ...repository.udistrital.edu.co/bitstream/11349/14039/... · La movilidad es un componente primordial de la libertad y la dignidad

Figura31. Superior) Imagen cámara Depth y RGB con luz. Inferior) Imagen cámara Depth y RGB sin luz (Autores).

De los datos tomados para la prueba Con luz / Sin luz, se puede concluir que los datos de la cámara de

profundidad no sufren ningún cambio al variar la intensidad de luz.

Del análisis de todas las matrices tomadas a las diferentes distancias, se concluye que el valor del

espacio vacío varía entre 250 y 255. También se concluye que la distancia mínima de detección es 50 cm,

dado que, si el obstáculo está a una menor distancia, los datos de la matriz son los mismos que los

analizados para el espacio vacío, o sea, entre 250 y 255.

Después de realizar las pruebas para obtener el valor de pixel a diferentes distancias (50 cm, 100 cm,

150 cm, 200 cm y 250 cm), los valores que se obtuvieron se muestran en la tabla a continuación:

DISTANCIA (cm)

POSICION

IZQUIERDA CENTRO DERECHA

50 99;100;101;102;103;104;105;106;107;108;;115

99;100;101;102;103;104;105;106;107;108;109;110;111;112;113;114;115

99;103;104;105;;108;109;110;111;112;113;114;115

100 181;182;183;184;185;186 181;182;183;184;185;186 183;184;185;186;187;188

150 211;212;213;214;215 211;212;213;214 211;212;213;214;215

200 226;227;228;229 226;227;228;229 226;227;228;229

250 238 238 238

Tabla 2. Valores de pixel según la distancia del objeto.

Para obtener el valor de referencia, se analizaron todos los datos tomados en la prueba y se aplicó la

siguiente ecuación de promedio para asignar un valor de pixel a cada distancia:

Page 39: Diseño de un Sistema Portátil para la Detección de ...repository.udistrital.edu.co/bitstream/11349/14039/... · La movilidad es un componente primordial de la libertad y la dignidad

𝑋 = 1

𝑛∑ 𝑋𝑎

𝑛

𝑖=1

Fórmula 2. Promedio

En donde:

X es el promedio

n es la cantidad de muestras tomadas

i es el valor inicial de la sumatoria

Xa el valor de la muestra tomada.

Aplicando la formula obtenemos los puntos de referencia que se muestran en la siguiente tabla:

IZQUIERDA CENTRO DERECHA

50 107 107 107

100 183,5 183,5 185,5

150 213 212,5 213

200 227,5 227,5 227,5

250 238 238 238

Tabla 3. Valores resultantes del promedio

Teniendo nuestro punto de referencia, se hizo una calibración del prototipo. Esta se realizó colocando

un objeto a las distancias mencionadas anteriormente al dispositivo, con un flexómetro se comienza a

tomar la distancia en la que el dispositivo detecta el objeto, para así ajustar el equipo con una ventana

sobre el punto de referencia encontrado en las pruebas y así el valor de distancia sea lo más cercano

posible. Según las pruebas realizadas hay un error del 3% en el valor de la distancia.

5.2.2.1. ALGORITMO IDENTIFICACION DE LA DISTANCIA DEL OBJETO

El primer paso es capturar la matriz de la cámara Depth del Kinect (cámara de profundidad), luego se

realiza una conversión de las componentes de la matriz en tipo entero para poder trabajar con estos

datos dado que no se pudo realizar las operaciones con otro tipo de variable que no fuera entero.

Teniendo los datos de la matriz Depth, se crea una matriz de referencia para cada distancia, es decir una

matriz de referencia para 50cm, otra para 100cm, otra para 150cm, otra para 200cm y otra para 250cm.

Para la construcción de las matrices de referencia, primero se crea una matriz (640 x 480) de ceros,

luego, cada matriz se llena con el valor de referencia que se obtuvo en las pruebas (los valores referidos

en la tabla 3), es decir todos los componentes de la matriz de referencia tendrán este valor, por

ejemplo: la matriz de referencia para la distancia de 100 cm tendrá en todos sus 307200 componentes

el valor 183, que fue el obtenido por el promedio de todas las muestras tomadas para esta distancia.

Page 40: Diseño de un Sistema Portátil para la Detección de ...repository.udistrital.edu.co/bitstream/11349/14039/... · La movilidad es un componente primordial de la libertad y la dignidad

Figura 32. Diagrama de flujo captura y acondicionamiento de datos(Autores).

Al tener las 5 matrices se realiza una diferencia entre la matriz Depth y las matrices de referencia, esto

con el objetivo de crear una nueva matriz con la diferencia absoluta de sus componentes y a

continuación se aplica una binarización invertida a dicha matriz.

Por último, se define una ventana de trabajo la cual se encontró por medio de las pruebas de calibración

mencionadas anteriormente, y se hizo un barrido por la matriz de diferencia para verificar si se

encuentran componentes con valores entre 0 y el valor encontrado por la calibración del equipo, puesto

que con esos valores se detectan los objetos a en cada distancia.

Page 41: Diseño de un Sistema Portátil para la Detección de ...repository.udistrital.edu.co/bitstream/11349/14039/... · La movilidad es un componente primordial de la libertad y la dignidad

Figura 33. Diagrama de flujo detección de distancia(Autores).

6.2.3 IDENTIFICACION DE LA POSICION DEL OBJETO

Además de la distancia, el prototipo captura la posición en la que se encuentre el objeto. Se desarrolló

un algoritmo encargado de indicar al usuario sobre el posicionamiento del objeto, es decir si se

encuentra en el centro, a la izquierda o a la derecha. También debe alertar al usuario físicamente por

medio de tres actuadores, para este caso vibradores.

Se realizó una división de la matriz en tres partes iguales con el objetivo de sectorizar el entorno según

la posición.

El dispositivo detecta las siguientes posiciones en las distancias de 50cm, 100 cm, 150 cm, 200 cm y 250

cm:

Izquierda.

Izquierda-centro.

Centro.

Page 42: Diseño de un Sistema Portátil para la Detección de ...repository.udistrital.edu.co/bitstream/11349/14039/... · La movilidad es un componente primordial de la libertad y la dignidad

Derecha-centro.

Derecha.

Es importante resaltar que cada distancia tiene una ventana que elimina los espacios vacíos.

5.2.3.1. SISTEMA DE ALARMA: POSICION DEL OBJETO

Se realizó un sistema de alarma sensorial con vibradores, tres en total. Se recomienda ubicarlos en el

abdomen, pero al usar el prototipo, el usuario puede definir en cual posición tiene más sensibilidad para

ser ubicados.

De la Raspberry Pi 3, se utilizaron los pines número 26,16 y 13 como salidas. Cada uno corresponde a un

vibrador de posición. En cada salida se genera un PWM proporcional a la distancia del objeto. Se

comenzó haciendo pruebas con el circuito de potencia mencionado en la etapa de Hardware, pero con

la alimentación de la Paspberry Pi 3 (5V), se evidencio que el funcionamiento del PWM no era eficiente

porque las salidas GPIO de la Raspberry entregan 16mA y los vibradores requieren de 80 mA para su

correcto funcionamiento. Por este motivo fue necesario desacoplar la alimentación de la Raspberry Pi 3

y trabajar con una fuente de alimentación independiente para la tarjeta de potencia, lo que resolvió el

problema.

5.2.3.2. ALGORITMO IDENTIFICACION DE LA POSICION DEL OBJETO

El primer paso en el código es dividir la cantidad de columnas entre 3 partes iguales, lo cual equivale a

214 columnas y de esta forma sectorizar la matriz en tres áreas, es decir, desde la columna 0-212

tendremos el lado izquierdo, de 213-425 el centro y de 426-640 será el lado derecho.

Luego se identifica cuantos objetos se encuentran en la matriz y además por medio de la función de

Contours de Python se encuentra el contorno, y se toma el punto que este más a la derecha y el que

esté más a la izquierda del objeto, es decir, sus vértices horizontales.

Obteniéndolos se halla desde que punto a qué punto se encuentra el objeto. Luego se comienzan hacer

validaciones con estos dos puntos para definir en qué posición se encuentra el objeto, por ejemplo: Si el

vértice izquierdo se encuentra ubicado entre las columnas 0-212 y el vértice derecho también, definimos

que el objeto se encuentra al lado izquierdo del usuario. Si en cambio el vértice derecho no se encuentra

entre las columnas 0-212 si no entre 213-425, quiere decir que el objeto se encuentra en el centro-

izquierdo del usuario. El dispositivo está en la capacidad de detectar más de un objeto en la misma

distancia.

En la Figura 34 se describe el algoritmo para encontrar la posición del objeto:

Page 43: Diseño de un Sistema Portátil para la Detección de ...repository.udistrital.edu.co/bitstream/11349/14039/... · La movilidad es un componente primordial de la libertad y la dignidad

Figura 34. Diagrama de flujo detección de posición(Autores).

Page 44: Diseño de un Sistema Portátil para la Detección de ...repository.udistrital.edu.co/bitstream/11349/14039/... · La movilidad es un componente primordial de la libertad y la dignidad

5.2.4. IDENTIFICACION DEL ANCHO DEL OBJETO

La siguiente fase se compone de un algoritmo que calcula el ancho del objeto con el fin de tener esta

información y ser dada al usuario en caso de que este la requiera mediante un pulsador con el que

cuenta el dispositivo. El sistema no describe el alto del obstáculo porque no se consideró conveniente

dado que el invidente no pasara por encima o por debajo puesto que esto le representa mayor

dificultad.

Para calcular el ancho del objeto se utilizó como referencia un objeto de 50 cm de ancho, con el fin de

realizar pruebas a diferentes distancias. Al tener el ancho del objeto se comparó esta distancia con las

pruebas para definir un valor en centímetros con respecto a la cantidad de pixeles que ocupa el objeto.

Las pruebas realizadas se aplicaron de la siguiente forma: Al tener el algoritmo de distancia ejecutado,

se empezó a alejar el objeto desde una distancia de 15 cm hasta que el dispositivo indico que se

encontraba a 50 cm, esto con el objetivo de tomar los datos de la matriz en el punto inicial y final donde

toma la distancia analizada. Este procedimiento se realizó para todas las distancias determinadas de 50

cm, 100 cm, 150 cm, 200 cm y 250 cm.

Tamaño del objeto (cm)

Distancia Objeto –Cámara

Depth (cm)

Valor izquierda (pixeles)

Valor derecha (pixeles)

Ancho del objeto (pixeles)

50 50 44 573 529

50 65 118 586 468

50 90 131 448 317

50 107 144 436 292

50 146 161 380 219

50 165 178 374 196

50 186 212 385 173

50 220 222 370 148

50 258 226 355 129

50 302 233 344 111

Tabla 4. Datos prueba de tamaño del objeto

De la tabla 4 se puede determinar que a medida que la distancia aumenta, el valor del ancho del objeto

en pixeles disminuye, hipótesis que se puede verificar en la figura 35, donde se representan

gráficamente los datos de la tabla 4:

Page 45: Diseño de un Sistema Portátil para la Detección de ...repository.udistrital.edu.co/bitstream/11349/14039/... · La movilidad es un componente primordial de la libertad y la dignidad

Figura 35. Relación distancia – pixeles (Autores).

Luego, se tomó una relación centímetro - pixel para las distancias analizadas, para esto se dividió el valor

del ancho del pixel entre el ancho del objeto medido en centímetros, lo cual arrojó como resultado la

cantidad de pixeles que hay por centímetro. Los datos obtenidos se muestran en la siguiente tabla:

Tamaño del objeto

(cm)

Distancia (cm)

Ancho del objeto

(pixeles)

Relación pixeles/cm

50 50 529 10,58

50 65 468 9,36

50 90 317 6,34

50 107 292 5,84

50 146 219 4,38

50 165 196 3,92

50 186 173 3,46

50 220 148 2,96

50 258 129 2,58

50 302 111 2,22

Tabla 5. Relación Pixel - centímetro.

Con los datos de la tabla 5, teniendo en cuenta que hay dos datos tomados por cada distancia evaluada

(50 cm, 100 cm, 150 cm, 200 cm y 250 cm), se promedió para tomar un solo valor de relación por

distancia, teniendo como resultados los siguientes valores:

Distancia (cm)

Relación pixeles/cm

50 9,97

100 6,09

0

100

200

300

400

500

600

0 50 100 150 200 250 300 350

An

cho

del

ob

jeto

(p

ixe

les)

Distancia del objeto (cm)

Ancho del objeto (pixeles)

Page 46: Diseño de un Sistema Portátil para la Detección de ...repository.udistrital.edu.co/bitstream/11349/14039/... · La movilidad es un componente primordial de la libertad y la dignidad

150 4,15

200 3,21

250 2,4

Tabla 6. Relación promedio Pixel - centímetro.

Al tener el valor de la cantidad de pixeles por centímetro para la escala de distancias evaluadas, se hizo

una secuencia en el algoritmo en donde se preguntó a qué distancia se encuentra el objeto, luego se

obtuvo el ancho en pixeles de este, para luego aplicar la relación presentada en la fórmula XXXX:

Ancho del objeto en centímetros = Ancho en pixeles / relación según distancia

Fórmula 3. Calculo del ancho del objeto en cm.

En la tabla 7, se presenta el informe de los resultados arrojados por el cálculo del ancho del objeto en

centímetros en comparación con el ancho real:

Tamaño del objeto

(cm)

Distancia detectada del objeto

Valor en pixeles

Valor en centímetros

arrojado por el

algoritmo según la relación aplicada

50 50 529 54

50 100 317 53

50 150 219 53

50 200 173 54

50 250 129 54

Tabla 7. Ancho real del objeto comparado con el ancho calculado.

Hay que mencionar que al igual que la distancia, en el valor entregado del ancho también se calibro con

un flexómetro con objetos de diferentes tamaños.

5.2.4.1. ALGORITMO IDENTIFICACION DEL ANCHO DEL OBJETO

Con la función BoundingRect su busca el punto más a la izquierda y el punto más a la derecha, luego,

con diferencia entre los dos valores se calcula el ancho del objeto en pixeles, para luego dividirlo por los

valores escalados según las pruebas, esto con el objetivo de hallar el ancho del objeto en centímetros y

así reproducir al usuario esta información cuando lo requiera.

Para conocer la cantidad de los pixeles que tiene el objeto, lo que se hizo fue detectar el valor más a la

izquierda y el valor más a la derecha del objeto y así realizar una diferencia entre los dos:

𝑉𝐷 − 𝑉𝐼 = 𝐴𝑃

Fórmula 4. Ancho del objeto en pixeles.

Dónde:

Page 47: Diseño de un Sistema Portátil para la Detección de ...repository.udistrital.edu.co/bitstream/11349/14039/... · La movilidad es un componente primordial de la libertad y la dignidad

VD: Vértice derecho

VI: Vértice izquierdo

AP: Ancho de pixel.

Luego se aplicó la relación pixel – centímetro, según cada distancia, para hallar el ancho en centímetros

del objeto.

La figura36, muestra el diagrama de flujo que representa el algoritmo que calcula el ancho del objeto.

Page 48: Diseño de un Sistema Portátil para la Detección de ...repository.udistrital.edu.co/bitstream/11349/14039/... · La movilidad es un componente primordial de la libertad y la dignidad

Figura 36. Diagrama de flujo detección del ancho (Autores).

5.2.5. INFORMACION VIA AUDIO

Para que el dispositivo pueda brindar información al usuario invidente, se decidió hacer primero por

medio de estímulos corporales desarrollados en la etapa de vibración, pero la información que se tiene

por medio de ellos es muy básica, se limita a identificar la ubicación del obstáculo más próximo al

usuario. Por este motivo se realiza un sistema que brinde información complementaria del entorno,

creando una mayor seguridad en el usuario al momento de transitar por diferentes espacios sean

cerrados o abiertos. Para esto se desarrolló un algoritmo que entregue información de forma audible,

los datos que describe son posición, cantidad de objetos, distancia y tamaño (ancho) de cada objeto.

La información vía audio no debe ser transmitida constantemente porque ocasionaría saturación de

información al usuario (sobre carga sensorial) generando problemas de concentración y a futuro

problemas mentales. Basado en esto, esta fase es opcional, es decir, si el usuario lo necesita y lo solicita

al dispositivo mediante un pulsador.

El audio se desarrolla con la librería pyttsx de Python, la cual es un sintetizador de voz cuya función es

convertir texto directamente en audio.

Primero el software comienza realizando una validación con condicionales, es decir, comienza a verificar

a que distancia se encuentra el objeto, dependiendo la distancia detectada (50cm, 100cm, 150cm,

200cm, 250cm), reproduce vía audio que el objeto se encuentra a dicha distancia.

Ahora por medio de las funciones CounterArea y CounterObject de Python, se detecta si hay uno o más

objetos en el entorno y se le informa al usuario la cantidad de objetos que se encuentran en el mismo.

Dado que tanto la posición como el ancho del objeto ya se habían determinado, en esta etapa se

reproducen los datos obtenidos y calculados.

Si hay dos o más objetos en el entorno y a una misma distancia, reproducirá esta información a todos los

objetos que se encuentren, si no hay más objetos con esto concluirá la información brindada por el

dispositivo.

Page 49: Diseño de un Sistema Portátil para la Detección de ...repository.udistrital.edu.co/bitstream/11349/14039/... · La movilidad es un componente primordial de la libertad y la dignidad

Figura 37. Diagrama de flujo descripción por audio(Autores).

7. ANALISIS DE RESULTADOS

6.1. PRUEBAS FINALES

Se realizaron pruebas con el dispositivo dejando los siguientes resultados:

la cámara de profundidad permitió que independientemente a los contrastes de luz que se

puedan generar en el entorno, el dispositivo no tenga problemas de detección según la

intensidad lumínica que haya en el ambiente. Se hicieron pruebas en ambientes oscuros

mostradas en el documento en donde la cámara de profundidad respondió muy bien en este

aspecto.

La información vía audio es clara, generando que la persona entienda y capte la primera vez la

información sin necesidad de adquirirla nuevamente, además de tener control de volumen por

medio de los auriculares propios del dispositivo.

Page 50: Diseño de un Sistema Portátil para la Detección de ...repository.udistrital.edu.co/bitstream/11349/14039/... · La movilidad es un componente primordial de la libertad y la dignidad

Se desarrolló un adaptador para que el usuario pueda transportarlo fácilmente, quedando

ubicado en la parte del pecho, con el objetivo de tener una adecuada visión del entorno en

donde este el usuario, a continuación, se muestra en la figura el adaptador tipo pechera.

Figura 38. Kinect con adaptador tipo pechera para transporte(Autores).

El adaptador consta con dos correas ajustables ya que están elaboradas en caucho permitiendo que se

adapte al diámetro del abdomen de la persona, además en cada extremo de dicha correa tiene un

sistema de sujeción con velcro, generando que se mantenga firme en el pecho sin importar los

movimientos que realice el usuario. Por otro lado, se tiene una correa para colgar el dispositivo al cuello,

a continuación, se puede ver cómo queda el adaptador acomodado en la persona:

Figura 39. Vista frontal del adaptador tipo pechera(Autores).

Page 51: Diseño de un Sistema Portátil para la Detección de ...repository.udistrital.edu.co/bitstream/11349/14039/... · La movilidad es un componente primordial de la libertad y la dignidad

Figura 40. Vista posterior del adaptador tipo pechera(Autores).

En las pruebas que se realizaron, se evidencio que el adaptador es, liviano dado que esta pesa alrededor

de 400g, aunque genera algo de incomodidad por el tamaño del Kinect, el adaptador permite estabilidad

del Kinect al momento de desplazarse. Se tiene un buen campo de visión de 47 grados vertical y 57

grados.

Para el transporte de la Raspberry y las baterías, se implementó un maletín abdominal. En la correa de

sujeción de este, quedan ubicados los vibradores como se muestra en las siguientes figuras

Figura 41. Correa de sujeción portadora de los vibradores(Autores)

Page 52: Diseño de un Sistema Portátil para la Detección de ...repository.udistrital.edu.co/bitstream/11349/14039/... · La movilidad es un componente primordial de la libertad y la dignidad

Figura 42. Correa de sujeción puesta en el usuario(Autores).

Con esta correa se logró sensibilidad, pero muy confusa, dado que en las pruebas realizadas fue un poco

difícil detectar de que vibrador proviene la señal dado que a lo largo de la correa se transmite la

vibración, por ende, se decide que es mejor la colocación del vibrador directamente al cuerpo

obteniendo una mayor sensibilidad y detectando más fácilmente el lugar del objeto puesto que la

persona decide en qué lugar se coloque.

Se hicieron pruebas en un pasillo, efectivamente el dispositivo detecta las paredes laterales indicándole

al usuario que hay dos obstáculos en la parte izquierda y derecha de él, al igual los vibradores generan la

respectiva vibración.

Figura 43. Pasillo visto en cámara RGB. (Autores)

Page 53: Diseño de un Sistema Portátil para la Detección de ...repository.udistrital.edu.co/bitstream/11349/14039/... · La movilidad es un componente primordial de la libertad y la dignidad

6.1.2. Prueba con persona en condición de discapacidad visual.

Se realizó una prueba con una persona en condición de discapacidad visual, esta prueba se realizó por

medio del instituto nacional para ciegos ubicado en la ciudad de Bogotá D.C, cuya dirección es cra 13 #

34 – 91. Se hizo contacto en primer lugar vía telefónica a través del señor Enrique King, el número

telefónico es (1)3846666 ext. 304, quien es el coordinador del Instituto Nacional de Ciegos, Quien nos

agendo muy amablemente una cita para poder realizar una prueba con una persona en condición de

discapacidad visual. El usuario es una persona joven, amante de la tecnología, quien amablemente nos

colaboró con una prueba del prototipo y nos comentó su experiencia, y su perspectiva sobre el

dispositivo.

En las siguientes imágenes podemos observar al usuario con el dispositivo puesto

Figura 44. Vista frontal de la persona con discapacidad visual y el dispositivo (Autores)

Page 54: Diseño de un Sistema Portátil para la Detección de ...repository.udistrital.edu.co/bitstream/11349/14039/... · La movilidad es un componente primordial de la libertad y la dignidad

Figura 45. Vista posterior de la persona con discapacidad visual(Autores)

Los vibradores se colocaron en el cinturón de sujeción del maletín abdominal.

La prueba que se realizó se dividió en dos partes, la primera fue un desplazamiento por las oficinas en

las que labora esta persona, la segunda se realizó en un área libre en donde se fueron colocando

algunos objetos para ver el comportamiento de la persona al colocarlo en diferentes puntos siendo

detectados e indicados por medio de vibración.

En primera instancia se refirió a que el dispositivo es algo estorboso e incómodo por el tamaño

del Kinect, en cuanto al maletín abdominal no le genera inconvenientes.

Argumenta que después de un tiempo de utilizarlo, la vibración se vuelve un poco molesta tal

vez en el punto del cuerpo en el que se encuentra la vibración, en este caso en el área

abdominal. indica que cree que se debe colocar en áreas como en los brazos o puntos más

distantes para poder identificar mejor el vibrador que se encuentra actuando en ese momento,

aunque no garantizaría si después de un periodo más largo de tiempo le pudiera generar

molestia.

Nos menciona que le gustaría que la descripción audible pudiera identificar si es un objeto o por

lo contrario una persona, que actualmente hay aplicaciones para celular como tap tap see en la

cual se puede tomar una foto con la cámara del celular y hacer una breve descripción oral del

objeto, dice que le gustaría también que pudiera realizar identificación del objeto es decir si es

una pared, una mesa, un armario, entre otros.

Comenta que la experiencia le gusto que fue buena, que ajustando puede ser un buen medio

para mejorar el desplazamiento de una persona en condición de discapacidad visual, más que

todo por el tema de distancia, aunque define que se debería trabajar mucho en el

procesamiento de la imagen para obtener más cualidades del entorno.

Page 55: Diseño de un Sistema Portátil para la Detección de ...repository.udistrital.edu.co/bitstream/11349/14039/... · La movilidad es un componente primordial de la libertad y la dignidad

8. CONCLUSIONES

Se evidencio una buena fluidez del dispositivo, no se evidencian lapsos ni tiempos muertos es

decir bloqueos cuando está en funcionamiento, permitiendo que la información al usuario sea

constante en cuanto al sistema de alarma y fluido al momento de brindar la información audible

al usuario.

En las pruebas en los espacios cerrados cuando no se encuentra un objeto a más de dos metros

o no hay objetos y el techo es muy bajo logra detectar este, brindando esta información

inadecuada al usuario.

La cámara de profundidad en ambientes oscuros, tiene un correcto funcionamiento sobre los

obstáculos que se encuentren en el entorno, permitiendo desplazamientos en entornos con baja

luminosidad. Se hicieron varias pruebas en ambientes con muy poca luz para verificar este

hecho.

Los vibradores se deben colocar a sugerencia de la persona, en donde no genere molestia y

además donde el usuario tenga una buena sensibilidad para definir la posición en la que se

encuentre el objeto.

En un desarrollo futuro se puede cambiar el Kinect por una cámara de profundidad que se

encuentre en el mercado con características similares a las del Kinect permitiendo que el

dispositivo sea mucho más cómodo y manejable para la persona.

En las pruebas se evidencio que este dispositivo puede llegar hacer un buen complemento y no

logra sustituir de ninguna manera el bastón blanco más que todo en áreas donde no sean muy

concurridas, ya que saturaran de información a la persona, es decir no se recomendaría

utilizarlo por ejemplo en el centro de Bogotá, pero sería de gran ayuda por ejemplo en sitios

como oficinas o residencias, espacios cerrados.

Es un dispositivo que no tiene rango de edad, puede ser utilizado desde una persona

adolescente, hasta una persona de la tercera edad, pues interpretarlo es muy fácil, basta con

escuchar y tener sensibilidad en donde quede ubicado el vibrador que estimule el musculo para

indicarle en qué posición y la distancia a la cual se encuentra el objeto.

El prototipo tiene grandes posibilidades de desarrollo en dos aspectos, tamaño, descripción del

objeto, dado que se puede trabajar en la diferenciación de objetos o personas y dar

características más específicas de ellas.

Page 56: Diseño de un Sistema Portátil para la Detección de ...repository.udistrital.edu.co/bitstream/11349/14039/... · La movilidad es un componente primordial de la libertad y la dignidad

BIBLIOGRAFIA

Censos de población y vivienda, 2005. “Realidad y contexto situacional de la población con limitación

visual en Colombia. Una aproximación desde la justicia y el desarrollo humano.”

Diego Cardona, Javier Leonardo, Miller Rivera, Edwin Cárdenas, noviembre de 2013. “Inferencia

estadística Módulo de regresión lineal simple”.

E. Monsalve Lesmes, 2016. "Programa de procesamiento de imágenes adquiridas por medio del sensor

Kinect para determinar la posibilidad una víctima en determinada zona," Ingeniería en Control,

Universidad Distrital Francisco José de Caldas.

Fisioterapia “Ley del todo o nada de la contracción muscular, la contracción muscular”, disponible en:

http://www.actiweb.es/tafadperezgaldos/archivo4.pdf.

Funcionamiento Kinect, Recuperado de http://sabia.tic.udc.es/gc/trabajos%202011-

12/Kinect/comoFunciona.html.2011.

Guido Rossum, septiembre 2009. “El tutorial de Python”.

I. Lengua, L. Dunai, G. Peris Fajarnés, y B. Defez, mayo 2013. "Dispositivo de navegación para personas

invidentes basado en la tecnología time of flight," IEEE Trans. Navigation device for blind people based

on time-offlight technology.

Jonatán Yahír Galán Acuña, 2013. “Bastón Guía Ultrasónico Con Indicador Sonoro Para Personas Con

Limitación Visual”, Ingeniería Electrónica.

Juan Elías Rincón Ruiz, 2008. “Diseño y construcción de un dispositivo electrónico para la detección de

obstáculos, como ayuda a personas con discapacidad visual”.

Lucas Martin, “Control LED RGB con PWM en arduino”, 2012, Disponible en: http://www.automatismos-

mdq.com.ar/blog/2012/06/control-de-led-rgb-con-pwm-en-arduino.html

María Dolores Cebrián De Miguel, y Juan José Cantalejo Cano, octubre 1998. "Glosario de términos de

rehabilitación básica de las personas ciegas y deficientes visuales, "Organización Nacional de Ciegos de

España, Madrid, España, I.S.S.N. 1136-0720,

Martínez Alain Dieter, 2012. “Bastón blanco para prevenir obstáculos”.

Matt, 2014 .“Raspberry Pi Model B+ 3.5mm Audio/Video Jack”.Recuperado de

https://www.raspberrypi-spy.co.uk/2014/07/raspberry-pi-model-b-3-5mm-audiovideo-jack/

Melissa Peralta, José Urmendiz, 2014. “Sistema de asistencia y guía para personas invidentes”.

Microsoft, “Ficha técnica”, Recuperado de https://support.xbox.com/es-ES/xbox-

360/accessories/kinect-sensor-components.

Microsoft, “partes del Kinect”, recuperado de https://msdn.microsoft.com/en-

us/library/jj131033.aspx?irgwc=1&OCID=AID681541_aff_7593_1211691&tduid=(ir_TMAT06R3uWPiW2j

Page 57: Diseño de un Sistema Portátil para la Detección de ...repository.udistrital.edu.co/bitstream/11349/14039/... · La movilidad es un componente primordial de la libertad y la dignidad

Xa1TC9ynqUkj3clQv%3Axecz40)(7593)(1211691)(TnL5HPStwNw-

Wb5Ps9Tnwu9CJm7a1HVZHQ)()&irclickid=TMAT06R3uWPiW2jXa1TC9ynqUkj3clQv%3Axecz40

Oihana Otaegui, Estíbaliz Loyo, Eduardo Carrasco, Claudia Fösleitner, John Spiller, Manfred Schrenk,

Daniela Patti, Rafael Olmedo, Markus Dubielzig. 2012. “Assisting Personal Guidance System for People

with Visual Impairment”.

Organización Mundial De la Salud, 2014. “Ceguera y discapacidad visual”, recuperado de

http://www.who.int/mediacentre/factsheets/fs282/es/.

Raspberry org, “especificaciones técnicas”, recuperado de

https://www.raspberrypi.org/documentation/.

UNCU (Unión Nacional de Ciegos del Uruguay), 2013. “Bastón Blanco”, recuperado de

http://www.uncu.org.uy/bastonblanco.htm.

WHO ( World Health organization), 2010. “Global data on visual impairments 2010”.