Navegador para peatones

imagen



Hemos estado construyendo senderos para caminatas a lo largo de senderos, a través de puertas y con la capacidad de tomar un atajo a través del patio desde abril de 2017. Más recientemente, hemos agregado un navegador completo para peatones a 2GIS, con un modo giro a giro y actuación por voz de los puntos importantes de la ruta.



Debajo del corte hay una historia sobre cómo queríamos resolver este problema rápidamente, confiando en la experiencia en navegación para automóviles, y como resultado, se nos ocurrieron nuevos escenarios, luchamos por el tamaño de las bases y aprendimos a dar las instrucciones correctas .



Nuevos escenarios



Planeamos lidiar con el problema “en un par de semanas” alterando levemente la lógica de las maniobras del automóvil. Para las primeras pruebas, realizamos un montaje con la voz actuando de maniobras de pie, "enrollado" sobre los algoritmos de navegación del coche. El resultado fue asombroso.



Tracé una ruta desde casa y puse mi teléfono en mi bolsillo. Centrado solo en la guía de voz. Cuando me di cuenta de que estaba empezando a vagar sin sentido y las indicaciones de voz solo me alejaban del punto final, decidí reconstruir la ruta. Cuando el problema se repitió por octava vez, quedó claro que teníamos mucho trabajo por delante.



Las instrucciones de voz se basan en el escenario de su uso. La plantilla de escenario estándar es cómo exactamente un peatón se acerca a una intersección, qué tan rápido se mueve y adónde irá más tarde. Las instrucciones automotrices no funcionaron, ya que las condiciones para su reproducción son demasiado diferentes a las de los peatones. Es trivial: la velocidad de un peatón es varias veces menor, y esto afecta el momento en que la voz actúa de la maniobra.



Al mismo tiempo, es importante tener en cuenta los matices: pasos de peatones, semáforos, portones, escaleras, pasos terrestres y subterráneos, ya que la información sobre estos objetos ayuda al peatón a orientarse más rápidamente.



Hemos recopilado y descrito nuevos escenarios prácticos y formulado nuevas reglas para que cuando nos acerquemos a un paso subterráneo digamos "Bajar al paso subterráneo", y no simplemente "Cruzar la calle".



Algoritmo antiguo



La calidad de la ruta depende directamente de la integridad de los datos utilizados para construir la ruta: conocimiento básico del gráfico de la carretera, la ubicación de los bordes y sus atributos adicionales.



La integridad de los datos se logra en dos etapas: primero, recopilamos información y luego la mejoramos utilizando algoritmos de cálculo previo.



Basándose en la información básica, los algoritmos pueden enriquecer el conocimiento sobre el gráfico con atributos adicionales, por ejemplo, instrucciones para el automóvil.



Entonces, para las rutas en automóvil, generamos de antemano todas las opciones posibles para conducir a través de una intersección, y para cada opción calculamos la instrucción requerida y le agregamos atributos. Este enfoque tiene una serie de ventajas:



Verificabilidad



Incluso en la etapa de cálculo previo, puede implementar varios algoritmos para verificar casos comunes. Las instrucciones verificadas y calculadas correctamente ya no cambiarán. Esto permite verificar la exactitud de las instrucciones recibidas antes de entregar los datos y algoritmos al usuario.



Actualización de datos



Los datos de la aplicación 2GIS se actualizan por separado de la propia aplicación. Y los publicamos con más frecuencia que los cambios en los algoritmos de nuestras bibliotecas para teléfonos móviles; esto hace posible corregir o agregar instrucciones sin esperar a que se publiquen las aplicaciones.



Eficiencia del algoritmo de pregeneración



El algoritmo para emitir instrucciones a lo largo de la ruta en realidad se reduce a comparar las instrucciones que ya están en la base de datos para todos los bordes que componen la ruta y emitirlas al usuario. Usar el algoritmo es mucho más fácil y rápido que analizar posibles situaciones en tiempo de ejecución y generar instrucciones a partir de ellas.



Pero hay dos grandes inconvenientes: este enfoque lo obliga a asignar recursos adicionales para almacenar nueva información y crea una dependencia en la actualización de paquetes de datos. Si los datos no se actualizan o no están allí, el usuario no tiene acceso a la función incluso si tiene un algoritmo.



Nuevo algoritmo



Incluso en la etapa de creación del primer prototipo, vimos que debido a las instrucciones de los peatones, el tamaño de la base local utilizada para encontrar rutas estaba creciendo. En promedio, el paquete de enrutamiento ha crecido en un 20%; esta es una cantidad inaceptable, ya que conducirá a un aumento en el tamaño de las bases de datos sin conexión en los teléfonos de nuestra audiencia.



En comparación con las intersecciones de automóviles, los cruces de peatones permiten muchas más opciones para el paso. Una intersección estándar tiene 56 opciones para caminar, dependiendo de la posición de los puntos de inicio (8 lados de la intersección) y final (7 lados). Y en cada versión, hasta tres maniobras peatonales.



imagen



