Relaciones de anclaje y búsqueda de caminos en Azure Spatial AnchorsAnchor relationships and way-finding in Azure Spatial Anchors

Mediante el uso de relaciones de anclaje, puede crear anclajes conectados en un espacio y, a continuación, formular preguntas como estas:By using anchor relationships, you can create connected anchors in a space and then ask questions like these:

  • ¿Hay anclajes cerca?Are there anchors nearby?
  • ¿Cuánto de lejos están?How far away are they?

EjemplosExamples

Puede usar anclajes conectados en estos casos:You could use connected anchors in cases like these:

  • Un trabajador debe completar una tarea que implica visitar varias ubicaciones en una fábrica industrial.A worker needs to complete a task that involves visiting various locations in an industrial factory. La fábrica tiene anclajes espaciales en cada ubicación.The factory has spatial anchors at each location. Una aplicación móvil o un dispositivo HoloLens ayudan a guiar al trabajador de una ubicación a la siguiente.A HoloLens or mobile app helps guide the worker from one location to the next. La aplicación primero pregunta por los anclajes espaciales cercanos y, a continuación, guía al trabajador a la siguiente ubicación.The app first asks for the nearby spatial anchors and then guides the worker to the next location. La aplicación muestra visualmente la dirección general y la distancia a la siguiente ubicación.The app visually shows the general direction and distance to the next location.

  • Un museo crea anclajes espaciales en las exposiciones públicas.A museum creates spatial anchors at public displays. Juntos, estos anclajes forman un paseo de una hora por las exposiciones públicas esenciales del museo.Together, these anchors form a one-hour tour of the museum's essential public displays. En una exposición pública, los visitantes pueden abrir la aplicación de realidad mixta del museo en su dispositivo móvil.At a public display, visitors can open the museum's mixed reality app on their mobile device. A continuación, pueden apuntar con la cámara del teléfono alrededor del espacio para ver la dirección general y la distancia a las otras exposiciones públicas del paseo.Then they point their phone camera around the space to see the general direction and distance to the other public displays on the tour. A medida que un usuario camina hacia una exposición pública, la aplicación actualiza la dirección general y la distancia para ayudar a guiar al usuario.As a user walks toward a public display, the app updates the general direction and distance to help guide the user.

Configuración de la búsqueda de caminosSet up way-finding

Una aplicación que usa la dirección de la línea de visión y la distancia entre los anclajes para proporcionar orientación utiliza la búsqueda de caminos.An app that uses line-of-sight direction and distance between anchors to provide guidance is using way-finding. La búsqueda de caminos es diferente de la navegación giro a giro.Way-finding is different from turn-by-turn navigation. En la navegación giro a giro se guía al usuario alrededor de paredes, a través de puertas y entre plantas.In turn-by-turn navigation, users are guided around walls, through doors, and between floors. Con la búsqueda de caminos, el usuario obtiene sugerencias sobre la dirección general del destino.With way-finding, the user gets hints about the general direction of the destination. No obstante, la inferencia y los conocimientos del espacio también ayudan al usuario a navegar por la estructura hacia el destino.But inference or knowledge of the space also helps the user navigate through the structure to the destination.

Para crear una experiencia de búsqueda de caminos, primero debe preparar un espacio para la experiencia y desarrollar una aplicación con la que los usuarios interactuarán.To build a way-finding experience, first prepare a space for the experience and develop an app that users will interact with. Estos son los pasos conceptuales:These are the conceptual steps:

  1. Planear el espacio: decida qué ubicaciones dentro del espacio formarán parte de la experiencia de búsqueda de caminos.Plan the space: Decide which locations within the space will be part of the way-finding experience. En nuestros escenarios, el supervisor de la fábrica o el coordinador del paseo por el museo podrían decidir qué ubicaciones se deben incluir en la experiencia de búsqueda de caminos.In our scenarios, the factory supervisor or the museum tour coordinator might decide which locations to include in the way-finding experience.

  2. Conectar los anclajes: visite las ubicaciones elegidas para crear anclajes espaciales.Connect anchors: Visit the chosen locations to create spatial anchors. Puede hacerlo en un modo de administrador de la aplicación de usuario final o en otra aplicación completamente distinta.You can do this in an admin mode of the end-user app or in a different app entirely. Va a conectar o relacionar cada anclaje a los demás.You'll connect or relate each anchor to the others. El servicio mantiene estas relaciones.The service maintains these relationships.

  3. Iniciar la experiencia del usuario final: los usuarios ejecutan la aplicación para localizar un anclaje, el cual puede estar en cualquiera de las ubicaciones elegidas.Start the end-user experience: Users run the app to locate an anchor, which can be in any of the chosen locations. El diseño general debe determinar las ubicaciones en las que los usuarios pueden entrar a la experiencia.Your overall design should determine the locations where users can enter the experience.

  4. Encontrar anclajes cercanos: después de que el usuario encuentra un anclaje, la aplicación puede solicitar anclajes cercanos.Find nearby anchors: After the user finds an anchor, the app can request nearby anchors. Este procedimiento devuelve una posición entre el dispositivo y estos anclajes.This procedure returns a pose between the device and these anchors.

  5. Guiar al usuario: la aplicación puede usar la posición con respecto a cada uno de estos anclajes para proporcionar orientación acerca de la dirección general y la distancia del usuario.Guide the user: The app can use the pose to each of these anchors to give guidance about the user's general direction and distance. Por ejemplo, la entrada de la cámara en la aplicación podría mostrar un icono y una flecha para representar cada posible destino, como se muestra en la siguiente imagen.For example, the camera feed in the app might show an icon and arrow to represent each potential destination, as the following image shows.

  6. Refinar la guía: a medida que el usuario camina, la aplicación puede calcular periódicamente una posición nueva entre el dispositivo y el anclaje de destino.Refine the guidance: As the user walks, the app can periodically calculate a new pose between the device and the destination anchor. La aplicación continúa refinando las sugerencias de orientación que ayudan al usuario a llegar a su destino.The app continues to refine the guidance hints that help the user arrive at the destination.

    Ejemplo de cómo puede mostrar una aplicación la guía de la búsqueda de caminos

