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.