BR112013019835B1 - Método de geração de uma localização de usuário que usa um dispositivo móvel e dispositivo móvel - Google Patents

Método de geração de uma localização de usuário que usa um dispositivo móvel e dispositivo móvel Download PDF

Info

Publication number
BR112013019835B1
BR112013019835B1 BR112013019835-4A BR112013019835A BR112013019835B1 BR 112013019835 B1 BR112013019835 B1 BR 112013019835B1 BR 112013019835 A BR112013019835 A BR 112013019835A BR 112013019835 B1 BR112013019835 B1 BR 112013019835B1
Authority
BR
Brazil
Prior art keywords
location
mobile device
user
signal
instantaneous signal
Prior art date
Application number
BR112013019835-4A
Other languages
English (en)
Other versions
BR112013019835A2 (pt
Inventor
Joseph Ding-Jiu Huang
David Benjamin Millman
Original Assignee
Apple Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Apple Inc filed Critical Apple Inc
Priority claimed from PCT/US2012/020875 external-priority patent/WO2012106075A1/en
Publication of BR112013019835A2 publication Critical patent/BR112013019835A2/pt
Publication of BR112013019835B1 publication Critical patent/BR112013019835B1/pt

Links

Abstract

MÉTODO E APARELHO PARA DETERMINAÇÃO DE LOCALIZAÇÃO MÓVEL. A presente invenção se refere a um método de geração de uma localização do usuário que usa um dispositivo móvel. O método compreende determinar um sinal instantâneo no dispositivo móvel, o sinal instantâneo que descreve as características de transmissões de radiofrequência não regulada (RF) detectáveis pelo dispositivo móvel. A geração da localização do usuário no dispositivo móvel usa o sinal instantâneo e pelo menos uma entrada adicional do dispositivo móvel. A geração e determinação são iterativamente repetidas. A transmissão RF não regulada pode compreender sinais WiFi.

Description

Casos Relacionados
[001] Este é um pedido não provisório do pedido provisório número de série 61/439.876, de Huang et al., depositado em 5 de fevereiro de 2011, intitulado "The present invention relates to a solution to Wireless or Signal Strength Based Mapping and Localization and more specifically to the simultaneous or real-time or postprocessing mapping and/or localization of received and/or transmitted wireless and/or signal-strength information together with any combination of odometry, human interaction, or environmental context".
Antecedentes da Invenção Campo da Invenção
[002] Esta descrição é geralmente relacionada à determinação de localização mediante o uso de dispositivos móveis. De maneira mais específica, a descrição é relacionada a técnicas que não dependem de GPS para a determinação de localização.
Técnica Relacionada
[003] O posicionamento móvel através de uma mistura de GPS, torres de celular e transmissores de RF previamente mapeados, por exemplo, pontos de acesso WiFi, é comumente disponível. Tal posicionamento é geralmente preciso em aproximadamente 7-25 metros, mas pode ser de 250 metros fora em casos de falha. Ademais, os ambientes internos tendem a ser pobres para a recepção GPS, precisando depender de outros mecanismos. Um mecanismo para aprimorar a recepção consiste em usar torres de celular, por exemplo, usar informações sobre intensidade de sinal a partir de múltiplas torres de celular conhecidas para triangular uma localização aproximada (200-1000 m de precisão). Outra abordagem consiste em usar um banco de dados de transmissores WiFi conhecidos, ou outros transmissores de radiofrequência não regulados (RF).
[004] Por exemplo, o Skyhook Wireless proporciona mapeamento de localização somente de software com cerca de 10-20 metros de precisão mediante o uso de um banco de dados de pontos de acesso WiFi, satélites GPS e torres de celular conhecidos para computar uma localização. Um requisito fundamental para serviços como o Skyhook Wireless consiste em um banco de dados de referência de pontos de acesso WiFi. Este banco de dados deve ser manualmente gerado, por exemplo, através de entrada de dados manual de levantamentos de campo. Outras empresas, tal como, a Apple utilizam o GPS em dispositivos móveis para gravar uma estação base Wi-Fi. Estes próprios bancos de dados devem ser regularmente mantidos e atualizados para proporcionar boa precisão. A manutenção de tais bancos de dados pode requerer equipamento de monitoramento dispendioso, equipes de campo treinadas para locais de pesquisa e atualizações regulares. De maneira adicional, tais abordagens não abordam alterações de ambientes de sinal devido a áreas lotadas versus vazias ou alteração de condições de sinal devido a obstrução da antena e dos dispositivos móveis através das mãos dos usuários à medida que o usuário muda o modo no qual ele/ela está segurando o dispositivo móvel.
[005] Ainda outras abordagens para a determinação de localização interna, tais como, usar modelos de propagação de rastreamento de raios para modelagem de intensidade de sinal interna, abordagens baseadas em Sparse Extended Information Filter e GraphSLAM, ou aquelas abordagens baseadas em cálculo de posição requerem informações prévias sobre o formato, layout e, algumas vezes, os materiais da localização, por exemplo, formatos anteriores. Esta abordagem pode funcionar se existirem mapas e informações de formato pré-existentes que uma fonte autorizada pode proporcionar. Entretanto, tal abordagem muitas vezes é muito computacionalmente complexa para executar dentro das restrições de um dispositivo móvel ou nem sempre funciona bem em ambientes em mudança ou dinâmicos.
[006] Consequentemente, o que é necessário é um método e aparelho para a determinação de localização em dispositivos móveis sem a necessidade de informações prévias sobre a localização, por exemplo, informações sobre o próprio espaço ou os transmissores/transmissões de RF não reguladas no espaço.
Breve Descrição dos Desenhos
[007] A Figura 1 mostra uma vista esquemática de nível arquitetônico de um sistema, de acordo com uma modalidade.
[008] A Figura 2 mostra um exemplo de uma modalidade do sistema de localização em uso em um dispositivo móvel.
[009] A Figura 3 é um diagrama de fluxo de processo para o processo de determinação de localização, de acordo com uma modalidade.
[0010] A Figura 4 é um diagrama de fluxo de processo para o refinamento do processo de determinação de localização, de acordo com uma modalidade.
[0011] As Figuras 5-6 mostram resultados exemplificativos das modalidades do processo de determinação de localização. Descrição Detalhada da Invenção Casos Relacionados 1 Antecedentes da Invenção 1 Campo da Invenção 1 Técnica Relacionada 2 Breve Descrição dos Desenhos 3 Descrição Detalhada 3 Visão Geral 4 Terminologia 7 Visão Geral do Sistema 8 Posicionamento 16 Mapas de Sinal de Aprimoramento Adicional 30 Exemplos e Discussão Adicional 35 Conclusão e Modalidades Adicionais 37 Reivindicações 45 Resumo 51
Visão Geral
[0012] A discussão é organizada da seguinte maneira. Em primeiro lugar, uma introdução que descreve alguns dos problemas abordados pelas diversas modalidades será apresentada, seguida por uma explicação da terminologia que será usada ao longo de toda a discussão. Então, uma descrição de nível alto de uma modalidade será discutida em um nível arquitetônico. A seguir, os detalhes dos processos usados por algumas modalidades serão discutidos. Então, algumas aplicações serão discutidas. Finalmente, diversas modalidades alternativas são discutidas.
[0013] Considera-se que Lane está visitando uma convenção. Devido ao fato de o espaço ter sido definido no último minuto, não existe mapeamento dos pontos de acesso WiFi no centro de convenção, alguns dos quais foram recentemente substituídos e não inspecionados, alguns dos quais foram erguidos por estandes para o show, etc. Entretanto, os organizadores da convenção provavelmente têm um mapa geral do salão de exposições com os nomes dos exibidores que eles podem carregar no aplicativo móvel para a convenção. No centro de convenção, Lane puxa seu telefone celular e lança o aplicativo móvel, ou site da web, para a convenção, por exemplo, Convenção XYZ 2011. É desejável proporcionar para Lane um modo fácil de rastrear seu caminho através do salão de convenções, assegurando que Lane visite todos os exibidores em sua lista de pessoas e, assim, no dispositivo móvel mesmo quando o GPS for insatisfatório ou indisponível, e mesmo se a paisagem do salão de convenções tenha alterado uma vez que o mapa foi finalizado. Neste contexto, o GPS pode ser insatisfatório tanto em termos de qualidade de sinal, como, também, em termos de requisitos de alta potência. Ademais, as alternativas existentes para o GPS também podem ser muito dispendiosas, por exemplo, o pré-mapeamento de localizações ou estabelecimento de sinalizadores predeterminados dentro da localização. Outros recursos podem incluir melhor precisão em descobrir e se encontrar com outros na convenção. Outros recursos podem incluir rotas ótimas para visitar estandes que você já manifestou interesse em ir. Outros recursos podem incluir manipulação para congestionamento em uma área, por exemplo, sugerir dinamicamente rotas alternativas baseadas no congestionamento em uma parte do salão de convenções. Os recursos similares podem ser usados para planejamento de rota em locais grandes, como parques temáticos com atrações se o sistema de localização 120 puder entrar em contato com uma fonte de dados, por exemplo, nas informações de empresa 112 ou um site da web de terceiros, que proporciona informações sobre tempos de espera para atrações. De maneira adicional, tal recurso pode levar em consideração o congestionamento causado por eventos, tais como, paradas e shows. Outros recursos podem incluir fornecer um histórico de navegação, por exemplo, estandes visitados; a interatividade com as exibições, por exemplo, a exibição de conteúdo relevante para os estandes próximos; e/ou a personalização, por exemplo, dependendo de seus interesses, diferentes informações são mostradas. No contexto de personalização, por exemplo, médicos registrados em uma convenção médica podem ver informações diferentes dos administradores hospitalares quando próximos ao mesmo estande.
[0014] Outros usos para melhor determinação de localização móvel incluem shopping, por exemplo, em um shopping geralmente, e dentro de uma loja, tal como, uma loja de departamentos, mercado, farmácia, loja especializada, etc. Por exemplo, se Lane estiver usando o XYZ Mall Application para passear pelo XYZ Mall, ele pode receber publicidade direcionada à medida que ele se aproxima de determinadas lojas. De maneira similar, aos usuários que procuram (adjacentes a) uma exibição de Marca X fralda dentro de uma loja podem ser oferecidos cupons para aquela marca de fraldas ou uma fralda do concorrente. Em algumas modalidades, uma funcionalidade de verificação de preço é suportada. Esta modalidade pode ser oferecida por um concorrente que usa o conhecimento de um layout da loja, por exemplo, Safeway #123, para sugerir alternativas de preço mais baixo ou como um mecanismo de competição de marca, você está próximo a Pepsi agora, porém, apenas alguns metros adiante se encontra uma promoção de Coca-Cola. Outras modalidades podem incluir proporcionar informações nutricionais suplementares em produtos próximos; proporcionar comentários de outros sites da web e/ou sua rede social sobre produtos próximos; e/ou proporcionar informações suplementares, por exemplo, realçando os produtos já em promoção, informando sobre futuras promoções.
[0015] De maneira notável, os usos das modalidades vão além da "entrada" básica em uma localização para proporcionar funções aprimoradas ao redor de uma localização mais precisa do usuário. Por exemplo, na posição de prateleira exemplificativa, a precisão mais próxima a 1 m, opcionalmente suplementada com outras informações, tais como, posição (olhando para as fraldas ou do outro lado do corredor), velocidade de movimento (parado em frente às fraldas vs. passou direto), é importante.
[0016] Embora as modalidades usem as comunicações e possam usar redes públicas como a internet, por exemplo, para a comunicação dos dispositivos móveis para um servidor, um recurso importante é a quantidade relativamente baixa de comunicação com o servidor. A comunicação mínima suspensa permite que os servidores modifiquem a escala para lidar com milhões e milhões de usuários mesmo quando os pontos de extremidade forem de diferentes provedores e/ou suportem aplicativos diferentes. Note que em algumas modalidades, não existe comunicação e/ou toda a comunicação é desconectada do processo de determinação de localização. Entretanto, em algumas modalidades, algumas entidades podem configurar um servidor dedicado ao qual os dispositivos móveis podem se conectar. A comunicação mínima também precisa ajudar a lidar com dezenas de milhares de dispositivos em grandes espaços através de redes de largura de banda limitada como o celular. Por exemplo, todos os mais de trinta mil participantes em um local de concerto com dispositivos móveis podem usar facilmente o sistema de localização 120 sem impactos de largura de banda significativos. De maneira adicional, devido ao fato de que o consumo de energia em dispositivos móveis precisa ser cuidadosamente gerenciado, as modalidades usam técnicas computacionais particularmente energeticamente amigáveis para a determinação de localização.
[0017] O uso por algumas modalidades de transmissões WiFi para a determinação de localização se aproveita de uma combinação de ubiquidade do WiFi, assim como, uma capacidade de usar a transmissão sem a necessidade de o dispositivo móvel se conectar a uma rede usando a transmissão WiFi. De maneira específica, um sinalizador de WiFi com o endereço MAC é suficiente para fins de mapeamento. De maneira adicional, a partir de um ponto de vista de consumo de energia, os dispositivos móveis já podem ser programados para varrer periodicamente os pontos de acesso WiFi, algumas modalidades alavancam tais varreduras periódicas e/ou aumentam a frequência de tais varreduras para construir as informações de localização e mapeamento.
[0018] De maneira adicional, as modalidades fazem o uso modificado de técnicas obtidas a partir de campos de robótica, tal como, SLAM (localização e mapeamento simultâneo) que incluem variantes FastSLAM para proporcionar determinação de localização móvel. As modalidades fazem uso de técnicas de aprendizagem de máquina, modelos probabilísticos estruturados, filtragem bayesiana e reamostragem de importância sequencial para proporcionar a determinação de localização móvel.
[0019] Descreve-se um sistema e diversas modalidades para proporcionar a determinação de localização móvel aprimorada. Terminologia
[0020] Ao longo deste relatório descritivo os seguintes termos serão usados:
[0021] Dispositivo móvel: Um dispositivo móvel é um dispositivo eletrônico portátil, tal como, um telefone celular, smartphone, ou similar. Os dispositivos móveis exemplificativos atuais incluem dispositivos iOS, tal como, o iPhone, e dispositivos Android, tal como, o smartphone Nexus ou tablets Kindle. Geralmente, algumas modalidades se destinam a dispositivos portáteis pequenos que um usuário pode tanto transportar como usar facilmente enquanto anda.
[0022] Geralmente, o dispositivo móvel pode ter múltiplos sensores integrados, tais como, acelerômetros e giroscópios, assim como, múltiplos receptores, tais como, GPS, celular, WiFi e Bluetooth. De maneira adicional, o dispositivo móvel terá uma tela display e capacidades de entrada de usuário. De maneira notável, as modalidades podem fazer uso particular de entradas comuns nos dispositivos móveis, tais como, botões e entradas de toque, uma câmera para decodificar códigos de barras, códigos QR e/ou outra análise de imagem, assim como, microfones para análise de reconhecimento de voz e/ou som. Deste modo, a definição de dispositivo móvel pode incluir dispositivos eletrônicos portáteis diferentes de um smartphone, tais como, tablets ou computadores portáteis ou laptop, e seus dispositivos periféricos. Transmissor de radiofrequência não regulada (RF),
[0023] Transmissão RF não regulada: Um transmissor ou transmissão de radiofrequência não regulada (RF) transmissor ou transmissão se refere a transmissores/transmissões de RF onde não existe um regime de regulamentação governamental para posicionar as fontes transmissoras/transmissão. Por exemplo, torres de celular usadas para 3G/LTE são transmissores de RF regulados. De maneira similar, os satélites GPS são observados como transmissões de RF reguladas. Em contrapartida, os transmissores de RF não regulados são posicionados de uma maneira ad hoc, por exemplo, estações base Wi-Fi, dispositivos Bluetooth, transmissores de comunicações de campo próximo (NFC). Determinadas fontes de RF não se encontram ordenadamente em uma categoria ou na outra, por exemplo, microcélulas/picocélulas para comunicações celulares. Entretanto, para os fins desta discussão, o termo "não regulado" foca em transmissores/transmissões onde os transmissores podem ser regularmente movidos/instalados/alterados. Em algumas modalidades, existe uma ênfase adicional nos transmissores/transmissões WiFi devido a sua ubiquidade.
[0024] De maneira adicional, mesmo se a posição dos transmissores for supostamente conhecida, esta pode ser insuficiente. Por exemplo, as redes WiFi gerenciadas onde se supõe que o instalador registre a localização do dispositivo WiFi são relatadas por muitas vezes conter informações de localização imprecisas. Deste modo, tais informações, onde disponíveis, podem ser uma entrada, em algumas modalidades, para a determinação de localização não refinada.
[0025] Localização: A localização é usada para se referir a dois conceitos distintos neste documento; o uso deve ser aparente a partir do contexto. O primeiro significado se refere à área geral que você se encontra, por exemplo, a loja XYZ #123, o Centro de convenção ABC, Central Park ou uma região dentro do Central Park. O segundo significado se refere à posição mais precisa do dispositivo móvel e, deste modo, do usuário. De maneira específica, este segundo significado de localização pode ser uma coordenada global, por exemplo, latitude/longitude mais altitude/andar ou uma coordenada x, y, z relativa. Este segundo significado de localização também pode ser referido como posição.
Visão Geral do Sistema
[0026] Um sistema e diversas modalidades que proporcionam determinação de localização móvel aprimorada serão descritos com referência à Figura 1, que mostra um nível arquitetônico esquemático de um sistema, de acordo com uma modalidade. Devido ao fato de a Figura 1 ser um diagrama arquitetônico, determinados detalhes são intencionalmente omitidos para aprimorar a clareza da descrição. A discussão da Figura 1 será organizada da seguinte maneira. Primeiro, os elementos da Figura serão descritos, seguido por suas interconexões. Então, o uso dos elementos no sistema será descrito em maiores detalhes.
[0027] A Figura 1 inclui um sistema 100. O sistema inclui fontes externas 110, sistema de localização 120 e pontos de extremidade 130. As fontes externas 110 incluem fonte de mapa 111, informações de empresa 112 e informações de localização 113. O sistema de localização 120 inclui um controlador 121 e armazenamento 122. Os pontos de extremidade 130 incluem o celular 131, celular 132, celular 133 e o tablet 134. O celular 131 é acoplado em comunicação com uma tela 160 que mostra uma interface de usuário gerada por uma combinação do software de localização no celular 131 e no sistema de localização 120, de acordo com uma modalidade. De maneira adicional, a entrada de usuário 150 para celular 131 é mostrada, assim como, sensores 155, um receptor de RF não regulado 157 e software de localização 159.
[0028] A interconexão dos elementos do sistema 100 será descrita agora. As fontes externas 110 são acopladas em comunicação com o sistema de localização 120 (indicado pela linha dupla com setas na extremidade). As diferentes fontes podem surgir através de mecanismos diferentes. Por exemplo, a fonte de mapa 111 pode ser recuperada através de uma rede, por exemplo, a internet, usando um ou mais protocolos, tal como, HTTP que usa diversos APIs, tal como, REST ou SOAP. Outras informações, tais como, as informações de empresa 112 ou as informações de localização 113 podem ser acessadas através de uma rede diferente, por exemplo, rede privada, VPN, circuito MPLS ou internet, e podem ser obtidas usando qualquer API ou mecanismo de download apropriado, por exemplo, download SFTP de dados para processamento e armazenamento através di sistema de localização 120. Todas as comunicações podem ser criptografadas e, conforme apropriado, as credenciais de descriptografia podem ser disponíveis para o sistema de localização 120 diretamente, ou podem ser armazenadas no armazenamento 122 na forma criptografada. De maneira adicional, uma variedade de técnicas de autenticação, tais como, nome de usuário/senha, OAuth, Kerberos, e mais pode ser usada para as comunicações entre as fontes externas 110 e o sistema de localização 120.
[0029] O controlador 121 e o armazenamento 122 podem ser compostos por um ou mais computadores e sistemas de computador acoplados em comunicação com conjunto. Eles também podem ser um ou mais recursos de computação e/ou armazenamento virtual. Por exemplo, o controlador 121 pode ser uma instância da Amazon EC2 e o armazenamento 122 um armazenamento da Amazon S3. Outras plataformas de computação como serviço, tais como, Force.com junto a Salesforce, Rackspace, ou Heroku podem ser usadas, em vez de implementar o sistema de localização 120 diretamente através do operador usando computadores físicos ou computadores físicos que operam máquinas virtuais tradicionais. As comunicações entre os recursos de computação e armazenamento distribuídos de maneira potencialmente geográfica que compreendem o sistema de localização 120 não são mostradas.
[0030] Os pontos de extremidade 130 são acoplados, de maneira similar, em comunicação com o sistema de localização 120 (indicado pela linha dupla com setas na extremidade). Esta comunicação ocorrer geralmente através de uma rede, tal como, a internet, inclusive a internet móvel, através de protocolos, tais como, EDGE, 3G, LTE, WiFi e WiMax. Os pontos de extremidade 130 podem se comunicar com o sistema de localização 120 usando protocolos HTTP/HTTPS e podem ser implementados em uma modalidade que usa uma interface ou aplicativo da web para permitir o suporte fácil de uma faixa de tipos de dispositivo como pontos de extremidade 130. O celular 131 pode ser qualquer dispositivo móvel, vide definição acima, por exemplo, iPhone, telefone Android, telefone Windows, Blackberry. O tablet 134 é considerado um dispositivo móvel, vide definição acima, e pode ser um dispositivo de computação tipo tablet, por exemplo, iPad, iPod Touch, tablet Android, tablet Blackberry. Outros tipos de dispositivos móveis, tais como, laptops não são mostrados, porém, podem ser usados. De acordo com algumas modalidades, o software de localização 159 é implementado em pontos de extremidade como uma aplicação HTML ou da web, enquanto em outras modalidades, uma interface de usuário personalizada ou nativa é preparada para o dispositivo. De maneira similar, alguns dispositivos móveis suportam um conceito de "loja de aplicativos" e o software de localização 159 pode ser um download a partir da loja de aplicativos. Em algumas modalidades, a comunicação direta (não mostrada) entre os pontos de extremidade 130 e as fontes externas 110 é realizada. Enfatiza-seque as comunicações discutidas podem estar desconectadas (offline) em relação ao processo de determinação de localização que, deste modo, faz comunicação com um recurso de servidor opcional durante os processos descritos no presente documento.
[0031] A tela 160 é acoplada em comunicação com o celular 131, e o celular 131 é capaz de receber entrada de usuário 150, por exemplo, através de teclado, mouse, trackpad, gestos de toque (opcionalmente na tela 160), câmera e microfone, dispositivos periféricos. Os sensores 155 são acoplados em comunicação com o celular 131 (e geralmente integrados a este). De maneira similar, o receptor de RF não regulado 157 é acoplado em comunicação com o celular 131 (e geralmente integrado a este). O software de localização 159 é armazenado no celular 131, por exemplo, em memória volátil e/ou não volátil para a execução pelos processadores do celular 131.
[0032] A comunicação entre o sistema de localização 120 e os pontos de extremidade 130 pode ser bidirecional com os pontos de extremidade 130 que fazem solicitações diretamente para o sistema de localização 120 e o sistema de localização 120 que faz solicitações diretamente para as fontes externas 110.
[0033] Descrevendo-se os elementos da Figura 1 e suas interconexões, o sistema será descrito em maiores detalhes. Isto será realizado em conjunto com uma discussão da Figura 2 que mostra uma modalidade do sistema de localização em uso em um dispositivo móvel no cenário 200. De maneira específica, o cenário 200 mostra um usuário 210 com o celular 131 que navega na localização 220. O cenário 200 que realça a opcionalidade de comunicação entre os pontos de extremidade 130 e o sistema de localização 120 marcando- se o caminho de comunicação entre o celular 131 e o sistema de localização 120 como opcional (caminho de comunicação opcional 205).
[0034] Para fins de discussão, a localização 220 será tratada como um mercado. No cenário 200, a localização 220 tem quatro pontos de acesso sem fio (ponto de acesso sem fio 232, ponto de acesso sem fio 234, ponto de acesso sem fio 236, ponto de acesso sem fio 238) que são irregularmente distribuídos. As localizações dos pontos de acesso sem fio dentro do mercado são mostradas na Figura para fins de discussão, porém, não precisam ser conhecidas de maneira notável para o celular 131 ou o sistema de localização 120, e podem se encontrar dentro ou fora do mercado.
[0035] De maneira adicional, os pontos de acesso sem fio necessários não precisam se encontrar dentro do mercado, por exemplo, alguns ou todos os pontos de acesso podem se encontrar em lojas contíguas e aquelas transmissões de RF podem ser detectadas dentro do mercado. O mercado tem diversas prateleiras e compartimentos de freezer (obstáculo 222, obstáculo 224, obstáculo 226 e obstáculo 228). Novamente, as localizações de obstáculo são mostradas na Figura figure para fins de discussão, porém, não precisam ser conhecidas para o celular 131 ou o sistema de localização 120. Também, o caminho real 250 que o usuário 210 irá adotar andando ao longo da loja é mostrado (linha tracejada com pontos). A presente posição do usuário é mostrada como o ponto sólido. Diversos pontos adicionais no caminho do usuário são marcados como ti, t2, t3, t4, ts, te e t?. Estes pontos foram selecionados para discussão e representam localizações que o usuário irá visitar durante esta visita ao mercado no caminho real do usuário 250. Novamente, o caminho real 250 não é conhecido para o celular 131 ou o sistema de localização 120, porém, de preferência, o objetivo do software de localização 159 e/ou do sistema de localização 120 consiste em determinar a localização do usuário dentro do mercado a qualquer momento. Este, por sua vez, pode ser usado para gerar um caminho calculado (não mostrado) que não irá seguir precisamente o caminho real 250; entretanto, usando as abordagens mostradas aqui, a precisão de aproximadamente 1 metro é possível.
[0036] Enfatiza-se que o software de localização 159 pode ser distribuído como uma biblioteca, kit de desenvolvimento de software (SDK) para desenvolvedores de aplicativos ou interface de programação de aplicativos (API) para outro software. As discussões no presente documento geralmente irão focalizar nas modalidades em que o software de localização 159 é um aplicativo autônomo. Entretanto, espera-se que algumas modalidades tenham a funcionalidade do software de localização 159 encapsulado em outro software, por exemplo, um aplicativo Safeway oposto a um software de localização de propósito mais geral. Deste modo, tais modalidades podem encapsular algumas ou todas as informações de empresa 112 diretamente no aplicativo, por exemplo, mapas e diretórios de loja podem ser pré-carregados no aplicativo Safeway. De maneira adicional, tais aplicativos podem ter maiores dados contextuais disponíveis e/ou oferecer recursos personalizados. Em algumas modalidades, o aplicativo contextual correto, por exemplo, aplicativo Safeway, pode ser lançado pelo sistema de operação do dispositivo móvel com base na localização geral e, então, as capacidades de localização mais detalhadas do sistema 100 se tornam disponíveis dentro da aplicação específica.
[0037] Finalmente, a Figura 2 mostra uma possível tela 160 no celular 131. Esta tela particular mostra a posição presente do usuário (ponto sólido), assim como, os obstáculos, por exemplo, se o sistema de localização 120 for capaz de obter o mapa interno da fonte de mapa 111 ou informações de empresa 112. Conforme notado, a localização dos obstáculos não é requerida. Entretanto, a fácil integração com as fontes externas dos dados de mapeamento é um recurso oferecido por algumas modalidades, e a tela mostrada Figura 2 é um local útil para proporcionar um exemplo.
[0038] A operação básica da determinação de localização abordagem é da seguinte maneira. O celular 131 recebe um sinal que indica que o usuário deseja saber sua localização, por exemplo, precisamente onde ele se encontra. O celular 131 pode se comunicar opcionalmente com o sistema de localização 120 para informações. Entretanto, uma característica de das modalidades é mínima, ou não necessária para as comunicações de celular para servidor.
[0039] De maneira específica, uma vantagem consiste no fato de que as modalidades permitem o processamento completo da computação de localização a ser efetuada no celular 131. Entretanto, as comunicações de celular para servidor permitem a recuperação de informações úteis. De maneira específica, as informações opcionais de servidor primárias podem incluir: (i) mapas, (ii) informações específicas da empresa (informações de empresa 112) e/ou personalizações, (iii) informações suplementares de localização, (iv) dados de visita anteriores, e (v) outras informações distribuídas pela internet. De maneira mais geral, as informações de empresa 112 incluem metadados contextuais sobre o local e/ou evento.
[0040] Adotando-se cada tipo de dado opcional sucessivamente, começando com os mapas, a forma mais simples de mapa pode ser uma imagem em escala do mercado, salão de convenções, local de concerto externo, ou similar. Os mapas mais avançados podem incluir informações adicionais, tal como, a localização de itens/marcas/mercadorias específicos em uma base dinâmica. Para discutir o sistema, os mapas são considerados recuperados da fonte de mapa 111 que podem ser múltiplas fontes, tais como, sites da web de empresas, sites da web do centro de convenção, e similares. Em algumas instâncias, as entidades podem dotadas de um mecanismo para interagir com o sistema de localização 120 (não mostrado) para proporcionar de maneira manual e/ou programática os mapas. Por exemplo, as empresas podem ser dotadas de um mecanismo para carregar um arquivo contendo uma lista de todas as localizações de loja, junto com um URL para recuperar um mapa da loja. Em tal exemplo, os locais de download para os mapas podem ser a fonte de mapa 111. Para locais externos, saber simplesmente sua localização no local de maneira mais precisa, assim como, a localização do seu amigo no local, pode ser mais do que adequado sem os mapas. Algumas modalidades suportam recursos encontre meus amigos e fazem uso de comunicações de celular para servidor que permitem este recurso. Entretanto, para muitas localizações internas, os mapas podem proporcionar contexto adicional para os usuários fazerem uso do sistema.
[0041] A próxima categoria de informações proporcionadas por servidor opcionais são informações de empresa (por exemplo, informações de empresa 112). Conforme discutido acima, isto pode adotar inúmeras formas, incluindo software personalizado e/ou parceria entre marcas para uso para o software de localização 159. Em outras modalidades, o software de localização 159 pode ser personalizado na entrada para uma localização, por exemplo, quando se insere um Safeway, determinadas personalizações específicas do Safeway são carregadas. As informações de empresa 112 também podem ser de localização altamente específica, por exemplo, quão fresco está o pão assado que a pessoa se encontra próximo, dados nutricionais suplementares para produtos próximos. O sistema de localização 120 obtém estas informações a partir das informações de empresa 112. Os recursos exemplificativos podem incluir a exibição de um ou mais botões personalizados em uma forma ciente de contexto e localização. Por exemplo, se o usuário parece estar perdido (movendo-se repetidamente ao longo da mesma área ou em círculos), então, um botão "Precisa do botão de ajuda?" pode aparecer e a localização do usuário pode ser enviada para alguém na loja. De maneira similar, os cupons e/ou anúncios podem ser direcionados com base em onde o usuário se encontra. Outros contextos de uso podem ter outros recursos, por exemplo, recursos personalizados para uma convenção podem ajudar a efetuar uma lista de estandes que você deseja visitar, planejar uma rota ao longo do salão de exposições e marcar automaticamente os estandes que você parou por pelo menos 30 segundos. Em outra modalidade, uma gravação é mantida dos estandes visitados e o tempo da visita e isto se torna disponível para o usuário como um itinerário para permitir que a pessoa se associe a cartões de visita, conteúdo de site da web da empresa, e mais com os dados de localização. Esta é uma lista exemplificativa dos recursos suportados para algumas modalidades das informações de empresa 112, porém, realça a capacidade do sistema.
[0042] Referindo-se às informações de localização 113, um ou mais bancos de dados de terceiros, tais como, listas Skyhook de localizações de ponto de acesso WiFi, bancos de dados de localizações de torre de celular, e informações de localização proporcionadas pelo sistema de operação podem ser usadas para aprimorar (i) a precisão, (ii) a determinação de localização absoluta inicial, (iii) tempo de correção mediante uma localização e (iv) rejeição de exceção. Retornando ao cenário 200, se esta for a primeira vez que qualquer usuário do sistema de localização 120 visitou a localização 220, pode ser difícil determinar a posição inicial do usuário. Isto pode ser particularmente verdade para localizações internas. Como tal, enquanto o sistema irá funcionar e mostrar um caminho sem informações de posicionamento absolutas, encontrando o mapa correto e/ou descobrir de onde o usuário começou representa um conjunto de problemas diferente, por exemplo, tempo de correção mais longo em uma localização, determinação de orientação, etc. Em algumas instâncias, informações de localização podem ser proporcionadas a partir do contexto, por exemplo, o usuário está usando o aplicativo Safeway (por exemplo, como o software de localização 159), deste modo, que identifica mais exclusivamente sua posição inicial. Deste modo, as informações de localização 113 oferecem um mecanismo para fazer uso de fontes de dados de terceiros. Em algumas modalidades, o celular 131 pode incluir recursos no sistema de operação que podem estimar de maneira similar uma posição global do usuário, e aqueles recursos podem ser usados em vez de ou além das informações de localização 113.
[0043] A categoria principal final de informações proporcionadas por servidor opcionais para o celular é o sinal de mapas das visitas anteriores à localização 220. Dada a exclusividade de identificadores WiFi MAC, se o celular 131 comunica o identificador MAC dos pontos de acesso próximos ao celular 131 para o sistema de localização 120, então, os dados de mapa de sinal das visitas anteriores à localização 220 podem ser enviados para o celular 131 para uso na determinação de localização. A abordagem para construir mapas de sinal usando os dados executados anteriores será descrita em conexão com a Figura 4.
[0044] Retornando ao processo básico e aos usos dos elementos da Figura 1, à medida que o usuário 210 se move ao longo do caminho real 250, os sensores 155 do celular 131 irão gravar o movimento, e o software de localização 159 irá manter um log do sensor informações, assim como, as intensidades de sinal no receptor de RF não regulado 157 e as entradas de usuário a partir da entrada de usuário 150. Por exemplo, se um determinado código de barras for regularmente associado a um determinado conjunto de endereços MAC WiFi, que pode auxiliar na determinação de localização e refinamento sinal instantâneo. As informações coletadas, então, podem ser usadas para determinar a localização do usuário, conforme será descrito em maiores detalhes em conexão com a Figura 3.
[0045] Em suma, a arquitetura do sistema 100 e dos componentes e mecanismos através dos quais se proporciona a determinação de localização móvel aprimorada foi descrita. Os benefícios das modalidades descritas incluem: mínima ou nenhuma dependência de GPS (alta potência, qualidade insatisfatória em ambientes fechados e precisão insuficiente); as computações podem ser realizadas exclusivamente no dispositivo móvel; as comunicações de dispositivo móvel-servidor minimizadas (de modo que milhões de dispositivos possam ser manipulados com facilidade relativa) e opcionais; nenhum conhecimento anterior de localizações requerido (fácil adaptação a alterações na localização, tais como, rearranjos (de pontos de acesso e layout/obstáculos de andar); baixo custo para uma empresa incluir suas localizações porque nenhum pré-mapeamento dispendioso é requerido); capaz de alta precisão (precisão de posicionamento de 1-3 m que, então, suporta maior direcionamento de informações e ofertas); e personalizados para o usuário (informações de redes sociais podem ser incorporadas) com realimentação direta na localização e informações disponíveis.
[0046] De maneira resumida, a expansão em cada um destes pontos, começa com mínima a nenhuma dependência de GPS. O GPS requer consumo de energia relativamente alto para um dispositivo móvel e para usos em ambiente fechado, tem qualidade particularmente insatisfatória. De maneira adicional, a precisão proporcionada pelo GPS é insuficiente para o nível de granularidade procurado, precisão de localização de 1-3 m. Algumas modalidades fazem uso mínimo de GPS para efetuar uma determinação de localização absoluta inicial e, opcionalmente, como parte de uma consulta para obter informações das fontes através de uma rede. As computações podem ser unicamente realizadas no dispositivo móvel que reduz, deste modo, as comunicações de dispositivo móvel para o servidor. Conforme notado previamente, isto permite que o servidor, por exemplo, o sistema de localização 120, escale de maneira fácil e manipule de maneira eficiente grandes números de usuários de uma vez.
[0047] Muitos sistemas de localização existentes, especialmente aqueles que fazem uso de WiFi requerem conhecimento prévio detalhado das localizações. Por exemplo, sem uma planta baixa para uma loja, os sistemas anteriores não podem funcionar. De maneira similar, o sistema anterior que não pré-proporcionou informações sobre os pontos de acesso WiFi conforme medidos pelos equipamentos de medição especiais pode não funcionar. Uma vez que os layouts de andar e padrões de transmissão WiFi mudam regularmente, esta abordagem pode ser extremamente dispendiosa para empresas que desejam proporcionar funcionalidade baseada em localização avançada dentro de seus estabelecimentos. De maneira adicional, dados errados sobre localizações de colocações de ponto de acesso WiFi muitas vezes são proporcionados. A capacidade das modalidades oferecerem alta precisão, 1-3 m é altamente inter- relacionada, o que, por sua vez, permite o suporte de uma variedade de funcionalidades tanto para as empresas como para os usuários.
[0048] Os aspectos adicionais do sistema serão descritos em maiores detalhes com referência ao cenário 200 e aos diagramas de fluxo de processo das Figuras subsequentes.
Posicionamento
[0049] A Figura 3 é um diagrama de fluxo de processo para o processo de determinação de localização, de acordo com uma modalidade. Nesta modalidade, o processamento pode ocorrer unicamente no dispositivo móvel, por exemplo, celular 131, embora os pontos onde a comunicação opcional com o sistema de localização 120 pode ser usada sejam discutidos. Nesta modalidade, o processo é principalmente realizado através do software de localização 159.
[0050] A Figura 3 inclui o processo 300 que tem dois fluxos primários separadamente mostrados para enfatizar sua independência e paralelismo. O primeiro fluxo é etapa 310, de coletar medições (usadas na etapa 330). Um loop enfatiza a iteração contínua deste processo. Em uma modalidade, esta etapa ocorre múltiplas vezes por segundo. Por exemplo, em uma modalidade, a determinação de localização (etapa 330), discutida abaixo, ocorre a cada 0,05 segundos, como tal coleta de medição será geralmente mais frequente, embora diferentes sensores tenham taxas de coleta diferentes. As medições específicas coletadas irão variar com base nos sensores disponíveis 155, entrada de usuário 150 e receptor 157 no celular 131. De maneira adicional, em algumas modalidades, a etapa 310 pode envolver o registro de software com o sistema de operação para receber mensagens com informações de medição que já foram coletadas pelo sistema. Em outras modalidades, algumas medições devem ser diretamente tomadas, e o software pode precisar executar no plano de fundo e/ou pesquisar periodicamente informações. Em uma modalidade, a etapa 310 inclui registrar em log informações dos sensores 155 em um arquivo de log com um carimbo de data/hora, junto com informações do receptor 157 (por exemplo, intensidade de sinal dos transmissores na faixa junto com os identificadores), e entradas de usuário selecionadas 150. As informações registradas em log serão descritas em maiores detalhes abaixo em conexão com a etapa 330. Também, embora esta discussão cubra uma modalidade que usa um arquivo de texto para armazenar os dados, outras abordagens de armazenamento de dados são usadas por outras modalidades, por exemplo, bancos de dados estruturados, armazenamentos chave-valor, etc. O termo log ou arquivo de log, conforme usado no presente documento é usado no sentido de se referir às informações vinculadas a um carimbo de data/hora, oposto a um formato específico, tal como, um arquivo de log de texto, formatos de cadeia, estruturas de dados e/ou bancos de dados. O termo estrutura de dados, conforme usado no presente documento se refere a um modo de armazenar e organizar dados em um sistema de computador e deve ser entendido a fim de abranger objetos e/ou abordagens orientadas por objeto. De maneira adicional, algumas estruturas de dados podem ser armazenadas ou representadas em bancos de dados.
[0051] O outro fluxo de processo 300 é o fluxo de determinação de localização principal. Isto começa na etapa 320 com o download opcional de informações do sistema de localização 120. Conforme discutido acima, isto pode incluir a obtenção de mapas, informações de empresa, informações de localização, e/ou mapas de sinal anteriores para a localização. Esta etapa pode incluir a transmissão de algumas informações a partir das medições (etapa 310). Por exemplo, os identificadores MAC para estações base Wi-Fi localizadas pelo dispositivo móvel nas últimas leituras podem ser transmitidos para o sistema de localização 120. O sistema de localização 120 pode, então, proporcionar mapas de sinal de outros usuários ou outras informações sobre a localização.
[0052] O processo continua na etapa 330 com a computação de localização das medições coletadas. Uma vez que a localização é computada, esta pode ser atualizada e exibida na etapa 340 para o usuário, por exemplo, o usuário 210 na tela 160 do celular 131. O processo 300 reflete um processo para a exibição de mapa/caminho de localização interativa, deste modo, a etapa 340 é descrita à medida que ocorre regularmente. Em algumas modalidades, a localização do usuário não é continuamente exibida, porém, de preferência, apenas seletivamente exibida e/ou exibida no contexto das áreas visitadas/não visitadas. Por exemplo, em um museu, pode-se mostrar exposições não visitadas vs. visitadas. Na etapa 350, a entrada de localização de usuário opcional é possível; isto pode ser particularmente valioso para a determinação de localização inicial e/ou ajudando o sistema a ajustar a localização. Conforme discutido, algumas entradas de usuário podem ser na forma de vídeo e/ou áudio. Por exemplo, um código de barras decodificado a partir da câmera pode ser útil no ajuste da localização e, deste modo, do mapa de sinal. Isto pode particularmente verdadeiro no aplicativo específico da empresa, por exemplo, aplicativo Safeway e o usuário está verificando um item alimentício congelado que geralmente é armazenado no corredor 7 do Safeway 123. De maneira adicional, um loop explicito é mostrado aqui de volta à etapa 330 para enfatizar a natureza contínua do processo 300.
[0053] De maneira separada, o carregamento de informações de mapa de sinal (por exemplo, dados de log da etapa 310) a partir do celular 131 até o sistema de localização 120 é mostrado fora do loop principal na etapa 360, que é opcional. A etapa 360 pode ocorrer em outros momentos, por exemplo, a cada X segundos/minutos/horas; como parte da etapa 310;em uma forma ciente da localização, por exemplo, quando um usuário sai de um localização, os logs para aquela localização são enviados; com base na largura de banda entre os pontos de extremidade 130 e o sistema de localização 120; como parte de uma mecânica de recompensa/jogo para encorajar visitas e da coleta de instantâneos de sinais a partir de uma variedade de localizações. Outras modalidades podem usar disparadores de reconhecimento de localização adicionais para a etapa 360, por exemplo, locais com menos instantâneos de sinais existentes podem acionar a etapa 360 mais frequentemente que as localizações pesadamente visitadas, ou locais onde maior precisão é necessária.
[0054] O processo usado por algumas modalidades na etapa 330 será discutido agora em maiores detalhes. Um formato de pseudocódigo estilo Python será usado para discutir o processo; entretanto, outras implementações são possíveis. Existem dois conceitos primários para os quais os processos serão apresentados: (i) avaliar quão boa uma estimativa de uma localização é como uma correspondência ao modelo de caminho anterior e das medições coletadas; e (ii) como efetuar boas estimativas sobre a localização atual.
Funções de Ajuste
[0055] Voltando-se para a primeira questão, se considera um simples exemplo, apenas entrada de acelerômetro (então, apenas informações de movimento relativas - não informações de posição absolutas). Então, o usuário está andando com um dispositivo móvel, e existe um raw_log_file disponível como uma estrutura de dados com dados de acelerômetro de carimbo de data/hora. Esta função atribui um valor de ajuste a uma posição proposta em que o usuário andou em uma estrutura de dados path_history com localizações a cada 0,05 segundos em uma modalidade. Os 0,05 segundos não são vinculados à frequência raw_log_file propriamente dita, porém, de preferência, à taxa selecionada para as atualizações de determinação de caminho.
[0056] Para evitar a multiplicação na computação, adição e logaritmos podem ser usados em vez disso, aumentando, deste modo, a velocidade das computações e evitando a possibilidade defluxo em excesso. Então, considera-se como o ajuste do acelerômetro pode ser computado. As seguintes convenções são usadas: u corresponde a um momento no tempo, u.location ( ) é o x, y, z específico para aquele momento, e u.t ( ) é o carimbo de data/hora. De maneira similar, p é a estimativa anterior a u no path_history e, nesta modalidade, pode ser exatamente 0,05 segundos anterior no tempo; entretanto, a equação mais genérica é mostrada.
[0057] As constantes usadas acima são apenas exemplificativas, por exemplo, 1,22 metros por segundo, considerando os 0,2 segundos recentes das leituras de acelerômetro, usando 0,01 na função gaussiana, e escalonando a função laplaciana em 0,44. Entretanto, os valores escolhidos correspondem à pesquisa anterior em passos de caminhada. Outras modalidades podem usar uma abordagem mais dinâmica contando-se o número/frequência de impulsos como um pedômetro. De maneira similar, o uso de funções gaussianas e laplacianas não é requerido; em vez disso, outras funções podem ser usadas. Estes números devem funcionar bem para casos de uso comum de telefone no bolso, telefone balançando na mão, telefone na frente do usuário sendo observado. O teste para at_rest é direto:
[0058] Neste ponto, usando o acelerômetro apenas, uma abordagem para determinar se uma estimativa é um ajuste bom ou ajuste ruim para onde o caminho do usuário tiver sido apresentado. Voltando à Figura 2, se o usuário se encontra na localização indicada por t3 e os dados de acelerômetro recentes refletem a distância entre t2 a t3, uma estimativa da localização em t7 deve ser um ajuste anterior para as leituras de acelerômetro que uma estimativa de localização em t5. Antes de discutir o processo para efetuar estimativas, será discutida a adição de WiFi à mistura como um exemplo de incorporação de um sinal RF não regulado.
[0059] Um signal_snapshot é uma estrutura de dados que mapeia as informações sobre transmissores WiFi recebidos em uma proximidade física. Em uma modalidade, o mapa é dividido em uma grade quadrada de dois metros (2 m) muitas vezes referida como células como seguinte para cada mapa transmitido na grade de mapa: a média, variância e o número de amostras. De maneira mais geral, as modalidades irão (a) manter as medições passadas diretamente, por exemplo, lista, ou (b) manter um conjunto de estatísticas suficientes. O uso de média, variância e o número de amostras são dados compactos e eficientes para atualizar novos dados. A fit_function pode ser modificada para incluir o signal_snapshot e um ajuste baseado em WiFi: total_fit *= fit_function_wifi (u , raw_log_file, signal_snapshot)
[0060] Novamente, os logaritmos e a adição podem ser usados para evitar a multiplicação. Também, ponderações podem ser aplicadas se um sensor for mais preciso que o outro. De maneira alternativa, as ponderações dinâmicas podem ser aplicadas, por exemplo, quando at_rest == verdadeiro, o acelerômetro pode ser enfatizado porque as leituras de WiFi serão mais redundantes à medida que elas se originarem da mesma localização. A fit_function_wifi pode ser implementada como:
[0061] Este exemplo não inclui ajustes para fatores de ganho, tais como, efeitos ambientais transientes, orientação do dispositivo móvel/antena, sala cheia/vazia, propriedades de antena específicas ao modelo de dispositivo móvel, ou posição da mão o longo das antenas. O fator de ganho pode ser suposto e incorporado como um ajuste nas entradas para o cálculo de Rayleigh, por exemplo, ajustes em measured_signal_strength ou expected_wifi.parameters. Também, para lidar com casos onde o signal_snapshot atual não tem um mapa para a célula atual, get_nearest_radio_map_cell pode retornar as células vizinhas adjacentes e, então, expected_wifi.parameters pode retornar a interpolação bilinear entre aqueles vizinhos. Outras abordagens de interpolação também são possíveis, por exemplo, oito vizinhos, interpolação quadrática. Também, o uso da distribuição de Rayleigh em volts não é requerido, porém, proporciona vantagens. Outras escolhas selecionadas por algumas modalidades incluem: uso de modelo de perda de caminho de log-distância empírica, uso da distribuição gaussiana em dBm, Nakagami-Ricean em volts, distribuição de Log (para sombra e múltiplos caminhos).
[0062] De maneira intuitiva, cada grade (ou célula/quadrado) do signal_snapshot descreve a distribuição de possíveis intensidades de sinal de WiFi para cada transmissor "visível" na localização da célula. Voltando à Figura 2 e o cenário 200, quando o usuário está de pé em t3, as intensidades de sinal para os pontos de acesso sem fio 232-238 devem parecer bem diferentes do que quando o usuário se encontra em t7. Também, outras transmissões de RF não reguladas podem ser mapeadas, por exemplo, RFID, NFC, Bluetooth. Em uma modalidade alternativa, os sinais regulados, tais como, sinais de celular e radiodifusão de TV/rádio também podem ser usados; entretanto, em algumas modalidades, a radiodifusão de TV/rádio pode ter muito pouca variância ao longo de distâncias pequenas para proporcionar determinação de localização útil em um nível fino. Em algumas modalidades, é importante que o sinal de referência tenha a variação na intensidade de sinal ao longo de uma distância curta e a fonte pode ser identificada. Todavia, os sinais regulados como TV/rádio podem ajudar a identificação de localização aproximada e também pode ser útil para: distinguir entre os andares de um edifício, distinguir entre duas salas diferentes (opostas à posição dentro da sala), tempo de correção, rejeição de exceção, e como uma alternativa ao GPS.
[0063] Um pouco mais de funções devem ser discutidas antes de voltar a como as estimativas de localização são efetuadas. De maneira específica, remove-se a suposição do exemplo fit_function da fit_function em que o signal_snapshot era conhecido, e também se proporciona algumas funções de ajuste de sensor exemplificativos adicionais usadas por algumas modalidades:
[0064] Os conceitos dos filtros bayesianos são usados para determinar os conteúdos do signal_snapshot. De maneira específica, cada grade (ou célula) do mapa precisa apenas armazenar a média e variância (ou armazenar somas e somas de quadrados para a última divisão pelo número de amostras) para observações de WiFi passadas naquela localização. Isto permite que o signal_snapshot.append ( ) atualize apenas o mapa com as últimas observações:
[0065] Então, a média e variância, assim como, o número de observações da intensidade de sinal de cada mac_address é armazenado pelo sistema para a determinada localização. Em uma modalidade, a função acrescentar é modificada para manter as somas em duas unidades: volts e dBm. Volts são úteis para localização de computações em áreas com esmaecimento de múltiplos caminhos, enquanto dBm são úteis para a localização de computações com esmaecimento de sombra. Algumas modalidades podem usar ajustes mais complexos para as células de grade instantâneas vizinhas. Por exemplo, cada varredura pode contribuir com uma fração da observação de vizinhos com valores de ponderação bilinear e fracionários para N.
[0066] Algumas funções de ajuste adicionais que serão discutidas agora podem ser adicionadas a fit_function principal dependendo dos sensores disponíveis.
[0067] O fator de ganho mede o ganho de antena, por exemplo, do WiFi ou antena de celular. O ganho pode variar fortemente com base em quantas pessoas se encontram na sala, como você segura o dispositivo móvel, e similares. Uma modalidade ajusta um fator de ganho máximo, por exemplo, 0,02 dB como um corte plano, por exemplo, se abs(p.gain( ) - u.gain( )), então, um ajuste de 0 for retornado e se este encontrar dentro do corte em 1 é retornado. Deste modo, novas estimativas devem mostrar o ganho relativamente lento. Outros valores de retorno para um fit_function_gain_factor podem ser gaussianos (p.gain( )-u.gain( ), sigma = 0,003) que proporciona uma pontuação mais suave.
[0068] Muitos dispositivos móveis incluem uma bússola ou outro estimador de posição composto que pode proporcionar uma posição. Pode-se usar este sensor para favorecer as estimativas de localizações que indicam o movimento em um a direção contínua:
[0069] Nas alternativas de estimação de posição usadas por algumas modalidades para função gaussiana incluem kernels retangulares ou triangulares. O giroscópio de um dispositivo móvel pode ser usado de maneira similar (onde q = a entrada de histórico de caminho anterior a p):
[0070] Algumas modalidades do giroscópio podem empregar uma suposta orientação no giroscópio para permitir que a função de pesquisa (a ser descrita abaixo) pesquise o valor ótimo. Uma abordagem similar junto com uma suposta orientação pode ser aplicada de maneira similar aos dados de bússola.
[0071] O magnetômetro (diferente da bússola), que pode ser sensível a recursos internos, também pode ser especialmente útil sem um giroscópio. O magnetômetro também pode ser uma função discriminatória de movimento/em repouso particularmente boa. A seguir, encontra-se uma modalidade; outras modalidades são implementadas de maneira similar à função de giroscópio:
[0072] De maneira conceituai, em um estado estacionário se você não está girando, o "ajuste" é melhor se você está se movendo em linha reta. Se estiver mudando, você pode estar andando, girando o telefone, ou similar, então, um ajuste de 1 é retornado para deixar a rotação ilimitada. Note, entretanto, que os movimentos de telefone podem ser não correlacionados aos movimentos do corpo. Por exemplo, o usuário pode girar seu telefone sem mover seu corpo.
[0073] As funções de ajuste de GPS podem ser gaussianas (gps_location at u.t ( ), gps_confidence_interval at u.t ( )). Outros sinais de variação de tempo, tais como, infravermelhos, estimativas de diferença de tempo de chegada a partir dos sistemas WiFi avançados, e sistemas de medição de tempo de voo podem ser incorporados de maneira similar.
[0074] A ocupação, que significa que um espaço é caminhável ou não, podem ser particularmente útil. Em algumas modalidades, as informações de ocupação são trocadas de maneira implícita através do signal_snapshot. De maneira específica, a cada grade do signal_snapshot pode ser atribuída um valor de ocupação de 0 a 100%, começando em 50%. À medida que os dados de log são coletados, o sinal instantâneo começa a refletir quais áreas são caminháveis vs. não caminháveis e o valor de ocupação pode ser ajustado. De uma maneira similar, caminhos antigos também identificam o espaço morto. Em uma modalidade, os mapas de ocupação podem ser gerados a partir de caminhos antigos computados usando raw_log_files para uma localização. Os mapas de ocupação podem ser transferidos por download na etapa 320. Em ainda outras modalidades, os mapas de tráfego a pé podem ser mantidos identificando as áreas mais comumente caminhadas de uma maneira similar.
[0075] Bluetooth e outras tecnologias sem fio de curta distância, tais como, NFC/RFID, Zigbee, a detecção de WiFi de telefone cruzado pode ser usada na seguinte abordagem básica (também, o processo de Bluetooth mostrado usa a comunicação adicional com o sistema de localização 120, ou diretamente entre os dispositivos móveis em uma base ponto a ponto para a computação):
[0076] Algumas modalidades usam valores diferentes de 3,5 metros e/ou a intensidade de sinal de Bluetooth para estimar a distância entre usuários.
[0077] As funções de ajuste usadas na etapa 330 foram discutidas, junto com o processo para criar instantâneos de sinais de transmissões de RF não reguladas, tal como, WiFi que pode ser usado para avaliar a variedade de sensores em um dispositivo móvel para uso na determinação de localização. A próxima seção irá discutir uma abordagem de pesquisa para usar as informações de ajuste para determinar uma localização do usuário.
Funções de Pesquisa
[0078] O processo de pesquisa é focalizado na descoberta do melhor ajuste do path_history dada a função de ajuste selecionada em tempo linear. A abordagem proposta usa finalmente a reamostragem de importância sequencial. Devido ao fato de que a função de ajuste é projetada para a computação sequencial, por exemplo, para uma "estimativa" ao longo de um path_history, o total_fit é acumulado de forma crescente e em ordem cronológica. Isto permite que um path_history seja iterativamente gerado efetuando-se uma estimativa em um momento em ordem cronológica. Então, em cada etapa, apenas uma pontuação de capacidade incremental precisa ser comparada e no máximo poucas selecionadas. Isto resulta em um processo de pesquisa ambicioso:
[0079] Os aprimoramentos nesta abordagem, deste modo, irão surgir da escolha de distribuições propostas para as estimativas aleatórias. Uma abordagem consiste em focalizar em áreas de probabilidade mais elevada opostas às localizações completamente aleatórias, então, o código acima no loop interno pode ser tornar next_guess = amostra de (hipótese [i].prev_guess.location ( ), sigma=5m) e pesos [i] *= w/Probsample (next_guess) gaussiana.
[0080] Em outras instâncias, pode-se evitar a computação da função de ajuste de um sensor (por exemplo, acelerômetro), através da amostragem de uma distribuição equivalente. Por exemplo, usando o acelerômetro, se at_rest == verdadeiro, então, dada a função de ajuste anterior, esta pode corresponder a uma (distância, sigma_squared=0,01) gaussiana.
[0081] Em vez de amostrar uma estimativa e, então, avaliar o ajuste, a próxima estimativa pode ser diretamente selecionada a partir da distribuição, (distância, sigma_squared=0,01) gaussiana. Um modo de implementar isto consiste em gerar uma distância gaussiana aleatória e de acordo com sigma_squared=0, 01, e ajustar sua próxima estimativa para ser aquela distância a partir de prev_guess. Quando a amostragem da distribuição for equivalente a sua função de ajuste, simplificações adicionais podem ser efetuadas porque w == Probsample (próxima estimativa); eliminando deste modo a necessidade de atualizar os pesos [i] *= w/Probsample (next_guess).
[0082] A simple_search ( ) é enganosamente simples; esta permite que a etapa 330 teste rapidamente diversas centenas (inteligente) de estimativas de uma vez para gerar um path_history iterativamente a partir dos raw_log_files e signal_snapshot e, então, exibir a localização atual para o usuário na etapa 340. O número de hipóteses de teste, 500, foi selecionado com base na capacidade de processamento nos dispositivos móveis atuais para equilibrar o tempo de computação, uso de energia, precisão e capacidade de resposta. O número específico de hipóteses para teste em futuros dispositivos pode ser maior ou menor. Por exemplo, a maior capacidade computacional em futuros dispositivos pode permitir a análise mais complexa de menos estimativas enquanto proporciona melhores resultados. De maneira similar, os intervalos de amostragem escolhidos de 0,05 segundos para atualizar o caminho e 1,5 segundos para varrer o WiFi atualizado (ou outras transmissões/transmissores de RF não reguladas) são fundamentados nas mesmas compensações e podem ser igualmente ajustados.
Mapas de Sinal de Aprimoramento Adicional
[0083] As otimizações e aprimoramentos adicionais para o sinal instantâneo são possíveis e são usados de acordo com algumas modalidades. Em primeiro lugar, considera-se a manipulação de dados de observação limitada, por exemplo, primeira visita na localização 220 da Figura 2 e existem dados mínimos no signal_snapshot. Nesta situação, à medida que o usuário começa a descer o caminho real 250, o signal_snapshot irá começar a acumular dados, porém, muitas células da grade estão vazias e N == 0.
[0084] Uma abordagem consiste em computar médias estimadas e variâncias estimadas para células vazias. Isto é efetuado da seguinte maneira em uma modalidade. Em primeiro lugar, um global_prior é computado (ou obtido, por exemplo, a partir do sistema de localização 120). O global_prior pode ser computado como a média e variância global de todos os valores dBm em todos os raw_log_files disponíveis. Os parâmetros radio_map_cell [mac_address] para as células vazias podem ser inicializados neste global_prior. A seleção de quais arquivos de log usar é a implementação específica; algumas modalidades usam todos os arquivos de log disponíveis, enquanto outras modalidades podem usar um subconjunto de arquivos de log disponíveis por exemplo, filtrados para aquele usuário, aquele dispositivo móvel, aquela localização geral. Em vez do global_prior, observações reais de uma célula podem ser usadas em células vizinhas à medida que os dados se tornam disponíveis. O ajuste da média e variância para aquelas células é um tipo de interpolação baseado em vizinhos próximos. Uma modalidade limita a propagação de observações a uma distância máxima, por exemplo, 5 metros. Também, algumas modalidades fazem uso de uma função de decaimento anti-intuitivo denominada em unidades de 1/volts oposta a um decaimento linear em dBm. Outros métodos estatísticos suficientes podem ser usados, por exemplo, medianas, raiz quadrada das médias quadradas.
[0085] A razão para a escolha de unidades é uma suposição que as intensidades de sinal obedecem localmente o modelo de perda de caminho de log-distância. A interpolação, então, é uma função de média em unidades de Watts**(-1,0/y]), onde y é o expoente de perda de caminho sem fio. Para áreas com espaço livre nas proximidades, y = 2,0 pode ser usado. Se o signal_snapshot for mantido em unidades de volts, então, a conversão da média e variância em 1/volts para computação e, então, de volta é simples.
[0086] De maneira adicional, algumas modalidades atribuem um valor a a cada célula no signal_snapshot. O valor a para células observadas é 1,0 e o valor a para células "vazias" mais de 3 células distantes da observação mais próxima é 0,0. As células próximas a uma célula observada têm um valor a que é mais alto para as células mais próximas à observação. A célula com um valor a de 0,7 pode assumir sua intensidade de sinal interpolada com apenas 70% de peso. O peso restante pode ser selecionado a partir do conjunto de um global_prior uniforme anterior, uma distribuição genérica, uma heurística baseada na distância do ponto de acesso, uma heurística baseada no modelo de perda de caminho de log-distância. A diminuição de a baseada na distância de observação pode ser implementada como uma função de janela, por exemplo, janela quadrática (Epanechnikov), janela triangular, janela constante/retangular.
[0087] Deste modo, na discussão, o formato de célula no signal_snapshot foi assumido como uma grade uniforme de quadrados. Entretanto, outros formatos de célula são usados por outras modalidades que incluem: células log-polares, centralizadas ao redor de onde as intensidades de sinal são mais fortes; células log- polares, centralizadas ao redor de onde as intensidades de sinal têm os maiores gradientes; células quadradas, porém, desigualmente dimensionadas. Por exemplo, para implementar células quadradas irregulares algumas modalidades começam com uma única grade de célula que é dividida em células menores à medida que observações de WiFi suficientes são recebidas, por exemplo, assegurar que cada célula tenha pelo menos N observações.
Futuras Pesquisas de Aprimoramento Adicional
[0088] Discutem-se agora as funções de ajuste, estratégias de pesquisa e aprimoramentos de mapa de sinal usados por algumas modalidades. Outra técnica usada por algumas modalidades consiste em otimizar e pesquisar ao longo de uma coleção maior de arquivos de log para construir instantâneos melhores. Na discussão da Figura 3, cobriram-se as etapas opcionais (etapa 320 e etapa 360) onde os dados são transferidos a partir do dispositivo móvel para o sistema de localização 120 e de volta.
[0089] Conforme notado, uma das transferências para baixo no dispositivo móvel 131 pode ser um signal_snapshot e uma das transferências para cima no sistema de localização 120 pode ser um raw_log_file. Uma técnica de otimização será discutida em conjunto com a Figura 4, que é um diagrama para o refinamento do processo de determinação de localização de acordo com uma modalidade. De maneira adicional, a Figura 4 será descrita no contexto de um uso tipo cliente-servidor com o processamento de múltiplos dispositivos que ocorre no servidor, por exemplo, sistema de localização 120. Em algumas modalidades, o processo da Figura 4 é realizado no dispositivo móvel que usa múltiplos arquivos de log a partir daquele dispositivo e/ou arquivos de log adicionais recebidos a partir de outros dispositivos móveis. Em tal modalidade, o processo da Figura 4 pode ser realizado pelo software de localização 159.
[0090] Retornando à estrutura de dados de signal_snapshot discutida acima, a função acrescentar foi descrita de acordo com uma modalidade que permite a colaboração em massa (crowdsourcing) fácil, auto-reparo (resposta a alterações no signal_snapshot), e localização em tempo real. Algumas modalidades podem realizar algumas ou uma parte destas funções no sistema de localização 120 para reduzir a carga de processamento, largura de banda de rede e tempo de resposta no dispositivo móvel. De maneira adicional, além de proporcionar melhores determinações de localização para usuários, o processamento destas informações no servidor também pode proporcionar uma análise de empresa. De maneira específica, agregando-se os raw_log_files a partir de múltiplas visitas (usuários diferentes, dispositivos diferentes), uma estimativa conjunta ao longo de um banco de dados maior de leituras é possível. De maneira específica, se todos os raw_log_files forem colocados em ordem cronológica; uma fit_function é computada para cada estimativa em ordem cronológica; durante as iterações de fit_function, o sistema continua a acumular o signal_snapshot; e continua usando o signal_snapshot acumulado atualizado para futuras iterações. Para implementação, algumas modalidades carregam os raw_log_files na etapa 360 e transferem por download os signal_snapshots na etapa 320.
[0091] A Figura 4 inclui um processo 400 que começa na etapa 410 com a coleta de fluxos de medição, por exemplo, raw_log_files, a partir de uma localização. Por exemplo, se múltiplos dispositivos móveis (e seus usuários) visitam a localização 220, então, podem existir muitos raw_log_files disponíveis. Alguns destes fluxos de medição podem ocorrer a partir de um único usuário/dispositivo móvel. Por exemplo, no mercado exemplificativo, se o usuário 210 for um empregado, ela/ele pode ser responsável pela maior parte dos fluxos de medição disponíveis. O processo 400 continua na etapa 420 com a análise do fluxo de medição usando os outros, descritos em maiores detalhes abaixo. Em uma modalidade, a etapa 420 é realizada através da aplicação de coordenada estocástica ascendente nos raw_log_files. Esta pode ser considerada uma aplicação de aprendizagem de máquina auto-guiada. O resultado da etapa 420 é um signal_snapshot atualizado que é gerado na etapa 430.
[0092] Voltando-se aos detalhes da etapa 420, uma variação na abordagem previamente descrita simple_search ( ) pode ser usada para construir um signal_snapshot melhor. Na etapa 420, a simple_search ( ) descrita acima pode ser executada em cada raw_data_log em ordem cronológica. Outras ordens são possíveis, por exemplo, primeiro as execuções mais recentes, primeiro as execuções de duração mais longa, colaboradores mais confiáveis (por exemplo, com base no histórico passado), primeiro execuções com a máxima interação de usuário, e similares.
[0093] No final desta inicialização, um caminho para cada raw_log_file terá o peso mais alto para aquela execução de simple_search ( ), por exemplo, best_hypothesis_so_far [logfilelD]. Então, o aprimoramento iterativo de cada "dimensão" pode ocorrer. Neste exemplo, o banco de dados se refere à coleção de arquivos de log em uso:
[0094] A ordem na qual o loop é realizado é de implementação específica, por exemplo, ordem cronológica inversa/de avanço, aleatória. Conforme mostrado, todas as dimensões previamente exploradas até i são usadas para construir o signal_snapshot para reexecutar a simple_search ( ). Embora o código acima anexe os instantâneos de sinais de maneira mais geral este podem ser todos exceto i ao realizar a coordenada ascendente. Note, também, que se realizadas em um servidor, computações mais complexas e/ou um espaço de pesquisa maior, por exemplo, mais de 500, podem ser usados comparados a quando a simple_search ( ) é realizada em um dispositivo móvel.
[0095] Aprimoramentos adicionais, que incluem a aplicação de técnicas de rejeição de exceção, nos dados. Os grupos de exceção que são auto-consistentes provavelmente são andares diferentes de um edifício e podem ser separados em um signal_snapshot separado e/ou coleção de arquivos de log conforme apropriado. Esta capacidade proporciona a manipulação aprimorada de ambientes internos de vários andares em algumas modalidades. As exceções autônomas podem incluir transmissores movidos/removidos que podem ser removidos dos dados e/ou todo o arquivo de log pode ser removido da consideração. Por exemplo, se alterações discretas no ambiente WiFi tiverem ocorrido, o sistema pode detectar que após um determinado ponto no tempo provavelmente os logs serão consistentemente mais baixos e degeneram versus anterior aquele ponto no tempo.
[0096] Devido ao fato de os ambientes WiFi não serem regulados, ou ad hoc, eles tendem a mudar regularmente. Por esta razão, pode ser desejável descartar arquivos de log antigos após um período de tempo, por exemplo, 3-6 meses. Em algumas modalidades, os arquivos de log mais antigos em localizações que têm uma quantidade maior de arquivos de log mais novos são descartados mais cedo do que as localizações com menos arquivos de log. Deste modo, por exemplo, se a localização 220 da Figura 2 for um mercado pesadamente visitado com dezenas de arquivos de log gerados por dia, o valor de um arquivo com mais de três meses é menor que para uma localização onde existe apenas uma visita a cada poucos meses onde pode ser útil salvar os arquivos de log por um período mais longo.
Exemplos e Discussão Adicional
[0097] Os processos das Figuras 3-4 que foram descritas acima, serão ilustrados no contexto do exemplo do cenário 200 da Figura 2, assim como, das Figuras 5-6 que mostram os resultados exemplificativos das modalidades do processo de determinação de localização na variação do cenário 200. De maneira específica, a Figura 5 mostra o cenário 500 que é igual ao da Figura 2 com o usuário 210, celular 131 e elementos relacionados removidos e um caminho computado 510 mostrado. A Figura 6 mostra de maneira similar o cenário 600, que como na Figura 5, omite os elementos da Figura 2 e mostra um caminho computado alternativo 610. Nas Figuras 5-6, os caminhos computados foram anotados com c0 a c7 que mostra a localização computada nos respectivos to a t?.
[0098] Nesta discussão, a localização 220 é um mercado e os obstáculos 222-228 são corredores e prateleiras da loja. Nesta discussão, o sistema de localização 120 proporcionou ao celular 131 um mapa em escala ou aproximadamente em escala da loja, por exemplo, na etapa 320 do processo 300, por exemplo, a partir de informações de empresa 112 ou um site da web público, por exemplo, um site da web de crowdsourced map. Na discussão da Figura 5, assume-se que não existe nenhum sinal instantâneo disponível no sistema de localização 120 e no celular 131 e esta é a primeira visita à localização 220.
[0099] O celular 131 irá criar e, então, atualizar um sinal instantâneo (por exemplo, estrutura de dados signal_snapshot) a cada 1,5 segundos e um acelerômetro no celular 131 será usado. Neste exemplo, o celular 131 na etapa 330 pode começar a coletar inicialmente medições e pode solicitar o usuário baseado no GPS usado para obter o mapa na etapa 320 a tocar onde ele se encontra no mapa (etapa 350). Neste exemplo específico, alguma entrada adicional será requerida para orientar o caminho. Sem esta entrada adicional, o caminho irá carecer de uma orientação fornecida de que esta é a primeira a esta localização e o signal_snapshot carece de informações de localização específica. A entrada adicional pode surgir de um sensor, por exemplo, posição de bússola, a partir de um segundo toque de usuário, por exemplo, voltado ou "Estou aqui agora" alguns segundos depois. A localização é mostrada como Co para a localização real. Note inicialmente que a localização exibida antes de receber a entrada pode ter sido outro lugar na tela (etapa 340); entretanto, aquela localização "não ancorada" inicial não é mostrada na Figura 5.
[00100] À medida que o usuário anda ao longo do caminho de to a t1, o arquivo de log é mantido e um sinal instantâneo é construído. O sinal instantâneo reflete as transmissões WiFi recebidas a partir dos pontos de acesso sem fio 232-238. Os desvios entre o caminho computado 510 de co a ci versus o caminho real 250 refletem as estimativas escolhidas que são o melhor ajuste para os dados de log. No cenário 500, nunca se visitou esta localização, então, não existem dados de ocupação (por exemplo, os obstáculos 222-228 não são refletidos em um formato utilizável pelo processo) e não existe sinal instantâneo pré-existente.
[00101] Em contrapartida, a Figura 6 com o cenário 600 mostra um caminho computado 610 (novamente com marcadores co a 07), que é um que é um ajuste muito mais próximo ao caminho real.
[00102] O cenário 600 reflete um cenário após mais visitas onde os processos, tal como, o processo 400 da Figura 4 foram usados para analisar os arquivos de log e derivar um sinal instantâneo mais utilizável. Neste exemplo, quinhentos clientes com dispositivos móveis (pontos de extremidade 130) visitaram a localização 220 com o software de localização 159 que transmite arquivos de log para o sistema de localização 120. O processo 400 foi, então, usado para construir um mapa de sinal que é mais refletivo das condições baseadas em múltiplas leituras. Este mapa de sinal pode ser usado pelo celular 131 no cenário 600 para determinar de maneira mais precisa uma localização do usuário. De maneira adicional, em contrapartida ao cenário 500 onde a entrada de usuário pode ter sido necessária para localizar co, no cenário 600, a combinação de endereços MAC WiFi visíveis e suas intensidades de sinal provavelmente é suficiente para a determinação de localização inicial.
[00103] O contraste dos dois resultados é útil. No cenário 500, o caminho computado 510 compartilha muitas características com o caminho real 250 enquanto no cenário 600, o caminho computado 610 rastreia de maneira muito mais próxima o caminho real 250. No cenário 500, o GPS e/ou a entrada de usuário foi útil para a determinação de localização inicial, considerando que foi desnecessário no cenário 600. Outras diferenças entre os dois cenários podem incluir maior confiabilidade e/ou ponderação de funções de ajuste não WiFi no cenário 500 vs. cenário 600. De maneira específica, no cenário 500 os sensores inerciais (por exemplo, acelerômetro, bússola, giroscópio, curso, e similares) podem ser particularmente importantes até um sinal instantâneo adequado ser construído. De maneira alternativa, em vez dos sensores inerciais, um mapa de ocupação e/ou entrada de usuário, por exemplo, "aqui estou", também pode ser usado para suplementar o sinal instantâneo recentemente desenvolvido. O cenário 500 também realça o fato de que nenhuma pré-condição foi imposta na localização. Nenhuma informação foi requerida sobre as localizações dos pontos de acesso sem fio 232-238 e o uso de um mapa neste exemplo foi apenas uma conveniência de discussão e diagramação. De maneira notável, mesmo se apenas um único usuário estiver coletando dados e fazendo isto totalmente offline, à medida que o sinal instantâneo é refinado por visitas adicionais, tanto a determinação de localização passada como a futura sem tornam melhores com o tempo. Outras modalidades que podem aprimorar uma primeira visita/começo a frio para uma localização podem incluir o fornecimento de um caminho a pé pretendido, por exemplo, o usuário traça seu caminho planejado através da loja.
[00104] No cenário 600, também pode ser possível para o sistema de localização 120 criar um mapa de ocupação com base nas visitas e arquivos de log anteriores. Por exemplo, se ao longo de 500 caminhos através da loja, ninguém nunca tiver andado onde o obstáculo 222 se encontra, então, o obstáculo 222 pode ser bloqueado como o espaço ocupado/não andável para uso como uma entrada para as funções de ajuste nos dispositivos móveis.
[00105] As localizações com mais históricos detalhados também pode permitir alterações nas taxas de amostragem. Por exemplo, se um ambiente tiver dezenas de milhares de visitas regularmente, pode ser possível reduzir as frequências de amostragem nos dispositivos móveis para conservar a energia enquanto mantêm a precisão. Mesmo em localizações pesadamente visitadas, algumas partes da localização podem ser menos frequentemente visitadas do que outras. Então, a seletividade pode ser aplicada à retenção de dados, por exemplo, para assegurar que menos porções comercializadas de uma localização tenham fluxos mais longos de dados que as áreas mais pesadamente visitadas.
Conclusão e Modalidades Adicionais
[00106] Foram descritos agora um sistema e processos que proporcionam determinação de localização móvel aprimorada.
[00107] Algumas modalidades e recursos adicionais incluem:
[00108] Ao comprar/viajar em grupos, ser capaz de ver e compartilhar a localização em tempo real e/ou de histórico dos outros membros de seu grupo ou seus amigos. Ao tirar ou visualizar fotografias, ser capaz de marcar a localização (geo-tag) das fotos e navegar visualmente as fotos projetadas em um ambiente de planta baixa 2-d ou 3-d de maneira interativa, com alta precisão de 1-3m.
[00109] Jogos interativos e realidade aumentada, por exemplo, indicações de áudio e/ou vídeo e/ou eventos em jogo podem ser automaticamente enviados para os usuários com base na localização acoplada ao contexto da aplicação registros de entrada automáticos sempre que um usuário inserir um ponto particular de interesse premiações, placares de líderes ou outros incentivos para capturar arquivos de log brutos em localizações que ainda não foram adicionadas ao sistema de localização (por exemplo, sistema de localização 120) e/ou armazenamento (por exemplo, armazenamento 122).
[00110] Em shoppings, hospitais, aeroportos e outros espaços similares: descobrir uma rota para uma loja específica, um banheiro, portão, voo de conexão, área de recepção ou outro ponto de interesse pesquisa baseada em localização ou interações em tempo real com estabelecimentos que incluem descoberta de linha para identificar as linhas mais curtas para saída, janelas de tíquete, registros de entrada, varredura de segurança operadores de instalações e edifícios podem usar a análise de dados de localização de pedestre, isto pode facilitar a medição da eficiência de mapas de sinalização e impressos para planejamento de demanda que inclui otimização de aluguel de inquilino ou para medir a eficiência do espaço publicitário físico e sinalização digital baseada nos padrões de tráfego publicação de alertas, ofertas ou mensagens direcionadas apenas para aqueles clientes em uma determinada localização geral deixar mensagens, ofertas, alertas em uma localização, de modo que a mensagem seja disparada apenas quando alguém anda por aquela localização (pela primeira vez, sempre, etc.). Junto com a localização, os disparadores também podem ser combinados com a hora do dia, outra localização da pessoa e/ou outro contexto de aplicação para determinar quando exibir as informações.
[00111] Alguns recursos adicionais que podem estar presentes nas modalidades de museu incluem: tours de áudio/vídeo interativos baseados na localização em tempo real ou de histórico que personalizam seu conteúdo com base em qual caminho adotar através das exposições e/ou guiar interativamente até as exposições relacionadas estatística baseada em localização, análise em tempo real ou de histórico: por exemplo, "pessoas em seu grupo demográfico passam mais tempo nesta exposição", "esta exposição é mais popular neste horário", "esta exposição tem tempos de espera mais curtos neste momento" "pedir recurso de assistência" alertar o membro da equipe mais próximo de sua localização
[00112] Alguns recursos adicionais que podem estar presentes nas modalidades de hospital incluem: rastrear a localização em tempo real de seus amigos, entes queridos ou outros membros de seu grupo; radiodifundir sua localização para membros da equipe próximos; pesquisa, navegação e interações contextuais para pacientes e visitantes ferramentas de coordenação baseadas em localização para médicos, enfermeiras e outros membros da equipe integração com itinerários e programações monitoramento de localização para assistência ao paciente
[00113] Alguns recursos adicionais que podem estar presentes em modalidades de escritório e campus incluem: indicadores de tempo real de quais salas compartilhadas, por exemplo, salas de conferencia ou estudo, estão em uso vs. não estão em uso; navegação curva a curva até a sala compartilhada mais próxima que está disponível; análise de histórico e/ou em tempo real sobre o uso de salas compartilhadas, por exemplo, mais vs menos e horas do dia radiodifundir, receber e compartilhar a localização em tempo real de participantes durante horários de reunião se pelo menos um membro ainda não estiver presente. relatórios interativos, por exemplo, "A lâmpada nesta sala está quebrada"
[00114] Alguns recursos adicionais que podem estar presentes nas modalidades de análise de localização: estudos de caso e pesquisa de usuário: reproduzir o caminho de um usuário anônimo através de uma loja para aprender sobre as nuances de sua visita otimização do marketing agregado: converter eventos de localização móvel e/ou interação em eventos da web, ou seus equivalentes, para análise em mecanismos de análise existente, por exemplo, Coremetrics ou Google Analytics.
[00115] Alguns recursos adicionais que podem estar presentes em modalidades de coordenação de equipe terrestre incluem: coordenação em tempo real para equipes de segurança, equipes de resposta a emergências, pessoal de limpeza, arrumadores, guias turísticos e outras equipes terrestres assistência baseada em contexto, por exemplo, "a caixa de fusíveis para esta sala se encontra lá".
[00116] De maneira adicional, algumas modalidades focalizadas no rastreamento de localização podem incluir: rastreamento de itens pessoais, animais e bebês aplicações de segurança, que incluem, porém, não se limitam ao aprimoramento E911 e AGPS rastreamento de estoque e/ou equipamento, por exemplo, depósitos, fábricas, hospitais
[00117] Em vez de proporcionar uma planta baixa antes do tempo, algumas modalidades podem suportar a criação automática de plantas baixas estimadas de maneira interativa ou baseadas: padrões de caminhada/movimento, por exemplo, é mais provável que áreas que nunca foram caminhadas sejam paredes, mobiliário ou outras obstruções; é mais provável que as áreas que são frequentemente caminhadas sejam um espaço aberto desobstruído em salas ou saguão regiões retas de quedas de intensidade de sinal mais agudas tendem a ser obstruções como paredes e mobiliário pontos de interesse e outras localizações significativos podem ser manualmente marcados, por exemplo, a partir de carimbo de data/hora, posição, fotografias
[00118] Outras modalidades podem proporcionar informações orientadas contextuais, de localização para estádios, arenas, hotéis, resorts, navios de cruzeiro e/ou cassinos.
[00119] Algumas modalidades proporcionam aplicativos sociais baseados em proximidade que incluem: redes sociais que formam ou removem automaticamente conexões ou ajustam a força de conexão e/ou grupo/círculo com base em com que frequência passa o tempo em posição próxima emparelhamento e comunicação de dispositivo pessoal cruzado com base na proximidade, por exemplo, que proporciona um "bump app" sem a necessidade de comunicação dispositivo a dispositivo bump ou direta descoberta de pessoas com base nos interesses ligados a onde se passa o tempo, por exemplo, um aplicativo de encontros sociais pode unir pessoas que visitam regularmente o mesmo parque ou um jantar com o aplicativo de alguém para unir grupos para jantar em uma conferência
[00120] Algumas modalidades podem proporcionar análise para o indivíduo, por exemplo, ferramentas "meus locais" e de autoconhecimento.
[00121] Isto pode incluir a exibição de uma lista de localização comumente frequentada.
[00122] Os recursos podem incluir um indicador que exibe "dentro" ou "fora", e o tempo desde a última entrada/saída, com "dentro" ou "fora" automaticamente determinado a partir do contexto de localização.
[00123] O recurso "saiba sobre mim" pode incluir o uso de um dispositivo móvel pessoal como um utilitário de coleta de dados. Uma vez que o dispositivo pode ser ativo e próximo à pessoa a maior parte do tempo, este pode registrar informações sobre a pessoa.
[00124] Os instantâneos de sinais e logs podem ser registrados e comparados para determinar quando novas localizações são inseridas e q8uando localizações antigas foram revisitadas.
[00125] Os instantâneos de sinais novos podem ser marcados, por exemplo, "Sala de reuniões A".
[00126] Os dados podem ser analisados para proporcionar análise que inclui: tempo gasto em uma localização "hoje", tempo total já gasto em uma localização, número de etapas adotadas em localizações antigas/novas/todas, número de calorias queimadas, outras pessoas que já passaram tempo nesta localização, com que frequência a "sala de reuniões A" é usada pela pessoa; uma avaliação qualitativa de ousadia
[00127] Algumas modalidades podem proporcionar a tecnologia assistencial para usuários, por exemplo, cegos, que incluem: proporcionar indicações de áudio, direções e informações baseadas no contexto da aplicação, sua localização precisa e/ou qual direção está se dirigindo. Isto pode servir para proporcionar a navegação específica ou como um guia geral registro em log e/ou marcação de localizações previamente visitadas com alertas quando a pessoa retorna a estas localizações, se aproxima das mesmas ou sai das mesmas.
[00128] Algumas modalidades focalizam o monitoramento e responsabilidade que incluem: escorregão e quedas: rastreamento de localização para verificar se um empregado já observou a área perigosa antes de o acidente ocorrer serviços de segurança: rastreamento de localização para verificar quando um guarda de segurança inspecionou mais recentemente o local de um incidente.
[00129] Algumas modalidades proporcionam controles remotos contextuais baseados na localização que incluem: interface de controle remoto personalizada baseada em se a pessoa se encontra na sala de TV, no escritório ou na cozinha com aqueles botões e comportamentos personalizados e/ou dinâmicos controle de outros dispositivos (por exemplo, destravar as portas do carro, transmitir música a partir de seu aparelho de som) que respondem à proximidade ao dispositivo alarmes, lembretes e configurações de telefone (por exemplo, vibração vs. silencioso) baseados em qual tipo de sala a pessoa se encontra, por exemplo, sala de estar vs. quarto, sala de aula vs. biblioteca e o contexto de aplicação
[00130] Algumas modalidades podem proporcionar interação e visualização direta das intensidades de sinal e/ou localizações de transmissores e/ou receptores que incluem: monitorar a cobertura e o desempenho sem fio, identificar zonas mortas, etc. localizar transmissores e/ou receptores recomendar localizações para adicionar novos pontos de acesso
[00131] Algumas modalidades podem servir como um substituto do GPS para posicionamento e/ou navegação de pedestres ou veicular em áreas onde os serviços de GPS são insatisfatórios, por exemplo, cânions urbanos.
[00132] Algumas modalidades incluem aplicativos para importação, exportação, visualização, modificação e/ou análise de todos ou partes dos históricos de caminho gerados em relação aos seus arquivos de log brutos, funções de ajuste, funções de amostragem e instantâneos de sinais resultantes após eles terem sido capturados e determinados. Tais modalidades podem incluir: regenerar instantâneos de sinais e/ou históricos de caminho em tempo real e/ou de maneira interativa se os arquivos de log, restrições ou pontos de dados forem alterados/adicionados/removidos alinhar, analisar ou exibir informações de plantas baixas ou de empresa contra os dados de localização de maneira automática ou interativa visualização das funções de ajuste e/ou funções de amostragem no contexto de um conjunto de dados particular
[00133] Os sistemas de localização móvel aprimorados descritos no presente documento podem proporcionar uma experiência de localização contínua e/ou holística com o lançamento de outros aplicativos móveis, intenções e/ou comportamentos à medida que um usuário entra ou sai das localizações
[00134] Em algumas modalidades, as abordagens descritas no presente documento são "invertidas" e realizadas a partir do lado do servidor. Deste modo, a determinação de localização ocorre no servidor que usa as informações de sinal a partir dos transmissores e/ou receptores acopladas em comunicação com o servidor em oposição às medições feitas no próprio dispositivo móvel.
[00135] Em algumas modalidades, a localização determinada é representada como: uma área/região probabilística ou heurística que denota, por exemplo, um intervalo de confiança descrições qualitativas, tal como, o ponto de interesse ou localização lógica mais próxima (por exemplo, "do lado de fora da sala de reuniões A", ou "ao lado da pessoa B") de maneira gráfica, por exemplo, os indicadores probabilísticos que são mais escuros em áreas de probabilidade mais alta e mais claros em áreas de probabilidade mais baixa, em vez de apenas como coordenadas (por exemplo, x, y ou latitude, longitude).
[00136] Em algumas modalidades, robôs com capacidades de movimento são usados para capturar dados. E o arquivo de log bruto pode incluir entradas a partir dos sensores dos robôs.
[00137] Os aplicativos incluem:
[00138] Navegação de robôs de orientação interativa e/ou totalmente autônoma, por exemplo, deslocamento de robôs por telepresença entre localizações, por exemplo, salas de conferência, cubículos determinação autônoma e/ou de mão de obra baixa de sinal informações de instantâneos e/ou localização para uma localização interna ou externa arbitrária planejamento de rota para manter a conectividade de rede enquanto manipula de maneira inteligente o acesso de rede, por exemplo, através de uma sequência de pontos de acesso sem fio dispositivos descartáveis ou robótica projetada para examinar rapidamente o sinal instantâneo para uma determinada localização ao serem transportados ou propulsionados, possivelmente em grandes quantidades, ao longo do espaço interno ou externo desejado enquanto capturam os arquivos de log brutos e processam os mesmos ou carregam/transferem os mesmos para um servidor externo para pós-processamento.
[00139] Os sistemas de localização móvel aprimorados descritos no presente documento, onde em vez de um aplicativo de software distinto, todos ou parte dos processos de determinação de localização descritos no presente documento são realizados por: kernel, driver e/ou software de sistema de operação sistemas de nível de fornecedor, firmware, software sistemas de nível de chip, implementações de hardware aplicativos de terceiros que acessam a determinação de localização através de uma biblioteca, SDK ou API
[00140] Em algumas modalidades, o processo para determinação de localização leva em consideração as alterações no ambiente de recepção que incluem, porém, não se limitam a: hora do dia, número de obstáculos, número de usuários, tráfego de pedestres, marca e modelo e/ou parâmetros de calibração dos receptores e/ou transmissores de sinal sem fio.
[00141] Os sistemas de localização móvel aprimorados descritos no presente documento podem em algumas modalidades: solucionar em conjunto e/ou simultaneamente mais de um andar e/ou edifício de uma vez incorporar e/ou solucionar a localização aproximada e/ou aproximações da localização do usuário para distinguir entre os andares e edifícios como funções de ajuste e/ou funções de amostragem identificar diferenças discretas em endereços MAC, interação de usuário, disponibilidade de GPS e outras fontes de sinal tradicionais e/ou contexto de aplicação combinado com este sistema de localização como funções de ajuste e/ou funções de amostragem. Por exemplo, a indexação espacial (por exemplo, k- significa clustering, estruturas de dados quad-tree, oct-tree ou kd-tree, discretização e particionamento, etc.) de endereços MAC pela proximidade de edifícios conhecidos transição contínua ou de maneira interativa de ambientes internos para externos usando estes recursos
[00142] Em algumas modalidades, a rejeição de exceção (no ambiente, alterações dinâmicas ou estáticas no ambiente, ou de arquivos de log, ou de pontos de dados dentro dos arquivos de log) descrita no presente documento se baseia em: consistência dos novos dados versus correlações com as saídas, por exemplo, de execuções passadas auto-consistência relativa de um grupo/classe particular de medições auto-consistência relativa do determinado valor versus outras medições em espaço de estado similar, porém, diferente determinar se um ponto de dados é uma exceção comparando-se seu próprio erro de intensidade de sinal de um ponto de acesso à intensidade de sinal de outro ponto de acesso das mesmas posições de medição de espaço-tempo correspondentes
[00143] Em algumas modalidades, as localizações caminháveis são representadas como um gráfico de conectividade espacial e uma suposição pode ser efetuada em que é mais provável que o usuário se encontre no gráfico ou em um andar/edifício diferente. Isto pode limitar o espaço de pesquisa necessário para identificar onde provavelmente os novos dados serão localizados. Quando uma nova medição chega, a mesma pode ser comparada contra o banco de dados versus nós distintos no gráfico que resulta em menos comparações que para uma pesquisa completa ao longo do espaço de estado ou de outro modo. Não existe número mínimo de APs/transmissores requerido.
[00144] Quaisquer estruturas de dados e códigos descritos ou referidos acima são armazenadas de acordo com muitas modalidades em um meio de armazenamento legível por computador, que pode ser qualquer dispositivo ou meio que possa armazenar códigos e/ou dados para uso por um sistema de computador. Isto inclui, porém, não se limita a, memória volátil, memória não volátil, circuitos integrados de aplicação específica (ASICs), arranjos de porta programáveis em campo (FPGAs), dispositivos de armazenamento magnético e óptico, tais como, unidades de disco, fita magnética, CDs (discos compactos), DVDs (discos versáteis digitais ou discos de vídeo digitais), ou outro meio capaz de armazenar meios legíveis por computador agora conhecidos ou posteriormente desenvolvidos.
[00145] A descrição precedente é apresentada para permitir a produção e o uso da invenção. Diversas modificações nas modalidades descritas serão aparentes, e os princípios gerais definidos no presente documento podem ser aplicados a outras modalidades e aplicações sem sair do espírito e escopo da invenção. Deste modo, a invenção não se destina a ser limitada às modalidades mostradas, porém, deve estar de acordo com o escopo mais amplo coerente com os princípios e recursos descritos no presente documento. O escopo da invenção é definido pelas reivindicações em anexo.