Conexión de los anclajesConnect anchors

Para crear una experiencia de búsqueda de caminos, primero debe colocar los anclajes en las ubicaciones elegidas.To build a way-finding experience, you first need to place the anchors in the chosen locations. En esta sección, supondremos que el administrador de la aplicación ya ha finalizado este trabajo.In this section, we'll assume the app's admin has already finished this work.

Conexión de los anclajes en una única sesiónConnect anchors in a single session

Para conectar los anclajes:To connect anchors:

  1. Camine a la primera ubicación y cree el anclaje A mediante el uso de CloudSpatialAnchorSession.Walk to the first location and create Anchor A by using a CloudSpatialAnchorSession.
  2. Camine a la segunda ubicación.Walk to the second location. La plataforma subyacente de MR/AR realiza un seguimiento del movimiento.The underlying MR/AR platform tracks the movement.
  3. Cree el anclaje B mediante el uso del mismo elemento CloudSpatialAnchorSession.Create Anchor B by using the same CloudSpatialAnchorSession. Los anclajes A y B ahora están conectados.Anchors A and B are now connected. El servicio Spatial Anchors mantiene esta relación.The Spatial Anchors service maintains this relationship.
  4. Siga el procedimiento para los anclajes restantes.Continue the procedure for the remaining anchors.

Conexión de los anclajes en varias sesionesConnect anchors in multiple sessions

Puede conectar anclajes espaciales en varias sesiones.You can connect spatial anchors over multiple sessions. Con este método, puede crear y conectar algunos anclajes en un momento del tiempo y más adelante crear y conectar más anclajes.Using this method, you can create and connect some anchors at one time and then later create and connect more anchors.

Para conectar anclajes en varias sesiones:To connect anchors over multiple sessions:

  1. La aplicación crea algunos anclajes en un elemento CloudSpatialAnchorSession.The app creates some anchors in one CloudSpatialAnchorSession.
  2. En otro momento, la aplicación busca uno de estos anclajes (por ejemplo, el anclaje A) mediante el uso de un nuevo elemento CloudSpatialAnchorSession.At a different time, the app locates one of these anchors (for example, Anchor A) by using a new CloudSpatialAnchorSession.
  3. Camine a una nueva ubicación.Walk to a new location. La plataforma subyacente de realidad mixta o realidad aumentada realiza un seguimiento del movimiento.The underlying mixed-reality or augmented-reality platform tracks the movement.
  4. Cree el anclaje C mediante el uso del mismo elemento CloudSpatialAnchorSession.Create Anchor C by using the same CloudSpatialAnchorSession. Los anclajes A, B y C ahora están conectados.Anchors A, B, and C are now connected. El servicio Spatial Anchors mantiene esta relación.The Spatial Anchors service maintains this relationship.

Puede seguir este procedimiento para más anclajes y más sesiones a lo largo del tiempo.You can continue this procedure for more anchors and more sessions over time.

Comprobación de las conexiones de los anclajesVerify anchor connections

La aplicación puede comprobar que dos anclajes están conectados mediante la emisión de una consulta de anclajes cercanos.The app can verify that two anchors are connected by issuing a query for nearby anchors. Cuando los resultados de la consulta contienen el anclaje de destino, se comprueba la conexión del anclaje.When the query's result contains the target anchor, the anchor connection is verified. Si los anclajes no están conectados, la aplicación puede intentar conectarlos de nuevo.If the anchors aren't connected, the app can try to connect them again.

Estos son algunos de los motivos por los que los anclajes podrían no conectarse:Here are some reasons why anchors might fail to connect:

  • La plataforma subyacente de realidad mixta o realidad aumentada ha perdido el seguimiento durante el proceso de conexión de los anclajes.The underlying mixed-reality or augmented-reality platform lost tracking during the process of connecting anchors.
  • Debido a un error de red durante la comunicación con el servicio Spatial Anchors, no se pudo guardar la conexión del anclaje.Because of a network error during communication with the Spatial Anchors service, the anchor connection couldn't be persisted.

Encontrar código de ejemploFind sample code

Para buscar el código de ejemplo que muestra cómo conectar los anclajes y cómo hacer consultas de proximidad, consulte Aplicaciones de ejemplo de Spatial Anchors.To find sample code that shows how to connect anchors and to do nearby queries, see Spatial Anchors sample apps.