Y las intersecciones de peatones en sí mismas, debido a toda la variedad de caminos para peatones y sus intersecciones en el gráfico, son muchas veces más que las de automóviles. Teniendo en cuenta el hecho de que notamos un crecimiento solo en la etapa inicial de elaboración de las instrucciones y todavía había muchos casos sin resolver, la tendencia fue aterradora.



Debido a esto, abandonamos la idea de calcular previamente las instrucciones para peatones y trasladamos la lógica de su generación al tiempo de ejecución. Si hay Internet, las instrucciones se calculan en nuestros servidores, y si no hay Internet o la respuesta del servidor no cumplió con el tiempo de espera, entonces en la aplicación móvil. De hecho, reescribimos el algoritmo desde cero.



Nos hemos vuelto menos dependientes de la versión de los datos. Y en combinación con el hecho de que la mayoría de los scripts se crean a través de nuestro servidor en línea, fue posible refinar rápidamente el algoritmo para todos los usuarios a la vez.



Nuevas instrucciones



Repito que las pasarelas peatonales que atraviesan las intersecciones son mucho más variables en comparación con las de los automóviles.



imagen

Cada cruce es una oportunidad para cambiar la ruta



En la etapa de elaboración de las instrucciones, enfrentamos el problema de su presentación compacta, inequívoca y oportuna. El asterisco a la tarea se agregó por el hecho de que el teléfono puede estar en el bolsillo y el usuario no ve la línea guía ni las flechas. Solo puede concentrarse en la guía de voz. Además, un peatón, a diferencia de un automóvil, puede girar fácilmente en casi cualquier ángulo en un área muy estrecha. Y es importante explicarle a una persona con la mayor precisión posible cómo y dónde exactamente cruzar la calle, girar o bajar.



imagen



Al principio di la vuelta y anoté los errores. A veces pasé las intersecciones varias docenas de veces para comprender cuáles podrían ser las opciones. Luego hicieron un emulador, sobre el cual lanzaron un peatón virtual, y escucharon lo que le decían y en qué momento.



Verificamos la actuación de voz de caminos forestales, caminos de patio, cruces a través de intersecciones anchas, cruces peatonales regulados y no regulados con semáforos.



La experiencia práctica recopilada fue analizada, discutida, dividida en grupos de mejoras, unidas por soluciones comunes. Para cada uno de ellos se inventaron escenarios algorítmicos.



imagen



En esta etapa, se descubrió que las instrucciones de un solo componente, como las de un automóvil, no eran suficientes: en las rutas a pie, dos instrucciones separadas estaban tan cerca que, debido a un GPS inexacto, podrían sonar fuera de tiempo y confundir a una persona.



Hicimos instrucciones de voz compuestas para orientarnos antes de la transición, en qué dirección movernos después.



Desde el punto de vista del usuario, tal instrucción no es diferente de la habitual en un automóvil. Entonces, la frase "Gire a la izquierda, luego gire a la derecha después de 100 metros" para un automóvil son dos instrucciones de un solo componente

“Girar a la izquierda” + “después de 100 metros, girar a la derecha”. Y para los peatones, la frase para cruzar la calle “Gire a la izquierda en el cruce de peatones y luego gire a la derecha” es completamente una instrucción.



De hecho, tales instrucciones son grupos de cualquier instrucción de giro elemental, pero en forma de una sola instrucción hablada. Este enfoque hizo posible aumentar significativamente el contenido de la información y la conveniencia del mantenimiento en segundo plano. Especialmente al cruzar intersecciones no triviales.



imagen

En el paso de peatones más cercano, gire a la izquierda

e inmediatamente después del cruce, gire a la derecha.





Qué otra cosa



"Ajuste" de geoposicionamiento



Las rutas peatonales a menudo incluyen pasajes relativamente poco profundos: los bordes del gráfico. Y en condiciones urbanas, cuando la señal es inestable y / o está protegida por objetos de gran altura, los errores de posicionamiento pueden interferir con el cálculo correcto de las instrucciones y la guía a lo largo de la ruta. Para no arrojar accidentalmente el punto actual al otro lado de la calle, hemos "ajustado" ligeramente el algoritmo: tenemos en cuenta los matices del error y ajustamos el algoritmo para dibujar la ruta hasta 30 metros.



Vibro



La guía de voz es la solución cuando el teléfono está en su bolsillo. Pero para evitar la situación en la que la voz no se escuchará en una ciudad ruidosa, agregamos vibración, que se activa junto con la voz que actúa antes de la maniobra deseada. El patrón de vibración en sí se hizo diferente al habitual cuando se comunica en un mensajero.



Qué pasó



Como resultado, la primera versión pública del navegador para peatones nos llevó unos seis meses. Ahora está disponible en la versión 2GIS para iOS y Android.



Hemos hecho un gran trabajo, pero nosotros mismos somos conscientes de que nos perdimos opciones complicadas. Envíe a través de la aplicación móvil los casos que mostramos y expresamos incorrectamente; cada uno será considerado y tenido en cuenta en el algoritmo.



All Articles