Claims (11)

1. Método de geração de uma localização de usuário que usa um dispositivo móvel, o método compreendendo as etapas de: determinar um sinal instantâneo no dispositivo móvel enquanto o dispositivo móvel estiver operando dentro de uma grade de células que dividem um mapa de um espaço interno, caracterizado pelo fato de que o sinal instantâneo é uma estrutura de dados associada a uma célula que inclui uma média e variância descrevendo uma distribuição de probabilidade de medições de intensidade de sinal recebidas de transmissões de radiofrequência (RF) a partir de pontos de acesso dentro do espaço interno que são possivelmente detectáveis pelo dispositivo móvel, e em que a média e a variância são ajustadas com base em observações das transmissões de RF a partir de uma célula vizinha na grade de células; gerar a localização interna do usuário no dispositivo móvel usando o sinal instantâneo e pelo menos uma entrada adicional do dispositivo móvel, aplicando uma ou mais funções de ajuste ao sinal instantâneo, entrada adicional e um histórico de caminho; e realizar iterativamente a determinação do sinal instantâneo e a geração da localização interna do usuário no dispositivo móvel ao longo do tempo e atualizar a localização do usuário e o sinal instantâneo.
2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que as transmissões de RF compreendem transmissões de WiFi.
3. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que a entrada adicional a partir do dispositivo móvel é selecionada a partir de um conjunto compreendendo: um sensor inercial; um mapa de ocupação; uma imagem de vídeo; e uma entrada do usuário de sua localização.
4. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que a entrada adicional do dispositivo móvel compreende uma imagem de vídeo, e o método ainda compreende a análise da imagem de vídeo para identificar um código, o código selecionado a partir de um conjunto de códigos que compreende um código de barras, um QR código e/ou outro código legível por máquina.
5. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que o dispositivo móvel recebe o mapa de sinal a partir de um computador em uma rede.
6. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que ainda compreende exibir a localização do usuário em uma tela do dispositivo móvel.
7. Método, de acordo com a reivindicação 6, caracterizado pelo fato de que ainda compreende sobrepor um mapa de uma área em torno da localização do usuário.
8. Método, de acordo com a reivindicação 7, caracterizado pelo fato de que o mapa é obtido a partir de uma terceira parte que não é conectada à área mapeada.
9. Dispositivo móvel, compreendendo: um armazenamento; um mecanismo de entrada do usuário; um sensor; um receptor configurado para receber sinais de radiofrequência não regulamentada (RF); e um sistema de computador, o sistema de computador acoplado em comunicação com o armazenamento, o mecanismo de entrada do usuário, o sensor e o receptor, o sistema de computador incluindo um controlador configurado para: obter um sinal instantâneo no dispositivo móvel enquanto o dispositivo móvel estiver operando dentro de uma grade de células que dividem um mapa de um espaço interno, caracterizado pelo fato de que o sinal instantâneo é uma estrutura de dados associada a uma célula que inclui uma média e variância que descrevem um distribuição de probabilidade de medições de intensidade de sinal recebidas de transmissões de radiofrequência (RF) a partir de pontos de acesso (232, 234, 236, 238) dentro do espaço interno que são possivelmente detectáveis pelo receptor, e em que a média e a variância são ajustadas com base em observações das transmissões de RF a partir de uma célula vizinha na grade de células; gerar a localização interna do usuário no dispositivo móvel usando o sinal instantâneo e pelo menos uma entrada a partir de um dos mecanismos de entrada do usuário e o sensor aplicando uma ou mais funções de ajuste ao sinal instantâneo, pelo menos uma entrada e um histórico de caminho; e realizar iterativamente a determinação do sinal instantâneo e a geração da localização interna do usuário no dispositivo móvel ao longo do tempo e atualizar a localização do usuário e o sinal instantâneo.
10. Dispositivo móvel, de acordo com a reivindicação 9, caracterizado pelo fato de que compreende ainda uma interface de rede e em que a determinação ainda compreende: obter o sinal instantâneo a partir de um servidor usando a interface de rede antes de obter inicialmente o sinal instantâneo.
11. Dispositivo móvel, de acordo com a reivindicação 9, caracterizado pelo fato de que o sensor é selecionado a partir de um conjunto de sensores inerciais compreendendo um giroscópio, magnetômetro e acelerômetro; e em que o mecanismo de entrada do usuário é selecionado a partir de um conjunto de mecanismos de entrada do usuário que compreende um teclado, tela sensível ao toque, entrada de áudio e entrada de vídeo.
BR112013019835-4A 2011-02-05 2012-01-11 Método de geração de uma localização de usuário que usa um dispositivo móvel e dispositivo móvel BR112013019835B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201161439876P 2011-02-05 2011-02-05
US61/439,876 2011-02-05
PCT/US2012/020875 WO2012106075A1 (en) 2011-02-05 2012-01-11 Method and apparatus for mobile location determination

