WO2017180033A1 - System, apparatus, and method for using location records associated with wireless communication devices to generate an indoor map - Google Patents

System, apparatus, and method for using location records associated with wireless communication devices to generate an indoor map Download PDF

Info

Publication number
WO2017180033A1
WO2017180033A1 PCT/SE2016/050318 SE2016050318W WO2017180033A1 WO 2017180033 A1 WO2017180033 A1 WO 2017180033A1 SE 2016050318 W SE2016050318 W SE 2016050318W WO 2017180033 A1 WO2017180033 A1 WO 2017180033A1
Authority
WO
WIPO (PCT)
Prior art keywords
location
indoor
lrs
locations
blocks
Prior art date
Application number
PCT/SE2016/050318
Other languages
French (fr)
Inventor
Keke Zu
Antoni Fertner
Elmar Trojer
Henrik Almeida
Miguel Berg
Original Assignee
Telefonaktiebolaget Lm Ericsson (Publ)
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 Telefonaktiebolaget Lm Ericsson (Publ) filed Critical Telefonaktiebolaget Lm Ericsson (Publ)
Priority to PCT/SE2016/050318 priority Critical patent/WO2017180033A1/en
Publication of WO2017180033A1 publication Critical patent/WO2017180033A1/en

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/20Instruments for performing navigational calculations
    • G01C21/206Instruments for performing navigational calculations specially adapted for indoor navigation

Definitions

  • the present disclosure relates to using location records associated with wireless communication devices to generate an indoor map.
  • U.S. Patent Publication No. 2014/0278060 to Kordari provides techniques for the creation of maps of indoor spaces.
  • an individual or a team with no mapping or cartography expertise can contribute to the creation of maps of buildings, campuses or cities.
  • An indoor location system can track the location of contributors in the building.
  • an application may automatically create a map based on data from motion sensors by both tracking the location of the contributors and also inferring building features such as hallways, stairways, and elevators based on the tracked contributors' motions as they move through a structure.
  • the process of mapping buildings can be crowd sourced to a large number of contributors, making the indoor mapping process efficient and easy to scale up.
  • PCT Patent Publication No. WO 2014/026338 to Zhang provides techniques for constructing a scalable model of an indoor space using crowd-sourced inertial navigation system (INS) from mobile devices.
  • INS inertial navigation system
  • the user's trajectories can be estimated as they move their mobile devices indoors.
  • the estimated trajectories can be scored against similar routes taken by other users. Routes with the highest scores are then laid out over a map of the indoor space to identify areas most often traveled to and from landmarks and distances between the landmarks.
  • Google® also provides an "Indoor Maps" service which allows a user to upload a floor plan.
  • the present application relates to using location records associated with wireless communication devices, or WCDs (e.g., mobile devices), to generate an indoor map (e.g., a floor plan). For instance, the location records are used to infer boundaries of indoor blocks (e.g., rooms, hallways, open spaces).
  • the WCDs may belong to, e.g., subscribers of a wireless communication network, and the location records may be aggregate location records (e.g., location records for arbitrary WCDs) that have been collected over a period of time (e.g., three months) and stored in a database.
  • the location records stored in the database are not specific to any particular indoor space (e.g., office building, home, store, etc.) or to any other indoor or outdoor space, and may include all location records collected for a set of subscribers over a period of time.
  • This aggregate set of location records such as the location records collected from cellular network subscribers performing their normal routine, provides a more automatic way of generating an indoor map than employing a group of dedicated contributors specifically employed to walk through a building.
  • the latter technique may focus on measuring interior structures of a building and require dedicated contributors to follow interior building boundaries, with tracked trajectories generated by the contributors being directly used to form indoor maps.
  • this technique could be extremely labor intensive, and may not be scalable.
  • One aspect of the present application relates generating an indoor map of a structure using location records for arbitrary WCDs that happened to be located in the structure.
  • the location records may have been generated from, for example, movements of users (e.g., wireless communication network subscribers) in their normal routine, such as walking through a store, spending time in an office building, or browsing through sections of a store.
  • Example information in each location record may include coordinates of a location in an indoor space, an identifier of a WCD from which the record was generated, a time stamp for a time at which the record was generated, a subscriber ID of a user associated with the WCD, an extrapolated direction of movement of the WCD at that time, an extrapolated speed of movement of the WCD at that time, or any combination thereof.
  • Location records which include information that identifies the trajectory of a WCD (e.g., time stamp information) may be referred to as trajectory data.
  • the location records may be collected by a wireless communication network's operator or any other service. In some instances, the location records may have been collected over a period of time (e.g., three months), during which time the locations of various WCDs were tracked.
  • the location records may be stored in a database.
  • the database may store location records for many different locations at which various WCDs have been located, such as locations in an area occupied by a particular indoor space, locations near but outside that area, and/or locations remote from that area. Filtering may thus be performed at some stage to extract only the location records falling within the area occupied by the indoor space.
  • This may differ from a scenario in which dedicated contributors are employed to measure a particular building. In that scenario, because the activities of the dedicated contributors are explicitly for measuring the building, all data generated from their activities will be specific to the building, and such filtering would generally be unnecessary.
  • an indoor space may be divided into a plurality of indoor blocks, and the location records may be used to infer boundaries of the indoor blocks.
  • the indoor blocks may include rooms, hallways, atriums or other open spaces, etc.
  • the boundaries may include walls or dividers, such as furniture used to partition a space, which at least partially surround an indoor block.
  • the location records may be divided into location clusters, and each of the location clusters may correspond to one of the indoor blocks. In such cases, a map of an indoor space may be generated based at least in part by identifying location clusters from the location records.
  • Each cluster may be identified as a walkable area, and the shape of the walkable area may be estimated with a polygon, which may be referred to as a walkable polygon.
  • the area between two adjacent walkable polygons may be designated as a non- walkable area. This may be based on the observation that a user and his or her WCD cannot be physically located between the boundaries (e.g., inside a wall) of two indoor blocks. Thus, the density of location records between the boundaries of two adjacent indoor blocks (e.g., between two walls or two sides of a furniture partition) may drop to as low as zero.
  • the location records may be associated with WCDs that are stationary for more than a predetermined period of time or having a speed that is less than a predetermined threshold, such as those records belonging to users sitting in an office, or browsing through a store.
  • a predetermined threshold such as those records belonging to users sitting in an office, or browsing through a store.
  • several location records associated with the same WCD may identify the same location within an indoor space for different time instances in a thirty-second span or one- minute span. This may differ from a situation involving the measurement of a building by dedicated contributors, who may be constantly moving in a predictable pattern (e.g., a line) next to boundaries of interior structures in a building.
  • the location records may be associated with WCDs that are located nearer a center of an indoor block, or the location records may have greater location density nearer the center of the indoor block. This may differ from a situation involving dedicated contributors, who may primarily move along the boundaries of interior structures and may have no interest in moving to or through a center of those interior structures.
  • the locations identified in the location records may have been determined using a variety of techniques, such as round trip time (RTT), time of arrival (TO A), time difference of arrival (TDOA), angle of arrival (AO A), received signal strength indication (RSSI), and global positioning system (GPS).
  • Other techniques for determining the locations identified in the location records may include a fingerprinting-based positioning technique, such as in a Bluetooth low energy (BLE) system, a WiFi-based fingerprinting technique, or a cellular- system-based fingerprinting technique, such as adaptive enhanced cell ID (AECID).
  • RTT round trip time
  • TO A time difference of arrival
  • AO A angle of arrival
  • RSSI received signal strength indication
  • GPS global positioning system
  • Other techniques for determining the locations identified in the location records may include a fingerprinting-based positioning technique, such as in a Bluetooth low energy (BLE) system, a WiFi-based fingerprinting technique, or a cellular- system-based fingerprinting technique, such as adaptive enhanced cell ID (AECID).
  • BLE Bluetooth low energy
  • AECID may associate a location in an indoor space with radio conditions at that location.
  • AECID may use a vector of radio measurement values (e.g., cell IDs, the radio-access bearer, RSSIs, RTTs, etc.) to provide a "fingerprint" of the radio conditions at a specific geographical position.
  • AECID may determine a location by performing clustering of the fingerprints.
  • the AECID clustering may be used to determine the effective radio coverage of a cell, such as the shape of a soft handover region, and may be used to split the measurements with the same tag (e.g., with the same cell ID) to different clusters and polygons.
  • the AECID clustering does not appear to concern inferring boundaries of indoor blocks and generating an indoor map.
  • way -through information may be used to determine how indoor blocks identified in the map are connected by walkable space.
  • the way- through information may refer to location records which identify a path taken by a particular WCD. This way-through information may thus trace walkable paths among the indoor blocks. For instance, it may indicate that there is a walkable path from a first indoor block to a second, adjacent indoor block, and a walkable path from the second indoor block to a third indoor block.
  • This information may be used to generate a navigation route through blocks in the indoor space. In this navigation scheme, high positioning accuracy of a user is not as important. Rather, the system only needs to identify a starting block for a user and a destination block. The indoor navigation scheme can then determine a route from the starting block to the destination block. The route may provide directions on a block-by-block basis.
  • One aspect of the present disclosure thus presents a method of producing a machine- generated map of an indoor space from a plurality of location records corresponding to a plurality of wireless communication devices (WCDs).
  • the indoor space may be divided into a plurality of indoor blocks.
  • a system may obtain, from the plurality of location records, a set of location records identifying a set of locations within the indoor space.
  • the system may estimate locations of the boundaries of the indoor blocks by: (i) dividing the set of locations into a plurality of location clusters, each of the plurality of location clusters being associated with a subset of the set of locations and with one of the plurality of indoor blocks; (ii) determining for each of the plurality of location clusters a polygon that approximates a shape of the location cluster.
  • the system may generate a map that is based on the estimated locations of the boundaries of the indoor blocks in the indoor space.
  • each of the location records includes information identifying: (i) one of the set of locations at which one of the WCDs was estimated to be located at and (ii) a time stamp that identifies a time at which the WCD was estimated to be located at the location.
  • the set of LRs are obtained from a database that stores the plurality of LRs, wherein the stored plurality of LRs comprises the set of LRs and another set of LRs, the obtained set of LRs corresponding to the area occupied by the indoor space, and the other set of LRs including LRs which do not correspond to the area occupied by the indoor space.
  • LRs from the other set of LRs that do not correspond to the area occupied by the indoor space are received at the system, the method further comprising filtering out the LRs in the other set of LRs so that they are not used to estimate the locations of the boundaries of the indoor blocks.
  • At least one LR in the set of LRs that correspond to the area occupied by the indoor space and at least one LR in the other set of LRs that do not correspond to the area occupied by the indoor space are associated in the database with the same subscriber of a wireless communication network.
  • filtering out the LRs in the other set of LRs comprises using global positioning system, GPS, data to identify LRs that correspond to locations outside the indoor space, wherein the set of locations that are divided into clusters do not include any location identified as being outside the indoor space.
  • the plurality of location clusters corresponds to a plurality of walkable spaces in the indoor space, and the obtained LRs indicate that the locations for a location cluster corresponding to one of the walkable spaces have greater location density near a center of the walkable space than near a boundary of the walkable space. In some instances, if one obtained polygon is contained by an outer polygon, the outer polygon may be taken as an estimated indoor block. [0021] In some implementations, the plurality of location clusters correspond to a plurality of walkable spaces in the indoor space, and wherein the obtained LRs identify locations in at least one of the walkable spaces that are located closer to a center of the walkable space than to a boundary of the walkable space.
  • the obtained LRs identify WCDs that are stationary for more than a predetermined period of time or have a speed that is less than a predetermined threshold.
  • generating the map comprises extracting for each of the polygons a set of corner points, the map comprising a data structure that identifies a plurality of boundary coordinates that are equal to or derived from the extracted sets of corner points.
  • At least one of the boundary coordinates is determined based on calculating OP LR + PP RSSI , wherein P LR is a coordinate of an extracted corner point of a polygon, and PRssi a coordinate of a received signal strength indication, RSSI, discontinuity near the extracted corner point, and a and ⁇ are predetermined weight values.
  • the method further comprises calibrating the at least one of the boundary coordinates with the value ⁇ , wherein ⁇ is data representing a determined accuracy level of a technique that generated the obtained LRs, and wherein ⁇ is a predetermined weight value.
  • the obtained location records include vertical coordinates for the set of locations, the method further comprising using the vertical coordinates to classify the location records into different floors, wherein the system performs the step of using the location records to divide the set of locations into a plurality of location clusters on a floor-by- floor basis.
  • the method further comprises: receiving a navigation request from a user device in the indoor space; determining a source location of the user device and a destination location for the navigation request; identifying, as a source block, one of the indoor blocks in the map to which the source location belongs; identifying, as a destination block, one of the indoor blocks in the map to which the destination location belongs;
  • determining the navigation route comprises selecting, from a plurality of navigation routes, a navigation route with the minimum number of blocks to traverse.
  • determining the navigation route comprises selecting, from a plurality of navigation routes, a navigation route most representative of the obtained trajectory data.
  • FIGs. 2A-2B illustrate example clusters of points identified in location records, and inferred boundaries of indoor blocks, according to some embodiments of the present disclosure.
  • FIGs. 4-5 show flow charts illustrating various processes according to some embodiments of the present disclosure.
  • FIGs. 6 and 7A-7B illustrate examples of way-through information that is generated for an indoor map, according to some embodiments of the present disclosure.
  • FIG. 8 is a functional block diagram of a node of a map generating system, according to an embodiment of the present disclosure.
  • FIG. 9 is a functional block diagram of a node of a map generating system, according to an embodiment of the present disclosure.
  • FIG. 1 illustrates a map generating system 103a/b/c for producing a machine-generated map (e.g., a floor plan) of an indoor space 101 (e.g., an office building).
  • the system 103a/b/c may include one or more map generating nodes. These nodes may include, e.g., a map generating node 103a in a core network of a wireless communication network (e.g., a cellular network), a map generating node 103b that provides a map generating service over the Internet, and a map generating node 103 c located at a base station (e.g., eNB) that is part of the wireless communication network.
  • the system 103a/b/c may use location records for wireless communication devices (WCDs), such as user equipments (UEs), to generate a map of the indoor space 101.
  • WCDs wireless communication devices
  • UEs user equipments
  • the WCDs may belong to subscribers of a cellular
  • the cellular communication network may provide coverage through various cells using various base stations, such as base stations 107a-107e. Some of the base stations 107a,b,c may provide cell coverage that covers at least part of an area occupied by the indoor space 101. Some of the base stations 107d,e may provide cell coverage that do not cover any area occupied by the indoor space 101.
  • the location of WCDs in the indoor space 101 may be tracked using a wireless communication network, such as a cellular communication network, an IEEE 802.11 (WiFiTM) communication network, an IEEE 802.15 (e.g., BluetoothTM) network, or any other wireless communication network.
  • the cellular communications network may include the base stations discussed above.
  • the WiFiTM or BluetoothTM network may include wireless access points (APs), such as APs 109a-c.
  • APs wireless access points
  • the locations of the WCDs may be calculated or otherwise tracked in a positioning server such as an evolved serving mobile location center (eSMLC) 104, a WiFiTM or BluetoothTM location center 113, or any other positioning server. That server may generate location records, LRs, that identify locations of tracked WCDs.
  • eSMLC evolved serving mobile location center
  • the location records may be stored in a database, such as a database 105 in the eSMLC or a database 115 that is accessible over the Internet.
  • the database 115 may be part of an "over-the-top" service provider.
  • an online service from Google® could collect data from all Google Maps users who have not opted out of location tracking.
  • location records may be generated by collecting real-time traces of users, who may agree to such tracking in exchange for free indoor wireless Internet access.
  • a user may enter his or her location using a dedicated web-interface (e.g., webpage) or upload positioning measurements.
  • the WCDs whose locations are tracked may include WCDs
  • the WCDs whose locations are tracked may include WCDs that were frequently located inside the indoor space 101, WCDs that were rarely located inside the indoor space 101, and WCDs that have never been located inside the indoor space 101.
  • the locations of the WCDs may be tracked using a variety of techniques, including techniques used for outdoor positioning and techniques specifically developed for indoor positioning. Current outdoor positioning systems are used to provide a consistent connection to cellular communication network users. For instance, the requirements for emergency call (911) positioning (e.g., location determining) mechanisms were specified in 3GPP Release-99 and Release-9 as a key feature for UTRA and E-UTRA mobile (e.g., cellular) networks, respectively.
  • the location of a WCD can be determined using techniques or parameters such as cell IDs, round trip time (RTT), time of arrival (TOA), time difference of arrival (TDOA), angle of arrival (AO A), received signal strength indication (RSSI), and global positioning system (GPS) data.
  • RTT round trip time
  • TOA time of arrival
  • TDOA time difference of arrival
  • AO A angle of arrival
  • RSSI received signal strength indication
  • GPS global positioning system
  • Some indoor positioning techniques may rely on a fingerprinting-based technique.
  • Indoor spaces may have numerous reflecting surfaces, moving objects, attenuating objects such as floors, ceilings, and walls.
  • RoS line-of-sight
  • fingerprinting- based indoor positioning has become a promising approach to determine the location of the WCD.
  • a position e.g., location
  • the detected signal patterns e.g., a vector of RSSI values from different wireless access points APs.
  • BluetoothTM low energy (BLE) systems Nokia has demonstrated a very precise indoor positioning method with an average accuracy of 0.5 m, and an accuracy of 10 cm is possible. In some studies, a BLE system can achieve an accuracy of less than 2.6m around 95% of the time. For fingerprinting-based indoor positioning using WiFiTM Aps (e.g., in the 2.4GHz band for 802.1 In), positioning error may be less than 8.5m around 95% of the time.
  • AECID adaptive enhanced cell-ID
  • WO 2007/043915 entitled “Adaptive Enhanced Cell Identity Positioning”
  • WO 2008/054272 entitled “Extended Clustering for Improved Positioning,” the contents of which are
  • AECID in this context uses a vector of radio
  • measurement values e.g., cell IDs, the radio-access bearer, RSSIs, RTTs, etc.
  • This "fingerprint" vector is used to tag high precision position measurements, which may be obtained using, e.g., UTDOA or A-GPS.
  • High precision position measurements that have the same tag are collected into separate clusters.
  • a polygon that represents a cluster can be computed.
  • the initial clusters, having measurements with the same tag (e.g., cell ID), may split into multiple smaller clusters. Therefore, multiple smaller polygons per tag can be obtained.
  • This cluster determination for AECID is different than or otherwise separate from the cluster
  • AECID clustering does not appear to relate to inferring boundaries between walkable spaces or other blocks in an indoor space. If a hallway is covered by multiple cells, that area may be divided into different clusters and different polygons by AECID clustering, even though no boundary divides the hallway, which may be a single contiguous space.
  • the boundary inferring and cluster determination in this disclosure may correspond the hallway to only a single polygon.
  • AECID is discussed in WO 2007/089182, entitled “Method and Arrangement for High Precision Position Reference Measurements at Indoor Locations," the content of which is incorporated herein in its entirety.
  • a positioning server therein may set up an interface, e.g. an Internet page, to which users may connect with their cellular phones. Using this interface, the users can select one out of a plurality of indoor locations (also including, e.g., locations without A-GPS coverage) where the cellular operator wishes to have high precision position reference measurements performed.
  • an interface e.g. an Internet page
  • the users can select one out of a plurality of indoor locations (also including, e.g., locations without A-GPS coverage) where the cellular operator wishes to have high precision position reference measurements performed.
  • the location records may correspond to WCD locations that were determined periodically (e.g., at predetermined intervals).
  • the records may correspond to WCD locations determined when triggering events occurred, such as each time the WCD interacted with a wireless communication network, such as by initiating a connection or uploading data (e.g., performing a call or uploading SMS data) to the wireless communications network.
  • the present application uses aggregated location records (e.g., trajectory data) of WCDs, such as those belonging to subscribers of a cellular communication network, to infer the boundaries of indoor blocks in an indoor space, and to generate a map of the indoor space based on those inferred boundaries.
  • the inference is based on the observation that the space between the boundaries of two adjacent indoor blocks (e.g., between two adjacent offices) may be a wall or other non-walkable space at which a user and his or her device generally cannot be physically located.
  • this inference may be obtained without the use of dedicated contributors or dedicated equipment such as dedicated cameras or motion sensors.
  • Table 1 illustrates an example Location Record
  • the location record may identify a device ID to identify the WCD at that location, and/or user ID that identifies the WCD's user. In some cases, if a speed and direction were being continuously determined (e.g., on the WCD), the location record may include information identifying the speed and/or direction of the WCD at that location.
  • the location identified in the location record may, in some cases, include (x, y) coordinates or (x, y, z) coordinates. In some instances, the location record may include an estimated accuracy level of those coordinates (e.g., a 90% confidence level that the WCD was located within 1 m of the determined coordinates). In some instances, the location record may include measurement values reported by the WCD, such as a RSSI measurement, time of arrival measurement, GPS data, or any other measurement.
  • Example locations identified in location records are illustrated in FIGS. 2A and
  • a location record may identify a location at which a WCD was located at a particular time.
  • the location record may identify the time at which the WCD was determined to be at the particular location, or may omit it.
  • each point may be a location identified by a location record.
  • FIG. 2A further illustrates various location clusters 201-229 of locations identified by the location records. As an example cluster 201 is outlined in FIG. 2A using heavy dashed lines. The clusters may correspond to various indoor blocks, as discussed below.
  • FIG. 3 A also illustrates various location clusters 301 -304 in an indoor space 300 identified by location records. The identified locations in FIG.
  • FIG. 3A are overlaid on a floor plan that shows indoor blocks that each have boundaries (e.g., walls) which partially enclose the block.
  • the locations illustrated in FIG. 3A may correspond to location records for many different WCDs belonging to many different users.
  • FIG. 3A further shows locations corresponding to location records for instances in which WCDs were estimated to be outside the indoor space 300.
  • the location records may be stored in a database which stores location records that are not specific to the indoor space 300 or any other space, and may include location records for all locations which a set of WCDs have visited.
  • the location records may have been collected over a time period of days, weeks, months, years, or some other time period.
  • the location records corresponding to WCDs that were outside of the indoor space 300 may need to be filtered out before identifying clusters from the locations of the remaining location records.
  • the database is queried to return only those location records that meet a certain criterion (e.g., only those location records that identify a location in the indoor space 300). That is, a query for location records may be submitted to the database, where the query specifies an area and requests only location records that identify a location within the specified area.
  • the filtering may rely on GPS coordinates, and/or GPS signal strength. In some cases, that information may be included in the location records.
  • each WCD may report GPS signal strength to a positioning server (e.g., eSMLC), which may include that information in a generated location record.
  • a positioning server e.g., eSMLC
  • the location record may correspond to an instance in which a WCD was outside the indoor space 300.
  • filtering of the location records may be done based on detecting a change in GPS signal strength.
  • the physical address of a building may be known from a GPS map. Then, the map generating system may detect a WCD moving toward an indoor space or moving away from an indoor space, based on the changing of GPS coordinates.
  • FIG. 2B illustrates polygons 251 -279 which may approximate the shapes of the clusters 201 -229.
  • FIG. 3B illustrates polygons 311-314 which may approximate the shapes of the clusters 301 -304.
  • the polygons may correspond to boundaries of indoor blocks. Thus, the location records and the clustering may be used to infer the boundaries of indoor blocks in an indoor space. The polygons may also correspond to walkable spaces in the indoor space.
  • Regions between the polygons may be inferred to as non-walkable spaces.
  • the non-walkable areas are striped in FIG. 2B and 3B.
  • the polygons may be represented through corner points.
  • the corner points are the dark circular points in FIG. 2B, and are the diamond-shaped points in FIG. 3B.
  • FIG. 4 provides a flow diagram which illustrates an example method of producing a machine-generated map of an indoor space (e.g., indoor space 101) from a plurality of location records corresponding to a plurality of wireless communication devices (WCDs).
  • the indoor space may be divided into a plurality of indoor blocks.
  • the indoor blocks may, in some examples, be at least partially surrounded by boundaries formed by walls, furnitures, dividers, etc.
  • the method begins at step 402, in which a system (e.g., map generating system made up of nodes 103a, 103b, and/or 103c) obtains, from a plurality of location records, a set of location records identifying a set of locations within the indoor space.
  • a system e.g., map generating system made up of nodes 103a, 103b, and/or 103c
  • each of the location records includes information identifying: (i) one of the set of locations at which one of the WCDs was estimated to be located at and (ii) a time stamp that identifies a time at which the WCD was estimated to be located at the location. This information may constitute trajectory data for the WCD.
  • the plurality of location records corresponding to the plurality of WCDs may be all location records generated and/or stored by a wireless network operator (e.g., by a cellular network operator).
  • the set of LRs are obtained from a database (105/1 15) that stores the plurality of LRs.
  • the stored plurality of LRs may comprise the set of LRs and another set of LRs.
  • the obtained set of LRs may correspond to the area occupied by the indoor space, and the other set of LRs may include LRs which do not correspond to the area occupied by the indoor space.
  • LRs from the other set of LRs that do not correspond to the area occupied by the indoor space are received at the system 103/a/b/c.
  • the system may request from the database all LRs corresponding to a set of WCDs in a given time period.
  • These LRs may correspond to WCDs that were frequently in the indoor space, seldom in the indoor space, and/or WCDs that were never in the indoor space during the given time period.
  • at least one LR in the set of LRs that correspond to the area occupied by the indoor space and at least one LR in the other set of LRs that do not correspond to the area occupied by the indoor space may be associated in the database with the same subscriber of a wireless communication network.
  • the system may filter out the LRs in the other set of LRs so that they are not used to estimate the locations of the boundaries of the indoor blocks. In some cases, this may involve identifying, from the LRs returned by the database, those LRs which have a location inside the indoor space.
  • the system may identify clusters based on only the identified LRs.
  • the filtering may use GPS coordinates or GPS strength measurement information, which may be available in the location records.
  • the system may use GPS data to identify LRs that correspond to locations outside the indoor space, where the set of locations that are divided into clusters in step 404 do not include any location identified as being outside the indoor space.
  • the system e.g., system nodes 103a/b/c estimates locations of the boundaries of the indoor blocks by: (i) dividing the set of locations into a plurality of location clusters (e.g., 201 -229/301 -304), where each of the plurality of location clusters is associated with a subset of the set of locations and with one of the plurality of indoor blocks; and (ii) determining for each of the plurality of location clusters (e.g., 201 -229/301 -304) a polygon (e.g., 251 -279/311 -314) that approximates a shape of the location cluster.
  • a polygon e.g., 251 -279/311 -31
  • step 404 may be preceded by a step 403, in which the system uses vertical coordinates in the location records to classify the location records into different floors, such that step 404 is performed on a floor-by-floor basis.
  • the obtained location records may include vertical coordinates for the multiple locations in the indoor space at which the set of WCDs have been located.
  • the system may use the vertical coordinates to classify the location records into different floors.
  • the system may perform the step of using the location records to divide the multiple locations into a plurality of location clusters on a floor-by- floor basis.
  • Step 403 may be part of a step of determining an overall building structure by detecting horizontal trajectories as floors, sloped trajectories as stairs, and vertical trajectories as elevators.
  • the system may generate a map that is based on the estimated locations of the boundaries of the indoor blocks in the indoor space. This is discussed in more detail below.
  • the boundaries are shown as dotted lines, and in the illustrated examples may coincide with the boundaries of the polygons determined in step 404.
  • the boundaries of the indoor blocks may be shifted from the polygon boundaries determined in step 404.
  • the corners of the boundaries of the indoor blocks may also have coordinates equal to or derived from the corner points (shown as black diamonds in FIG. 3B) of the polygons.
  • each location cluster may be considered a walkable area in an indoor space.
  • each location cluster may correspond to location records whose identified locations occupy a region with higher location density (e.g., measured as LR locations 2
  • two location clusters may have to be separated by a region having no corresponding location record. These clusters may be identified after filtering out all location records, if any, corresponding to instances in which WCDs were located outside the indoor space.
  • a boundary-inferring algorithm may be used to classify location records into clusters.
  • the boundary-inferring algorithm may be used to classify location records into clusters, detect cluster boundaries, and identify walkable areas.
  • the clusters may be identified through the algorithm called ordering points to identify the clustering structure (OPTICS).
  • OTICS ordering points to identify the clustering structure
  • Other algorithms include the algorithm called generalized density-based spatial clustering of applications with noise (GDBSCAN), and
  • the system e.g., the system
  • the OPTICS clustering algorithm requires just two input parameters, the maximum distance (radius) ⁇ and the minimum number of points required to form a cluster.
  • the maximum distance parameter ⁇ may be unnecessary in some circumstances, or may be set to a maximum possible value.
  • the plurality of clusters corresponds to a plurality of walkable spaces in the indoor space.
  • Each of the walkable spaces may be an indoor block.
  • walkable spaces e.g., a living room or an office
  • users may spend more time near a center of the walkable space than its boundaries. This may be reflected through obtained LRs which indicate a greater density of identified or otherwise tracked LR locations near a center of the walkable space than near a boundary of the walkable space. This may also be reflected through obtained LRs which identify LR locations in at least one of the walkable spaces that are located closer to a center of the walkable space than to a boundary of the walkable space.
  • the obtained LRs may identify WCDs that are stationary for more than a predetermined period of time or have a speed that is less than a predetermined threshold.
  • These locations records may, for example, be associated with users who are sitting in an office or who are slowly walking through a museum or gallery. This pattern of movement (or lack of movement) may differ from the situation involving dedicated contributors, who may be employed to move quickly to follow walls and other internal structures in a building.
  • a polygon that approximates the shape of a cluster may be a convex polygon or a concave polygon.
  • the polygon may be represented through a plurality of comer points (e.g., vertex points).
  • a rectangular polygon may be represented through four corner points.
  • step 406 the system generates a map that is based on the estimated locations of the boundaries of the indoor blocks in the indoor space.
  • the map may be a data structure that identifies a plurality of boundary coordinates for various indoor blocks in an indoor space.
  • Table 1 illustrates a portion of an example data structure for the generated map.
  • indoor blocks A, B, C, and D may correspond with polygons 311 , 312, 313, and 314, respectively.
  • Table 1 Example data structure which may form at least part of a generated map of an indoor space
  • generating the map comprises extracting for each of the polygons a set of corner points (e.g., vertex points).
  • the map may comprise a data structure (see, e.g., Table 1) that identifies a plurality of boundary coordinates that are equal to or derived from the extracted sets of corner points (e.g., vertex points).
  • Using the boundary coordinates of the polygons provides a simplified manner of representing the clusters, and may also reduce the storage space needed to store the map.
  • the boundary coordinates (e.g., Xa2, Y a 2) may be set to be equal to a corresponding comer point of a polygon (e.g., denoted as XPLR2, PLR2)-
  • the boundary coordinates may be derived from the extracted sets of corner points by adjusting the corner points based on other information, such as discontinuity in a RSSI value.
  • FIG. 3B illustrates a discontinuity in received signal strength indication (RSSI) value centered at X RSSI -
  • RSSI received signal strength indication
  • the location records themselves may identify RSSI values, while in some cases RSSI values may be separately obtained by the map generating system.
  • the boundary coordinate Xa2 may be equal to OLX PLR2 + PX RSSI -
  • the boundary coordinate Y A2 may, in this example, still be equal to Y PLR2 -
  • the RSSI discontinuity may reflect a penetration loss between borders like walls.
  • the RSSI value can serve as good reference information for enhancing boundary inferring.
  • changes or discontinuities of RSSI distribution can be used.
  • the system may further calibrate a boundary coordinate with the value ⁇ , where ⁇ is data representing a determined accuracy level of a wireless
  • a coordinate such as X A2 may be expressed as OLX PLR2 + PX RSSI + ⁇ .
  • a boundary coordinate for an updated floor layout may be adjusted based on a previously determined boundary coordinate for, e.g., the original floor layout, on which a previously digitized map could have been based.
  • FIG. 5 illustrates additional steps relating to using the generated map to perform indoor navigation. These steps may be performed in a context in which the generated map includes blocks that correspond to the determined polygons.
  • the generated map may identify indoor blocks represented by the determined polygons.
  • the system e.g., node 103a, 103b, and/or 103c
  • the way-through information may be information that identifies the existence of a path through or across at least part of the indoor block, or information that identifies the existence of a path from one indoor block to another indoor block.
  • the way- through information is represented by arrows in FIGS. 6 and 7B. In FIG.
  • the way -through information may indicate that there is a walkable path between block A and block B, between block B and block C, and between block B and block D.
  • This way-through information may be determined, for instance, based on trajectory data extracted from the location records.
  • the location records may identify a trajectory for WCD 1, and a trajectory for WCD 2, as illustrated in FIG. 7A.
  • the trajectory for WCD 1 may indicate that there is a walkable path between block A and block B, and between block B and block C.
  • the trajectory for WCD 2 may indicate that there is a walkable path between block D and block B. In an embodiment, this step may be done offline.
  • step 504 the system (e.g., node 103a, 103b, and/or 103c) receives a navigation request from a user device in the indoor space. For instance, a visitor in an office building may wish to navigate from his or her present location to a conference room.
  • step 506 the system determines a source location (e.g., x SO urce, y source, Zsource) of the user and a destination location (e.g., Xdest, ydest, Zdest) for the navigation request.
  • a source location e.g., x SO urce, y source, Zsource
  • a destination location e.g., Xdest, ydest, Zdest
  • the system identifies, as a source block, one of the indoor blocks in the map to which the source location belongs.
  • the system may perform step 508 by determining a containment relationship between the user (or his or her WCD) and the inferred indoor blocks.
  • the boundary coordinates of indoor blocks may have been determined according to the steps discussed above.
  • a determination may then be made as to which of the indoor blocks the source location belongs. This may involve solving a point- in-polygon (PIP) problem. Examples of techniques to address this problem may include the ray casting algorithm or winding number algorithm. For example, with the known boundary coordinates of the indoor blocks, the edges of the indoor block can be calculated by the system.
  • PIP point- in-polygon
  • the system calculates the number of intersections from the source location to the edges of the indoor block. If the source location is on the outside of the block, the number of intersections is an even number. If the source location is on the inside of the block then the number of intersections is an odd number.
  • step 510 the system (e.g., 103a b/c) identifies, as a destination block, one of the blocks in the map to which the destination location belongs. This may use the same or similar techniques employed in step 508. [0075] In step 512, the system 103a/b/c determines, based on the way -through information, a navigation route from the source block to the destination block. In some cases, determining the navigation route comprises selecting, from a plurality of navigation routes, a navigation route with the minimum number of blocks to traverse (e.g., a navigation route through block B). In some cases, determining the navigation route comprises selecting, from a plurality of navigation routes, a navigation route most representative of the obtained trajectory.
  • determining the navigation route comprises selecting, from a plurality of navigation routes, a navigation route most representative of the obtained trajectory.
  • step 514 the system (e.g., 103a/b/c) transmits the navigation route to the user device.
  • the present disclosure may be applicable in the context of a wireless sensor networks, machine type communications (MTC), etc.
  • MTC machine type communications
  • FIG. 8 illustrates a block diagram of an example of a system node, such as system node 103a, 103b, or 103c.
  • the system node 103a/b/c may include: a computer system (CS) 802, which may include one or more processors 855 (e.g., a general purpose microprocessor and/or one or more other data processing circuits, such as an application specific integrated circuit (ASIC), field-programmable gate arrays (FPGAs), and the like); a network interface 805 for use in connecting the network node to a network (e.g., core network) and communicating with other units connected to the network; a transceiver 807 coupled to an antenna 808 for wirelessly communicating with WCDs; and a data storage system 806 for storing information (e.g., network slice information received from network management node (e.g., NM or DM), which may include one or more non-volatile storage devices and/or one or more volatile storage devices (e
  • CS computer system
  • CPP 841 includes a non -transitory computer readable medium (CRM) 842 storing a computer program (CP) 843 comprising computer readable instructions (CRI) 844.
  • CRM 842 may be a non-transitory computer readable medium (i.e., magnetic media (e.g., a hard disk), optical media (e.g., a DVD), flash memory, and the like).
  • the CRI 844 of computer program 843 is configured such that when executed by data processing system 802, the CRI causes the computer system to perform steps described herein.
  • computer system 802 may consist merely of one or more ASICs.
  • the system 103a/b/c includes a node (e.g., apparatus) 900 for producing a machine-generated map of an indoor space from a plurality of WCDs.
  • the indoor space may be divided into a plurality of indoor blocks.
  • the node comprises: means for obtaining (902) from the plurality of location records, a set of location records identifying a set of locations within the indoor space.
  • the node further comprises means for generating (906) a map that is based on the estimated locations of the boundaries of the indoor blocks in the indoor space.

Abstract

A map generating system (103a/b/c) and machine-implemented method (400) for producing a machine-generated map of an indoor space from a plurality of location records corresponding to a plurality of wireless communication devices (WCDs). The system (103a/b/c) obtains (402) from the plurality of location records, a set of location records identifying a set of locations within the indoor space. The system estimates locations of the boundaries of the indoor blocks by: (i) dividing the set of locations into a plurality of location clusters (201-229/301-304), each of the plurality of location clusters being associated with a subset of the set of locations and with one of the plurality of indoor blocks; and (ii) determining for each of the plurality of location clusters (201-229/301-304) a polygon (251-279/311-314) that approximates a shape of the location cluster. The system (103a/b/c) generates (406) a map that is based on the estimated locations of the boundaries of the indoor blocks in the indoor space

Description

SYSTEM, APPARATUS, AND METHOD FOR USING LOCATION RECORDS ASSOCIATED WITH WIRELESS COMMUNICATION DEVICES TO GENERATE AN
INDOOR MAP
TECHNICAL FIELD
[001] The present disclosure relates to using location records associated with wireless communication devices to generate an indoor map.
BACKGROUND
[002] Creation of indoor maps has relied on existing building blueprints. A municipality may maintain some record of the blueprints used for various buildings (e.g., offices and homes) in the area. However, most of the blueprints may be lost with time due to the lack of updated or maintained documentation. Further, some blueprints may have no corresponding electronic version. Access to the blueprints, floor plans, or other indoor maps for existing premises may be very important. These plans alert communication system designers and contractors as to the location of existing walls, wiring systems, and other systems within a building. Knowing where these structures are located ahead of time may reduce the risk of costly errors during the design/deployment phase for a communication system, and may shorten project timetables.
[003] U.S. Patent Publication No. 2014/0278060 to Kordari provides techniques for the creation of maps of indoor spaces. In these techniques, an individual or a team with no mapping or cartography expertise can contribute to the creation of maps of buildings, campuses or cities. An indoor location system can track the location of contributors in the building. As they walk through indoor spaces, an application may automatically create a map based on data from motion sensors by both tracking the location of the contributors and also inferring building features such as hallways, stairways, and elevators based on the tracked contributors' motions as they move through a structure. With these techniques, the process of mapping buildings can be crowd sourced to a large number of contributors, making the indoor mapping process efficient and easy to scale up.
[004] PCT Patent Publication No. WO 2014/026338 to Zhang provides techniques for constructing a scalable model of an indoor space using crowd-sourced inertial navigation system (INS) from mobile devices. By tracking INS signals from a number of participating users, the user's trajectories can be estimated as they move their mobile devices indoors. The estimated trajectories can be scored against similar routes taken by other users. Routes with the highest scores are then laid out over a map of the indoor space to identify areas most often traveled to and from landmarks and distances between the landmarks.
[005] Google® also provides an "Indoor Maps" service which allows a user to upload a floor plan.
SUMMARY
[006] The present application relates to using location records associated with wireless communication devices, or WCDs (e.g., mobile devices), to generate an indoor map (e.g., a floor plan). For instance, the location records are used to infer boundaries of indoor blocks (e.g., rooms, hallways, open spaces). The WCDs may belong to, e.g., subscribers of a wireless communication network, and the location records may be aggregate location records (e.g., location records for arbitrary WCDs) that have been collected over a period of time (e.g., three months) and stored in a database. In some instances, the location records stored in the database are not specific to any particular indoor space (e.g., office building, home, store, etc.) or to any other indoor or outdoor space, and may include all location records collected for a set of subscribers over a period of time. Using this aggregate set of location records, such as the location records collected from cellular network subscribers performing their normal routine, provides a more automatic way of generating an indoor map than employing a group of dedicated contributors specifically employed to walk through a building. The latter technique may focus on measuring interior structures of a building and require dedicated contributors to follow interior building boundaries, with tracked trajectories generated by the contributors being directly used to form indoor maps. However, for a city with a massive number of multi-floor buildings, which could have large aggregated interior spaces, this technique could be extremely labor intensive, and may not be scalable.
[007] Further, if the interior layout of building is changed, such as for a decorative purpose, re-sending dedicated contributors to re-measure the interior structures of the building or requiring an updated floor plan to be uploaded may be labor-intensive. Further, the need to update indoor maps may be non-trivial. For outdoor maps, a provider such as Nokia® may make 2.4 million map changes on average every day due to changes in outdoor road segments. Although the pace of change in an indoor context may be lower, there is also many more number of indoor blocks than outdoor road segments. Thus, even if a small percentage of the total number of indoor blocks changed in a given time period, the resulting total number of affected blocks could be large. Thus, uploading new floor plans or employing dedicated contributors to measure modified indoor spaces may be too labor intensive to be sustainable.
[008] One aspect of the present application relates generating an indoor map of a structure using location records for arbitrary WCDs that happened to be located in the structure. The location records may have been generated from, for example, movements of users (e.g., wireless communication network subscribers) in their normal routine, such as walking through a store, spending time in an office building, or browsing through sections of a store. Example information in each location record may include coordinates of a location in an indoor space, an identifier of a WCD from which the record was generated, a time stamp for a time at which the record was generated, a subscriber ID of a user associated with the WCD, an extrapolated direction of movement of the WCD at that time, an extrapolated speed of movement of the WCD at that time, or any combination thereof. Location records which include information that identifies the trajectory of a WCD (e.g., time stamp information) may be referred to as trajectory data. The location records may be collected by a wireless communication network's operator or any other service. In some instances, the location records may have been collected over a period of time (e.g., three months), during which time the locations of various WCDs were tracked.
[009] In some instances, the location records may be stored in a database. The database may store location records for many different locations at which various WCDs have been located, such as locations in an area occupied by a particular indoor space, locations near but outside that area, and/or locations remote from that area. Filtering may thus be performed at some stage to extract only the location records falling within the area occupied by the indoor space. This may differ from a scenario in which dedicated contributors are employed to measure a particular building. In that scenario, because the activities of the dedicated contributors are explicitly for measuring the building, all data generated from their activities will be specific to the building, and such filtering would generally be unnecessary.
[0010] In an embodiment, an indoor space may be divided into a plurality of indoor blocks, and the location records may be used to infer boundaries of the indoor blocks. The indoor blocks may include rooms, hallways, atriums or other open spaces, etc. The boundaries may include walls or dividers, such as furniture used to partition a space, which at least partially surround an indoor block. In some cases, the location records may be divided into location clusters, and each of the location clusters may correspond to one of the indoor blocks. In such cases, a map of an indoor space may be generated based at least in part by identifying location clusters from the location records. Each cluster may be identified as a walkable area, and the shape of the walkable area may be estimated with a polygon, which may be referred to as a walkable polygon. In some cases, the area between two adjacent walkable polygons may be designated as a non- walkable area. This may be based on the observation that a user and his or her WCD cannot be physically located between the boundaries (e.g., inside a wall) of two indoor blocks. Thus, the density of location records between the boundaries of two adjacent indoor blocks (e.g., between two walls or two sides of a furniture partition) may drop to as low as zero.
[0011] In some cases, the location records may be associated with WCDs that are stationary for more than a predetermined period of time or having a speed that is less than a predetermined threshold, such as those records belonging to users sitting in an office, or browsing through a store. For instance, several location records associated with the same WCD may identify the same location within an indoor space for different time instances in a thirty-second span or one- minute span. This may differ from a situation involving the measurement of a building by dedicated contributors, who may be constantly moving in a predictable pattern (e.g., a line) next to boundaries of interior structures in a building. In some cases, the location records may be associated with WCDs that are located nearer a center of an indoor block, or the location records may have greater location density nearer the center of the indoor block. This may differ from a situation involving dedicated contributors, who may primarily move along the boundaries of interior structures and may have no interest in moving to or through a center of those interior structures.
[0012] The locations identified in the location records may have been determined using a variety of techniques, such as round trip time (RTT), time of arrival (TO A), time difference of arrival (TDOA), angle of arrival (AO A), received signal strength indication (RSSI), and global positioning system (GPS). Other techniques for determining the locations identified in the location records may include a fingerprinting-based positioning technique, such as in a Bluetooth low energy (BLE) system, a WiFi-based fingerprinting technique, or a cellular- system-based fingerprinting technique, such as adaptive enhanced cell ID (AECID).
Techniques such as AECID may associate a location in an indoor space with radio conditions at that location. AECID may use a vector of radio measurement values (e.g., cell IDs, the radio-access bearer, RSSIs, RTTs, etc.) to provide a "fingerprint" of the radio conditions at a specific geographical position. In some cases, AECID may determine a location by performing clustering of the fingerprints. The AECID clustering may be used to determine the effective radio coverage of a cell, such as the shape of a soft handover region, and may be used to split the measurements with the same tag (e.g., with the same cell ID) to different clusters and polygons. The AECID clustering does not appear to concern inferring boundaries of indoor blocks and generating an indoor map.
[0013] In an embodiment, once a map is generated, way -through information may be used to determine how indoor blocks identified in the map are connected by walkable space. The way- through information may refer to location records which identify a path taken by a particular WCD. This way-through information may thus trace walkable paths among the indoor blocks. For instance, it may indicate that there is a walkable path from a first indoor block to a second, adjacent indoor block, and a walkable path from the second indoor block to a third indoor block. This information may be used to generate a navigation route through blocks in the indoor space. In this navigation scheme, high positioning accuracy of a user is not as important. Rather, the system only needs to identify a starting block for a user and a destination block. The indoor navigation scheme can then determine a route from the starting block to the destination block. The route may provide directions on a block-by-block basis.
[0014] One aspect of the present disclosure thus presents a method of producing a machine- generated map of an indoor space from a plurality of location records corresponding to a plurality of wireless communication devices (WCDs). The indoor space may be divided into a plurality of indoor blocks. In the system, a system may obtain, from the plurality of location records, a set of location records identifying a set of locations within the indoor space. The system may estimate locations of the boundaries of the indoor blocks by: (i) dividing the set of locations into a plurality of location clusters, each of the plurality of location clusters being associated with a subset of the set of locations and with one of the plurality of indoor blocks; (ii) determining for each of the plurality of location clusters a polygon that approximates a shape of the location cluster. The system may generate a map that is based on the estimated locations of the boundaries of the indoor blocks in the indoor space.
[0015] In some implementations, each of the location records includes information identifying: (i) one of the set of locations at which one of the WCDs was estimated to be located at and (ii) a time stamp that identifies a time at which the WCD was estimated to be located at the location.
[0016] In some implementations, the set of LRs are obtained from a database that stores the plurality of LRs, wherein the stored plurality of LRs comprises the set of LRs and another set of LRs, the obtained set of LRs corresponding to the area occupied by the indoor space, and the other set of LRs including LRs which do not correspond to the area occupied by the indoor space.
[0017] In some implementations, LRs from the other set of LRs that do not correspond to the area occupied by the indoor space are received at the system, the method further comprising filtering out the LRs in the other set of LRs so that they are not used to estimate the locations of the boundaries of the indoor blocks.
[0018] In some implementations, at least one LR in the set of LRs that correspond to the area occupied by the indoor space and at least one LR in the other set of LRs that do not correspond to the area occupied by the indoor space are associated in the database with the same subscriber of a wireless communication network.
[0019] In some implementations, wherein filtering out the LRs in the other set of LRs comprises using global positioning system, GPS, data to identify LRs that correspond to locations outside the indoor space, wherein the set of locations that are divided into clusters do not include any location identified as being outside the indoor space.
[0020] In some implementations, the plurality of location clusters corresponds to a plurality of walkable spaces in the indoor space, and the obtained LRs indicate that the locations for a location cluster corresponding to one of the walkable spaces have greater location density near a center of the walkable space than near a boundary of the walkable space. In some instances, if one obtained polygon is contained by an outer polygon, the outer polygon may be taken as an estimated indoor block. [0021] In some implementations, the plurality of location clusters correspond to a plurality of walkable spaces in the indoor space, and wherein the obtained LRs identify locations in at least one of the walkable spaces that are located closer to a center of the walkable space than to a boundary of the walkable space.
[0022] In some implementations, the obtained LRs identify WCDs that are stationary for more than a predetermined period of time or have a speed that is less than a predetermined threshold.
[0023] In some implementations, generating the map comprises extracting for each of the polygons a set of corner points, the map comprising a data structure that identifies a plurality of boundary coordinates that are equal to or derived from the extracted sets of corner points.
[0024] In some implementations, at least one of the boundary coordinates is determined based on calculating OPLR + PPRSSI , wherein PLR is a coordinate of an extracted corner point of a polygon, and PRssi a coordinate of a received signal strength indication, RSSI, discontinuity near the extracted corner point, and a and β are predetermined weight values.
[0025] In some implementations, the method further comprises calibrating the at least one of the boundary coordinates with the value γΡχ, wherein Ρχ is data representing a determined accuracy level of a technique that generated the obtained LRs, and wherein γ is a predetermined weight value.
[0026] In some implementations, the obtained location records include vertical coordinates for the set of locations, the method further comprising using the vertical coordinates to classify the location records into different floors, wherein the system performs the step of using the location records to divide the set of locations into a plurality of location clusters on a floor-by- floor basis.
[0027] In some implementations, the generated map identifies indoor blocks represented by the determined polygons, the method further comprising generating way-through information for each of the blocks based on the obtained set of location records, wherein the way -through information for a block identifies the existence of a path through or across at least part of the indoor block, or identifies the existence of a path between two indoor blocks.
[0028] In some implementations, the method further comprises: receiving a navigation request from a user device in the indoor space; determining a source location of the user device and a destination location for the navigation request; identifying, as a source block, one of the indoor blocks in the map to which the source location belongs; identifying, as a destination block, one of the indoor blocks in the map to which the destination location belongs;
determining, based on the way-through information, a navigation route from the source block to the destination block; and transmitting the navigation route to the user device.
[0029] In some implementations, determining the navigation route comprises selecting, from a plurality of navigation routes, a navigation route with the minimum number of blocks to traverse.
[0030] In some implementations, determining the navigation route comprises selecting, from a plurality of navigation routes, a navigation route most representative of the obtained trajectory data.
[0031] These and other aspects and embodiments are further described herein.
BRIEF DESCRIPTION OF THE DRAWINGS
[0032] The accompanying drawings, which are incorporated herein and form part of the specification, illustrate various embodiments of the present invention and, together with the description, further serve to explain the principles of the invention and to enable a person skilled in the pertinent art to make and use the invention. In the drawings, like reference numbers indicate identical or functionally similar elements.
[0033] FIG. 1 illustrates a map generation system, according to some embodiments of the present disclosure.
[0034] FIGs. 2A-2B illustrate example clusters of points identified in location records, and inferred boundaries of indoor blocks, according to some embodiments of the present disclosure.
[0035] FIGs. 3A-3B illustrate example clusters of points identified in location records, and inferred boundaries of indoor blocks, according to some embodiments of the present disclosure.
[0036] FIGs. 4-5 show flow charts illustrating various processes according to some embodiments of the present disclosure.
[0037] FIGs. 6 and 7A-7B illustrate examples of way-through information that is generated for an indoor map, according to some embodiments of the present disclosure. [0038] FIG. 8 is a functional block diagram of a node of a map generating system, according to an embodiment of the present disclosure.
[0039] FIG. 9 is a functional block diagram of a node of a map generating system, according to an embodiment of the present disclosure.
DETAILED DESCRIPTION
[0040] Referring now to FIG. 1, FIG. 1 illustrates a map generating system 103a/b/c for producing a machine-generated map (e.g., a floor plan) of an indoor space 101 (e.g., an office building). In an embodiment, the system 103a/b/c may include one or more map generating nodes. These nodes may include, e.g., a map generating node 103a in a core network of a wireless communication network (e.g., a cellular network), a map generating node 103b that provides a map generating service over the Internet, and a map generating node 103 c located at a base station (e.g., eNB) that is part of the wireless communication network. The system 103a/b/c may use location records for wireless communication devices (WCDs), such as user equipments (UEs), to generate a map of the indoor space 101.
[0041] In some instances, the WCDs may belong to subscribers of a cellular
communication network. The cellular communication network may provide coverage through various cells using various base stations, such as base stations 107a-107e. Some of the base stations 107a,b,c may provide cell coverage that covers at least part of an area occupied by the indoor space 101. Some of the base stations 107d,e may provide cell coverage that do not cover any area occupied by the indoor space 101.
[0042] In an embodiment, the location of WCDs in the indoor space 101 may be tracked using a wireless communication network, such as a cellular communication network, an IEEE 802.11 (WiFi™) communication network, an IEEE 802.15 (e.g., Bluetooth™) network, or any other wireless communication network. The cellular communications network may include the base stations discussed above. The WiFi™ or Bluetooth™ network may include wireless access points (APs), such as APs 109a-c. In some cases, the locations of the WCDs may be calculated or otherwise tracked in a positioning server such as an evolved serving mobile location center (eSMLC) 104, a WiFi™ or Bluetooth™ location center 113, or any other positioning server. That server may generate location records, LRs, that identify locations of tracked WCDs. The location records may be stored in a database, such as a database 105 in the eSMLC or a database 115 that is accessible over the Internet. In some cases, the database 115 may be part of an "over-the-top" service provider. For instance, an online service from Google® could collect data from all Google Maps users who have not opted out of location tracking. In some cases, location records may be generated by collecting real-time traces of users, who may agree to such tracking in exchange for free indoor wireless Internet access. For example, such as with certain implementations of AECID for indoor use, a user may enter his or her location using a dedicated web-interface (e.g., webpage) or upload positioning measurements.
[0043] In some instances, the WCDs whose locations are tracked may include WCDs
(e.g., WCD 111b and 1 l id) that at some time(s) were inside the indoor space 101, WCDs (e.g., WCD 111c) that at some time(s) were near but outside the indoor space 101, and WCDs (e.g., WCD 111a, 11 le) that at some time(s) were remote from the indoor space 101, perhaps in cells that do not cover any area occupied by the indoor space 101. In some instances, the WCDs whose locations are tracked may include WCDs that were frequently located inside the indoor space 101, WCDs that were rarely located inside the indoor space 101, and WCDs that have never been located inside the indoor space 101.
[0044] The locations of the WCDs may be tracked using a variety of techniques, including techniques used for outdoor positioning and techniques specifically developed for indoor positioning. Current outdoor positioning systems are used to provide a consistent connection to cellular communication network users. For instance, the requirements for emergency call (911) positioning (e.g., location determining) mechanisms were specified in 3GPP Release-99 and Release-9 as a key feature for UTRA and E-UTRA mobile (e.g., cellular) networks, respectively. The location of a WCD can be determined using techniques or parameters such as cell IDs, round trip time (RTT), time of arrival (TOA), time difference of arrival (TDOA), angle of arrival (AO A), received signal strength indication (RSSI), and global positioning system (GPS) data.
[0045] Some indoor positioning techniques may rely on a fingerprinting-based technique. Indoor spaces may have numerous reflecting surfaces, moving objects, attenuating objects such as floors, ceilings, and walls. Without assuming line-of-sight (LoS) to a WCD, fingerprinting- based indoor positioning has become a promising approach to determine the location of the WCD. In the fingerprinting scheme, a position (e.g., location) is characterized by its detected signal patterns (e.g., a vector of RSSI values from different wireless access points APs). Thus, fingerprinting can provide high feasibility location data in indoor deployment. For
Bluetooth™ low energy (BLE) systems, Nokia has demonstrated a very precise indoor positioning method with an average accuracy of 0.5 m, and an accuracy of 10 cm is possible. In some studies, a BLE system can achieve an accuracy of less than 2.6m around 95% of the time. For fingerprinting-based indoor positioning using WiFi™ Aps (e.g., in the 2.4GHz band for 802.1 In), positioning error may be less than 8.5m around 95% of the time.
[0046] Ericsson has developed a fingerprinting-based positioning solution called adaptive enhanced cell-ID (AECID). In the context of outdoor positioning, AECID is discussed in WO 2007/043915, entitled "Adaptive Enhanced Cell Identity Positioning," and WO 2008/054272, entitled "Extended Clustering for Improved Positioning," the contents of which are
incorporated herein in their entirety. AECID in this context uses a vector of radio
measurement values (e.g., cell IDs, the radio-access bearer, RSSIs, RTTs, etc.) to provide a "fingerprint" of the radio conditions at a specific geographical position. This "fingerprint" vector is used to tag high precision position measurements, which may be obtained using, e.g., UTDOA or A-GPS. High precision position measurements that have the same tag are collected into separate clusters. A polygon that represents a cluster can be computed. The initial clusters, having measurements with the same tag (e.g., cell ID), may split into multiple smaller clusters. Therefore, multiple smaller polygons per tag can be obtained. This cluster determination for AECID is different than or otherwise separate from the cluster
determination, discussed later in this disclosure, used to identify boundaries of indoor blocks and to generate a map for an indoor space. For example, AECID clustering does not appear to relate to inferring boundaries between walkable spaces or other blocks in an indoor space. If a hallway is covered by multiple cells, that area may be divided into different clusters and different polygons by AECID clustering, even though no boundary divides the hallway, which may be a single contiguous space. The boundary inferring and cluster determination in this disclosure, on the other hand, may correspond the hallway to only a single polygon. In the indoor context, AECID is discussed in WO 2007/089182, entitled "Method and Arrangement for High Precision Position Reference Measurements at Indoor Locations," the content of which is incorporated herein in its entirety. Here, some parts of the indoor space may have no A-GPS coverage. A positioning server therein may set up an interface, e.g. an Internet page, to which users may connect with their cellular phones. Using this interface, the users can select one out of a plurality of indoor locations (also including, e.g., locations without A-GPS coverage) where the cellular operator wishes to have high precision position reference measurements performed.
[0047] In an embodiment, the location records may correspond to WCD locations that were determined periodically (e.g., at predetermined intervals). In an embodiment, the records may correspond to WCD locations determined when triggering events occurred, such as each time the WCD interacted with a wireless communication network, such as by initiating a connection or uploading data (e.g., performing a call or uploading SMS data) to the wireless communications network.
[0048] In an embodiment, the present application uses aggregated location records (e.g., trajectory data) of WCDs, such as those belonging to subscribers of a cellular communication network, to infer the boundaries of indoor blocks in an indoor space, and to generate a map of the indoor space based on those inferred boundaries. The inference is based on the observation that the space between the boundaries of two adjacent indoor blocks (e.g., between two adjacent offices) may be a wall or other non-walkable space at which a user and his or her device generally cannot be physically located. Moreover, this inference may be obtained without the use of dedicated contributors or dedicated equipment such as dedicated cameras or motion sensors.
[0049] Table 1 illustrates an example Location Record:
Figure imgf000013_0001
I measured by WCD | |
Table 1 : Example Location Record
[0050] In some cases, the location record may identify a device ID to identify the WCD at that location, and/or user ID that identifies the WCD's user. In some cases, if a speed and direction were being continuously determined (e.g., on the WCD), the location record may include information identifying the speed and/or direction of the WCD at that location. The location identified in the location record may, in some cases, include (x, y) coordinates or (x, y, z) coordinates. In some instances, the location record may include an estimated accuracy level of those coordinates (e.g., a 90% confidence level that the WCD was located within 1 m of the determined coordinates). In some instances, the location record may include measurement values reported by the WCD, such as a RSSI measurement, time of arrival measurement, GPS data, or any other measurement.
[0051] Example locations identified in location records are illustrated in FIGS. 2A and
3A. A location record may identify a location at which a WCD was located at a particular time. The location record may identify the time at which the WCD was determined to be at the particular location, or may omit it. In FIGs. 2 A and 3 A, each point may be a location identified by a location record. FIG. 2A further illustrates various location clusters 201-229 of locations identified by the location records. As an example cluster 201 is outlined in FIG. 2A using heavy dashed lines. The clusters may correspond to various indoor blocks, as discussed below. FIG. 3 A also illustrates various location clusters 301 -304 in an indoor space 300 identified by location records. The identified locations in FIG. 3A are overlaid on a floor plan that shows indoor blocks that each have boundaries (e.g., walls) which partially enclose the block. The locations illustrated in FIG. 3A may correspond to location records for many different WCDs belonging to many different users. FIG. 3A further shows locations corresponding to location records for instances in which WCDs were estimated to be outside the indoor space 300. As discussed above, the location records may be stored in a database which stores location records that are not specific to the indoor space 300 or any other space, and may include location records for all locations which a set of WCDs have visited. The location records may have been collected over a time period of days, weeks, months, years, or some other time period.
[0052] In FIG. 3A, the location records corresponding to WCDs that were outside of the indoor space 300 may need to be filtered out before identifying clusters from the locations of the remaining location records. Accordingly, in one embodiment the database is queried to return only those location records that meet a certain criterion (e.g., only those location records that identify a location in the indoor space 300). That is, a query for location records may be submitted to the database, where the query specifies an area and requests only location records that identify a location within the specified area. In another embodiment, the filtering may rely on GPS coordinates, and/or GPS signal strength. In some cases, that information may be included in the location records. For example, each WCD may report GPS signal strength to a positioning server (e.g., eSMLC), which may include that information in a generated location record. If a location record has a rise in GPS signal strength compared to the location records for nearby locations, the location record may correspond to an instance in which a WCD was outside the indoor space 300. When the GPS signal strength is suddenly lost or reduced, it may be determined that the WCD has entered indoors. Thus, for example, when the location of the outer limits of a building is not precisely known, filtering of the location records may be done based on detecting a change in GPS signal strength. In some cases, the physical address of a building may be known from a GPS map. Then, the map generating system may detect a WCD moving toward an indoor space or moving away from an indoor space, based on the changing of GPS coordinates.
[0053] FIG. 2B illustrates polygons 251 -279 which may approximate the shapes of the clusters 201 -229. FIG. 3B illustrates polygons 311-314 which may approximate the shapes of the clusters 301 -304. The polygons may correspond to boundaries of indoor blocks. Thus, the location records and the clustering may be used to infer the boundaries of indoor blocks in an indoor space. The polygons may also correspond to walkable spaces in the indoor space.
Regions between the polygons may be inferred to as non-walkable spaces. The non-walkable areas are striped in FIG. 2B and 3B. The polygons may be represented through corner points. The corner points are the dark circular points in FIG. 2B, and are the diamond-shaped points in FIG. 3B.
[0054] FIG. 4 provides a flow diagram which illustrates an example method of producing a machine-generated map of an indoor space (e.g., indoor space 101) from a plurality of location records corresponding to a plurality of wireless communication devices (WCDs). The indoor space may be divided into a plurality of indoor blocks. The indoor blocks may, in some examples, be at least partially surrounded by boundaries formed by walls, furnitures, dividers, etc. In an embodiment, the method begins at step 402, in which a system (e.g., map generating system made up of nodes 103a, 103b, and/or 103c) obtains, from a plurality of location records, a set of location records identifying a set of locations within the indoor space. In some cases, each of the location records includes information identifying: (i) one of the set of locations at which one of the WCDs was estimated to be located at and (ii) a time stamp that identifies a time at which the WCD was estimated to be located at the location. This information may constitute trajectory data for the WCD. In some cases, the plurality of location records corresponding to the plurality of WCDs may be all location records generated and/or stored by a wireless network operator (e.g., by a cellular network operator).
[0055] In some implementations, the set of LRs are obtained from a database (105/1 15) that stores the plurality of LRs. The stored plurality of LRs may comprise the set of LRs and another set of LRs. In such implementations, the obtained set of LRs may correspond to the area occupied by the indoor space, and the other set of LRs may include LRs which do not correspond to the area occupied by the indoor space. In some examples, LRs from the other set of LRs that do not correspond to the area occupied by the indoor space are received at the system 103/a/b/c. As an example, the system may request from the database all LRs corresponding to a set of WCDs in a given time period. These LRs may correspond to WCDs that were frequently in the indoor space, seldom in the indoor space, and/or WCDs that were never in the indoor space during the given time period. For instance, at least one LR in the set of LRs that correspond to the area occupied by the indoor space and at least one LR in the other set of LRs that do not correspond to the area occupied by the indoor space may be associated in the database with the same subscriber of a wireless communication network. In this example, the system may filter out the LRs in the other set of LRs so that they are not used to estimate the locations of the boundaries of the indoor blocks. In some cases, this may involve identifying, from the LRs returned by the database, those LRs which have a location inside the indoor space. Then, the system may identify clusters based on only the identified LRs. In some examples, the filtering may use GPS coordinates or GPS strength measurement information, which may be available in the location records. For example, the system may use GPS data to identify LRs that correspond to locations outside the indoor space, where the set of locations that are divided into clusters in step 404 do not include any location identified as being outside the indoor space.
[0056] In step 404, the system (e.g., system nodes 103a/b/c) estimates locations of the boundaries of the indoor blocks by: (i) dividing the set of locations into a plurality of location clusters (e.g., 201 -229/301 -304), where each of the plurality of location clusters is associated with a subset of the set of locations and with one of the plurality of indoor blocks; and (ii) determining for each of the plurality of location clusters (e.g., 201 -229/301 -304) a polygon (e.g., 251 -279/311 -314) that approximates a shape of the location cluster.
[0057] In an embodiment, step 404 may be preceded by a step 403, in which the system uses vertical coordinates in the location records to classify the location records into different floors, such that step 404 is performed on a floor-by-floor basis. More specifically, the obtained location records may include vertical coordinates for the multiple locations in the indoor space at which the set of WCDs have been located. The system may use the vertical coordinates to classify the location records into different floors. The system may perform the step of using the location records to divide the multiple locations into a plurality of location clusters on a floor-by- floor basis. Step 403 may be part of a step of determining an overall building structure by detecting horizontal trajectories as floors, sloped trajectories as stairs, and vertical trajectories as elevators.
[0058] In step 406, the system may generate a map that is based on the estimated locations of the boundaries of the indoor blocks in the indoor space. This is discussed in more detail below.
[0059] Referring to FIG. 2B and 3B, the boundaries are shown as dotted lines, and in the illustrated examples may coincide with the boundaries of the polygons determined in step 404. In other examples, the boundaries of the indoor blocks may be shifted from the polygon boundaries determined in step 404. The corners of the boundaries of the indoor blocks may also have coordinates equal to or derived from the corner points (shown as black diamonds in FIG. 3B) of the polygons.
[0060] In an embodiment, each location cluster may be considered a walkable area in an indoor space. In some examples, each location cluster may correspond to location records whose identified locations occupy a region with higher location density (e.g., measured as LR locations 2
per mm ) compared to a periphery of that region. In some examples, two location clusters may have to be separated by a region having no corresponding location record. These clusters may be identified after filtering out all location records, if any, corresponding to instances in which WCDs were located outside the indoor space.
[0061] A boundary-inferring algorithm may be used to classify location records into clusters. The boundary-inferring algorithm may be used to classify location records into clusters, detect cluster boundaries, and identify walkable areas. In one implementation, the clusters may be identified through the algorithm called ordering points to identify the clustering structure (OPTICS). Other algorithms include the algorithm called generalized density-based spatial clustering of applications with noise (GDBSCAN), and
Ericsson's "cluster splitting" method, which is discussed in WO 2006/050068, the content of which is incorporated here in its entirety.
[0062] In an example that uses the OPTICS clustering algorithm, the system (e.g.,
103a/b/c) can detect some kind of density drop to detect cluster boundaries (e.g., borders). Because of barriers like walls and furniture, the LR density (e.g., trajectory density) drops between boundaries of adjacent blocks. Therefore, the clusters and their boundaries can be detected by the OPTICS clustering algorithm. The OPTICS clustering algorithm requires just two input parameters, the maximum distance (radius) ε and the minimum number of points required to form a cluster. The maximum distance parameter ε may be unnecessary in some circumstances, or may be set to a maximum possible value.
[0063] In some cases, the plurality of clusters corresponds to a plurality of walkable spaces in the indoor space. Each of the walkable spaces may be an indoor block. For some walkable spaces (e.g., a living room or an office), users may spend more time near a center of the walkable space than its boundaries. This may be reflected through obtained LRs which indicate a greater density of identified or otherwise tracked LR locations near a center of the walkable space than near a boundary of the walkable space. This may also be reflected through obtained LRs which identify LR locations in at least one of the walkable spaces that are located closer to a center of the walkable space than to a boundary of the walkable space. This may be different than employing dedicated contributors, who may measure a building by walking along the boundaries of internal structures, and may minimize time spent in the center of walkable spaces. [0064] In some cases, the obtained LRs may identify WCDs that are stationary for more than a predetermined period of time or have a speed that is less than a predetermined threshold. These locations records may, for example, be associated with users who are sitting in an office or who are slowly walking through a museum or gallery. This pattern of movement (or lack of movement) may differ from the situation involving dedicated contributors, who may be employed to move quickly to follow walls and other internal structures in a building.
[0065] In an embodiment, a polygon that approximates the shape of a cluster may be a convex polygon or a concave polygon. For some implementations, the polygon may be represented through a plurality of comer points (e.g., vertex points). For instance, a rectangular polygon may be represented through four corner points.
[0066] In step 406, the system generates a map that is based on the estimated locations of the boundaries of the indoor blocks in the indoor space. In some instances, the map may be a data structure that identifies a plurality of boundary coordinates for various indoor blocks in an indoor space. Table 1 illustrates a portion of an example data structure for the generated map. In Table 1, indoor blocks A, B, C, and D may correspond with polygons 311 , 312, 313, and 314, respectively.
Figure imgf000019_0001
Table 1 : Example data structure which may form at least part of a generated map of an indoor space
[0067] In an embodiment, generating the map comprises extracting for each of the polygons a set of corner points (e.g., vertex points). The map may comprise a data structure (see, e.g., Table 1) that identifies a plurality of boundary coordinates that are equal to or derived from the extracted sets of corner points (e.g., vertex points). Using the boundary coordinates of the polygons provides a simplified manner of representing the clusters, and may also reduce the storage space needed to store the map.
[0068] In FIG. 3B, the boundary coordinates (e.g., Xa2, Ya2) may be set to be equal to a corresponding comer point of a polygon (e.g., denoted as XPLR2, PLR2)- In an embodiment, the boundary coordinates may be derived from the extracted sets of corner points by adjusting the corner points based on other information, such as discontinuity in a RSSI value. For instance, FIG. 3B illustrates a discontinuity in received signal strength indication (RSSI) value centered at XRSSI- In some cases, the location records themselves may identify RSSI values, while in some cases RSSI values may be separately obtained by the map generating system. In this example, the boundary coordinate Xa2 may be equal to OLXPLR2 + PXRSSI- The boundary coordinate YA2 may, in this example, still be equal to YPLR2- The RSSI discontinuity may reflect a penetration loss between borders like walls. The RSSI value can serve as good reference information for enhancing boundary inferring. Thus, for the detected boundary points, changes or discontinuities of RSSI distribution can be used.
[0069] In some cases, the system may further calibrate a boundary coordinate with the value γΡχ, where Ρχ is data representing a determined accuracy level of a wireless
communication system or technique (e.g., BLE system, WiFi system, cellular system, AECID, GPS, OTDOA, etc.) that generated the obtained LRs, and wherein γ is a predetermined weight value. In these cases, a coordinate such as XA2 may be expressed as OLXPLR2 + PXRSSI + γΡχ. In an embodiment, a boundary coordinate for an updated floor layout may be adjusted based on a previously determined boundary coordinate for, e.g., the original floor layout, on which a previously digitized map could have been based.
[0070] FIG. 5 illustrates additional steps relating to using the generated map to perform indoor navigation. These steps may be performed in a context in which the generated map includes blocks that correspond to the determined polygons. The generated map may identify indoor blocks represented by the determined polygons. In step 502, the system (e.g., node 103a, 103b, and/or 103c) generates way-through information for each of the blocks based on the obtained location records. The way-through information may be information that identifies the existence of a path through or across at least part of the indoor block, or information that identifies the existence of a path from one indoor block to another indoor block. The way- through information is represented by arrows in FIGS. 6 and 7B. In FIG. 7B, the way -through information may indicate that there is a walkable path between block A and block B, between block B and block C, and between block B and block D. This way-through information may be determined, for instance, based on trajectory data extracted from the location records. For instance, the location records may identify a trajectory for WCD 1, and a trajectory for WCD 2, as illustrated in FIG. 7A. The trajectory for WCD 1 may indicate that there is a walkable path between block A and block B, and between block B and block C. The trajectory for WCD 2 may indicate that there is a walkable path between block D and block B. In an embodiment, this step may be done offline.
[0071] In step 504, the system (e.g., node 103a, 103b, and/or 103c) receives a navigation request from a user device in the indoor space. For instance, a visitor in an office building may wish to navigate from his or her present location to a conference room.
[0072] In step 506, the system determines a source location (e.g., xSOurce, y source, Zsource) of the user and a destination location (e.g., Xdest, ydest, Zdest) for the navigation request. This determination may be based on any of the positioning determination techniques discussed above, or based on some other position determination technique (e.g., based on user scanning a location tag on a wall at his or her location).
[0073] In step 508, the system (e.g., 103a b/c) identifies, as a source block, one of the indoor blocks in the map to which the source location belongs. In an embodiment, the system may perform step 508 by determining a containment relationship between the user (or his or her WCD) and the inferred indoor blocks. The boundary coordinates of indoor blocks may have been determined according to the steps discussed above. A determination may then be made as to which of the indoor blocks the source location belongs. This may involve solving a point- in-polygon (PIP) problem. Examples of techniques to address this problem may include the ray casting algorithm or winding number algorithm. For example, with the known boundary coordinates of the indoor blocks, the edges of the indoor block can be calculated by the system. Then the system calculates the number of intersections from the source location to the edges of the indoor block. If the source location is on the outside of the block, the number of intersections is an even number. If the source location is on the inside of the block then the number of intersections is an odd number.
[0074] In step 510, the system (e.g., 103a b/c) identifies, as a destination block, one of the blocks in the map to which the destination location belongs. This may use the same or similar techniques employed in step 508. [0075] In step 512, the system 103a/b/c determines, based on the way -through information, a navigation route from the source block to the destination block. In some cases, determining the navigation route comprises selecting, from a plurality of navigation routes, a navigation route with the minimum number of blocks to traverse (e.g., a navigation route through block B). In some cases, determining the navigation route comprises selecting, from a plurality of navigation routes, a navigation route most representative of the obtained trajectory.
[0076] In step 514, the system (e.g., 103a/b/c) transmits the navigation route to the user device.
[0077] The present disclosure may be applicable in the context of a wireless sensor networks, machine type communications (MTC), etc.
[0078] Exemplary System Node
[0079] FIG. 8 illustrates a block diagram of an example of a system node, such as system node 103a, 103b, or 103c. As shown in FIG. 8, the system node 103a/b/c may include: a computer system (CS) 802, which may include one or more processors 855 (e.g., a general purpose microprocessor and/or one or more other data processing circuits, such as an application specific integrated circuit (ASIC), field-programmable gate arrays (FPGAs), and the like); a network interface 805 for use in connecting the network node to a network (e.g., core network) and communicating with other units connected to the network; a transceiver 807 coupled to an antenna 808 for wirelessly communicating with WCDs; and a data storage system 806 for storing information (e.g., network slice information received from network management node (e.g., NM or DM), which may include one or more non-volatile storage devices and/or one or more volatile storage devices (e.g., random access memory (RAM)). In embodiments where computer system 802 includes a general purpose microprocessor, a computer program product (CPP) 841 may be provided. CPP 841 includes a non -transitory computer readable medium (CRM) 842 storing a computer program (CP) 843 comprising computer readable instructions (CRI) 844. CRM 842 may be a non-transitory computer readable medium (i.e., magnetic media (e.g., a hard disk), optical media (e.g., a DVD), flash memory, and the like). In some embodiments, the CRI 844 of computer program 843 is configured such that when executed by data processing system 802, the CRI causes the computer system to perform steps described herein. In other embodiments, computer system 802 may consist merely of one or more ASICs. Hence, the features of the embodiments described herein may be implemented in hardware and/or software.
[0080] In an embodiment, the system 103a/b/c includes a node (e.g., apparatus) 900 for producing a machine-generated map of an indoor space from a plurality of WCDs. The indoor space may be divided into a plurality of indoor blocks. In this embodiment, the node comprises: means for obtaining (902) from the plurality of location records, a set of location records identifying a set of locations within the indoor space. It further comprises means for estimating (904) locations of the boundaries of the indoor blocks by: dividing the set of locations into a plurality of location clusters (201-229/301-304), each of the plurality of location clusters being associated with a subset of the set of locations and with one of the plurality of indoor blocks; (ii) determining for each of the plurality of location clusters (201-229/301 -304) a polygon (251- 279/311 -314) that approximates a shape of the location cluster
[0081] The node further comprises means for generating (906) a map that is based on the estimated locations of the boundaries of the indoor blocks in the indoor space.
[0082] While various embodiments of the present invention have been described above, it should be understood that they have been presented by way of example only, and not limitation. Thus, the breadth and scope of the present invention should not be limited by any of the above-described exemplary embodiments.
[0083] Additionally, while the processes described above and illustrated in the drawings are shown as a sequence of steps, this was done solely for the sake of illustration. Accordingly, it is contemplated that some steps may be added, some steps may be omitted, and the order of the steps may be re-arranged.

Claims

CLAIMS:
1. A method of producing a machine-generated map of an indoor space (101) from a plurality of location records corresponding to a plurality of wireless communication devices (WCDs), the indoor space (101) being divided into a plurality of indoor blocks, the method comprising:
a system (103a/b/c) obtaining (402), from the plurality of location records, a set of location records identifying a set of locations within the indoor space;
the system (103a/b/c) estimating (404) locations of the boundaries of the indoor blocks by:
dividing the set of locations into a plurality of location clusters (201 -229/301- 304), each of the plurality of location clusters being associated with a subset of the set of locations and with one of the plurality of indoor blocks;
determining for each of the plurality of location clusters (201-229/301 -304) a polygon (251 -279/311-314) that approximates a shape of the location cluster; and
the system (103a/b/c) generating (406) a map that is based on the estimated locations of the boundaries of the indoor blocks in the indoor space.
2. The method of claim 1, wherein each of the location records includes information identifying: (i) one of the set of locations at which one of the WCDs was estimated to be located at and (ii) a time stamp that identifies a time at which the WCD was estimated to be located at the location.
3. The method of claim 1, wherein the set of location records, LRs, are obtained from a database (105/115) that stores the plurality of LRs, wherein the stored plurality of LRs comprises the set of LRs and another set of LRs, the obtained set of LRs corresponding to the area occupied by the indoor space, and the other set of LRs including LRs which do not correspond to the area occupied by the indoor space.
4. The method of claim 3, wherein LRs from the other set of LRs that do not correspond to the area occupied by the indoor space are received at the system (103/a/b/c), the method further comprising filtering out the LRs in the other set of LRs so that they are not used to estimate the locations of the boundaries of the indoor blocks.
5. The method of claim 4, wherein at least one LR in the set of LRs that correspond to the area occupied by the indoor space and at least one LR in the other set of LRs that do not correspond to the area occupied by the indoor space are associated in the database with the same subscriber of a wireless communication network.
6. The method of claim 4, wherein filtering out the LRs in the other set of LRs comprises using global positioning system, GPS, data to identify LRs that correspond to locations outside the indoor space, wherein the set of locations that are divided into clusters do not include any location identified as being outside the indoor space.
7. The method of any one of claims 3-6, wherein the plurality of location clusters (201- 229/301 -304) corresponds to a plurality of walkable spaces in the indoor space, and wherein the obtained LRs indicate that the locations for a location cluster corresponding to one of the walkable spaces have greater location density near a center of the walkable space than near a boundary of the walkable space.
8. The method of any one of claims 3-6, wherein the plurality of location clusters (201- 229/301 -304) corresponds to a plurality of walkable spaces in the indoor space, and wherein the obtained LRs identify locations in at least one of the walkable spaces that are located closer to a center of the walkable space than to a boundary of the walkable space.
9. The method of any one of claims 3-8, wherein the obtained LRs identify WCDs that are stationary for more than a predetermined period of time or have a speed that is less than a predetermined threshold.
10. The method of claim 3, wherein generating the map comprises extracting for each of the polygons (251 -279/311 -314) a set of comer points, the map comprising a data structure that identifies a plurality of boundary coordinates that are equal to or derived from the extracted sets of corner points.
11. The method of claim 10, wherein at least one of the boundary coordinates is determined based on calculating OPLR + PPRSSI , wherein PLR is a coordinate of an extracted corner point of a polygon, and PRssi a coordinate of a received signal strength indication, RSSI, discontinuity near the extracted corner point, and a and β are predetermined weight values.
12. The method of claim 11, further comprising calibrating the at least one of the boundary coordinates with the value γΡχ, wherein Ρχ is data representing a determined accuracy level of a technique that generated the obtained LRs, and wherein γ is a predetermined weight value.
13. The method of any one of claims 1-12, wherein the obtained location records include vertical coordinates for the set of locations, the method further comprising using the vertical coordinates to classify the location records into different floors, wherein the system performs the step of using the location records to divide the set of locations into a plurality of location clusters on a floor-by-floor basis.
14. The method of any one of claims 1-13, wherein the generated map identifies indoor blocks represented by the determined polygons, the method further comprising generating way- through information for each of the blocks based on the obtained set of location records, wherein the way-through information for a block identifies the existence of a path through or across at least part of the indoor block, or identifies the existence of a path between two indoor blocks.
15. The method of claim 14, further comprising:
receiving a navigation request from a user device in the indoor space;
determining a source location of the user device and a destination location for the navigation request;
identifying, as a source block, one of the indoor blocks in the map to which the source location belongs; identifying, as a destination block, one of the indoor blocks in the map to which the destination location belongs;
determining, based on the way-through information, a navigation route from the source block to the destination block; and
transmitting the navigation route to the user device.
16. The method of claim 15, wherein determining the navigation route comprises selecting, from a plurality of navigation routes, a navigation route with the minimum number of blocks to traverse.
17. The method of claim 15, wherein determining the navigation route comprises selecting, from a plurality of navigation routes, a navigation route most representative of the obtained trajectory data.
18. An apparatus for producing a machine-generated map of an indoor space (101) from a plurality of location records corresponding to a plurality of wireless communication devices (WCDs), the indoor space (101) being divided into a plurality of indoor blocks, the apparatus comprising one or more processors and a non-transitory computer readable medium storing instructions which, when executed by the one or more processors, cause the one or more processors to:
obtain (402), from the plurality of location records, a set of location records identifying a set of locations within the indoor space;
estimate (404) locations of the boundaries of the indoor blocks by:
dividing the set of locations into a plurality of location clusters (201 -229/301- 304), each of the plurality of location clusters being associated with a subset of the set of locations and with one of the plurality of indoor blocks;
determining for each of the plurality of location clusters (201-229/301 -304) a polygon (251 -279/311-314) that approximates a shape of the location cluster; and
generate (406) a map that is based on the estimated locations of the boundaries of the indoor blocks in the indoor space.
19. The apparatus of claim 18, wherein each of the location records includes information identifying: (i) one of the set of locations at which one of the WCDs was estimated to be located at and (ii) a time stamp that identifies a time at which the WCD was estimated to be located at the location.
20. The apparatus of claim 18, wherein location records, LRs, from the other set of LRs that do not correspond to the area occupied by the indoor space are received at the system
(103/a/b/c), the instructions further configured to cause the apparatus to filter out the LRs in the other set of LRs so that they are not used to estimate the locations of the boundaries of the indoor blocks.
21. The apparatus of claim 20, wherein LRs from the other set of LRs that do not correspond to the area occupied by the indoor space are received at the system (103/a/b/c), the instructions further configured to cause the one or more processors to filter out the LRs in the other set of LRs so that they are not used to estimate the locations of the boundaries of the indoor blocks.
22. The apparatus of claim 21, wherein at least one LR in the set of LRs that correspond to the area occupied by the indoor space and at least one LR in the other set of LRs that do not correspond to the area occupied by the indoor space are associated in the database with the same subscriber of a wireless communication network.
23. The apparatus of claim 21, wherein the one or more processors are configured to filter out the LRs in the other set of LRs comprises using global positioning system, GPS, data to identify LRs that correspond to locations outside the indoor space, wherein the set of locations that are divided into clusters do not include any location identified as being outside the indoor space.
24. The apparatus of any one of claims 20-23, wherein the plurality of clusters (201-229/301 - 304) corresponds to a plurality of walkable spaces in the indoor space, and wherein the obtained LRs indicate that the locations for a location cluster corresponding to one of the walkable spaces have greater location density near a center of the walkable space than near a boundary of the walkable space.
25. The apparatus of any one of claims 20-23, wherein the plurality of location clusters (201 - 229/301 -304) corresponds to a plurality of walkable spaces in the indoor space, and wherein the obtained LRs identify locations in at least one of the walkable spaces that are located closer to a center of the walkable space than to a boundary of the walkable space.
26. The apparatus of any one of claims 20-25, wherein the obtained LRs identify WCDs that are stationary for more than a predetermined period of time or have a speed that is less than a predetermined threshold.
27. The apparatus of claim 20, wherein the one or more processors are configured to generate the map by extracting for each of the polygons (251 -279/311 -314) a set of corner points, the map comprising a data structure that identifies a plurality of boundary coordinates that are equal to or derived from the extracted sets of corner points.
28. The apparatus of claim 27, wherein at least one of the boundary coordinates is determined based on calculating OPLR + PPRSSI , wherein PLR is a coordinate of an extracted corner point of a polygon, and PRssi a coordinate of a received signal strength indication, RSSI, discontinuity near the extracted comer point, and a and β are predetermined weight values.
29. The apparatus of claim 28, wherein the one or more processors are configured to calibrate the at least one of the boundary coordinates with the value γΡχ, wherein Ρχ is data representing a determined accuracy level of a technique that generated the obtained LRs, and wherein γ is a predetermined weight value.
30. The apparatus of any one of claims 18-29, wherein the obtained location records include vertical coordinates for the set of locations, the instructions further configured to cause the one or more processors to use the vertical coordinates to classify the location records into different floors, wherein the system performs the step of using the location records to divide the set of locations into a plurality of location clusters on a floor-by- floor basis.
31. The apparatus of any one of claims 18-30, wherein the generated map identifies indoor blocks represented by the determined polygons, the one or more processors further configured to generate way -through information for each of the blocks based on the obtained trajectory data, wherein the way-through information for a block identifies the existence of a path through or across at least part of the indoor block, or identifies the existence of a path between two indoor blocks.
32. The apparatus of claim 31 , one or more processors are further configured to:
receive a navigation request from a user device in the indoor space;
determine a source location of the user device and a destination location for the navigation request;
identify, as a source block, one of the indoor blocks in the map to which the source location belongs;
identify, as a destination block, one of the indoor blocks in the map to which the destination location belongs;
determine, based on the way-through information, a navigation route from the source block to the destination block; and
transmit the navigation route to the user device.
33. The apparatus of claim 32, wherein the one or more processors are configured to determine the navigation route by selecting, from a plurality of navigation routes, a navigation route with the minimum number of blocks to traverse.
34. The apparatus of claim 32, wherein the one or more processors are configured to determine the navigation route by selecting, from a plurality of navigation routes, a navigation route most representative of the obtained trajectory data.
PCT/SE2016/050318 2016-04-12 2016-04-12 System, apparatus, and method for using location records associated with wireless communication devices to generate an indoor map WO2017180033A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/SE2016/050318 WO2017180033A1 (en) 2016-04-12 2016-04-12 System, apparatus, and method for using location records associated with wireless communication devices to generate an indoor map

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/SE2016/050318 WO2017180033A1 (en) 2016-04-12 2016-04-12 System, apparatus, and method for using location records associated with wireless communication devices to generate an indoor map

Publications (1)

Publication Number Publication Date
WO2017180033A1 true WO2017180033A1 (en) 2017-10-19

Family

ID=55863163

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/SE2016/050318 WO2017180033A1 (en) 2016-04-12 2016-04-12 System, apparatus, and method for using location records associated with wireless communication devices to generate an indoor map

Country Status (1)

Country Link
WO (1) WO2017180033A1 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108680897A (en) * 2018-05-07 2018-10-19 北京邮电大学 A kind of indoor orientation method, device, electronic equipment and storage medium
WO2020020535A1 (en) * 2018-07-25 2020-01-30 Robert Bosch Gmbh A method of configuring a plurality of position co-ordinates for indoor positioning
WO2021118866A1 (en) * 2019-12-13 2021-06-17 Billups, Inc. Mobile signal based building footprints
US11250178B2 (en) * 2018-05-11 2022-02-15 Spaceiq Llc Dynamic spatial clustering construction and visualization system for office space planning and optimization
WO2023063953A1 (en) * 2021-10-14 2023-04-20 Google Llc Automatically generating floor maps in an indoor positioning system
US11815357B2 (en) 2016-08-11 2023-11-14 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for indoor mapping, positioning, or navigation

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007043915A1 (en) 2005-10-07 2007-04-19 Telefonaktiebolaget Lm Ericsson (Publ) Adaptive enhanced cell identity positioning
WO2007089182A1 (en) 2006-02-03 2007-08-09 Telefonaktiebolaget Lm Ericsson (Publ) Method and arrangement for high precision position reference measurements at indoor locations
WO2008054272A1 (en) 2006-10-30 2008-05-08 Telefonaktiebolaget Lm Ericsson (Publ) Extended clustering for improved positioning
US20120290254A1 (en) * 2011-05-13 2012-11-15 Google Inc. Indoor localization of mobile devices
WO2013065042A1 (en) * 2011-11-02 2013-05-10 Ronen Shai Generating and using a location fingerprinting map
US20130297198A1 (en) * 2010-12-20 2013-11-07 Tomtom Belgium N.V. Method for generating map data
WO2014026338A1 (en) 2012-08-15 2014-02-20 Google Inc. Crowd-sourcing indoor locations
US20140278060A1 (en) 2007-05-31 2014-09-18 Trx Systems, Inc. Collaborative creation of indoor maps

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007043915A1 (en) 2005-10-07 2007-04-19 Telefonaktiebolaget Lm Ericsson (Publ) Adaptive enhanced cell identity positioning
WO2007089182A1 (en) 2006-02-03 2007-08-09 Telefonaktiebolaget Lm Ericsson (Publ) Method and arrangement for high precision position reference measurements at indoor locations
WO2008054272A1 (en) 2006-10-30 2008-05-08 Telefonaktiebolaget Lm Ericsson (Publ) Extended clustering for improved positioning
US20140278060A1 (en) 2007-05-31 2014-09-18 Trx Systems, Inc. Collaborative creation of indoor maps
US20130297198A1 (en) * 2010-12-20 2013-11-07 Tomtom Belgium N.V. Method for generating map data
US20120290254A1 (en) * 2011-05-13 2012-11-15 Google Inc. Indoor localization of mobile devices
WO2013065042A1 (en) * 2011-11-02 2013-05-10 Ronen Shai Generating and using a location fingerprinting map
WO2014026338A1 (en) 2012-08-15 2014-02-20 Google Inc. Crowd-sourcing indoor locations

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11815357B2 (en) 2016-08-11 2023-11-14 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for indoor mapping, positioning, or navigation
CN108680897A (en) * 2018-05-07 2018-10-19 北京邮电大学 A kind of indoor orientation method, device, electronic equipment and storage medium
CN108680897B (en) * 2018-05-07 2020-05-29 北京邮电大学 Indoor positioning method and device, electronic equipment and storage medium
US11250178B2 (en) * 2018-05-11 2022-02-15 Spaceiq Llc Dynamic spatial clustering construction and visualization system for office space planning and optimization
WO2020020535A1 (en) * 2018-07-25 2020-01-30 Robert Bosch Gmbh A method of configuring a plurality of position co-ordinates for indoor positioning
WO2021118866A1 (en) * 2019-12-13 2021-06-17 Billups, Inc. Mobile signal based building footprints
US11486960B2 (en) 2019-12-13 2022-11-01 Billups, Inc. Mobile signal based building footprints
US11914065B2 (en) 2019-12-13 2024-02-27 Billups, Inc. Mobile signal based building footprints
WO2023063953A1 (en) * 2021-10-14 2023-04-20 Google Llc Automatically generating floor maps in an indoor positioning system

Similar Documents

Publication Publication Date Title
WO2017180033A1 (en) System, apparatus, and method for using location records associated with wireless communication devices to generate an indoor map
US10750470B2 (en) Systems and methods for determining if a receiver is inside or outside a building or area
JP5722408B2 (en) Management of location database of positioning system based on network
EP2671373B1 (en) Method and apparatus for mobile location determination
JP6025790B2 (en) Determining the location of a mobile device using a location database
US9234958B2 (en) Method, apparatus, and computer program product for distributed indoor three-dimensional radiomap
US20180003507A1 (en) Position estimation
CN107110652B (en) Processing spatial features
US20140185518A1 (en) SYSTEM AND METHOD FOR WiFi POSITIONING
Jeong et al. SALA: Smartphone-assisted localization algorithm for positioning indoor IoT devices
US20120039316A1 (en) Method of generating map, and method of measuring location of terminal using the map
CN103414995A (en) Zone boundary detection method based on quadtree
Bonde et al. Finding indoor position of person using wi-fi & smartphone: a survey
US20210325189A1 (en) Localization using internet of things devices
US20210329407A1 (en) Constrained user device location using building topology
US20220122738A1 (en) Method and system for contact tracing using positioning in a venue
Das et al. Algorithmic aspects of sensor localization
Sun et al. Smartphone-based WiFi FTM fingerprinting approach with map-aided particle filter
US20230176166A1 (en) Offline Radio Maps for Crowdsourced GNSS Rescue Areas
Jeong et al. Taemoon Kim, Hyunsoo Lee, Song Min Kim & Sang-Chul Kim
CN112533129A (en) High-precision positioning method
Ahmadkhani et al. An Improved Indoor Positioning System Based on WLAN
EP3282274A1 (en) Apparatus and methods for estimating location-related properties of mobile devices

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16719944

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 16719944

Country of ref document: EP

Kind code of ref document: A1