Embodiments of the present disclosure generally relate to automatically providing a recommended pathway to a user with an electronic device ED.
Today, a person in an unfamiliar building or campus may find it difficult to navigate and find rooms and other destinations. The difficulties may lead to delayed meeting start times and user frustration. Electronic devices (EDs) (e.g., cellular phones, tablet devices, laptop computers) support location services that allow a user to provide physical geographic locations of the electronic device. However, most current tracking services are configured to navigate a person in an outside environment along highways, city streets, and the like. To provide the location service, the ED utilizes an internal tracking system, such as a GPS chip set, to periodically broadcast the geographic location of the electronic device to a remote server or use dead reckoning.
Conventional GPS and dead reckoning solutions may route a person to a building, but once the person enters the building the tracking method becomes less reliable. Currently, building floor plans and layouts are not part of the GPS navigation map system.
A need remains for a navigation system and method to assist users in navigating in an indoor setting.
In accordance with embodiments herein, a method is provided. The method may comprise obtaining one or more prior pathways through a physical structure environment (PSE) followed by a collection of electronic devices (EDs) over time in connection with the EDs navigating through the PSE. The method may also comprise determining a recommended pathway through the PSE to a PSE destination based on the one or more prior pathways and presenting the recommended pathway.
Additionally or alternatively, in accordance with aspects herein, the recommended pathway may be determined independent of any geographic mapping data associated with the PSE. Additionally or alternatively, in accordance with aspects herein, the recommended pathway may be presented as audio, visual and/or tactile information. Additionally or alternatively, in accordance with aspects herein, the recommended pathway may also be presented by displaying the recommended pathway on a display of an augmented reality (AR) device. Additionally or alternatively, in accordance with aspects herein, multiple prior pathways may be presented on the display, emphasizing the recommended pathway amongst the prior pathways. Additionally or alternatively, in accordance with aspects herein, the pathways may be defined based on environmental related device captured (ERDC) data. Additionally or alternatively, in accordance with aspects herein, the recommended pathway may also be calculated using a current location of the ED, the PSE destination, and the ERDC data defining the pathways. Additionally or alternatively, in accordance with aspects herein, the ERDC data defining the pathways may be updated as office layouts, office identifiers, and the like change over time.
Additionally or alternatively, in accordance with aspects herein, obtaining one or more prior pathways may include accessing memory storing the one or more prior pathways. The pathways may be built by tracking position data for the collection of EDs over time while the EDs navigate through the PSE and identifying potential PSE destinations within the PSE. Building the pathways may also include analyzing the position data to identify the one or more prior pathways through the PSE to corresponding ones of the potential PSE destinations. Additionally or alternatively, in accordance with aspects herein, the position data may be recorded in a tracking log and may include a starting location, a destination, route information, tracking data, and potential PSE destinations.
In accordance with embodiments herein, a system is provided. The system may include a user interface, a processor, and a memory storing program instructions accessible by the processor, wherein, responsive to execution of the program instructions, the processor to obtain one or more prior pathways through a physical structure environment (PSE) followed by a collection of electronic devices (EDs) over time in connection with the EDs navigating through the PSE. The processors may also determine a recommended pathway through the PSE to a PSE destination based on the one or more prior pathways and present the recommended pathway.
Additionally or alternatively, in accordance with aspects herein, the processor may determine the recommended pathway independent of any geographic mapping data associated with the PSE. Additionally or alternatively, in accordance with aspects herein, the processor may present the recommended pathway as one or more of audio, visual and tactile information. Additionally or alternatively, in accordance with aspects herein, the processor may present the recommended pathway by displaying the recommended pathway on a display of an augmented reality (AR) device. Additionally or alternatively, in accordance with aspects herein, the processor may present multiple of the one or more prior pathways and emphasizes the recommended pathway one or more prior pathways.
Additionally or alternatively, in accordance with aspects herein, the processor may access memory to obtain the one or more prior pathways, wherein the processor may track position data for the collection of EDs over time while the EDs navigate through the PSE, may identify potential PSE destinations within the PSE, and may analyze the position data to identify the one or more prior pathways through the PSE to corresponding ones of the potential PSE destinations to build the one or more prior pathways. Additionally or alternatively, in accordance with aspects herein, the processor may access memory to record position data in a tracking log. The tracking log may include a starting location, a destination, route information, and potential PSE destinations. Additionally or alternatively, in accordance with aspects herein, the processor may access memory to calculate the recommended pathway using a current location of the ED, the PSE destination, and the ERDC data defining the one or more pathways.
In accordance with embodiments herein, a computer program product is provided. The computer program product may include a non-signal computer readable storage medium comprising computer executable code to obtain one or more prior pathways through a physical structure environment (PSE) followed by a collection of electronic devices (EDs) over time in connection with the EDs navigating through the PSE. Also, the computer program product may include a non-signal computer readable storage medium comprising computer executable code to determine a recommended pathway through the PSE to a PSE destination based on the one or more prior pathways and present the recommended pathway.
Additionally or alternatively, in accordance with aspects herein, the computer program product may include presenting the recommended pathway by displaying the recommended pathway on a display of an augmented reality (AR) device. Additionally or alternatively, in accordance with aspects herein, the computer program product may include presenting multiple of the one or more prior pathways and emphasizing the recommended pathway one or more prior pathways.
It will be readily understood that the components of the embodiments as generally described and illustrated in the Figures herein, may be arranged and designed in a wide variety of different configurations in addition to the described example embodiments. Thus, the following more detailed description of the example embodiments, as represented in the Figures, is not intended to limit the scope of the embodiments, as claimed, but is merely representative of example embodiments.
Reference throughout this specification to “one embodiment” or “an embodiment” (or the like) means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment. Thus, appearances of the phrases “in one embodiment” or “in an embodiment” or the like in various places throughout this specification are not necessarily all referring to the same embodiment.
Furthermore, the described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are provided to give a thorough understanding of embodiments. One skilled in the relevant art will recognize, however, that the various embodiments can be practiced without one or more of the specific details, or with other methods, components, materials, etc. In other instances, well-known structures, materials, or operations are not shown or described in detail to avoid obfuscation. The following description is intended only by way of example, and simply illustrates certain example embodiments.
The term “physical structure environment” and PSE shall mean an internal region of one or more buildings and/or an external region proximate to and surrounding one or more buildings. For example, an internal region within a physical structure environment shall represent doorways, entry areas, hallways, interior common areas, conference rooms, offices, meeting areas, cubicles, restrooms, stairways, and elevators. As another example, an external region within a physical structure environment shall represent exterior common areas, sidewalks and pathways around and between one or more buildings, and enclosed walkways (above ground or below ground) between interconnected buildings.
The term “PSE pathway” shall mean a route through the PSE, such as one or more hallways, stairwells, interior/exterior walkways proximate one or more buildings, and the like.
The term “PSE destination” shall mean a node along one or more PSE pathways within the PSE that represents an endpoint for one or more individuals traveling through the PSE, where the endpoint has an associated purpose of interest to the one or more individuals. Nonlimiting examples of PSE destinations include conference rooms, cubicles, elevators, restrooms, stairwells, common areas and the like.
The terms “environment related device captured data” and “ERDC data” shall mean data that is captured or otherwise collected by an ED, for which position data is tracked, where the data relates to, contains information concerning, or in indicative of, a destination related feature of interest for the PSE. By way of example, the ERDC data may represent a designation for a PSE destination within the PSE, such as a designation for a conference room (e.g., name, number or location), doorway, entry area, hall way, interior common area, office, meeting area, cubicle, exit, restroom, stairway, elevator and the like. As another example, the ERDC data may be a designation for an external feature of interest, such as an exterior common area, sidewalk or pathway around and between one or more buildings, an enclosed walkway, and the like. As further examples, the ERDC data may include a name or other descriptor of the FOI. Additionally, or alternatively, the ERDC data may include an image or video (e.g., captured by a camera on the ED) of the FOI.
The term “ED” shall mean an electronic device that is carried by an individual while navigating within a PSE. An ED may be utilized as a “pathway sourcing ED,” wherein position data is collected from the ED while the ED navigates through the PSE and/or wherein ERDC data is collected from the ED while navigating through or located at various destinations or nodes within the PSE. An ED may be utilized as an “destination ED,” wherein the destination ED determines a recommended pathway and/or presents the recommended pathway. The same ED may be utilized as a pathway sourcing ED and a destination ED.
For example, at one point in time, while an individual carries an ED throughout a PSE, the ED generates position data indicative of locations of the ED while navigating through the PSE. The ED, another ED and/or a remote server may then analyze the position data to identify the corresponding pathway (representing one of the one or more prior pathways). The ED, another ED and/or a remote server may then analyze the position data to identify potential PSE destinations. Continuing with the present example, at another point in time, the individual may desire to navigate to a PSE destination. The same ED may operate as a destination ED that determines a recommended pathway and/or presents the recommended pathway.
In accordance with embodiments herein, methods, systems, and computer program products are provided that enhance navigation through an environment based on a collection of prior pathways taken by others in the environment. For example, an individual may know a room number where a forthcoming meeting takes place in an environment but may not know how to navigate through the environment to the meeting room in a timely fashion. In accordance with new and unique aspects herein, the individual may obtain directions to the meeting room from a navigation system within the environment. The request may be also be triggered by a meeting reminder in the individual's electronic device. The environment related device captured data from the individual's electronic device and from previously tracked electronic devices may be obtained and analyzed, combining the data with navigation tools to provide reliable navigation assistance along a pathway through an environment. Movements of the individual may be tracked via WiFi nodes, GPS, and/or dead reckoning. Embodiments herein allow the individual's PSE destination requests to be paired with an indoor navigation system. As one nonlimiting example, the individual may utilize an augmented reality feature in a phone, smart glasses or the like to access an indoor environment and obtain detailed navigation that follows a recommended pathway derived from previous pathways taken by other individuals within the PSE. Hallways, doors, and turns can be recognized and highlighted as they are encountered in real time in the real world.
At least one of the EDs 110 may be configured to implement tracking in accordance with embodiments herein. The ED 110 that is configured to implement tracking includes one or more processors 114, memory 116, a display 118, a user interface 120, a network communications interface 122, and various other mechanical components, electrical circuits, hardware and software to support operation of the client device 110. It is recognized that not all electronic devices 110 include a display, user interface, and the like. For example, a fixed or handheld camera may simply include camera related electronics and network circuitry to support communication to and from the camera.
The electronic device 110 includes one or more cameras 112 and microphone 113. The cameras 112 are configured to capture still and/or video data regarding an environment surrounding the electronic device. The microphone 113 is configured to capture audio data regarding the environment surrounding the electronic device. Optionally, the same cameras 112 and microphone 113 may be utilized throughout navigation to collect additional audio, image and video data regarding the environment surrounding the electronic device as environment related device captured (ERDC) data. The ERDC data may be used during navigation to track the present location of the user and collect movement information, such as when GPS functionality is not available. The user interface 120 may include a variety of visual, audio, and/or mechanical devices. For example, the user interface 120 can include a visual input device such as an optical sensor or camera, an audio input device such as a microphone, and a mechanical input device such as a keyboard, keypad, selection hard and/or soft buttons, switch, touchpad, touch screen, icons on a touch screen, a touch sensitive areas on a touch sensitive screen and/or any combination thereof. Similarly, the user interface 120 can include a visual output device such as a liquid crystal display screen, one or more light emitting diode indicators, an audio output device such as a speaker, alarm and/or buzzer, and a mechanical output device such as a vibrating mechanism. The display may be touch sensitive to various types of touch and gestures. As further examples, the user interface 120 may include a touch sensitive screen, a non-touch sensitive screen, a text-only display, a smart phone display, an audio output (e.g., a speaker or headphone jack), and/or any combination thereof. The user interface 120 permits the user to select one or more of a switch, button or icon in connection with various operations of the device 110.
The network communications interface 122 provides a direct connection to other devices, auxiliary components, or accessories for additional or enhanced functionality, and in particular, can include a USB port for linking to a user device with a USB cable. Optionally, the network communications interface 122 may include one or more transceivers that utilize a known wireless technology for communication.
The memory 116 can encompass one or more memory devices of any of a variety of forms (e.g., read only memory, random access memory, static random-access memory, dynamic random-access memory, etc.) and can be used by the processor 114 to store and retrieve data. The data that is stored by the memory 116 can include, but need not be limited to, operating systems, applications, and other information. Each operating system includes executable code that controls basic functions of the communication device, such as interaction among the various components, communication with external devices via a wireless transceivers and/or component interface, and storage and retrieval of applications and data to and from the memory 116. Each application includes executable code that utilizes an operating system to provide more specific functionality for the communication devices, such as file system service and handling of protected and unprotected data stored in the memory 116.
The memory 116 further includes, among other things, an ED tracking (EDT) application 126, tracking data 128, a tracking log 132 and one or more templates 140. The functionality of the EDT application 126 is described below in more detail. The templates 140 may include one or more types of templates that are descriptive of, and associated with, PSE destinations. More than one type of template (e.g., images, audio signatures, positions) may be associated with PSE destinations, For example, image-based templates may include still or video images, such as pictures/videos of hallways, rooms, room numbers and the like associated with a PSE destination, where the images are taken from different angles, with different lighting, and at different distances from the PSE destination. As another example, hallway images, still and/or video, may be captured from various EDs along various pathways, some from an east bound perspective, others from a west bound perspective during various times of the day along the way to a PSE destination. Audio-based templates may include sounds associated with a particular location, such as a refrigerator, a coffee machine, and/or running water at a sink associated with a kitchen area. Another example may include the sounds of printers/copiers associated with a specific room or area. In other words, the audio-based template may include sounds that are consistent or frequent enough to be part of the ambient sounds of a particular location. Position-based templates may identify a particular location associated with an ED tracked via a WiFi node in a particular location, such as a user's cell phone tracked in that user's office over time (e.g., Tom's cell phone is used to identify Tom's office because the cell phone is almost always in the office during work hours). Optionally, triangulation to WiFi nodes for a network may be used to identify locations (e.g., conference room WiFi node may be strongest, east to west WiFi nodes are equally strong).
The tracking data 128 may include one or more types of position data based on the electronic device 110 that collects the position data. The tracking data may be GPS, dead reckoning, ERDC data, and the like. The tracking data may be collected over the network 112 from numerous types of EDs 110 that implement a tracking operation (also referred to as tracking devices). For example, cell phones and cameras may collect image-based ERDC data, while cell phones, smart watches, digital personal assistance and the like collect audio-based ERDC data and position data.
The EDT application 126 generates and stores route information that defines the pathways. The route information may represent GPS coordinates (even though map data is not known for a PSE), dead reckoning coordinates, and the like. The route information may be defined with respect to ERDC data, such as the hallway by the water cooler, the stair way by the east end WiFi node, and the like. The EDT application 126 is configured to track position data for the collection of EDs over time while the EDs navigate through the PSE, identify potential PSE destinations within the PSE; and analyze the position data to identify the one or more prior pathways through the PSE to corresponding ones of the potential PSE destinations.
As explained herein, the EDT application 126 utilizes the templates 140 to analyze the tracking data 126 to identify pathways and potential PSE destinations. The EDT application 126 updates the tracking log 132 based on the analysis and provides feedback to the user concerning pathways regarding where a PSE destination may be located. The tracking log 132 maintains various information concerning pathways associated with PSE destinations. By way of example, the tracking log 132 may include routing information concerning ED starting locations, PSE destination locations, and pathways. The starting location for an ED may be stored into the tracking log as GPS coordinates, a triangulated location from WiFi nodes, an office location derived by ERDC data, and the like. The PSE destination locations may be stored as room numbers, GPS coordinates, and the like. Pathways may be stored as routing information with directions such as, “in 20 feet turn left at the next hallway.” Additionally or alternatively, the pathways may be stored as tracking data corresponding to one or more of GPS data, ERDC data, dead reckoning data, or WiFi node data.
In the foregoing example, the ED 110 implements the EDT application 126 locally on a device that may be generally present within the physical area of a user. For example, the ED 110 may represent the user's cell phone, laptop computer, tablet device, DPA device and the like.
Additionally or alternatively, all or portions of the EDT application 108 may be implemented remotely on a remote resource, denoted in
The ED tracker 102 includes one or more processors 104 and memory 106, among other structures that support operation of the object tracker 102. In accordance with embodiments herein, the ED tracker 102 receives requests from various EDs 110 and returns resources in connection there with. It is recognized that the ED tracker 102 performs other operations, not described herein, such as operations associated with maintaining resources and the like.
The memory 150 may store the ED templates 140 organized in various manners and related to a wide variety of EDs and types of tracking data. The ED templates 140 may be based on different types of information, such as image data, video data, audio data, and position data. Optionally, the memory 150 may store tracking data 160, such as when the ED tracker 102 receives tracking data from EDs 110 that are performing tracking operations. Optionally, the memory 150 may store tracking logs 162, such as when the ED tracker 102 performs ED tracking operations at the request of an ED 110.
The memory 106, 116, 150 stores various types of tracking data 128, 160 (see
The memory 106, 116, 150 may also store a tracking log 270 that is maintained and updated in connection with particular EDs presently being tracked. For example, the tracking log 270 may maintain a running list of pathways for a particular ED, where each pathway represents a route to a potential PSE. For example, the tracking log 270 may include information concerning an ED identifier, a starting location of the ED, a destination location of the ED, tracking data and/or route information, and potential PSE destinations. In one embodiment, the tracking log 270 stores the raw tracking data. Additionally or alternatively, the tracking log 270 may store route information. For example, the tracking data may be analyzed to identify route information, and the route information is stored in the tracking log. As a further example, when the tracking data corresponds to GPS coordinates, the tracking log 270 may store the raw GPS coordinates as the tracking data and/or store a route or routing information, derived from the GPS coordinates. As an additional example, when the tracking data represents ERDC data, the raw ERDC data may be store in the tracking log 270 (e.g., images captured along a pathway, audio segments recorded in connection with an environment along a pathway). Additionally or alternatively, the ERDC data may be analyzed to derive routing information based thereon. For example, when the ERDC data represents images that are collected at intermittent periods while a user is carrying a smart phone along a hallway, the images representing ERDC data may be analyzed to identify routing information. The routing information may be representative of a path defined with respect to a coordinate system (e.g., traveling east). The routing information may indicate a distance traveled in a particular direction (e.g., traveling 300 feet east, then turning north traveling 50 feet, then turning to face west to enter a destination).
In one embodiment, with reference to
The memory also stores the recommended pathway 271 that is calculated using the user's current location, the PSE destination, one or more pathways, and a confidence rating. For example, ED1 may start at location L1 and proceed to PSE destination D1 along recommended pathway R1. There may not be a value calculated for a confidence rating, because there is only one recommended pathway. However, a confidence rating may be calculated if there are multiple recommended pathways presented to the user. For example, ED2 may start at location L2. There may be two pathways (R2 and R2′) to PSE destination D2. A confidence rating may be assigned to each pathway. For example, a recommendation for pathway R2 may have a confidence rating higher than a recommendation for pathway R2′, because pathway R2′ is the slower pathway to PSE destination D2.
At 302, the one or more processors track and collect position data for one or more electronic devices in connection with tracking movement by a collection of EDs. For example, users of EDs willing to contribute to a database containing position data for a given PSE opt-in and the position data is thereby tracked. The position data may be a series or set of data points, data vectors (e.g., direction and distance), and the like. The EDs are tracked at various locations within an established PSE boundary. The boundary may include only areas inside of the PSE. Optionally, the PSE tracking boundary may extend to areas outside of the PSE building. Optionally, the PSE may be part of a campus of buildings, which may expand the PSE boundary. The EDs may be tracked within the entire campus, including the inside and outside of various buildings that make up the PSE. The data may be collected by EDs configured to track the movements of other EDs. The EDs may track and collect the position data from other EDs. Optionally the position data may be relayed to one or more remote servers.
The position data may include GPS coordinates indicative of a location of the ED at various points in time. For example, on a campus of buildings, position data may be comprised of GPS coordinates. The tracked EDs may be tracked via GPS satellites along various pathways within various PSE destinations. The position data may be collected as longitude and latitude coordinates as well as street addresses where the given ED has traveled over a period of time. In the example illustrated in
Additionally or alternatively, the position data may be “dead reckoning” related data, such as directional information, speed information, travel time information and the like. For example, the position data collected by dead reckoning may be based on plotting a known ED position, such as kitchen area 520 in
Additionally or alternatively, the position data may include ERDC data that is used as “association” based position information, such as detection of WiFi nodes (identified by WiFi node ID), signal strength of a communication link with the node and the like. For example, in
Additionally or alternatively, the position data may include ERDC data that is used as association-based position information, such as images, video, and audio as ERDC data. For example, in
Additionally or alternatively, the ERDC data may be determined directly by a first ED, indirectly by a second ED and/or indirectly by a remote server. For example, each ED may process information collected by the ED to generate the associated ERDC data. For example, an ED may capture images/videos while the ED moves throughout the PSE. The ED may then directly analyze the images/videos for features of interest (FOI) (e.g., conference room numbers/IDs, exit signs, stairs signs). As another example, the ED may access a calendar application on the ED and identify names or designators for meeting locations associated with a current time. For example, a calendar may designate a meeting is scheduled at 1:00 pm to be held in “Conference Room 3”. At the designated time, the ED may record current position date (e.g. GPS coordinates, Wi-Fi node triangulation information) of the ED in connection with a PSE destination named “Conference Room 3.”
For example, in
Additionally or alternatively, the one or more processors of a destination ED and/or remote server may determine the ERDC data from images, videos, calendar events or other data sources on the first ED.
Optionally, map data of the PSE may be provided by the ED, maintained at the device, system or network implementing the operations of
For example, in
At 304, the one or more processors analyze position data to identify one or more prior pathways through a PSE followed by the collection of the EDs over time in connection with the EDs navigating through the PSE. For example, the one or more processors may analyze position data that tracks ED movement from a user's cubicle to the cafeteria, to an associate's desk, to a conference room, to a restroom and back to the user's cubicle. Additionally or alternatively, one or more sets of templates may be uploaded to ED 110 from a database or server (e.g., ED tracker 102). Additionally or alternatively, a user may identify generic baseline templates, such as from Internet searches, photographs and the like. For example, the one or more sets of templates may contain image-based or video-based tracking data that contains pictures and/or video along a pathway of hallways, office numbers, and the like, comparing previously captured images/video in the template to images/video captured from a current ED to determine the location of the ED. Also the one or more sets of templates may contain audio-based tracking data that contains sounds captured along a pathway such as the hum from a refrigerator in the kitchen area, the sound of the copier/printer in the hallway, sound of the fan blowing air through vents, and the like. These previously captured sounds are compared to the sounds being captured from a current ED moving around a PSE to determine the location of the ED. After the position data has been analyzed by the one or more processors, the position data may now be used to identify prior pathways that may be utilized to provide directions to the user's cubicle, the cafeteria, the conference room, the restroom and the like. A pathway marker may indicate the locations. Each time the ED takes a route within the PSE, the position data concerning the route may be saved as a prior pathway. Similarly, other EDs provide position data, which also is saved as prior pathways as the EDs move within the PSE.
For example, in
As another example, in
At 320 the one or more sets of templates may contain image-based or video-based tracking data that contains pictures and/or video along a pathway of hallways, office numbers, and the like, comparing previously captured images/video/sounds in the template to images/video/sounds captured from a current ED to determine the location of the ED.
At 340 the one or more processors determine whether the current ERDC data is the same as the stored ERDC data. For example, current ERDC data may indicate via recently captured images/videos/sounds that another restroom has been added on another floor of the PSE. There may be pictures and videos captured of a room number, typical restroom signs, and the like. There may be sounds of running water captured as well. The stored templates may indicate an open area in the same location prior to recent ERDC data captures from tracked EDs. If the ERDC data is determined to be consistent with the ERDC data stored in the templates, the process will proceed to 304d. If the ERDC data is not determined to be consistent, the one or more processors may proceed to 304c.
At 360, the one or more processors may update the image/video/sound-based templates as the captured ERDC data changes over time. For example, a remodeling project to accommodate new hires may result in offices, cubicles, conference rooms, and the like being relocated. The tracked EDs provide updated tracking information corresponding to the updated PSE destinations. The PSE navigation system is thereby updated as more tracked EDs provide updated ERDC data, resulting in a new map for the office. The captured image/video/sound templates are updated with the new PSE layout that may include new office/cubicle numbers or old office/cubicle numbers in a new location.
At 380, the one or more processors end the process. For example, the one or more processors have analyzed a sufficient amount of ERDC data to determine that the one or more sets of templates are current with the current PSE layout. The map of the office is up to date, so the process proceeds to 306.
For example, in
At 306, the one or more processors save the tracking data and/or routing information in the tracking log. For example, an ED is tracked from a starting location along a pathway to a PSE destination. The tracked data and/or routing information is saved in the tracking log. The tracking data for a route may include a set or series of GPS data points/vectors, ERDC data points/vectors, and/or dead reckoning data points/vectors. The routing information may include the one or more pathways traveled by an ED along the way to a PSE destination. The PSE destination may be stored as the last point along the route, such as the last GPS coordinate, last ERDC data point, last dead reckoning data point, and the like.
For example, in
At 308, the one or more processors determine whether the saved tracking data includes ERDC data. The ERDC data may include images, videos, and audio collected along various pathways within a PSE. For example, still pictures and video captured by the one or more processors along a pathway to a PSE destination may include such identifiers as a bright light emanating from large windows/doors in the lobby or a poster on a cubicle wall. Audio captured by the one or more processors may include sounds emanating from a window frequently left open or a frequently used paper shredder. If the one or more processors determine that the saved tracking data includes ERDC data, the process proceeds to an analysis step at 310. If the one or more processors determine that the saved tracking data does not include ERDC data, the one or more processors proceed to collect more tracking data at step 314.
At 310, the one or more processors analyze the ERDC data to identify potential PSE destinations along the one or more prior pathways. For example, an ED provides the ERDC data. The data may include position data, pictures, videos, ambient sounds, and the like. This data from a current ED may be compared with the data in the image/video/audio-based templates stored in memory to locate the current ED. The one or more processors may use the current ED location to determine prior pathways to PSE destinations along the current path of the current ED, deriving several potential PSE destinations along that prior pathway. An ED proceeding down a pathway with an office, three cubicles, and a water fountain may provide five potential PSE destinations to the processor. The processor may also derive more potential PSE destinations when considering other EDs that have taken a similar pathway but opted to go back in another direction after visiting a particular office, the cafeteria, the restroom, and the like. If the one or more processors determine that the ERDC data has not been analyzed to identify potential PSE destinations along a pathway, the one or more processors will continue to obtain ERDC data as shown at 304.
Optionally, the prior pathways are defined based on the ERDC data. The captured images, videos, and sounds may be associated with movement within the PSE. For example, a pathway to a PSE destination such as an associate's cubicle may include proceeding by an air conditioning/heating vent, a vending machine, and the like. There may only be one prior pathway within the PSE that contains that particular combination of corresponding ERDC images, videos, and sounds. The prior pathway may then be associated with that ERDC data and defined by the air conditioning/heating vent, vending machine, and the like. The
For example, in
At 312, the one or more processors store the one or more prior pathways through the PSE along with associated potential PSE destinations in the tracking log. For example, an ED may provide various pathways within the PSE. Each route taken by the ED to a destination is stored by the one or more processors in the tracking log. As the pathways are stored, each pathway becomes a prior pathway that is added to the collection of prior pathways collected by the one or more processors. In operation, an ED takes various pathways throughout the day. Each pathway taken during that day is then stored by the one or more processors. As an example, three routes by an ED to the cafeteria directly or with stops along the way are stored and become prior pathways within the PSE that are associated with potential PSE destinations such as the cafeteria and the stops made along the way to the cafeteria. It is understood that the operations at 302-306 may be performed continuously, at select times of day, at the instruction of a user, in a manner selected by the user and the like. For example, a user may decide to opt out of being tracked. The device movements may then cease to provide pathways that add to the collection of prior pathways.
For example, in
At 314, the one or more processors determine whether to collect more tracking data. If the one or more processors determine that more tracking data is to be collected, the process proceeds back to tracking data collecting step 302. The determining may be based upon the one or more processors having stored a sufficient collection of pathways. For example, the one or more processors may determine that the tracking log has an insufficient amount of tracking data to properly calculate pathways to potential PSE destinations. Accordingly, the one or more processors may determine that more tracking data is needed, and the collection of tracking data may continue. If the one or more processors determine that there is no need for additional tracking data collection, the process proceeds to 316.
At 316, the one or more processors end process 300. For example, the one or more processors may determine that the tracking log has a sufficient amount of tracking data to properly calculate pathways to potential PSE destinations. Accordingly, the one or more processors may end the process.
At 402, one or more processors obtain an indication of a PSE destination. For example, the indication of a PSE destination may be entered by an individual into an ED, such as when the individual desires to walk to the individual's next meeting. Optionally, the indication may be automatically generated by the ED, based on a calendar invite stored in the calendar application on the ED. The calendar invite may provide location, date, and time information for a meeting. Optionally, the indication may be automatically generated by the ED, based on a prior or real time invitation received through text, email or other application, prior history (e.g., weekly meetings) and the like. The ED may allow the PSE navigation system to access the aforementioned applications, using the schedule/meeting information discovered in the ED within meeting invites, texts, emails, and the like to create an indication of a PSE destination for each event.
For example, in
At 404, the one or more processors obtain a current location for an ED. For example, an ED may be located within the PSE via GPS data, ERDC data, dead reckoning data, and/or WiFi node data. The GPS data may locate the ED in terms of longitude and latitude coordinates within the PSE. The ERDC data may locate the ED based on a comparison of pictures, video, and/or audio captured along prior pathways and the pictures, video, and/or audio captured by the current ED in its current location. ERDC data such as views and sounds of particular doors opening and closing or lights in a hallway may be used to determine that the ED is located by an exit door near the end of the hallway. Dead reckoning data may be used to locate an ED based on the previously known location of the ED the speed and direction of the ED movement may provide a current location for the ED. WiFi node data may provide a current location for an ED by using triangularization to locate the ED based on WiFi signal strength.
At 406, the one or more processors obtain one or more prior pathways through a PSE followed by a collection of EDs over time in connection with the EDs navigating through the PSE. Optionally, obtaining prior pathways may also include accessing the memory that stores the prior pathways that are built by tracking position data for the collection of EDs over time while the EDs navigate through the PSE in addition to identifying potential PSE destinations within the PSE and analyzing position data to identify the prior pathways through the PSE to corresponding ones of the potential PSE destinations. Optionally, the position data may be recorded in a tracking log that includes a starting location, a destination, route information, and potential PSE destinations. For example, the prior pathways may be obtained from a database or other memory, where the prior pathways have been previously calculated by one or more EDs, a remote server and the like. The various pathways taken by the one or more EDs are collected by the one or more processors in a tracking log that may store starting locations, destinations, routes, and potential PSE destinations. The prior pathways are compiled over a time period determined by the one or more processors.
In
At 408, the one or more processors analyze the prior pathways to a PSE destination. The one or more processors determine that the various prior pathways are valid routes to a PSE destination. For example, the one or more processors may compare multiple pathways to a PSE destination to determine which route is shortest, quickest, r which route may be best for multiple PSE destinations, or based on other criteria.
For example, in
Optionally, the prior pathways may be calculated in real time by the one or more processors. For example, the pathways may be calculated utilizing the data from an ED as it moves throughout the PSE. Rather than utilize stored data, the processor may calculate the prior pathway immediately using the data from the ED. In operation, the ED's location based on information from a calendar invite, text, and the like may be calculated in real time based on the current information that the processor has regarding the ED's current location and destination.
At 410, the one or more processors save one or more prior pathways to a PSE destination. The prior pathways may be saved in a local server. Optionally the prior pathways may be saved in a remote server. For example, in
At 412, the one or more processors determine a recommended pathway through the PSE to a PSE destination based on the one or more prior pathways. For example, the one or more processors may have prior pathways based on a route taken by several EDs. A recommended pathway may be determined by the one or more processors based on calculating the pathways to a PSE destination from the collection of prior pathways taken from previous EDs. Parameters, such as the time to travel the pathway may be a consideration for a recommended pathway. Optionally, the user may want a recommendation based on other factors, such as a pathway with a restroom along the way, a pathway with a coffee machine, or a pathway that goes by an associate's office. Optionally, the recommended pathway may be calculated using the current location of an ED, the PSE destination, and the ERDC data defining the one or more pathways.
For example, as illustrated in
As another example, as illustrated in
At 414, the one or more processors present the recommended pathway. The recommended pathway may be presented in an audio, video, and/or tactile manner. For example, the recommended pathway may be presented as audio, visual, and/or tactile information. An audio-based recommended pathway to a PSE destination may be presented as turn-by-turn directions within the PSE, such as “turn left at the next corner and your meeting room is on the first room on the right.” A visual-based recommended pathway may be presented as arrows on a display providing directions as illustrated in
For example, in
Optionally, the user of the ED may desire a pathway that provides other desired stops along the recommended pathway, such as the kitchen area 520, the restroom 505, and the like. The one or more processors provide the PSE pathway with the criteria selected by the ED user. For example, in
Optionally, the recommended pathway may be presented with multiple prior pathways, emphasizing the recommended pathway amongst the one or more prior pathways. As illustrated in
At 416, the one or more processors end the process 400. For example, the one or more processors may determine that the ED arrived at the requested PSE destination. The process may now end until another indication for another PSE destination request is received by the one or more processors from the same ED or another ED.
Also illustrated in
As will be appreciated by one skilled in the art, various aspects may be embodied as a system, method or computer (device) program product. Accordingly, aspects may take the form of an entirely hardware embodiment or an embodiment including hardware and software that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, aspects may take the form of a computer (device) program product embodied in one or more computer (device) readable storage medium(s) having computer (device) readable program code embodied thereon.
Any combination of one or more non-signal computer (device) readable medium(s) may be utilized. The non-signal medium may be a storage medium. A storage medium may be, for example, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of a storage medium would include the following: a portable computer diskette, a hard disk, a random access memory (RAM), a dynamic random access memory (DRAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
Program code for carrying out operations may be written in any combination of one or more programming languages. The program code may execute entirely on a single device, partly on a single device, as a stand-alone software package, partly on single device and partly on another device, or entirely on the other device. In some cases, the devices may be connected through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made through other devices (for example, through the Internet using an Internet Service Provider) or through a hard wire connection, such as over a USB connection. For example, a server having a first processor, a network interface, and a storage device for storing code may store the program code for carrying out the operations and provide this code through its network interface via a network to a second device having a second processor for execution of the code on the second device.
Aspects are described herein with reference to the Figures, which illustrate example methods, devices and program products according to various example embodiments. These program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing device or information handling device to produce a machine, such that the instructions, which execute via a processor of the device implement the functions/acts specified.
The program instructions may also be stored in a device readable medium that can direct a device to function in a particular manner, such that the instructions stored in the device readable medium produce an article of manufacture including instructions which implement the function/act specified. The program instructions may also be loaded onto a device to cause a series of operational steps to be performed on the device to produce a device implemented process such that the instructions which execute on the device provide processes for implementing the functions/acts specified.
The units/modules/applications herein may include any processor-based or microprocessor-based system including systems using microcontrollers, reduced instruction set computers (RISC), application specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), logic circuits, and any other circuit or processor capable of executing the functions described herein. Additionally or alternatively, the units/modules/controllers herein may represent circuit modules that may be implemented as hardware with associated instructions (for example, software stored on a tangible and non-transitory computer readable storage medium, such as a computer hard drive, ROM, RAM, or the like) that perform the operations described herein. The above examples are exemplary only and are thus not intended to limit in any way the definition and/or meaning of the term “controller.” The units/modules/applications herein may execute a set of instructions that are stored in one or more storage elements, in order to process data. The storage elements may also store data or other information as desired or needed. The storage element may be in the form of an information source or a physical memory element within the modules/controllers herein. The set of instructions may include various commands that instruct the modules/applications herein to perform specific operations such as the methods and processes of the various embodiments of the subject matter described herein. The set of instructions may be in the form of a software program. The software may be in various forms such as system software or application software. Further, the software may be in the form of a collection of separate programs or modules, a program module within a larger program or a portion of a program module. The software also may include modular programming in the form of object-oriented programming. The processing of input data by the processing machine may be in response to user commands, or in response to results of previous processing, or in response to a request made by another processing machine.
It is to be understood that the subject matter described herein is not limited in its application to the details of construction and the arrangement of components set forth in the description herein or illustrated in the drawings hereof. The subject matter described herein is capable of other embodiments and of being practiced or of being carried out in various ways. Also, it is to be understood that the phraseology and terminology used herein is for the purpose of description and should not be regarded as limiting. The use of “including,” “comprising,” or “having” and variations thereof herein is meant to encompass the items listed thereafter and equivalents thereof as well as additional items.
It is to be understood that the above description is intended to be illustrative, and not restrictive. For example, the above-described embodiments (and/or aspects thereof) may be used in combination with each other. In addition, many modifications may be made to adapt a particular situation or material to the teachings herein without departing from its scope. While the dimensions, types of materials and coatings described herein are intended to define various parameters, they are by no means limiting and are illustrative in nature. Many other embodiments will be apparent to those of skill in the art upon reviewing the above description. The scope of the embodiments should, therefore, be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled. In the appended claims, the terms “including” and “in which” are used as the plain-English equivalents of the respective terms “comprising” and “wherein.” Moreover, in the following claims, the terms “first,” “second,” and “third,” etc. are used merely as labels, and are not intended to impose numerical requirements on their objects or order of execution on their acts.