US20190306665A1 - Navigation Tracking In An Always Aware Location Environment With Mobile Localization Nodes - Google Patents
Navigation Tracking In An Always Aware Location Environment With Mobile Localization Nodes Download PDFInfo
- Publication number
- US20190306665A1 US20190306665A1 US16/276,408 US201916276408A US2019306665A1 US 20190306665 A1 US20190306665 A1 US 20190306665A1 US 201916276408 A US201916276408 A US 201916276408A US 2019306665 A1 US2019306665 A1 US 2019306665A1
- Authority
- US
- United States
- Prior art keywords
- mobile localization
- localization node
- environment
- aal
- mobile
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
- 230000004807 localization Effects 0.000 title claims abstract description 353
- 238000004891 communication Methods 0.000 claims abstract description 51
- 238000005259 measurement Methods 0.000 claims description 36
- 238000000034 method Methods 0.000 claims description 31
- 230000002596 correlated effect Effects 0.000 claims description 30
- 238000012545 processing Methods 0.000 description 17
- 230000033001 locomotion Effects 0.000 description 14
- 230000000875 corresponding effect Effects 0.000 description 13
- 239000013598 vector Substances 0.000 description 8
- 238000013500 data storage Methods 0.000 description 7
- 230000003190 augmentative effect Effects 0.000 description 6
- 230000001413 cellular effect Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/029—Location-based management or tracking services
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S11/00—Systems for determining distance or velocity not using reflection or reradiation
- G01S11/02—Systems for determining distance or velocity not using reflection or reradiation using radio waves
- G01S11/08—Systems for determining distance or velocity not using reflection or reradiation using radio waves using synchronised clocks
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S5/00—Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
- G01S5/02—Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
- G01S5/0257—Hybrid positioning
- G01S5/0258—Hybrid positioning by combining or switching between measurements derived from different systems
- G01S5/02585—Hybrid positioning by combining or switching between measurements derived from different systems at least one of the measurements being a non-radio measurement
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/021—Services related to particular areas, e.g. point of interest [POI] services, venue services or geofences
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/33—Services specially adapted for particular environments, situations or purposes for indoor environments, e.g. buildings
Definitions
- a geo-fenced area can be established as a virtual perimeter around a boundary of any structure or environment, such as a building, an area of a building, a retail store, a warehouse, an airport terminal, a parking lot, an outdoor region, or other type of designated area.
- an indoor positioning system for a geo-fenced area can be established with a server computing device and wireless devices, commonly referred to as the system anchors that establish the boundary edges of the indoor positioning system.
- the anchor devices communicate two-dimensional, x,y-coordinates position location information to the server computing device, where the x,y-coordinates are relative to a horizontal plane of the geo-fenced area.
- the server computing device and/or the anchor devices can also communicate with mobile devices and wireless tags for two-dimensional device tracking within the geo-fenced area.
- a user may carry an object that is trackable with a wireless tag and/or carry a mobile device into the geo-fenced area, and the various devices may be implemented to communicate in the geo-fenced area using various wireless communication technologies, such as ultra-wideband (UWB), Near Field Communication (NFC), Radio-frequency identification (RFID), Real-time Locating System (RTLS), BluetoothTM, and/or Bluetooth Low Energy (BLE).
- UWB ultra-wideband
- NFC Near Field Communication
- RFID Radio-frequency identification
- RTLS Real-time Locating System
- BluetoothTM Bluetooth Low Energy
- BLE Bluetooth Low Energy
- the wireless communications between the geo-fenced area devices and a wireless tag or a mobile device that enters and moves about within the geo-fenced area can be delayed due to communication latencies, as well as being limited by the excessive power drain on the wireless tag or mobile device by the constant radio systems communication and positioning updates.
- FIG. 1 illustrates an example environment in which aspects of navigation tracking in an always aware location environment with mobile localization nodes can be implemented.
- FIG. 2 further illustrates an example mobile sensor and mobile device implemented in the example environment in which aspects of navigation tracking in an always aware location environment with mobile localization nodes can be implemented.
- FIG. 3 illustrates an example three-dimensional (3D) mesh that is generated to visually represent mobile sensors and devices in the example environment in which aspects of navigation tracking in an always aware location environment with mobile localization nodes can be implemented.
- FIG. 4 illustrates example method(s) of navigation tracking in an always aware location environment with mobile localization nodes in accordance with techniques described herein.
- FIG. 5 illustrates various components of an example device that can implement aspects of navigation tracking in an always aware location environment with mobile localization nodes.
- Navigation tracking in an always aware location environment with mobile localization nodes is described, and can be implemented to track objects and items in three dimensions as location coordinates in an “always aware location” (AAL) environment, such as in a geo-fenced area. Aspects of the navigation tracking can be implemented in the context of the AAL environment, such as for any type of inventory tracking, item location, item recovery, and deriving location context of items and objects in the environment.
- Mobile localization nodes also referred to as mobile sensors
- the mobile localization nodes can be utilized in a retail store or warehouse environment that has been established as an AAL environment (e.g., a geo-fenced area) having any number of inventoried items, objects, and/or products for storage or purchase, each of which can be identified and tracked with a mobile localization node.
- the mobile localization nodes may also be used in a person's home when established as an AAL environment to locate and track items, such as to find one's keys, wallet, or mobile phone that has been misplaced in the environment.
- an AAL environment can be established as a virtual perimeter in or around a boundary of any structure or environment.
- a mobile localization node that corresponds to an item or object in an AAL environment is implemented with a positioning module, which is designed to self-track the navigation (e.g., movement and locations) of the mobile localization node within the AAL environment based on data received from an inertial measurement unit of the mobile localization node.
- a positioning module which is designed to self-track the navigation (e.g., movement and locations) of the mobile localization node within the AAL environment based on data received from an inertial measurement unit of the mobile localization node.
- the features of navigation tracking in an always aware location environment with mobile localization nodes can be implemented to track objects and items in three dimensions as x,y,z-coordinates in an AAL environment.
- the self-tracking features of the mobile localization nodes implemented for the navigation tracking do not suffer from the communication latencies that are common with device tracking, and are not limited by the typical excessive power drain that occurs with typical wireless tags or mobile devices by the constant radio systems communication and positioning updates to track the two-dimensional x,y-coordinates position locations.
- an AAL environment such as a geo-fenced area
- a server computing device that manages wireless communications and tracking updates in the environment
- the server computing device implements a location module that is designed to detect and track mobile sensors and mobile devices in one or two dimensions in the AAL environment, such as designated by x-coordinates or x,y-coordinates relative to a horizontal plane of the environment.
- the positioning module of a mobile localization node in the AAL environment can initially receive the x-coordinate data or the x,y-coordinate data corresponding to the mobile localization node from the server computing device.
- the positioning module of the mobile localization node can then determine (or has previously determined) one or more additional coordinates, such as a z-coordinate, of the mobile localization node in the AAL environment, such as from the inertial measurement unit of the mobile localization node.
- the positioning module can then correlate the initial x-coordinate data or the x,y-coordinates data received from the server computing device with the one or more additional coordinates (e.g., the z-elevation data) determined by the positioning module for the mobile localization node, such as based on a common timestamp for the initial and additional coordinates (e.g., x,y,z-coordinates).
- the positioning module of the mobile localization node can designate a device origin of the mobile localization node within the AAL environment based on a combination of the coordinates (e.g., the x,y,z-coordinates) that have been correlated and correspond to the location of the mobile localization node in the AAL environment.
- the device origin can be set at (0,0,0), or any other coordinates relative to the location or position of the mobile localization node in the AAL environment. Initially, the sensors of the inertial measurement unit do not have a frame of reference to know where the mobile localization node is located in the environment.
- the correlation of the x,y,z-coordinates provides a dead-reckoning from which to track the navigation of the mobile localization node in the AAL environment, such as based on data received from the inertial measurement unit of the mobile localization node.
- the data received from the inertial measurement unit can be in the form of rotational vectors from the sensors of the inertial measurement unit.
- the coordinate tracking data received from the inertial measurement unit can be augmented by accelerometer data, such as to infer z-elevation data, and may be augmented with orientation data in the form of pitch, yaw, and/or roll.
- Other sensor and location data may be received from a barometer sensor, a camera, and other sensors from which dimension, rotation, navigation, and location coordinates can be determined.
- the positioning module is implemented to then self-track navigation of the mobile localization node in the AAL environment in three dimensions based on updates to the x,y,z-coordinates as the mobile sensor moves (or is moved with an associated item) from the designated origin to subsequent locations within the AAL environment.
- the self-tracking navigation of the mobile localization node by the positioning module is implemented without communication to the server computing device, and without receiving updated location coordinate data from the server computing device.
- While features and concepts of navigation tracking in an always aware location environment with mobile localization nodes can be implemented in any number of different devices, systems, environments, and/or configurations, aspects of navigation tracking in an always aware location environment with mobile localization nodes are described in the context of the following example devices, systems, and methods.
- FIG. 1 illustrates an example environment 100 in which aspects of navigation tracking in an always aware location environment with mobile localization nodes can be implemented.
- the example environment 100 is representative of any indoor or outdoor region or environment that is established as an always aware location (AAL) environment 102 , such as a geo-fenced area in a building, an area of a building, a warehouse, an airport terminal, a parking lot, an outdoor region, or other type of designated area or environment.
- An AAL environment designated by a geo-fenced area is generally established as a virtual perimeter around a boundary of any structure or environment, and in this example, the AAL environment 102 is a virtual perimeter within the boundaries of a building, such as a warehouse or retail store, in which objects are stored and/or displayed.
- the AAL environment 102 is established as a two-dimensional area based on x,y-coordinates relative to a horizontal plane of the environment.
- a person may enter the building (and into the AAL environment 102 ), such as any type of retail store that a person may enter looking for an item to purchase, a warehouse that a person may enter looking for a stocked item, a library where a person may browse magazines and borrow reading material, or any other type of environment that a person might visit while carrying a mobile phone 104 .
- Aspects of navigation tracking in an always aware location environment with mobile localization nodes may also be implemented in a person's home to locate and track items, such as to find one's keys, wallet, or mobile phone that has been misplaced in an “always aware location” (AAL) system.
- AAL always aware location
- the mobile phone 104 is an example of any type of mobile device 106 , such as a tablet device, a wearable device or wearable article, or a mobile phone.
- the mobile device 106 is any type of an electronic and/or computing device implemented with various components, such as a processing system and memory, as well as any number and combination of different components as further described with reference to the example device shown in FIG. 5 . Details of the mobile device 106 are further shown and described with reference to FIG. 2 that illustrates an example 200 of the mobile device 106 in context of the example environment 100 .
- the terms “person” and “user” are generally used herein interchangeably, where a person with the mobile phone 104 is also the user of the mobile phone in the environment of the AAL environment 102 .
- the AAL environment 102 can include any number of inventoried items, objects, and/or products for storage or purchase, each of which can be identified and tracked with a mobile localization node 108 .
- a mobile localization node is a small electronic tag or label that can process and/or store data and other information in memory on the mobile localization node, and the mobile localization node 108 can be associated with any type of object or item, such as by being placed in or affixed to an object for inventory tracking, item location, item recovery, and the like.
- the mobile localization node 108 is associated with (e.g., is attached to) an item 110 that is located in the AAL environment 102 on a top shelf of a shelving unit.
- a mobile localization node 112 is associated with an item 114 that is located in the AAL environment 102 on a middle shelf of the shelving unit
- a mobile localization node 116 is associated with an item 118 that is located in the AAL environment 102 on a bottom shelf of the shelving unit.
- each of the items in the AAL environment can be located and/or tracked based on x,y,z-coordinates 120 within the boundaries 122 of the environment.
- the mobile localization nodes can be implemented as any type of an electronic and/or computing device implemented with various components, such as a processing system and memory, as well as any number and combination of different components as further described with reference to the example device shown in FIG. 5 . Details of the mobile localization node 108 are further shown and described with reference to FIG. 2 that illustrates an example 200 of the mobile localization node 108 in context of the example environment 100 .
- the mobile localization node 108 can include a memory that stores identifying data of the item 110 that the mobile localization node is associated with, as well as a unique identifier of the particular mobile localization node 108 and may include any other type of metadata, such as location data that indicates a location or region of the item 110 in the AAL environment 102 .
- the mobile localization nodes may be implemented as any type of wireless-radio based tags for various different radio-based, wireless signaling, such as with LTE, Near Field Communication (NFC), Real-time Locating System (RTLS), radio frequency identification (RFID), BluetoothTM devices, and the like.
- the AAL environment 102 may also include Internet-of-things (IoT) network devices, Wi-Fi connected devices 124 , and/or additional mobile devices.
- the IoT devices in the AAL environment 102 may also include motion sensors, surveillance cameras, monitoring devices, control devices, and any other type of networked computing and/or electronic devices that wirelessly communicate in the AAL environment 102 .
- the AAL environment 102 includes a server computing device 126 that facilitates setup and wireless communications in the environment.
- the server computing device 126 implements a location module 128 , which may include independent processing, memory, and logic components functioning as a computing and/or electronic device integrated with the server computing device 126 .
- the location module 128 can be implemented as a software application or software module, such as computer-executable software instructions that are executable with a processor or processing system of the server computing device.
- the location module 128 can be stored on computer-readable storage memory, or with any suitable memory device or electronic data storage implemented with the server computing device.
- the server computing device 126 may be part of a business server system that is associated with the building, warehouse, retail store, or other environment for which the AAL environment 102 is established.
- the mobile phone 104 , other mobile devices 106 , and mobile localization nodes 108 that are carried into or placed in the AAL environment 102 may be registered as devices for communication with the server computing device 126 of a business server system.
- the mobile phone 104 , other mobile devices 106 , and mobile localization nodes 108 may be previously registered for communication between the devices and with the server computing device 126 , such as via the Wi-Fi connected device 124 in the environment of the AAL environment 102 .
- the mobile phone 104 , other mobile devices 106 , mobile localization nodes 108 , and other types of wireless communication devices may be setup to self-detect entry into the AAL environment 102 .
- the location module 128 of the server computing device 126 can detect entry of the mobile phone 104 , other mobile devices 106 , and mobile localization nodes 108 into the environment.
- the location module 128 is implemented to locate and track the wireless communication devices in one-dimension or two-dimensions in the AAL environment 102 , which is designated by the coordinates 120 relative to a horizontal plane of the environment.
- the term “localization nodes” that are located in the AAL environment 102 include any of the mobile phone 104 , other mobile devices 106 , the mobile localization nodes 108 , and any other wireless communication devices, wireless-radio based tags, sensors, and/or devices that include or implement wireless-radio based tags or sensors.
- the location module 128 can track the located nodes 130 and communicate coordinate data 132 to the located nodes 130 , which in this example, includes the mobile phone 104 , other mobile devices 106 , and the mobile localization node 108 in the AAL environment 102 .
- the mobile localization node 108 includes a positioning module 134 that implements aspects of navigation tracking in an always aware location environment with mobile localization nodes.
- the positioning module 134 may include independent processing, memory, and logic components functioning as a computing and/or electronic device integrated with the mobile localization node 108 .
- the positioning module 134 can be implemented as a software application or software module, such as computer-executable software instructions that are executable with a processor or processing system 202 of the mobile localization node 108 .
- the positioning module 134 can be stored on computer-readable storage memory (e.g., device memory 204 ), or with any suitable memory device or electronic data storage implemented with the mobile localization node 108 .
- the mobile localization node 108 includes an inertial measurement unit 206 , which may include various sensors, such as a gyroscope, an accelerometer, and/or other types of motion sensors to sense motion and movement of the mobile localization node 108 .
- the various sensors of the inertial measurement unit 206 generate sensor data vectors having three-dimensional parameters (e.g., rotational vectors in x, y, and z coordinates) indicating position, location, and/or orientation of the mobile localization node 108 .
- the positioning module 134 of the mobile localization node 108 is implemented to self-track the navigation of the mobile localization node 108 within the AAL environment 102 based on data received from the inertial measurement unit 206 of the mobile localization node.
- the data received from the inertial measurement unit can be in the form of rotational vector data in three dimensions from the sensors of the inertial measurement unit.
- the coordinate tracking data received from the inertial measurement unit 206 can be augmented by accelerometer data, such as to infer z-elevation data, and may be augmented with orientation data in the form of pitch, yaw, and/or roll.
- Other sensor and location data may be received from a barometer sensor, a camera, and other sensors from which dimension, rotation, navigation, and location coordinates can be determined.
- the mobile localization node 108 can also include one or more different wireless radio systems 208 , such as for Wi-Fi, BluetoothTM, Mobile Broadband, LTE, Near Field Communication (NFC), Real-time Locating System (RTLS), or any other wireless radio system or format for communication via respective wireless networks.
- the mobile localization node 108 implements the wireless radio systems 208 that each include a radio device, antenna, and chipset implemented for cellular, wireless, and/or other network communication with other devices, networks, and services.
- a wireless radio system 208 can be configured to implement any suitable communication protocol or standard.
- Any of the server, computing, and/or mobile devices, as well as the mobile localization nodes, described herein can communicate via any type of communication and data network (or combination of networks), such as for data communication between the mobile phone 104 , the mobile localization node 108 , the Wi-Fi connected device 124 , the server computing device 126 of the AAL environment 102 , and/or a cloud-based service.
- a network can be implemented to include a wired and/or wireless network, may be implemented using any type of network topology and/or communication protocol, and can be represented or otherwise implemented as a combination of two or more networks, to include cellular networks, IP-based networks, and/or the Internet.
- the network may also include mobile operator networks that are managed by a network provider of a cellular network, a mobile network operator, and/or other network operators, such as a communication service provider, mobile phone provider, and/or Internet service provider.
- the positioning module 134 of the mobile localization node 108 can receive the x,y-coordinate data 210 corresponding to the mobile localization node from the server computing device 126 , which has located the mobile localization node 108 as one of the located nodes 130 in the AAL environment 102 .
- the mobile localization node 108 can receive the coordinate data 210 as one or two initial coordinates of the mobile localization node 108 at a current location in the AAL environment.
- the mobile localization node 108 may receive the location coordinate data as an x-coordinate or as x,y-coordinates corresponding to the location of the mobile localization node in the AAL environment.
- the positioning module 134 of the mobile localization node 108 can then determine (or has previously determined) one or more additional coordinates of the mobile localization node in the AAL environment 102 , such as from the inertial measurement unit 206 of the mobile localization node. For example, the positioning module 134 can determine y,z-coordinate data or z-elevation data 212 that corresponds to the item 110 , which is located in the AAL environment 102 on the top shelf of the shelving unit.
- the positioning module 134 of the mobile localization node 108 can then correlate the one or two initial coordinates (e.g., the x-coordinate or the x,y-coordinates) received from the server computing device 126 with the one or more additional coordinates (e.g., the z-elevation data 212 ) determined by the positioning module for the mobile localization node, such as based on a common timestamp for the x,y,z-coordinates.
- the positioning module 134 of the mobile localization node 108 can designate a device origin 214 of the mobile localization node 108 within the AAL environment 102 based on a combination of the correlated coordinates (e.g., the x,y,z-coordinates that have been correlated) and that correspond to the location of the mobile localization node in the environment.
- the device origin 214 can be set at (0,0,0), or any other coordinates relative to the location or position of the mobile localization node 108 in the AAL environment 102 .
- the sensors of the inertial measurement unit 206 do not have a frame of reference to know where the mobile localization node is located in the environment.
- the correlation of the x,y,z-coordinates provides a dead-reckoning from which to track the navigation of the mobile localization node 108 in the AAL environment 102 based on the rotational vectors from the inertial measurement unit sensors.
- the positioning module 134 can determine a delta z from the device origin 214 as the z-elevation data 212 that corresponds to the item 110 located in the AAL environment 102 .
- the positioning module 134 is implemented to then self-track navigation of the mobile localization node 108 in the AAL environment 102 in three dimensions based on updates to the correlated coordinates (e.g., the x,y,z-coordinates 120 ) as the mobile localization node moves (or is moved with the item 110 ) from the device origin 214 to subsequent locations within the environment. For example, a person may move the item 110 from the top shelf of the shelving unit down in a direction of ⁇ z elevation to the floor at a different location 136 of the building room, such as shown at 138 .
- the positioning module 134 generates and updates the navigation data 216 as the positioning module self-tracks the navigation of the mobile localization node 108 within the AAL environment 102 .
- the self-tracking navigation of the mobile localization node 108 by the positioning module 134 is implemented without communication to the server computing device 126 , and without receiving updated coordinate data 132 from the server computing device 126 .
- this saves device power that would otherwise be utilized for the ongoing device updates to and from the location module 128 of the server computing device 126 .
- the positioning module 134 of the mobile localization node 108 may also receive updated coordinate data 132 from the server computing device 126 as the mobile localization node moves within the AAL environment 102 .
- the positioning module 134 can utilize the received, updated x,y-coordinate data 132 , as well as determine updated z-coordinates of the mobile localization node 108 as the mobile localization node moves (or is moved with the item 110 ) within the AAL environment 102 .
- the positioning module 134 can then track the navigation of the mobile localization node 108 in three dimensions in the AAL environment 102 based on the updated x,y,z-coordinates that are correlated by a common timestamp.
- the positioning module 134 of the mobile localization node 108 may receive a request from the server computing device 126 for an update as to the current position of the mobile localization node in the AAL environment 102 .
- the mobile localization node 108 can then communicate the navigation data 216 as its current position in the AAL environment 102 back to the server computing device 126 , where the navigation data 216 indicates the current x,y,z-coordinates corresponding to the mobile localization node 108 as tracked by the positioning module 134 .
- the positioning module 134 of the mobile localization node 108 may also receive, from the server computing device 126 , indications of distances from the current location of the mobile localization node to boundaries 122 of the AAL environment 102 .
- the positioning module 134 can then determine when a subsequent location of the mobile localization node 108 corresponds to a boundary 122 of the AAL environment based on the self-tracking of the mobile localization node. In an event that the mobile localization node 108 exits the boundaries of the environment, the relative device origin 214 can be released, restoring mobile localization node positioning based on conventional positioning and/or tracking systems.
- FIG. 3 illustrates an example 300 of a three-dimensional (3D) mesh 302 that the positioning module 134 implemented by the mobile localization node 108 can generate of the AAL environment 102 to visually represent the location and/or subsequent locations of the mobile localization node 108 in the AAL environment 102 , in aspects of navigation tracking in an always aware location environment with mobile localization nodes.
- the 3D mesh 302 visually represents the location of the mobile phone 104 , as well as the items 110 , 114 , and 118 that are located on the shelving unit in the AAL environment 102 .
- the 3D mesh 302 may also be generated to illustrate the x,y,z-coordinates 120 corresponding to each of the mobile localization nodes, which are associated with each of the items and the mobile phone 104 , in the AAL environment 102 .
- the mobile phone 104 is shown located at a three-dimensional position in the AAL environment as indicated by the x-coordinate 304 , the y-coordinate 306 , and the z-coordinate 308 .
- the item 114 is shown located at a three-dimensional position in the AAL environment as indicated by the x-coordinate 310 , the y-coordinate 312 , and the z-coordinate 314 .
- the 3D mesh 302 also illustrates the movement of the item 110 from it's initial origin position in the AAL environment 102 down to the location 136 (e.g., a direction of ⁇ z elevation in the environment).
- the mobile device 106 such as the example mobile phone 104 , includes a mobile localization node 140 with an implementation of a positioning module 142 that implements aspects of navigation tracking in an always aware location environment with mobile localization nodes.
- the positioning module 142 of the mobile localization node 140 may include independent processing, memory, and logic components functioning as a computing and/or electronic device integrated with the mobile localization node 140 .
- the positioning module 142 can be implemented as a software application or software module, such as computer-executable software instructions that are executable with a processor or processing system 218 of the mobile device 106 .
- the positioning module 142 can be stored on computer-readable storage memory (e.g., device memory 220 ), or with any suitable memory device or electronic data storage implemented with the mobile device 108 .
- the mobile device 106 includes an inertial measurement unit 222 , which may include various sensors, such as a gyroscope, an accelerometer, and/or other types of motion sensors to sense motion and movement of the mobile localization node 140 .
- the various sensors of the inertial measurement unit 222 generate sensor data vectors having three-dimensional parameters (e.g., rotational vectors in x, y, and z coordinates) indicating position, location, and/or orientation of the mobile device 106 .
- the positioning module 142 of the mobile localization node 140 is implemented to self-track the navigation of the mobile localization node 140 (and the navigation of the mobile device 106 ) within the AAL environment 102 based on data received from the inertial measurement unit 222 of the mobile localization node.
- the data received from the inertial measurement unit can be in the form of rotational vector data in three dimensions from the sensors of the inertial measurement unit 222 .
- the coordinate tracking data received from the inertial measurement unit 222 can be augmented by accelerometer data, such as to infer z-elevation data, and may be augmented with orientation data in the form of pitch, yaw, and/or roll.
- Other sensor and location data may be received from a barometer sensor, a camera, and other sensors from which dimension, rotation, navigation, and location coordinates can be determined.
- the mobile device 106 can also include one or more different wireless radio systems 224 , such as for Wi-Fi, BluetoothTM, Mobile Broadband, LTE, Near Field Communication (NFC), Real-time Locating System (RTLS), or any other wireless radio system or format for communication via respective wireless networks.
- the mobile device 106 implements the wireless radio systems 224 that each include a radio device, antenna, and chipset implemented for cellular, wireless, and/or other network communication with other devices, networks, and services.
- a wireless radio system 224 can be configured to implement any suitable communication protocol or standard for communication via any type of communication and data network (or combination of networks).
- the positioning module 142 of the mobile localization node 140 can receive the x,y-coordinate data 226 corresponding to the mobile localization node from the server computing device 126 , which has located the mobile device 106 as one of the located nodes 130 in the AAL environment 102 .
- the mobile localization node 140 can receive the coordinate data 226 as one or two initial coordinates of the mobile localization node 140 at a current location in the AAL environment.
- the mobile localization node 140 may receive the location coordinate data as an x-coordinate or as x,y-coordinates corresponding to the location of the mobile localization node in the AAL environment.
- the positioning module 142 of the mobile localization node 140 can then determine (or has previously determined) one or more additional coordinates of the mobile localization node in the AAL environment 102 , such as from the inertial measurement unit 222 of the mobile device. For example, the positioning module 142 can determine y,z-coordinate data or z-elevation data 228 that corresponds to the mobile device 106 , which is located in the AAL environment 102 .
- the positioning module 142 of the mobile localization node 140 can then correlate the one or two initial coordinates (e.g., the x-coordinate or the x,y-coordinates) received from the server computing device 126 with the one or more additional coordinates (e.g., the z-elevation data 228 ) determined by the positioning module for the mobile localization node, such as based on a common timestamp for the x,y,z-coordinates.
- the positioning module 142 of the mobile localization node 140 can designate a device origin 230 of the mobile device 106 within the AAL environment 102 based on a combination of the correlated coordinates (e.g., the x,y,z-coordinates that have been correlated) and that correspond to the location of the mobile device in the environment.
- the positioning module 142 is implemented to then self-track navigation of the mobile localization node 108 that is associated with the mobile device 106 in the AAL environment 102 in three dimensions based on updates to the correlated coordinates (e.g., the x,y,z-coordinates 120 ) as the mobile localization node moves (or is moved with the mobile device 106 ) from the device origin 230 to subsequent locations within the environment.
- the positioning module 142 generates and updates the navigation data 232 as the positioning module self-tracks the navigation of the mobile localization node 140 that is associated with the mobile device 106 within the AAL environment 102 .
- the self-tracking navigation of the mobile localization node 140 by the positioning module 142 is implemented without communication to the server computing device 126 , and without receiving updated coordinate data 132 from the server computing device 126 . As noted above, this saves device power that would otherwise be utilized for the ongoing device updates to and from the location module 128 of the server computing device 126 .
- the positioning module 142 of the mobile localization node 140 may also receive updated coordinate data 132 from the server computing device 126 as the mobile localization node moves within the AAL environment 102 .
- the positioning module 142 can utilize the received, updated x,y-coordinate data 132 , as well as determine updated z-coordinates of the mobile localization node 140 as the mobile localization node moves with the associated mobile device 106 within the AAL environment 102 .
- the positioning module 142 can then track the navigation of the mobile localization node 140 in three dimensions in the AAL environment 102 based on the updated x,y,z-coordinates that are correlated by a common timestamp.
- the positioning module 142 of the mobile localization node 140 may receive a request from the server computing device 126 for an update as to the current position of the mobile device 106 in the AAL environment 102 .
- the mobile device 106 can then communicate the navigation data 232 from the positioning module 142 as its current position in the AAL environment 102 back to the server computing device 126 , where the navigation data 232 indicates the current x,y,z-coordinates corresponding to the mobile device 106 as tracked by the positioning module 142 of the mobile localization node 140 .
- the positioning module 142 of the mobile localization node 140 may also receive, from the server computing device 126 , indications of distances from the current location of the mobile device 106 to boundaries 122 of the AAL environment 102 .
- the positioning module 142 can then determine when a subsequent location of the mobile device 106 corresponds to a boundary 122 of the AAL environment based on the self-tracking of the mobile localization node. In an event that the mobile device 106 exits the boundaries of the environment, the relative device origin 230 can be released, restoring device positioning based on conventional positioning and/or tracking systems.
- the positioning module 142 of the mobile localization node 140 in the mobile device 106 can generate the example three-dimensional (3D) mesh 302 of the AAL environment 102 to visually represent the location and/or subsequent locations of the mobile device 106 in the AAL environment 102 .
- the generated 3D mesh can then be displayed to a user on a display device of the mobile device 106 for a synchronized 3 D view of the mobile device 106 in the environment of the AAL environment 102 .
- Example method 400 is described with reference to FIG. 4 in accordance with implementations of navigation tracking in an always aware location environment with mobile localization nodes.
- any services, components, modules, methods, and/or operations described herein can be implemented using software, firmware, hardware (e.g., fixed logic circuitry), manual processing, or any combination thereof.
- Some operations of the example methods may be described in the general context of executable instructions stored on computer-readable storage memory that is local and/or remote to a computer processing system, and implementations can include software applications, programs, functions, and the like.
- any of the functionality described herein can be performed, at least in part, by one or more hardware logic components, such as, and without limitation, Field-programmable Gate Arrays (FPGAs), Application-specific Integrated Circuits (ASICs), Application-specific Standard Products (ASSPs), System-on-a-chip systems (SoCs), Complex
- CPLDs Programmable Logic Devices
- FIG. 4 illustrates example method(s) 400 of navigation tracking in an always aware location environment with mobile localization nodes as described herein, and the method is generally described with reference to a positioning module implemented in a mobile localization node.
- the order in which the method is described is not intended to be construed as a limitation, and any number or combination of the described method operations can be performed in any order to perform a method, or an alternate method.
- At 402 at least one initial coordinate is received from a server computing device that implements a location module to locate wireless communication devices in an always aware location (AAL) environment.
- the location module 128 that is implemented by the server computing device 126 locates the mobile localization node 108 and the mobile device 106 by the corresponding mobile localization node 140 in the AAL environment 102 , which can be designated in the two dimensions as x,y-coordinates.
- the positioning module 134 that is implemented by the mobile localization node 108 receives the coordinate data 132 (e.g., as x-coordinate data or x,y-coordinate data) corresponding to the mobile localization node from the server computing device 126 to locate the mobile localization node 108 in the AAL environment 102 .
- the positioning module 142 of the mobile localization node 140 that is implemented in the mobile device 106 receives the coordinate data 132 corresponding to the mobile device from the server computing device 126 to locate the mobile localization node 140 associated with the mobile device 106 in the AAL environment 102 .
- one or more additional coordinates of a mobile localization node in the AAL environment is determined.
- the positioning module 134 that is implemented by the mobile localization node 108 determines one or more additional coordinates (e.g., y,z-coordinates or a z-coordinate) of the mobile localization node in the AAL environment 102 , such as from the inertial measurement unit 206 of the mobile localization node 108 .
- the positioning module 142 of the mobile localization node 140 that is implemented in the mobile device 106 determines one or more additional coordinates of the mobile device in the AAL environment 102 , such as from the inertial measurement unit 222 of the mobile device.
- the at least one initial coordinate received from the server computing device is correlated with the one or more additional coordinates determined by the positioning module based on a common timestamp for the initial and additional coordinates.
- the positioning module 134 that is implemented by the mobile localization node 108 correlates the initial coordinates received from the server computing device 126 with the additional coordinates determined by the positioning module 134 for the mobile localization node.
- the positioning module 142 of the mobile localization node 140 that is implemented in the mobile device 106 correlates the initial coordinates received from the server computing device 126 with the additional coordinates determined by the positioning module 142 for the mobile device.
- an origin of the mobile localization node within the AAL environment is designated based on a combination of the correlated coordinates.
- the positioning module 134 that is implemented by the mobile localization node 108 designates the origin of the mobile localization node within the AAL environment 102 based on the combination of the correlated coordinates that correspond to the mobile localization node.
- this device origin 214 corresponds to the location of the item 110 in the AAL environment 102 .
- the positioning module 142 of the mobile localization node 140 that is implemented in the mobile device 106 designates the origin of the mobile device within the AAL environment 102 based on the combination of the correlated coordinates that correspond to the mobile device.
- navigation of the mobile localization node is self-tracked in three dimensions based on updates to the correlated coordinates as the mobile localization node moves from the origin to subsequent locations within the AAL environment.
- the positioning module 134 that is implemented by the mobile localization node 108 self-tracks navigation of the mobile localization node in the AAL environment 102 in three dimensions based on updates to the correlated coordinates as the mobile localization node moves (or is moved) from the device origin 214 to subsequent locations within the environment.
- This self-tracking the navigation of the mobile localization node 108 within the AAL environment 102 by the positioning module 134 of the mobile localization node is without receiving updated coordinate data 132 from the server computing device 126 .
- the positioning module 142 of the mobile localization node 140 that is implemented in the mobile device 106 self-tracks navigation of the mobile device in the AAL environment 102 in three dimensions based on updates to the correlated coordinates as the mobile device moves (or is moved) from the device origin 230 to subsequent locations within the environment. This tracking the navigation of the mobile device 106 within the AAL environment 102 by the positioning module 142 of the mobile localization node 140 in the mobile device is without receiving updated coordinate data 132 from the server computing device 126 .
- the positioning module 134 that is implemented by the mobile localization node 108 receives updated coordinate data 132 from the server computing device 126 as the mobile localization node moves within the AAL environment 102 (similar in aspect to 402 ).
- the positioning module 134 of the mobile localization node 108 also determines updated additional coordinates (e.g., the z-elevation data 212 ) for the mobile localization node as the mobile localization node moves (or is moved) within the AAL environment 102 (similar in aspect to 404 ).
- the positioning module 134 also tracks the navigation of the mobile localization node 108 in the three dimensions in the AAL environment 102 based on the updated coordinates that are correlated by a common timestamp (similar in aspect to 406 and 410 ).
- the positioning module 142 of the mobile localization node 140 receives updated coordinate data 132 from the server computing device 126 as the mobile device moves within the AAL environment 102 (similar in aspect to 402 ).
- the positioning module 142 of the mobile localization node 140 in the mobile device 106 also determines updated additional coordinates (e.g., the z-elevation data 228 ) for the mobile device as the mobile device moves (or is moved) within the AAL environment 102 (similar in aspect to 404 ).
- the positioning module 142 also tracks the navigation of the mobile device 106 in the three dimensions in the AAL environment 102 based on the updated coordinates that are correlated by a common timestamp (similar in aspect to 406 and 410 ).
- a request is received from the server computing device for a current position of the mobile localization node, and at 414 , the current position of the mobile localization node is communicated based on current location coordinates of the mobile localization node in the AAL environment.
- the positioning module 134 that is implemented by the mobile localization node 108 receives a request from the server computing device 126 for the current position of the mobile localization node in the AAL environment 102 , and the mobile localization node 108 communicates the navigation data 216 as its current position in the AAL environment 102 back to the server computing device 126 based on the current location coordinates corresponding to the mobile localization node 108 , as tracked by the positioning module 134 .
- the positioning module 142 of the mobile localization node 140 that is implemented in the mobile device 106 receives a request from the server computing device 126 for the current position of the mobile device in the AAL environment 102 , and the mobile device communicates the navigation data 232 from the positioning module 142 as its current position in the AAL environment 102 back to the server computing device 126 based on the current location coordinates corresponding to the mobile device, as tracked by the positioning module 142 .
- a three-dimensional (3D) mesh is generated that visually represents one or more of the subsequent locations of the mobile localization node in the AAL environment.
- the positioning module 134 that is implemented by the mobile localization node 108 generates the example three-dimensional (3D) mesh 302 that visually represents the location and/or subsequent locations of the mobile localization node in the AAL environment 102 .
- the positioning module 142 of the mobile localization node 140 that is implemented in the mobile device 106 generates the example three-dimensional (3D) mesh 302 that visually represents the location and/or subsequent locations of the mobile device in the AAL environment 102 , and the generated 3D mesh can be displayed to a user on a display device of the mobile device.
- FIG. 5 illustrates various components of an example device 500 in which aspects of navigation tracking in an always aware location environment with mobile localization nodes can be implemented.
- the example device 500 can be implemented as any of the devices described with reference to the previous FIGS. 1-4 , such as any type of mobile device, mobile localization node, mobile phone, client device, wearable device, tablet, computing, communication, entertainment, gaming, media playback, and/or other type of electronic device.
- the server computing device 126 , the mobile device 106 , and each of the mobile localization nodes 108 , 140 shown and described with reference to FIGS. 1-4 may be implemented as the example device 500 .
- a wearable device may include any one or combination of a watch, armband, wristband, bracelet, glove or pair of gloves, glasses, jewelry items, clothing items, any type of footwear or headwear, and/or other types of wearable articles.
- the device 500 includes communication transceivers 502 that enable wired and/or wireless communication of device data 504 with other devices.
- the device data 504 can include any of the coordinate data, navigation data, and device location data. Additionally, the device data 504 can include any type of audio, video, and/or image data.
- Example communication transceivers 502 include wireless personal area network (WPAN) radios compliant with various IEEE 802.15 (BluetoothTM) standards, wireless local area network (WLAN) radios compliant with any of the various IEEE 802.11 (WiFiTM) standards, wireless wide area network (WWAN) radios for cellular phone communication, wireless metropolitan area network (WMAN) radios compliant with various IEEE 802.16 (WiMAXTM) standards, and wired local area network (LAN) Ethernet transceivers for network data communication.
- WPAN wireless personal area network
- WLAN wireless local area network
- WiFiTM wireless wide area network
- WWAN wireless wide area network
- WiMAXTM wireless metropolitan area network
- LAN wired local area network
- the device 500 may also include one or more data input ports 506 via which any type of data, media content, and/or inputs can be received, such as user-selectable inputs to the device, messages, music, television content, recorded content, and any other type of audio, video, and/or image data received from any content and/or data source.
- the data input ports may include USB ports, coaxial cable ports, and other serial or parallel connectors (including internal connectors) for flash memory, DVDs, CDs, and the like. These data input ports may be used to couple the device to any type of components, peripherals, or accessories such as microphones and/or cameras.
- the device 500 includes a processing system 508 of one or more processors (e.g., any of microprocessors, controllers, and the like) and/or a processor and memory system implemented as a system-on-chip (SoC) that processes computer-executable instructions.
- the processor system may be implemented at least partially in hardware, which can include components of an integrated circuit or on-chip system, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a complex programmable logic device (CPLD), and other implementations in silicon and/or other hardware.
- the device can be implemented with any one or combination of software, hardware, firmware, or fixed logic circuitry that is implemented in connection with processing and control circuits, which are generally identified at 510 .
- the device 500 may further include any type of a system bus or other data and command transfer system that couples the various components within the device.
- a system bus can include any one or combination of different bus structures and architectures, as well as control and data lines.
- the device 500 also includes computer-readable storage memory 512 (e.g., memory devices) that enable data storage, such as data storage devices that can be accessed by a computing device, and that provide persistent storage of data and executable instructions (e.g., software applications, programs, functions, and the like).
- Examples of the computer-readable storage memory 512 include volatile memory and non-volatile memory, fixed and removable media devices, and any suitable memory device or electronic data storage that maintains data for computing device access.
- the computer-readable storage memory can include various implementations of random access memory (RAM), read-only memory (ROM), flash memory, and other types of storage media in various memory device configurations.
- the device 500 may also include a mass storage media device.
- the computer-readable storage memory 512 provides data storage mechanisms to store the device data 504 , other types of information and/or data, and various device applications 514 (e.g., software applications).
- various device applications 514 e.g., software applications
- an operating system 516 can be maintained as software instructions with a memory device and executed by the processing system 508 .
- the device applications may also include a device manager, such as any form of a control application, software application, signal-processing and control module, code that is native to a particular device, a hardware abstraction layer for a particular device, and so on.
- the device 500 includes a positioning module 518 that implements aspects of navigation tracking in an always aware location environment with mobile localization nodes, and may be implemented with hardware components and/or in software as one of the device applications 514 , such as when the device 500 is implemented as the mobile localization node 108 or as the mobile localization node 140 of the mobile device 106 shown and described with reference to FIGS. 1-4 .
- Examples of the positioning module 518 are the positioning module 134 that is implemented as a software application and/or as hardware components of the mobile localization node 108 , and the positioning module 142 that is implemented as a software application and/or as hardware components of the mobile localization node 140 in the mobile device 106 .
- the positioning module 518 may include independent processing, memory, and logic components as a computing and/or electronic device integrated with the device 500 .
- the device 500 also includes a location module 520 that implements aspects of navigation tracking in an always aware location environment with mobile localization nodes, and may be implemented with hardware components and/or in software as one of the device applications 514 , such as when the device 500 is implemented as the server computing device 126 shown and described with reference to FIGS. 1-4 .
- An example of the location module 520 is the location module 128 that is implemented as a software application and/or as hardware components in the server computing device 126 .
- the location module 520 may include independent processing, memory, and logic components as a computing and/or electronic device integrated with the device 500 .
- the device 500 also includes a camera 522 and motion sensors 524 , such as may be implemented in an inertial measurement unit (IMU).
- the motion sensors 524 can be implemented with various sensors, such as a gyroscope, an accelerometer, and/or other types of motion sensors to sense motion of the device.
- the various motion sensors 524 may also be implemented as components of an inertial measurement unit in the device.
- the example device 500 can also include one or more power sources 526 , such as when the device is implemented as a mobile device.
- the power sources may include a charging and/or power system, and can be implemented as a flexible strip battery, a rechargeable battery, a charged super-capacitor, and/or any other type of active or passive power source.
- the example device 500 also includes an audio and/or video processing system 528 that generates audio data for an audio system 530 and/or generates display data for a display system 532 .
- the audio system and/or the display system may include any devices that process, display, and/or otherwise render audio, video, display, and/or image data.
- Display data and audio signals can be communicated to an audio component and/or to a display component via an RF (radio frequency) link, S-video link, HDMI (high-definition multimedia interface), composite video link, component video link, DVI (digital video interface), analog audio connection, or other similar communication link, such as media data port 534 .
- the audio system and/or the display system are integrated components of the example device.
- the audio system and/or the display system are external, peripheral components to the example device.
- a positioning system comprising: a server computing device that implements a location module to locate wireless communication devices in an always aware location (AAL) environment; a mobile localization node located within the AAL environment, the mobile localization node implements a positioning module to: receive, from the server computing device, one or two initial coordinates of the mobile localization node at a current location in the AAL environment; determine one or more additional coordinates of the mobile localization node at the current location in the AAL environment; designate the current location as an origin of the mobile localization node based on a combination of the initial and additional coordinates; and self-track navigation of the mobile localization node within the AAL environment as the mobile localization node moves from the origin to subsequent locations.
- AAL always aware location
- any one or combination of: the positioning module of the mobile localization node is implemented to self-track the navigation of the mobile localization node within the AAL environment without receiving updated coordinates from the server computing device.
- the positioning module of the mobile localization node is implemented to determine the one or more additional coordinates of the mobile localization node from an inertial measurement unit of the mobile localization node.
- the positioning module of the mobile localization node is implemented to: receive the initial coordinates as x,y-coordinates of the mobile localization node at the current location in the AAL environment; determine the additional coordinate as a z-coordinate of the mobile localization node at the current location in the AAL environment; and designate the origin of the mobile localization node at the x,y,z-coordinates.
- the positioning module of the mobile localization node is implemented to self-track the navigation of the mobile localization node within the AAL environment from the origin based on data received from an inertial measurement unit of the mobile localization node.
- the positioning module of the mobile localization node is implemented to: receive a request from the server computing device for a current position of the mobile localization node; and communicate the current position of the mobile localization node based on current location coordinates of the mobile localization node in the AAL environment.
- the mobile localization node is a wireless tag associated with an object in the AAL environment; and the positioning module of the mobile localization node is implemented to designate a subsequent location of the object in a z-elevation at an x,y-location in the AAL environment.
- the positioning module of the mobile localization node is implemented to generate a three-dimensional ( 3 D) mesh that visually represents one or more of the subsequent locations of the mobile localization node in the AAL environment.
- the AAL environment is a geo-fenced area; the positioning module of the mobile localization node is implemented to: receive, from the server computing device, indications of distances from the current location of the mobile localization node to boundaries of the geo-fenced area; and determine when a subsequent location of the mobile localization node corresponds to a boundary of the geo-fenced area based on the self-tracking of the mobile localization node.
- a mobile localization node comprising: a communication interface to receive at least one initial coordinate from a server computing device that implements a location module to locate wireless communication devices in an always aware location (AAL) environment; a processor to implement a positioning module to: determine one or more additional coordinates of the mobile localization node in the AAL environment; correlate the at least one initial coordinate received from the server computing device with the one or more additional coordinates determined by the positioning module based on a common timestamp for the initial and additional coordinates; designate an origin of the mobile localization node within the AAL environment based on a combination of the correlated coordinates; and self-track navigation of the mobile localization node in three dimensions based on updates to the correlated coordinates as the mobile localization node moves from the origin to subsequent locations within the AAL environment.
- AAL always aware location
- any one or combination of: the positioning module is implemented to self-track the navigation of the mobile localization node within the AAL environment without receiving updated coordinates from the server computing device.
- the mobile localization node further comprising an inertial measurement unit from which the positioning module is implemented to determine the one or more additional coordinates of the mobile localization node.
- the communication interface is implemented to receive a request for a current position of the mobile localization node; and the positioning module is implemented to provide the current position of the mobile localization node based on current location coordinates of the mobile localization node in the AAL environment.
- the mobile localization node is a wireless tag associated with an object in the AAL environment; and the positioning module of the mobile localization node is implemented to designate a subsequent location of the object in a z-elevation at an x,y-location in the AAL environment.
- the positioning module of the mobile localization node is implemented to generate a three-dimensional (3D) mesh that visually represents one or more of the subsequent locations of the mobile localization node in the AAL environment.
- a method comprising: receiving at least one initial coordinate from a server computing device that implements a location module to locate wireless communication devices in an always aware location (AAL) environment; determining one or more additional coordinates of a mobile localization node in the AAL environment; correlating the at least one initial coordinate received from the server computing device with the one or more additional coordinates based on a common timestamp for the initial and additional coordinates; designating an origin of the mobile localization node within the AAL environment based on a combination of the correlated coordinates; and self-tracking, by the mobile localization node, navigation of the mobile localization node in three dimensions based on updates to the correlated coordinates as the mobile localization node moves from the origin to subsequent locations within the AAL environment.
- AAL always aware location
- the self-tracking the navigation of the mobile localization node within the AAL environment is without receiving updated coordinates from the server computing device.
- the method further comprising: receiving a request from the server computing device for a current position of the mobile localization node; and communicating the current position of the mobile localization node based on current location coordinates of the mobile localization node in the AAL environment.
- the method further comprising generating a three-dimensional (3D) mesh that visually represents one or more of the subsequent locations of the mobile localization node in the AAL environment.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Navigation (AREA)
Abstract
In aspects of navigation tracking in an always aware location environment with mobile localization nodes, a positioning system includes a server computing device that can locate wireless communication devices in an always aware location (AAL) environment. A mobile localization node located within the AAL environment implements a positioning module to receive, from the server computing device, one or two initial coordinates of the mobile localization node at a current location in the AAL environment. The positioning module can determine one or more additional coordinates of the mobile localization node at the current location in the AAL environment, and designate the current location as an origin of the mobile localization node based on a combination of the initial and additional coordinates. The positioning module can then self-track navigation of the mobile localization node within the AAL environment as the mobile localization node moves from the origin to subsequent locations.
Description
- This application is a continuation of and claims priority to U.S. patent application Ser. No. 15/941,950 filed Mar. 30, 2018 entitled “Navigation Tracking in an Always Aware Location Environment with Mobile Localization Nodes,” the disclosure of which is incorporated by reference herein in its entirety.
- Generally, a geo-fenced area can be established as a virtual perimeter around a boundary of any structure or environment, such as a building, an area of a building, a retail store, a warehouse, an airport terminal, a parking lot, an outdoor region, or other type of designated area. For example, an indoor positioning system for a geo-fenced area can be established with a server computing device and wireless devices, commonly referred to as the system anchors that establish the boundary edges of the indoor positioning system. The anchor devices communicate two-dimensional, x,y-coordinates position location information to the server computing device, where the x,y-coordinates are relative to a horizontal plane of the geo-fenced area. The server computing device and/or the anchor devices can also communicate with mobile devices and wireless tags for two-dimensional device tracking within the geo-fenced area.
- For example, a user may carry an object that is trackable with a wireless tag and/or carry a mobile device into the geo-fenced area, and the various devices may be implemented to communicate in the geo-fenced area using various wireless communication technologies, such as ultra-wideband (UWB), Near Field Communication (NFC), Radio-frequency identification (RFID), Real-time Locating System (RTLS), Bluetooth™, and/or Bluetooth Low Energy (BLE). However, the wireless communications between the geo-fenced area devices and a wireless tag or a mobile device that enters and moves about within the geo-fenced area can be delayed due to communication latencies, as well as being limited by the excessive power drain on the wireless tag or mobile device by the constant radio systems communication and positioning updates.
- Aspects of navigation tracking in an always aware location environment with mobile localization nodes are described with reference to the following Figures. The same numbers may be used throughout to reference like features and components that are shown in the Figures:
-
FIG. 1 illustrates an example environment in which aspects of navigation tracking in an always aware location environment with mobile localization nodes can be implemented. -
FIG. 2 further illustrates an example mobile sensor and mobile device implemented in the example environment in which aspects of navigation tracking in an always aware location environment with mobile localization nodes can be implemented. -
FIG. 3 illustrates an example three-dimensional (3D) mesh that is generated to visually represent mobile sensors and devices in the example environment in which aspects of navigation tracking in an always aware location environment with mobile localization nodes can be implemented. -
FIG. 4 illustrates example method(s) of navigation tracking in an always aware location environment with mobile localization nodes in accordance with techniques described herein. -
FIG. 5 illustrates various components of an example device that can implement aspects of navigation tracking in an always aware location environment with mobile localization nodes. - Navigation tracking in an always aware location environment with mobile localization nodes is described, and can be implemented to track objects and items in three dimensions as location coordinates in an “always aware location” (AAL) environment, such as in a geo-fenced area. Aspects of the navigation tracking can be implemented in the context of the AAL environment, such as for any type of inventory tracking, item location, item recovery, and deriving location context of items and objects in the environment. Mobile localization nodes (also referred to as mobile sensors) are generally small electronic tags or labels that can be utilized to process and/or store data and other information, and can be associated with any type of an object or item, such as by being placed in or affixed to an object for inventory tracking and item location detection. The mobile localization nodes can be utilized in a retail store or warehouse environment that has been established as an AAL environment (e.g., a geo-fenced area) having any number of inventoried items, objects, and/or products for storage or purchase, each of which can be identified and tracked with a mobile localization node. The mobile localization nodes may also be used in a person's home when established as an AAL environment to locate and track items, such as to find one's keys, wallet, or mobile phone that has been misplaced in the environment. Generally, as a geo-fenced area or other designated area, an AAL environment can be established as a virtual perimeter in or around a boundary of any structure or environment.
- In aspects of navigation tracking in an always aware location environment with mobile localization nodes, a mobile localization node that corresponds to an item or object in an AAL environment is implemented with a positioning module, which is designed to self-track the navigation (e.g., movement and locations) of the mobile localization node within the AAL environment based on data received from an inertial measurement unit of the mobile localization node. Rather than conventional systems that track devices in just two-dimensional x,y-coordinates, the features of navigation tracking in an always aware location environment with mobile localization nodes can be implemented to track objects and items in three dimensions as x,y,z-coordinates in an AAL environment. Further, the self-tracking features of the mobile localization nodes implemented for the navigation tracking do not suffer from the communication latencies that are common with device tracking, and are not limited by the typical excessive power drain that occurs with typical wireless tags or mobile devices by the constant radio systems communication and positioning updates to track the two-dimensional x,y-coordinates position locations.
- Generally, an AAL environment, such as a geo-fenced area, is facilitated by a server computing device that manages wireless communications and tracking updates in the environment, and the server computing device implements a location module that is designed to detect and track mobile sensors and mobile devices in one or two dimensions in the AAL environment, such as designated by x-coordinates or x,y-coordinates relative to a horizontal plane of the environment. The positioning module of a mobile localization node in the AAL environment can initially receive the x-coordinate data or the x,y-coordinate data corresponding to the mobile localization node from the server computing device. The positioning module of the mobile localization node can then determine (or has previously determined) one or more additional coordinates, such as a z-coordinate, of the mobile localization node in the AAL environment, such as from the inertial measurement unit of the mobile localization node. The positioning module can then correlate the initial x-coordinate data or the x,y-coordinates data received from the server computing device with the one or more additional coordinates (e.g., the z-elevation data) determined by the positioning module for the mobile localization node, such as based on a common timestamp for the initial and additional coordinates (e.g., x,y,z-coordinates).
- The positioning module of the mobile localization node can designate a device origin of the mobile localization node within the AAL environment based on a combination of the coordinates (e.g., the x,y,z-coordinates) that have been correlated and correspond to the location of the mobile localization node in the AAL environment. The device origin can be set at (0,0,0), or any other coordinates relative to the location or position of the mobile localization node in the AAL environment. Initially, the sensors of the inertial measurement unit do not have a frame of reference to know where the mobile localization node is located in the environment. However, the correlation of the x,y,z-coordinates provides a dead-reckoning from which to track the navigation of the mobile localization node in the AAL environment, such as based on data received from the inertial measurement unit of the mobile localization node. The data received from the inertial measurement unit can be in the form of rotational vectors from the sensors of the inertial measurement unit. In implementations, the coordinate tracking data received from the inertial measurement unit can be augmented by accelerometer data, such as to infer z-elevation data, and may be augmented with orientation data in the form of pitch, yaw, and/or roll. Other sensor and location data may be received from a barometer sensor, a camera, and other sensors from which dimension, rotation, navigation, and location coordinates can be determined.
- The positioning module is implemented to then self-track navigation of the mobile localization node in the AAL environment in three dimensions based on updates to the x,y,z-coordinates as the mobile sensor moves (or is moved with an associated item) from the designated origin to subsequent locations within the AAL environment. Notably, the self-tracking navigation of the mobile localization node by the positioning module is implemented without communication to the server computing device, and without receiving updated location coordinate data from the server computing device.
- While features and concepts of navigation tracking in an always aware location environment with mobile localization nodes can be implemented in any number of different devices, systems, environments, and/or configurations, aspects of navigation tracking in an always aware location environment with mobile localization nodes are described in the context of the following example devices, systems, and methods.
-
FIG. 1 illustrates anexample environment 100 in which aspects of navigation tracking in an always aware location environment with mobile localization nodes can be implemented. Theexample environment 100 is representative of any indoor or outdoor region or environment that is established as an always aware location (AAL)environment 102, such as a geo-fenced area in a building, an area of a building, a warehouse, an airport terminal, a parking lot, an outdoor region, or other type of designated area or environment. An AAL environment designated by a geo-fenced area is generally established as a virtual perimeter around a boundary of any structure or environment, and in this example, theAAL environment 102 is a virtual perimeter within the boundaries of a building, such as a warehouse or retail store, in which objects are stored and/or displayed. Generally, theAAL environment 102 is established as a two-dimensional area based on x,y-coordinates relative to a horizontal plane of the environment. - A person may enter the building (and into the AAL environment 102), such as any type of retail store that a person may enter looking for an item to purchase, a warehouse that a person may enter looking for a stocked item, a library where a person may browse magazines and borrow reading material, or any other type of environment that a person might visit while carrying a
mobile phone 104. Aspects of navigation tracking in an always aware location environment with mobile localization nodes may also be implemented in a person's home to locate and track items, such as to find one's keys, wallet, or mobile phone that has been misplaced in an “always aware location” (AAL) system. - In the example AAL
environment 102, themobile phone 104 is an example of any type ofmobile device 106, such as a tablet device, a wearable device or wearable article, or a mobile phone. Generally, themobile device 106 is any type of an electronic and/or computing device implemented with various components, such as a processing system and memory, as well as any number and combination of different components as further described with reference to the example device shown inFIG. 5 . Details of themobile device 106 are further shown and described with reference toFIG. 2 that illustrates an example 200 of themobile device 106 in context of theexample environment 100. The terms “person” and “user” are generally used herein interchangeably, where a person with themobile phone 104 is also the user of the mobile phone in the environment of theAAL environment 102. - As a retail store or warehouse, the AAL
environment 102 can include any number of inventoried items, objects, and/or products for storage or purchase, each of which can be identified and tracked with amobile localization node 108. Generally, a mobile localization node is a small electronic tag or label that can process and/or store data and other information in memory on the mobile localization node, and themobile localization node 108 can be associated with any type of object or item, such as by being placed in or affixed to an object for inventory tracking, item location, item recovery, and the like. In this example, themobile localization node 108 is associated with (e.g., is attached to) anitem 110 that is located in theAAL environment 102 on a top shelf of a shelving unit. Similarly, amobile localization node 112 is associated with anitem 114 that is located in theAAL environment 102 on a middle shelf of the shelving unit, and amobile localization node 116 is associated with anitem 118 that is located in theAAL environment 102 on a bottom shelf of the shelving unit. As will be described in more detail, each of the items in the AAL environment can be located and/or tracked based on x,y,z-coordinates 120 within theboundaries 122 of the environment. - Generally, the mobile localization nodes, such as the
mobile localization node 108, can be implemented as any type of an electronic and/or computing device implemented with various components, such as a processing system and memory, as well as any number and combination of different components as further described with reference to the example device shown inFIG. 5 . Details of themobile localization node 108 are further shown and described with reference toFIG. 2 that illustrates an example 200 of themobile localization node 108 in context of theexample environment 100. Themobile localization node 108 can include a memory that stores identifying data of theitem 110 that the mobile localization node is associated with, as well as a unique identifier of the particularmobile localization node 108 and may include any other type of metadata, such as location data that indicates a location or region of theitem 110 in theAAL environment 102. - Additionally, the mobile localization nodes may be implemented as any type of wireless-radio based tags for various different radio-based, wireless signaling, such as with LTE, Near Field Communication (NFC), Real-time Locating System (RTLS), radio frequency identification (RFID), Bluetooth™ devices, and the like. In this example, the
AAL environment 102 may also include Internet-of-things (IoT) network devices, Wi-Fi connecteddevices 124, and/or additional mobile devices. The IoT devices in theAAL environment 102 may also include motion sensors, surveillance cameras, monitoring devices, control devices, and any other type of networked computing and/or electronic devices that wirelessly communicate in theAAL environment 102. - In this example, the
AAL environment 102 includes aserver computing device 126 that facilitates setup and wireless communications in the environment. Theserver computing device 126 implements alocation module 128, which may include independent processing, memory, and logic components functioning as a computing and/or electronic device integrated with theserver computing device 126. Alternatively or in addition, thelocation module 128 can be implemented as a software application or software module, such as computer-executable software instructions that are executable with a processor or processing system of the server computing device. As a software application, thelocation module 128 can be stored on computer-readable storage memory, or with any suitable memory device or electronic data storage implemented with the server computing device. In implementations, theserver computing device 126 may be part of a business server system that is associated with the building, warehouse, retail store, or other environment for which theAAL environment 102 is established. - The
mobile phone 104, othermobile devices 106, andmobile localization nodes 108 that are carried into or placed in theAAL environment 102 may be registered as devices for communication with theserver computing device 126 of a business server system. Alternatively, themobile phone 104, othermobile devices 106, andmobile localization nodes 108 may be previously registered for communication between the devices and with theserver computing device 126, such as via the Wi-Ficonnected device 124 in the environment of theAAL environment 102. Further, themobile phone 104, othermobile devices 106,mobile localization nodes 108, and other types of wireless communication devices may be setup to self-detect entry into theAAL environment 102. Alternatively or in addition, thelocation module 128 of theserver computing device 126 can detect entry of themobile phone 104, othermobile devices 106, andmobile localization nodes 108 into the environment. - Generally, the
location module 128 is implemented to locate and track the wireless communication devices in one-dimension or two-dimensions in theAAL environment 102, which is designated by thecoordinates 120 relative to a horizontal plane of the environment. As used herein, the term “localization nodes” that are located in theAAL environment 102 include any of themobile phone 104, othermobile devices 106, themobile localization nodes 108, and any other wireless communication devices, wireless-radio based tags, sensors, and/or devices that include or implement wireless-radio based tags or sensors. Thelocation module 128 can track the locatednodes 130 and communicate coordinatedata 132 to the locatednodes 130, which in this example, includes themobile phone 104, othermobile devices 106, and themobile localization node 108 in theAAL environment 102. - The
mobile localization node 108 includes apositioning module 134 that implements aspects of navigation tracking in an always aware location environment with mobile localization nodes. With reference toFIG. 2 , thepositioning module 134 may include independent processing, memory, and logic components functioning as a computing and/or electronic device integrated with themobile localization node 108. Alternatively or in addition, thepositioning module 134 can be implemented as a software application or software module, such as computer-executable software instructions that are executable with a processor orprocessing system 202 of themobile localization node 108. As a software application, thepositioning module 134 can be stored on computer-readable storage memory (e.g., device memory 204), or with any suitable memory device or electronic data storage implemented with themobile localization node 108. - In this example, the
mobile localization node 108 includes aninertial measurement unit 206, which may include various sensors, such as a gyroscope, an accelerometer, and/or other types of motion sensors to sense motion and movement of themobile localization node 108. The various sensors of theinertial measurement unit 206 generate sensor data vectors having three-dimensional parameters (e.g., rotational vectors in x, y, and z coordinates) indicating position, location, and/or orientation of themobile localization node 108. As described in more detail below, thepositioning module 134 of themobile localization node 108 is implemented to self-track the navigation of themobile localization node 108 within theAAL environment 102 based on data received from theinertial measurement unit 206 of the mobile localization node. The data received from the inertial measurement unit can be in the form of rotational vector data in three dimensions from the sensors of the inertial measurement unit. In implementations, the coordinate tracking data received from theinertial measurement unit 206 can be augmented by accelerometer data, such as to infer z-elevation data, and may be augmented with orientation data in the form of pitch, yaw, and/or roll. Other sensor and location data may be received from a barometer sensor, a camera, and other sensors from which dimension, rotation, navigation, and location coordinates can be determined. - The
mobile localization node 108 can also include one or more differentwireless radio systems 208, such as for Wi-Fi, Bluetooth™, Mobile Broadband, LTE, Near Field Communication (NFC), Real-time Locating System (RTLS), or any other wireless radio system or format for communication via respective wireless networks. Generally, themobile localization node 108 implements thewireless radio systems 208 that each include a radio device, antenna, and chipset implemented for cellular, wireless, and/or other network communication with other devices, networks, and services. Awireless radio system 208 can be configured to implement any suitable communication protocol or standard. - Any of the server, computing, and/or mobile devices, as well as the mobile localization nodes, described herein can communicate via any type of communication and data network (or combination of networks), such as for data communication between the
mobile phone 104, themobile localization node 108, the Wi-Ficonnected device 124, theserver computing device 126 of theAAL environment 102, and/or a cloud-based service. A network can be implemented to include a wired and/or wireless network, may be implemented using any type of network topology and/or communication protocol, and can be represented or otherwise implemented as a combination of two or more networks, to include cellular networks, IP-based networks, and/or the Internet. The network may also include mobile operator networks that are managed by a network provider of a cellular network, a mobile network operator, and/or other network operators, such as a communication service provider, mobile phone provider, and/or Internet service provider. - In aspects of navigation tracking in an always aware location environment with mobile localization nodes, the
positioning module 134 of themobile localization node 108 can receive the x,y-coordinatedata 210 corresponding to the mobile localization node from theserver computing device 126, which has located themobile localization node 108 as one of the locatednodes 130 in theAAL environment 102. Themobile localization node 108 can receive the coordinatedata 210 as one or two initial coordinates of themobile localization node 108 at a current location in the AAL environment. For example, themobile localization node 108 may receive the location coordinate data as an x-coordinate or as x,y-coordinates corresponding to the location of the mobile localization node in the AAL environment. - The
positioning module 134 of themobile localization node 108 can then determine (or has previously determined) one or more additional coordinates of the mobile localization node in theAAL environment 102, such as from theinertial measurement unit 206 of the mobile localization node. For example, thepositioning module 134 can determine y,z-coordinate data or z-elevation data 212 that corresponds to theitem 110, which is located in theAAL environment 102 on the top shelf of the shelving unit. Thepositioning module 134 of themobile localization node 108 can then correlate the one or two initial coordinates (e.g., the x-coordinate or the x,y-coordinates) received from theserver computing device 126 with the one or more additional coordinates (e.g., the z-elevation data 212) determined by the positioning module for the mobile localization node, such as based on a common timestamp for the x,y,z-coordinates. - The
positioning module 134 of themobile localization node 108 can designate adevice origin 214 of themobile localization node 108 within theAAL environment 102 based on a combination of the correlated coordinates (e.g., the x,y,z-coordinates that have been correlated) and that correspond to the location of the mobile localization node in the environment. Thedevice origin 214 can be set at (0,0,0), or any other coordinates relative to the location or position of themobile localization node 108 in theAAL environment 102. Initially, the sensors of theinertial measurement unit 206 do not have a frame of reference to know where the mobile localization node is located in the environment. However, the correlation of the x,y,z-coordinates provides a dead-reckoning from which to track the navigation of themobile localization node 108 in theAAL environment 102 based on the rotational vectors from the inertial measurement unit sensors. Thepositioning module 134 can determine a delta z from thedevice origin 214 as the z-elevation data 212 that corresponds to theitem 110 located in theAAL environment 102. - The
positioning module 134 is implemented to then self-track navigation of themobile localization node 108 in theAAL environment 102 in three dimensions based on updates to the correlated coordinates (e.g., the x,y,z-coordinates 120) as the mobile localization node moves (or is moved with the item 110) from thedevice origin 214 to subsequent locations within the environment. For example, a person may move theitem 110 from the top shelf of the shelving unit down in a direction of −z elevation to the floor at adifferent location 136 of the building room, such as shown at 138. Thepositioning module 134 generates and updates thenavigation data 216 as the positioning module self-tracks the navigation of themobile localization node 108 within theAAL environment 102. Notably, the self-tracking navigation of themobile localization node 108 by thepositioning module 134 is implemented without communication to theserver computing device 126, and without receiving updated coordinatedata 132 from theserver computing device 126. In implementations, this saves device power that would otherwise be utilized for the ongoing device updates to and from thelocation module 128 of theserver computing device 126. - Alternatively or in addition, the
positioning module 134 of themobile localization node 108 may also receive updated coordinatedata 132 from theserver computing device 126 as the mobile localization node moves within theAAL environment 102. Thepositioning module 134 can utilize the received, updated x,y-coordinatedata 132, as well as determine updated z-coordinates of themobile localization node 108 as the mobile localization node moves (or is moved with the item 110) within theAAL environment 102. Thepositioning module 134 can then track the navigation of themobile localization node 108 in three dimensions in theAAL environment 102 based on the updated x,y,z-coordinates that are correlated by a common timestamp. - In implementations, the
positioning module 134 of themobile localization node 108 may receive a request from theserver computing device 126 for an update as to the current position of the mobile localization node in theAAL environment 102. Themobile localization node 108 can then communicate thenavigation data 216 as its current position in theAAL environment 102 back to theserver computing device 126, where thenavigation data 216 indicates the current x,y,z-coordinates corresponding to themobile localization node 108 as tracked by thepositioning module 134. Thepositioning module 134 of themobile localization node 108 may also receive, from theserver computing device 126, indications of distances from the current location of the mobile localization node toboundaries 122 of theAAL environment 102. Thepositioning module 134 can then determine when a subsequent location of themobile localization node 108 corresponds to aboundary 122 of the AAL environment based on the self-tracking of the mobile localization node. In an event that themobile localization node 108 exits the boundaries of the environment, therelative device origin 214 can be released, restoring mobile localization node positioning based on conventional positioning and/or tracking systems. -
FIG. 3 illustrates an example 300 of a three-dimensional (3D)mesh 302 that thepositioning module 134 implemented by themobile localization node 108 can generate of theAAL environment 102 to visually represent the location and/or subsequent locations of themobile localization node 108 in theAAL environment 102, in aspects of navigation tracking in an always aware location environment with mobile localization nodes. For example, the3D mesh 302 visually represents the location of themobile phone 104, as well as theitems AAL environment 102. The3D mesh 302 may also be generated to illustrate the x,y,z-coordinates 120 corresponding to each of the mobile localization nodes, which are associated with each of the items and themobile phone 104, in theAAL environment 102. For example, themobile phone 104 is shown located at a three-dimensional position in the AAL environment as indicated by the x-coordinate 304, the y-coordinate 306, and the z-coordinate 308. Similarly, theitem 114 is shown located at a three-dimensional position in the AAL environment as indicated by the x-coordinate 310, the y-coordinate 312, and the z-coordinate 314. The3D mesh 302 also illustrates the movement of theitem 110 from it's initial origin position in theAAL environment 102 down to the location 136 (e.g., a direction of −z elevation in the environment). - Returning to the discussion of
FIGS. 1 and 2 , themobile device 106, such as the examplemobile phone 104, includes amobile localization node 140 with an implementation of apositioning module 142 that implements aspects of navigation tracking in an always aware location environment with mobile localization nodes. With reference toFIG. 2 , thepositioning module 142 of themobile localization node 140 may include independent processing, memory, and logic components functioning as a computing and/or electronic device integrated with themobile localization node 140. Alternatively or in addition, thepositioning module 142 can be implemented as a software application or software module, such as computer-executable software instructions that are executable with a processor orprocessing system 218 of themobile device 106. As a software application, thepositioning module 142 can be stored on computer-readable storage memory (e.g., device memory 220), or with any suitable memory device or electronic data storage implemented with themobile device 108. - In this example, the
mobile device 106 includes aninertial measurement unit 222, which may include various sensors, such as a gyroscope, an accelerometer, and/or other types of motion sensors to sense motion and movement of themobile localization node 140. The various sensors of theinertial measurement unit 222 generate sensor data vectors having three-dimensional parameters (e.g., rotational vectors in x, y, and z coordinates) indicating position, location, and/or orientation of themobile device 106. As described with reference to thepositioning module 134 of themobile localization node 108, thepositioning module 142 of themobile localization node 140 is implemented to self-track the navigation of the mobile localization node 140 (and the navigation of the mobile device 106) within theAAL environment 102 based on data received from theinertial measurement unit 222 of the mobile localization node. The data received from the inertial measurement unit can be in the form of rotational vector data in three dimensions from the sensors of theinertial measurement unit 222. In implementations, the coordinate tracking data received from theinertial measurement unit 222 can be augmented by accelerometer data, such as to infer z-elevation data, and may be augmented with orientation data in the form of pitch, yaw, and/or roll. Other sensor and location data may be received from a barometer sensor, a camera, and other sensors from which dimension, rotation, navigation, and location coordinates can be determined. - The
mobile device 106 can also include one or more differentwireless radio systems 224, such as for Wi-Fi, Bluetooth™, Mobile Broadband, LTE, Near Field Communication (NFC), Real-time Locating System (RTLS), or any other wireless radio system or format for communication via respective wireless networks. Generally, themobile device 106 implements thewireless radio systems 224 that each include a radio device, antenna, and chipset implemented for cellular, wireless, and/or other network communication with other devices, networks, and services. Awireless radio system 224 can be configured to implement any suitable communication protocol or standard for communication via any type of communication and data network (or combination of networks). - In aspects of navigation tracking in an always aware location environment with mobile localization nodes, the
positioning module 142 of themobile localization node 140 can receive the x,y-coordinatedata 226 corresponding to the mobile localization node from theserver computing device 126, which has located themobile device 106 as one of the locatednodes 130 in theAAL environment 102. Themobile localization node 140 can receive the coordinatedata 226 as one or two initial coordinates of themobile localization node 140 at a current location in the AAL environment. For example, themobile localization node 140 may receive the location coordinate data as an x-coordinate or as x,y-coordinates corresponding to the location of the mobile localization node in the AAL environment. - The
positioning module 142 of themobile localization node 140 can then determine (or has previously determined) one or more additional coordinates of the mobile localization node in theAAL environment 102, such as from theinertial measurement unit 222 of the mobile device. For example, thepositioning module 142 can determine y,z-coordinate data or z-elevation data 228 that corresponds to themobile device 106, which is located in theAAL environment 102. Thepositioning module 142 of themobile localization node 140 can then correlate the one or two initial coordinates (e.g., the x-coordinate or the x,y-coordinates) received from theserver computing device 126 with the one or more additional coordinates (e.g., the z-elevation data 228) determined by the positioning module for the mobile localization node, such as based on a common timestamp for the x,y,z-coordinates. - The
positioning module 142 of themobile localization node 140 can designate adevice origin 230 of themobile device 106 within theAAL environment 102 based on a combination of the correlated coordinates (e.g., the x,y,z-coordinates that have been correlated) and that correspond to the location of the mobile device in the environment. Thepositioning module 142 is implemented to then self-track navigation of themobile localization node 108 that is associated with themobile device 106 in theAAL environment 102 in three dimensions based on updates to the correlated coordinates (e.g., the x,y,z-coordinates 120) as the mobile localization node moves (or is moved with the mobile device 106) from thedevice origin 230 to subsequent locations within the environment. For example, a person may carry themobile device 106 around with them in the building environment that is theAAL environment 102. Thepositioning module 142 generates and updates thenavigation data 232 as the positioning module self-tracks the navigation of themobile localization node 140 that is associated with themobile device 106 within theAAL environment 102. Notably, the self-tracking navigation of themobile localization node 140 by thepositioning module 142 is implemented without communication to theserver computing device 126, and without receiving updated coordinatedata 132 from theserver computing device 126. As noted above, this saves device power that would otherwise be utilized for the ongoing device updates to and from thelocation module 128 of theserver computing device 126. - Alternatively or in addition, the
positioning module 142 of themobile localization node 140 may also receive updated coordinatedata 132 from theserver computing device 126 as the mobile localization node moves within theAAL environment 102. Thepositioning module 142 can utilize the received, updated x,y-coordinatedata 132, as well as determine updated z-coordinates of themobile localization node 140 as the mobile localization node moves with the associatedmobile device 106 within theAAL environment 102. Thepositioning module 142 can then track the navigation of themobile localization node 140 in three dimensions in theAAL environment 102 based on the updated x,y,z-coordinates that are correlated by a common timestamp. - In implementations, the
positioning module 142 of themobile localization node 140 may receive a request from theserver computing device 126 for an update as to the current position of themobile device 106 in theAAL environment 102. Themobile device 106 can then communicate thenavigation data 232 from thepositioning module 142 as its current position in theAAL environment 102 back to theserver computing device 126, where thenavigation data 232 indicates the current x,y,z-coordinates corresponding to themobile device 106 as tracked by thepositioning module 142 of themobile localization node 140. Thepositioning module 142 of themobile localization node 140 may also receive, from theserver computing device 126, indications of distances from the current location of themobile device 106 toboundaries 122 of theAAL environment 102. Thepositioning module 142 can then determine when a subsequent location of themobile device 106 corresponds to aboundary 122 of the AAL environment based on the self-tracking of the mobile localization node. In an event that themobile device 106 exits the boundaries of the environment, therelative device origin 230 can be released, restoring device positioning based on conventional positioning and/or tracking systems. - Similar to the
positioning module 134 of themobile localization node 108, thepositioning module 142 of themobile localization node 140 in themobile device 106 can generate the example three-dimensional (3D)mesh 302 of theAAL environment 102 to visually represent the location and/or subsequent locations of themobile device 106 in theAAL environment 102. The generated 3D mesh can then be displayed to a user on a display device of themobile device 106 for a synchronized 3D view of themobile device 106 in the environment of theAAL environment 102. -
Example method 400 is described with reference toFIG. 4 in accordance with implementations of navigation tracking in an always aware location environment with mobile localization nodes. Generally, any services, components, modules, methods, and/or operations described herein can be implemented using software, firmware, hardware (e.g., fixed logic circuitry), manual processing, or any combination thereof. Some operations of the example methods may be described in the general context of executable instructions stored on computer-readable storage memory that is local and/or remote to a computer processing system, and implementations can include software applications, programs, functions, and the like. Alternatively or in addition, any of the functionality described herein can be performed, at least in part, by one or more hardware logic components, such as, and without limitation, Field-programmable Gate Arrays (FPGAs), Application-specific Integrated Circuits (ASICs), Application-specific Standard Products (ASSPs), System-on-a-chip systems (SoCs), Complex - Programmable Logic Devices (CPLDs), and the like.
-
FIG. 4 illustrates example method(s) 400 of navigation tracking in an always aware location environment with mobile localization nodes as described herein, and the method is generally described with reference to a positioning module implemented in a mobile localization node. The order in which the method is described is not intended to be construed as a limitation, and any number or combination of the described method operations can be performed in any order to perform a method, or an alternate method. - At 402, at least one initial coordinate is received from a server computing device that implements a location module to locate wireless communication devices in an always aware location (AAL) environment. For example, the
location module 128 that is implemented by theserver computing device 126 locates themobile localization node 108 and themobile device 106 by the correspondingmobile localization node 140 in theAAL environment 102, which can be designated in the two dimensions as x,y-coordinates. Thepositioning module 134 that is implemented by themobile localization node 108 receives the coordinate data 132 (e.g., as x-coordinate data or x,y-coordinate data) corresponding to the mobile localization node from theserver computing device 126 to locate themobile localization node 108 in theAAL environment 102. Similarly, thepositioning module 142 of themobile localization node 140 that is implemented in themobile device 106 receives the coordinatedata 132 corresponding to the mobile device from theserver computing device 126 to locate themobile localization node 140 associated with themobile device 106 in theAAL environment 102. - At 404, one or more additional coordinates of a mobile localization node in the AAL environment is determined. For example, the
positioning module 134 that is implemented by themobile localization node 108 determines one or more additional coordinates (e.g., y,z-coordinates or a z-coordinate) of the mobile localization node in theAAL environment 102, such as from theinertial measurement unit 206 of themobile localization node 108. Similarly, thepositioning module 142 of themobile localization node 140 that is implemented in themobile device 106 determines one or more additional coordinates of the mobile device in theAAL environment 102, such as from theinertial measurement unit 222 of the mobile device. - At 406, the at least one initial coordinate received from the server computing device is correlated with the one or more additional coordinates determined by the positioning module based on a common timestamp for the initial and additional coordinates. For example, the
positioning module 134 that is implemented by themobile localization node 108 correlates the initial coordinates received from theserver computing device 126 with the additional coordinates determined by thepositioning module 134 for the mobile localization node. Similarly, thepositioning module 142 of themobile localization node 140 that is implemented in themobile device 106 correlates the initial coordinates received from theserver computing device 126 with the additional coordinates determined by thepositioning module 142 for the mobile device. - At 408, an origin of the mobile localization node within the AAL environment is designated based on a combination of the correlated coordinates. For example, the
positioning module 134 that is implemented by themobile localization node 108 designates the origin of the mobile localization node within theAAL environment 102 based on the combination of the correlated coordinates that correspond to the mobile localization node. In the example implementation, thisdevice origin 214 corresponds to the location of theitem 110 in theAAL environment 102. Similarly, thepositioning module 142 of themobile localization node 140 that is implemented in themobile device 106 designates the origin of the mobile device within theAAL environment 102 based on the combination of the correlated coordinates that correspond to the mobile device. - At 410, navigation of the mobile localization node is self-tracked in three dimensions based on updates to the correlated coordinates as the mobile localization node moves from the origin to subsequent locations within the AAL environment. For example, the
positioning module 134 that is implemented by themobile localization node 108 self-tracks navigation of the mobile localization node in theAAL environment 102 in three dimensions based on updates to the correlated coordinates as the mobile localization node moves (or is moved) from thedevice origin 214 to subsequent locations within the environment. This self-tracking the navigation of themobile localization node 108 within theAAL environment 102 by thepositioning module 134 of the mobile localization node is without receiving updated coordinatedata 132 from theserver computing device 126. Similarly, thepositioning module 142 of themobile localization node 140 that is implemented in themobile device 106 self-tracks navigation of the mobile device in theAAL environment 102 in three dimensions based on updates to the correlated coordinates as the mobile device moves (or is moved) from thedevice origin 230 to subsequent locations within the environment. This tracking the navigation of themobile device 106 within theAAL environment 102 by thepositioning module 142 of themobile localization node 140 in the mobile device is without receiving updated coordinatedata 132 from theserver computing device 126. - In implementations, the
positioning module 134 that is implemented by themobile localization node 108 receives updated coordinatedata 132 from theserver computing device 126 as the mobile localization node moves within the AAL environment 102 (similar in aspect to 402). Thepositioning module 134 of themobile localization node 108 also determines updated additional coordinates (e.g., the z-elevation data 212) for the mobile localization node as the mobile localization node moves (or is moved) within the AAL environment 102 (similar in aspect to 404). Thepositioning module 134 also tracks the navigation of themobile localization node 108 in the three dimensions in theAAL environment 102 based on the updated coordinates that are correlated by a common timestamp (similar in aspect to 406 and 410). - Similarly, the
positioning module 142 of themobile localization node 140 that is implemented in themobile device 106 receives updated coordinatedata 132 from theserver computing device 126 as the mobile device moves within the AAL environment 102 (similar in aspect to 402). Thepositioning module 142 of themobile localization node 140 in themobile device 106 also determines updated additional coordinates (e.g., the z-elevation data 228) for the mobile device as the mobile device moves (or is moved) within the AAL environment 102 (similar in aspect to 404). Thepositioning module 142 also tracks the navigation of themobile device 106 in the three dimensions in theAAL environment 102 based on the updated coordinates that are correlated by a common timestamp (similar in aspect to 406 and 410). - At 412, a request is received from the server computing device for a current position of the mobile localization node, and at 414, the current position of the mobile localization node is communicated based on current location coordinates of the mobile localization node in the AAL environment. For example, the
positioning module 134 that is implemented by themobile localization node 108 receives a request from theserver computing device 126 for the current position of the mobile localization node in theAAL environment 102, and themobile localization node 108 communicates thenavigation data 216 as its current position in theAAL environment 102 back to theserver computing device 126 based on the current location coordinates corresponding to themobile localization node 108, as tracked by thepositioning module 134. Similarly, thepositioning module 142 of themobile localization node 140 that is implemented in themobile device 106 receives a request from theserver computing device 126 for the current position of the mobile device in theAAL environment 102, and the mobile device communicates thenavigation data 232 from thepositioning module 142 as its current position in theAAL environment 102 back to theserver computing device 126 based on the current location coordinates corresponding to the mobile device, as tracked by thepositioning module 142. - At 416, a three-dimensional (3D) mesh is generated that visually represents one or more of the subsequent locations of the mobile localization node in the AAL environment. For example, the
positioning module 134 that is implemented by themobile localization node 108 generates the example three-dimensional (3D)mesh 302 that visually represents the location and/or subsequent locations of the mobile localization node in theAAL environment 102. Similarly, thepositioning module 142 of themobile localization node 140 that is implemented in themobile device 106 generates the example three-dimensional (3D)mesh 302 that visually represents the location and/or subsequent locations of the mobile device in theAAL environment 102, and the generated 3D mesh can be displayed to a user on a display device of the mobile device. -
FIG. 5 illustrates various components of anexample device 500 in which aspects of navigation tracking in an always aware location environment with mobile localization nodes can be implemented. Theexample device 500 can be implemented as any of the devices described with reference to the previousFIGS. 1-4 , such as any type of mobile device, mobile localization node, mobile phone, client device, wearable device, tablet, computing, communication, entertainment, gaming, media playback, and/or other type of electronic device. For example, theserver computing device 126, themobile device 106, and each of themobile localization nodes FIGS. 1-4 may be implemented as theexample device 500. Further a wearable device may include any one or combination of a watch, armband, wristband, bracelet, glove or pair of gloves, glasses, jewelry items, clothing items, any type of footwear or headwear, and/or other types of wearable articles. - The
device 500 includescommunication transceivers 502 that enable wired and/or wireless communication of device data 504 with other devices. The device data 504 can include any of the coordinate data, navigation data, and device location data. Additionally, the device data 504 can include any type of audio, video, and/or image data.Example communication transceivers 502 include wireless personal area network (WPAN) radios compliant with various IEEE 802.15 (Bluetooth™) standards, wireless local area network (WLAN) radios compliant with any of the various IEEE 802.11 (WiFi™) standards, wireless wide area network (WWAN) radios for cellular phone communication, wireless metropolitan area network (WMAN) radios compliant with various IEEE 802.16 (WiMAX™) standards, and wired local area network (LAN) Ethernet transceivers for network data communication. - The
device 500 may also include one or more data input ports 506 via which any type of data, media content, and/or inputs can be received, such as user-selectable inputs to the device, messages, music, television content, recorded content, and any other type of audio, video, and/or image data received from any content and/or data source. The data input ports may include USB ports, coaxial cable ports, and other serial or parallel connectors (including internal connectors) for flash memory, DVDs, CDs, and the like. These data input ports may be used to couple the device to any type of components, peripherals, or accessories such as microphones and/or cameras. - The
device 500 includes aprocessing system 508 of one or more processors (e.g., any of microprocessors, controllers, and the like) and/or a processor and memory system implemented as a system-on-chip (SoC) that processes computer-executable instructions. The processor system may be implemented at least partially in hardware, which can include components of an integrated circuit or on-chip system, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a complex programmable logic device (CPLD), and other implementations in silicon and/or other hardware. Alternatively or in addition, the device can be implemented with any one or combination of software, hardware, firmware, or fixed logic circuitry that is implemented in connection with processing and control circuits, which are generally identified at 510. Thedevice 500 may further include any type of a system bus or other data and command transfer system that couples the various components within the device. A system bus can include any one or combination of different bus structures and architectures, as well as control and data lines. - The
device 500 also includes computer-readable storage memory 512 (e.g., memory devices) that enable data storage, such as data storage devices that can be accessed by a computing device, and that provide persistent storage of data and executable instructions (e.g., software applications, programs, functions, and the like). Examples of the computer-readable storage memory 512 include volatile memory and non-volatile memory, fixed and removable media devices, and any suitable memory device or electronic data storage that maintains data for computing device access. The computer-readable storage memory can include various implementations of random access memory (RAM), read-only memory (ROM), flash memory, and other types of storage media in various memory device configurations. Thedevice 500 may also include a mass storage media device. - The computer-
readable storage memory 512 provides data storage mechanisms to store the device data 504, other types of information and/or data, and various device applications 514 (e.g., software applications). For example, anoperating system 516 can be maintained as software instructions with a memory device and executed by theprocessing system 508. The device applications may also include a device manager, such as any form of a control application, software application, signal-processing and control module, code that is native to a particular device, a hardware abstraction layer for a particular device, and so on. - In this example, the
device 500 includes apositioning module 518 that implements aspects of navigation tracking in an always aware location environment with mobile localization nodes, and may be implemented with hardware components and/or in software as one of thedevice applications 514, such as when thedevice 500 is implemented as themobile localization node 108 or as themobile localization node 140 of themobile device 106 shown and described with reference toFIGS. 1-4 . Examples of thepositioning module 518 are thepositioning module 134 that is implemented as a software application and/or as hardware components of themobile localization node 108, and thepositioning module 142 that is implemented as a software application and/or as hardware components of themobile localization node 140 in themobile device 106. In implementations, thepositioning module 518 may include independent processing, memory, and logic components as a computing and/or electronic device integrated with thedevice 500. - The
device 500 also includes alocation module 520 that implements aspects of navigation tracking in an always aware location environment with mobile localization nodes, and may be implemented with hardware components and/or in software as one of thedevice applications 514, such as when thedevice 500 is implemented as theserver computing device 126 shown and described with reference toFIGS. 1-4 . An example of thelocation module 520 is thelocation module 128 that is implemented as a software application and/or as hardware components in theserver computing device 126. In implementations, thelocation module 520 may include independent processing, memory, and logic components as a computing and/or electronic device integrated with thedevice 500. - In this example, the
device 500 also includes acamera 522 andmotion sensors 524, such as may be implemented in an inertial measurement unit (IMU). Themotion sensors 524 can be implemented with various sensors, such as a gyroscope, an accelerometer, and/or other types of motion sensors to sense motion of the device. Thevarious motion sensors 524 may also be implemented as components of an inertial measurement unit in the device. Theexample device 500 can also include one ormore power sources 526, such as when the device is implemented as a mobile device. The power sources may include a charging and/or power system, and can be implemented as a flexible strip battery, a rechargeable battery, a charged super-capacitor, and/or any other type of active or passive power source. - The
example device 500 also includes an audio and/orvideo processing system 528 that generates audio data for anaudio system 530 and/or generates display data for adisplay system 532. The audio system and/or the display system may include any devices that process, display, and/or otherwise render audio, video, display, and/or image data. Display data and audio signals can be communicated to an audio component and/or to a display component via an RF (radio frequency) link, S-video link, HDMI (high-definition multimedia interface), composite video link, component video link, DVI (digital video interface), analog audio connection, or other similar communication link, such asmedia data port 534. In implementations, the audio system and/or the display system are integrated components of the example device. Alternatively, the audio system and/or the display system are external, peripheral components to the example device. - Although aspects of navigation tracking in an always aware location environment with mobile localization nodes have been described in language specific to features and/or methods, the subject of the appended claims is not necessarily limited to the specific features or methods described. Rather, the specific features and methods are disclosed as example implementations of navigation tracking in an always aware location environment with mobile localization nodes, and other equivalent features and methods are intended to be within the scope of the appended claims. Further, various different embodiments are described and it is to be appreciated that each described embodiment can be implemented independently or in connection with one or more other described embodiments. Additional aspects of the techniques, features, and/or methods discussed herein relate to one or more of the following embodiments.
- A positioning system, comprising: a server computing device that implements a location module to locate wireless communication devices in an always aware location (AAL) environment; a mobile localization node located within the AAL environment, the mobile localization node implements a positioning module to: receive, from the server computing device, one or two initial coordinates of the mobile localization node at a current location in the AAL environment; determine one or more additional coordinates of the mobile localization node at the current location in the AAL environment; designate the current location as an origin of the mobile localization node based on a combination of the initial and additional coordinates; and self-track navigation of the mobile localization node within the AAL environment as the mobile localization node moves from the origin to subsequent locations.
- Alternatively or in addition to the above described positioning system, any one or combination of: the positioning module of the mobile localization node is implemented to self-track the navigation of the mobile localization node within the AAL environment without receiving updated coordinates from the server computing device. The positioning module of the mobile localization node is implemented to determine the one or more additional coordinates of the mobile localization node from an inertial measurement unit of the mobile localization node. The positioning module of the mobile localization node is implemented to: receive the initial coordinates as x,y-coordinates of the mobile localization node at the current location in the AAL environment; determine the additional coordinate as a z-coordinate of the mobile localization node at the current location in the AAL environment; and designate the origin of the mobile localization node at the x,y,z-coordinates. The positioning module of the mobile localization node is implemented to self-track the navigation of the mobile localization node within the AAL environment from the origin based on data received from an inertial measurement unit of the mobile localization node. The positioning module of the mobile localization node is implemented to: receive a request from the server computing device for a current position of the mobile localization node; and communicate the current position of the mobile localization node based on current location coordinates of the mobile localization node in the AAL environment. The mobile localization node is a wireless tag associated with an object in the AAL environment; and the positioning module of the mobile localization node is implemented to designate a subsequent location of the object in a z-elevation at an x,y-location in the AAL environment. The positioning module of the mobile localization node is implemented to generate a three-dimensional (3D) mesh that visually represents one or more of the subsequent locations of the mobile localization node in the AAL environment. The AAL environment is a geo-fenced area; the positioning module of the mobile localization node is implemented to: receive, from the server computing device, indications of distances from the current location of the mobile localization node to boundaries of the geo-fenced area; and determine when a subsequent location of the mobile localization node corresponds to a boundary of the geo-fenced area based on the self-tracking of the mobile localization node.
- A mobile localization node, comprising: a communication interface to receive at least one initial coordinate from a server computing device that implements a location module to locate wireless communication devices in an always aware location (AAL) environment; a processor to implement a positioning module to: determine one or more additional coordinates of the mobile localization node in the AAL environment; correlate the at least one initial coordinate received from the server computing device with the one or more additional coordinates determined by the positioning module based on a common timestamp for the initial and additional coordinates; designate an origin of the mobile localization node within the AAL environment based on a combination of the correlated coordinates; and self-track navigation of the mobile localization node in three dimensions based on updates to the correlated coordinates as the mobile localization node moves from the origin to subsequent locations within the AAL environment.
- Alternatively or in addition to the above described mobile localization node, any one or combination of: the positioning module is implemented to self-track the navigation of the mobile localization node within the AAL environment without receiving updated coordinates from the server computing device. The mobile localization node further comprising an inertial measurement unit from which the positioning module is implemented to determine the one or more additional coordinates of the mobile localization node. The communication interface is implemented to receive a request for a current position of the mobile localization node; and the positioning module is implemented to provide the current position of the mobile localization node based on current location coordinates of the mobile localization node in the AAL environment. The mobile localization node is a wireless tag associated with an object in the AAL environment; and the positioning module of the mobile localization node is implemented to designate a subsequent location of the object in a z-elevation at an x,y-location in the AAL environment. The positioning module of the mobile localization node is implemented to generate a three-dimensional (3D) mesh that visually represents one or more of the subsequent locations of the mobile localization node in the AAL environment.
- A method, comprising: receiving at least one initial coordinate from a server computing device that implements a location module to locate wireless communication devices in an always aware location (AAL) environment; determining one or more additional coordinates of a mobile localization node in the AAL environment; correlating the at least one initial coordinate received from the server computing device with the one or more additional coordinates based on a common timestamp for the initial and additional coordinates; designating an origin of the mobile localization node within the AAL environment based on a combination of the correlated coordinates; and self-tracking, by the mobile localization node, navigation of the mobile localization node in three dimensions based on updates to the correlated coordinates as the mobile localization node moves from the origin to subsequent locations within the AAL environment.
- Alternatively or in addition to the above described method, any one or combination of: receiving updated location coordinates as the mobile localization node moves within the AAL environment; determining updated additional coordinates of the mobile localization node as the mobile localization node moves within the AAL environment; and the self-tracking the navigation of the mobile localization node in the three dimensions based on the updated coordinates that are correlated by the common timestamp. The self-tracking the navigation of the mobile localization node within the AAL environment is without receiving updated coordinates from the server computing device. The method further comprising: receiving a request from the server computing device for a current position of the mobile localization node; and communicating the current position of the mobile localization node based on current location coordinates of the mobile localization node in the AAL environment. The method further comprising generating a three-dimensional (3D) mesh that visually represents one or more of the subsequent locations of the mobile localization node in the AAL environment.
Claims (20)
1. A positioning system, comprising:
a server computing device that implements a location module to locate wireless communication devices in an always aware location (AAL) environment;
a mobile localization node located within the AAL environment, the mobile localization node including a memory and a processor that implements, at least partially in hardware, a positioning module to:
receive, from the server computing device, one or two initial coordinates of the mobile localization node at a current location in the AAL environment;
determine one or more additional coordinates of the mobile localization node at the current location in the AAL environment;
designate the current location as an origin of the mobile localization node based on a combination of the initial and additional coordinates; and
self-track navigation of the mobile localization node within the AAL environment as the mobile localization node moves from the origin to subsequent locations, the self-track navigation based on navigation data generated by the mobile localization node, and the self-track navigation performed without receiving updated coordinates from the server computing device.
2. The positioning system as recited in claim 1 , wherein the positioning module of the mobile localization node is implemented to receive the navigation data from an inertial measurement unit of the mobile localization node to self-track the navigation of the mobile localization node within the AAL environment.
3. The positioning system as recited in claim 1 , wherein the positioning module of the mobile localization node is implemented to determine the one or more additional coordinates of the mobile localization node from an inertial measurement unit of the mobile localization node.
4. The positioning system as recited in claim 1 , wherein the positioning module of the mobile localization node is implemented to:
receive the initial coordinates as x,y-coordinates of the mobile localization node at the current location in the AAL environment;
determine the additional coordinate as a z-coordinate of the mobile localization node at the current location in the AAL environment; and
designate the origin of the mobile localization node at the x,y,z-coordinates.
5. The positioning system as recited in claim 1 , wherein the positioning module of the mobile localization node is implemented to self-track the navigation of the mobile localization node within the AAL environment from the origin based on the navigation data received from an inertial measurement unit of the mobile localization node.
6. The positioning system as recited in claim 1 , wherein the positioning module of the mobile localization node is implemented to:
receive a request from the server computing device for a current position of the mobile localization node; and
communicate the current position of the mobile localization node based on current location coordinates of the mobile localization node in the AAL environment.
7. The positioning system as recited in claim 1 , wherein:
the mobile localization node is a wireless tag associated with an object in the AAL environment; and
the positioning module of the mobile localization node is implemented to designate a subsequent location of the object in a z-elevation at an x,y-location in the AAL environment.
8. The positioning system as recited in claim 1 , wherein the positioning module of the mobile localization node is implemented to generate a three-dimensional (3D) mesh that visually represents one or more of the subsequent locations of the mobile localization node in the AAL environment.
9. The positioning system as recited in claim 1 , wherein:
the AAL environment is a geo-fenced area;
the positioning module of the mobile localization node is implemented to:
receive, from the server computing device, indications of distances from the current location of the mobile localization node to boundaries of the geo fenced area; and
determine when a subsequent location of the mobile localization node corresponds to a boundary of the geo-fenced area based on the self-tracking of the mobile localization node.
10. A mobile localization node, comprising:
a communication interface to receive at least one initial coordinate from a server computing device that implements a location module to locate wireless communication devices in an always aware location (AAL) environment;
a processor to implement, at least partially in hardware, a positioning module to:
determine one or more additional coordinates of the mobile localization node in the AAL environment;
correlate the at least one initial coordinate received from the server computing device with the one or more additional coordinates determined by the positioning module based on a common timestamp for the initial and additional coordinates;
designate an origin of the mobile localization node within the AAL environment based on a combination of the correlated coordinates; and
self-track navigation of the mobile localization node in three dimensions based on updates to the correlated coordinates as the mobile localization node moves from the origin to subsequent locations within the AAL environment, the updates to the correlated coordinates determined from navigation data generated by an inertial measurement unit of the mobile localization node.
11. The mobile localization node as recited in claim 10 , wherein the positioning module is implemented to self-track the navigation of the mobile localization node within the AAL environment without receiving updated coordinates from the server computing device.
12. The mobile localization node as recited in claim 10 , further comprising the inertial measurement unit from which the positioning module is implemented to determine the one or more additional coordinates of the mobile localization node.
13. The mobile localization node as recited in claim 10 , wherein:
the communication interface is implemented to receive a request for a current position of the mobile localization node; and
the positioning module is implemented to provide the current position of the mobile localization node based on current location coordinates of the mobile localization node in the AAL environment.
14. The mobile localization node as recited in claim 10 , wherein:
the mobile localization node is a wireless tag associated with an object in the AAL environment; and
the positioning module of the mobile localization node is implemented to designate a subsequent location of the object in a z-elevation at an x,y-location in the AAL environment.
15. The mobile localization node as recited in claim 10 , wherein the positioning module of the mobile localization node is implemented to generate a three dimensional (3D) mesh that visually represents one or more of the subsequent locations of the mobile localization node in the AAL environment.
16. A method, comprising:
executing a positioning module on a processor of a mobile localization node implemented as a computing device, the positioning module performing:
receiving at least one initial coordinate from a server computing device that implements a location module to locate wireless communication devices in an always aware location (AAL) environment;
determining one or more additional coordinates of a mobile localization node in the AAL environment;
correlating the at least one initial coordinate received from the server computing device with the one or more additional coordinates based on a common timestamp for the initial and additional coordinates;
designating an origin of the mobile localization node within the AAL environment based on a combination of the correlated coordinates; and
self-tracking, by the mobile localization node, navigation of the mobile localization node in three dimensions based on updates to the correlated coordinates as the mobile localization node moves from the origin to subsequent locations within the AAL environment, the updates to the correlated coordinates determined from navigation data generated by an inertial measurement unit of the mobile localization node.
17. The method as recited in claim 16 , further comprising:
receiving updated location coordinates as the mobile localization node moves within the AAL environment;
determining updated additional coordinates of the mobile localization node as the mobile localization node moves within the AAL environment; and
the self-tracking the navigation of the mobile localization node in the three dimensions based on the updated coordinates that are correlated by the common timestamp.
18. The method as recited in claim 16 , wherein the self-tracking the navigation of the mobile localization node within the AAL environment is without receiving updated coordinates from the server computing device.
19. The method as recited in claim 16 , further comprising:
receiving a request from the server computing device for a current position of the mobile localization node; and
communicating the current position of the mobile localization node based on current location coordinates of the mobile localization node in the AAL environment.
20. The method as recited in claim 16 , further comprising generating a three-dimensional (3D) mesh that visually represents one or more of the subsequent locations of the mobile localization node in the AAL environment.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/276,408 US10433118B1 (en) | 2018-03-30 | 2019-02-14 | Navigation tracking in an always aware location environment with mobile localization nodes |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/941,950 US10285017B1 (en) | 2018-03-30 | 2018-03-30 | Navigation tracking in an always aware location environment with mobile localization nodes |
US16/276,408 US10433118B1 (en) | 2018-03-30 | 2019-02-14 | Navigation tracking in an always aware location environment with mobile localization nodes |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/941,950 Continuation US10285017B1 (en) | 2018-03-30 | 2018-03-30 | Navigation tracking in an always aware location environment with mobile localization nodes |
Publications (2)
Publication Number | Publication Date |
---|---|
US10433118B1 US10433118B1 (en) | 2019-10-01 |
US20190306665A1 true US20190306665A1 (en) | 2019-10-03 |
Family
ID=66333867
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/941,950 Active US10285017B1 (en) | 2018-03-30 | 2018-03-30 | Navigation tracking in an always aware location environment with mobile localization nodes |
US16/276,408 Active US10433118B1 (en) | 2018-03-30 | 2019-02-14 | Navigation tracking in an always aware location environment with mobile localization nodes |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/941,950 Active US10285017B1 (en) | 2018-03-30 | 2018-03-30 | Navigation tracking in an always aware location environment with mobile localization nodes |
Country Status (1)
Country | Link |
---|---|
US (2) | US10285017B1 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10285017B1 (en) | 2018-03-30 | 2019-05-07 | Motorola Mobility Llc | Navigation tracking in an always aware location environment with mobile localization nodes |
CN111148058A (en) * | 2019-12-31 | 2020-05-12 | 武汉工程大学 | Method, system and mobile robot for locating moving target in indoor environment |
WO2022133356A1 (en) * | 2020-12-19 | 2022-06-23 | Abalta Technologies, Inc. | Contactless identification and payment |
CN113490171B (en) * | 2021-08-11 | 2022-05-13 | 重庆大学 | An Indoor Localization Method Based on Visual Labels |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104301967A (en) * | 2013-07-15 | 2015-01-21 | 中兴通讯股份有限公司 | Cell discovery method and cell discovery device |
WO2015174764A1 (en) * | 2014-05-15 | 2015-11-19 | Samsung Electronics Co., Ltd. | System for providing personalized information and method of providing the personalized information |
US10285017B1 (en) | 2018-03-30 | 2019-05-07 | Motorola Mobility Llc | Navigation tracking in an always aware location environment with mobile localization nodes |
-
2018
- 2018-03-30 US US15/941,950 patent/US10285017B1/en active Active
-
2019
- 2019-02-14 US US16/276,408 patent/US10433118B1/en active Active
Also Published As
Publication number | Publication date |
---|---|
US10285017B1 (en) | 2019-05-07 |
US10433118B1 (en) | 2019-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10584968B2 (en) | Visual mapping of geo-located tagged objects | |
US10460468B2 (en) | User pose and item correlation | |
US11467247B2 (en) | Vision and radio fusion based precise indoor localization | |
US10873833B2 (en) | Location correlation in a region based on signal strength indications | |
US12340143B2 (en) | Sharing neighboring map data across devices | |
US10600252B2 (en) | Coarse relocalization using signal fingerprints | |
US10433118B1 (en) | Navigation tracking in an always aware location environment with mobile localization nodes | |
US10531065B2 (en) | Coarse relocalization using signal fingerprints | |
US12063059B2 (en) | UWB accessory for a wireless device | |
US10212553B1 (en) | Direction determination of a wireless tag | |
US11990012B2 (en) | Object contextual control based on UWB radios | |
US20230171298A1 (en) | Digital Media Playback Based on UWB Radios | |
US9076062B2 (en) | Feature searching along a path of increasing similarity | |
US20190188427A1 (en) | Determining Blocked Wireless Communication Between Devices | |
US10299081B1 (en) | Gesture profiles and location correlation | |
US20190065984A1 (en) | Method and electronic device for detecting and recognizing autonomous gestures in a monitored location | |
US20240346692A1 (en) | Object tracking via glasses device | |
US12442915B1 (en) | Method and system for determining device orientation within augmented reality | |
CN114302501B (en) | Method, device and electronic system for establishing connection | |
TW202529037A (en) | Structure-from-motion (sfm) sequencing using non-visual information | |
GB2615645A (en) | UWB Automation experiences controller | |
WO2020247034A1 (en) | Coarse relocalization using signal fingerprints and session-specific identifiers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |