calzado háptico: navegabilidad asistida para personas con

Post on 06-Jan-2017

218 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Calzado Háptico

Navegabilidad asistida para personas con disminución visual

Facultad de Informática - U.N.L.P.

Alumno: Directores: Fernando Berretti Lic. Claudia Queiruga Lic. Javier Diaz

Tesis de GradoLicenciatura en Informática

Diciembre 2014

Motivación

Las personas con capacidades disminuidas, como los no videntes, forman fuertes lazos de dependencia hacia otras personas, con el fin de suplir las capacidades perdidas.

Motivación

Crecimiento del segmento móvil

América Latina → 328 Millones de usuarios

Argentina → 30 Millones de usuarios individuales 60 Millones de lineas móviles activas 16 Millones de usuarios de teléfonos inteligentes

Motivación

Open Source Hardware Surgimiento de plataformas de hardware libre

que posibilitan el prototipado de proyectos.

Alta disponibilidad de componentes y fácil acceso Desarrollos electrónicos de bajo costo

Motivación

La vida de las personas no videntes no ha cambiado sustancialmente pese a los avances de la tecnología

En Argentina existen 3.272.954 de discapacitados visuales en condiciones de poder mejorar

Motivación + Objetivo

Problemática Principal + Open Source Hardware + Teléfonos Inteligentes

Solución tecnológica integral de bajo costoen forma de Calzado Háptico

Navegabilidad en tiempo real desde una ubicación origen hacia una destino

+

Detección de obstáculos frontales

Calzado Háptico →

Calzado Háptico

Actividades para lograr el objetivo planteado

Analizar tecnologías para prototipado de hardware Evaluar los servicios intermedios involucrados en

navegabilidad en tiempo real. Geocoding, routing, cartografías, etc.

Experimentar con feedback háptico Desarrollar una aplicación móvil Abordar conceptos teóricos y prácticos de electrónica

para la construcción de hardware de propósito específico Realizar pruebas de usabilidad en contexto controlado y

en contexto de uso real.

Funcionamiento a nivel usuario Conectar Calzado. Realiza la conexión

inalámbrica con el calzado que fue previamente activado desde el interruptor de encendido.

Fijar Destino. Mediante reconocimiento de voz, se ingresa la dirección destino deseada.

Navegar. Inicia el proceso de navegación. Esta funcionalidad está activada sólo cuando la conexión con el calzado fue realizada con éxito y ademas se fijó una dirección destino.

Ver recorrido. Mapa visual que contiene la ruta calculada e información en tiempo real del estado del recorrido.

Tecnologías Hápticas

El término “háptico” carece de definición formal para la RAE; proviene del griego háptō, que significa “relativo al tacto”

Los dispositivos hápticos permiten al usuario interactuar con objetos del entorno a través del sentido del tacto

Una tecnología háptica implica →

● La exploración del entorno por medio de sensores, los cuales adquieren información característica del medio.

● Procesamiento en el dispositivo de la información sensada.● Emisión de una respuesta (feedback) en forma de sensación háptica.

Tecnología háptica a nivel sistema

Tecnología háptica en el calzado

Esquema ilustrativo del calzado

1. Vista exterior del calzado

2. Zona hueca para protección de hardware

3. Suela con función de tapa inferior

4. Borde de apoyo perimetral

5. Borde de apoyo perimetral

6. Puerto de carga para baterías

7. Interruptor de encendido/apagado/carga

8. Módulos de hardware

9. Sensor de obstáculos

Plantilla vs. tobillera

● En el interior del calzado se encuentra una plantilla que contiene 4 micromotores vibratorios encargados del feedback háptico.

● Como producto de la información estudiada en relación al funcionamiento del sistema háptico humano y a las pruebas de usabilidad, se decide trasladar los actuadores de la planta del pie hacia el tobillo.

Motivos principales

Umbral de distancia mínima para diferenciar dos puntos

Necesidad de plantilla de alta precisión para protección de los actuadores

Sistema háptico humano

Es considerado como uno de los 5 sentidos, pero no debe ser considerado como unidad

Combinación de varios mecanismos Mecanoreceptores

Responden a estímulos mecánicos disparando potenciales de acción

Reaccionan ante la presión mecánica o distorsiones en la piel

Detección de vibraciones → Corpúsculos de Pacini Corpúsculos de Meissner

Sistema háptico humano

La sensación táctil está determinada por la cercanía de los mecanoreceptores entre sí y el tamaño del campo receptivo

Sistema háptico humano

Merkel. Frecuencias bajas ubicadas entre 5 y 15 Hz.

Meissner. Frecuencias medianas ubicadas entre 20 y 50 Hz.

Pacini. Frecuencias altas ubicadas entre 60 y 400 Hz.

Especialmente sensibles a vibraciones ubicadas en el rango de 200 a 250 Hz

Vibraciones de micromotores

Vibración (Hz) = Velocidad del Motor (RPM) 60

Fórmula para calcular frecuencia de vibración en función de la velocidad de un motor

Micromotor utilizado → Tipo : Coin (plano)Velocidad : 12,000 RPMVoltaje de operación : 3VDiámetro : 8 mmAltura: 3 mm

Vibración (Hz) = 12,000 = 200 Hz 60

Captado por corpúsculos de Pacini

Servicios

Cartografía Geocoding Routing

Algoritmo de navegación en tiempo real

- Recorrido por los servicios necesarios para implementar navegabilidad asistida en tiempo real en modo turn-by-turn

● Definición● Proveedores del servicio● Licencias / Términos de uso● Proveedor del servicio elegido● Implementación

Cartografía

Representación gráfica de un territorio o parte de éste, sobre una superficie plana

Relación entre las medidas de distancia, ángulos o superficies tomadas en la representación y las medidas reales del territorio

Propiedades métricas

A partir de las cartografías se han construido Bases de datos

Asignan atributos característicos a la información geográfica

Cartografía - Proveedores

Cartografías – Términos de usoTérminos de uso → Google

Restrictions against Copying or Data Export.(a) You must not copy, translate, modify, or create a derivative work (including creating or contributing to a database) of, or publicly display any Content or any part thereof except as explicitly permitted under these Terms. For example, the following are prohibited: (i) creating server-side modification of map tiles; (ii) stitching multiple static map images together to display a map that is larger than permitted...; (iv) exporting, writing, or saving the Content to a third party's location-based platform or service.(b) No Pre-Fetching, Caching, or Storage of Content. You must not pre-fetch, cache, or store any Content, except that you may store: (i) limited amounts of Content for the purpose of improving the performance of your Maps API Implementation if you do so temporarily (and in no event for more than 30 calendar days.

Términos de uso → OpenStreetMap“Se puede copiar, distribuir, transmitir y adaptar nuestros mapas e información libremente siempre y cuando se dé reconocimiento a OpenStreetMap y sus colaboradores. Si se altera o genera contenido sobre nuestros mapas e información, se debe distribuir los cambios bajo la misma licencia.“

Cartografía

Licencia Abierta Descarga de la información para cualquier fin Actualización de datos más rápida Tiempos menores de validación 22.600 editores activos 1.800.000 de usuarios en la comunidad Documentación Es la base para los otros servicios utilizados

OpenStreetMap- Elección de proveedor →

Geocoding directoInformación geográfica expresada en texto

Coordenadas geográficas en formato (latitud,longitud)

Domicilio: Calle 4 número 1600 (122423423,242543423)

Comparativas entre proveedores

“ … You must not use or display the Content without a corresponding Google maps.For example, you must not use geocodes obtained through the service in conjunction with a non-Google map ...”

Geocoding

Servicio sin limitaciones YQL (Yahoo Query Language) Especificación de direcciones: fully-parsed Alta precisión de resultados

Yahoo Geocoder- Elección de proveedor →

Select * from geo.placefinder where city=”La Plata” andcountry=”Argentina” and street=”Calle 6” and xstreet=”Calle 59”

<Result><quality> 82 </quality><latitude> -34,919041 </latitude><longitude> -57,941688 </longitude>

</Result>

Construcción en YQL del requerimiento →

Resultado xml →

RoutingUn servicio de routing permite calcular una ruta desde una ubicación origen hace una ubicación destino.

A pieAutoBicicleta

Modos de desplazamiento

Comparativas entre proveedores

Routing

Servicio sin limitaciones Basado en mapas de OpenStreetMap Hereda todas las ventajas de actualización de OSM Excelente documentación

MapQuest- Elección de proveedor →

http://open.mapquestapi.com/guidance/v1/route?key=key&from=origen&to=destino&routeType=pedestrian

<shapePoints><lat> 40,2562</lat><lng> -76,5095</lng><lat> 40,2561</lat><lng> -76,5098 </lng>...

</shapePoints>

Construcción en YQL del requerimiento →

Resultado (ruta) →

RoutingOptimización de la ruta obtenida

Ruta con tramos de 100 metros Ruta con tramos de 25 metros

Favorece la precisión obtenida al aplicar el algoritmo de navegabilidad en tiempo real

Mayor cantidad de puntos de control

Algoritmo de navegabilidad en tiempo real

1. Se toma la ruta obtenida y para cada nodo de la ruta se calculan dos puntos guía auxiliares

● P1 = nodo de ruta● P2 = +90 en relación a P1● P3 = - 90 en relación a P1

Bearing

Algoritmo de navegabilidad en tiempo real2. Se calcula el bearing desde P0 hacia los puntos guía auxiliares

● P0 = Ubicación de la persona● B2 = Bearing desde P0 a P2● B3 = Bearing desde P0 a P3

● B2 Y B3 son considerados los ángulos límites de alineación

Algoritmo de navegabilidad en tiempo real3. Se calcula el bearing de la persona

4. Si B0 se encuentra entre B2 Y B3 (ángulos límites), implica que estáalineado en su camino, en caso contrario está fuera del camino y debe girar

● P0 = Ubicación de la persona● B2 = Ángulo límite izquierdo● B3 = Ángulo límite derecho● B0 = Bearing de la persona

Algoritmo de navegabilidad en tiempo real5. Si ha tocado o sobrepasado el límite izquierdo, debe girar hacia la derecha Si ha tocado o sobrepasado el límite derecho, debe girar hacia la izquierda

6. Cuando la persona se encuentra a una distancia determinada del nodo, se actualiza al siguiente nodo de la ruta

7. Se repiten los pasos 2,3,4,5 y 6 hasta alcanzar el último nodo de la ruta

Algoritmo de navegabilidad en tiempo real

El algoritmo de navegación ajusta los límites óptimos permitidos, recalculando los ángulos dinámicamente, al orden de 2 veces por segundo.

Menor distancia al punto de control → ángulo permitido ampliado

Open Source Hardware

“Hardware cuyo diseño es expuesto en forma pública, para que cualquier persona pueda estudiar, modificar, construir y vender el diseño o el hardware construido a partir de éste.”

Open Source Hardware

Todas las plataformas presentan características similares en cuanto a arquitectura básica y funcionamiento

Composición → Pines digitales de entrada/salidaPines de entrada analógicosPines de salida PWMPuertos SerialesPines con funciones especialesPines de interrupciónFuente de energía

Placa microcontroladora. Placa delgada de fibra de vidrio, que poseepistas de un material conductor, con el objeto de conectar eléctricamentesus componentes. Su principal componente es un microcontrolador.

Open Source Hardware

Teensy Wiring

Comparación entre plataformas

● Voltaje de operación 3,3V● Dimensiones reducidas● No es necesario un dispositivo

adicional para cargar código fuente● Pines tolerables a 5V

● IDE open source, basada en Processing● Compilación de código para cualquier

placa basada en procesador AVR● Esquemas de diseños disponibles● Más de 100 librerías de software● Entorno sobre el que se desarrolla el IDE

de arduino● Comunidad muy desarrollada● Excelente documentación

Open Source Hardware

Pinguino Arduino

Comparación entre plataformas

● IDE escrito en Python● Comunidad reducida● Librerías no compatibles con arduino● Shields de expansión limitados● Alimentación externa y comunicación

serial independientes● Basada en PIC

● Placa líder en el área● Cumple todos los requerimientos para

ser Open Source Hardware● Documentación disponible● La mayor comunidad a nivel mundial● Alta disponibilidad en el mercado local● Variedad de dispositivos de expansión● Excelente documentación

Plataforma elegida →

Módulos de Hardware del Calzado Háptico

Módulo Microcontrolador Arduino Uno R3 Arduino Pro Mini

Módulo de feedback háptico Módulo controlador de motores vibratorios Módulo de detección de obstáculos Módulo de comunicación inalámbrica Módulo regulador de tensión Módulo de energía

Módulo Microcontrolador● Fase inicial → Arduino Uno R3

● Programación directa desde una computadora, a través de USB.● Pines hembra incorporados facilitan las conexiones sin

necesidad de soldar.● Posibilidad de reemplazar el chip atmega328p

● Fin del desarrollo → Arduino Pro Mini

● Reducir el tamaño del microcontrolador● Compatibilidad de voltajes● Adaptaciones mínimas necesarias

● Recibir comandos a través del modulo bluetooth y realizar diferentes acciones● Protocolo de sincronización de comandos entre dispositivo móvil y calzado● Uso de librería RTOS ChibiOS/RT para mejoramiento de ejecución de tareas● Lógica de manejo de motores vibratorios + módulo detección de obstáculos

Software implementado en el microcontrolador →

Módulo de Feedback Háptico

Construcción de un controlador de motores

Los motores no deben ser conectados directamente al microcontrolador

Controlador de 4 motores Protección contra picos de control

● Capacitor● Diodo● Transistor● Resistencia

Módulo de detección de obstáculos

Sensor ultrasónico → ● Permite medir distancias de hasta 5 metros

● No es necesario contacto físico● Consumo de energía muy bajo● No se ve afectado por el color del objeto

Fórmula para calcular la distancia: d = ½ v.tD = distanciav = velocidad del sonidot = tiempo

Módulo de comunicación inalámbrica

Comunicación bluetooth →

● Popularidad del protocolo Bluetooth● Distancia de comunicación → 10 metros● Voltaje de linea de comunicación → 3.3V● TTL de 5V a 3.3V

● Módulo de alimentación → 6 Kilómetros de autonomía● Regulador de tensión → LMR13T → Fuente switching step down

Interconexión entre módulos

Esquema de conexiones en calzado háptico

Módulo microcontrolador Módulo de feedback háptico Módulo de detección de obstáculos Módulo de comunicación inalámbrica Módulo regulador de tensión Módulo de energía

Pruebas → simuladas vs reales

Alta sensibilidad a la precisión de los instrumentos No se observaron errores en contexto simulado

Errores en contexto real atribuibles a → Servicio de red de datos móvil Servicio de posicionamiento global Instrumentación

Solución → Sustitución de instrumentación utilizada por una de mayor calidad

Prueba en contexto real (Video) No vidente: Maximilano Vázquez

Prueba de usabilidad real

Conclusiones del trabajo

Primera aproximación al perfeccionamiento de tecnologías para el mejoramiento de la calidad de vida de las personas no videntes.

Reemplazo de un sentido por otro mediante dispositivos.

Aplica y contribuye a las iniciativas de Open Source Hardware y de Open Source Software en la creación y mejoramiento de productos tecnológicos.

Base para desarrollos futuros.

top related