Publications (2)

Publication Number Publication Date
BR112013019835A2 BR112013019835A2 (pt) 2016-10-11
BR112013019835B1 true BR112013019835B1 (pt) 2023-08-01

Family

ID=

Similar Documents

Publication Publication Date Title
US9749780B2 (en) Method and apparatus for mobile location determination
Huang et al. Location based services: ongoing evolution and research agenda
Torres-Sospedra et al. Enhancing integrated indoor/outdoor mobility in a smart campus
US8744749B2 (en) Radio model updating
US8320939B1 (en) Crowd-sourced information for interior localization and navigation
Al Hammadi et al. Indoor localization and guidance using portable smartphones
US9918203B2 (en) Correcting in-venue location estimation using structural information
EP3111403A1 (en) Live branded dynamic mapping
US20160358273A1 (en) Providing information based on beacon detection
JP6700078B2 (ja) 位置情報提供システム及び位置情報を提供する方法
Gao et al. 1.26-Mobile GIS and Location-Based Services
Bhargava et al. Locus: robust and calibration-free indoor localization, tracking and navigation for multi-story buildings
Carboni et al. Infrastructure-free indoor navigation: a case study
Nikander et al. Indoor and outdoor mobile navigation by using a combination of floor plans and street maps
Liu et al. Study of Indoor exhibitions using BEACON’s Mobile Navigation
Ren et al. Semiautomatic indoor positioning and navigation with mobile devices
BR112013019835B1 (pt) Método de geração de uma localização de usuário que usa um dispositivo móvel e dispositivo móvel
Fabritz et al. Open Specification for Indoor-Navigation
JP7354165B2 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
JP7354166B2 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
Wasinger et al. RoughMaps A generic platform to support symbolic map use in indoor environments
Usman Design and implementation of an iPad web application for indoor-outdoor navigation and tracking locations
Patel et al. Augmented reality based indoor navigation using point cloud localization
Pei et al. Location-based services and navigation in smart phones
Jørstad Smart Hospital: indoor positioning with BIM