Abstract:
A memory for storing constraint data describing a constrained area, a location sensor, and a processor operationally coupled to the memory and location sensor for location tracking. In operation, the device acquires real-time location information from the location sensor and calculates a location within the constrained area utilizing the constraint data and the acquired real-time location information. The location sensor may include an accelerometer that produces signals corresponding to a change in speed and a gyroscope that produces signals corresponding to a direction traveled. The processor may calculate a distance traveled over time utilizing the signals from the accelerometer and calculate the location utilizing the calculated distance traveled over time and the direction traveled.

Description:
FIELD OF THE INVENTION 
       [0001]    The present system relates to monitoring a location of a mobile computing device. 
       BACKGROUND OF THE INVENTION 
       [0002]    Supply chain operations require real-time information regarding location of freight and transportation equipment. Global positioning systems (GPS) may assist in identifying an approximate position in an open environment yet typically are not available in an enclosed environment, like inside a building. Warehousing operations require this real-time location information, however provide a less than ideal condition for many forms of location identification. GPS signals typically do not propagate well into building structures. In addition, GPS location data has an inherent inaccuracy of as much as several meters that renders this type of location data of little or no assistance in an environment where this level of inaccuracy may provide an inability to identify one aisle of the warehouse from either immediately adjacent aisles. 
         [0003]    Radio Frequency Transmitter Devices (RFIDs) are useful for identifying when an RFID tag attached to the mobile device passes designated locations wherein an RFID reader is positioned, however do not help with real-time tracking. Particularly, RFID-based systems cannot identify a precise location of an RFID tag. These systems only provide information that the RFID tag is within a transmit/receive area of the RFID reader. 
         [0004]    Other Real Time Locating Systems (RTLSs) exist that use a triangulation technique to identify a location of the mobile device. In operation, transmitter/receivers in a form of network access points are positioned throughout an area wherein the mobile device travels. The mobile device is arranged to transmit a beacon signal that is receivable by the access points. A time difference of arrival of the beacon signal at the access points is utilized to determine a distance of the mobile device from the access points (typically three or more). The distance from the access points and triangulation techniques are utilized to identify the location of the mobile device. However, these systems are unreliable because an accurate location calculation requires communication with multiple access points. In a warehouse environment, oftentimes a sufficient number of access points may not be receivable due to null points and geometry obstructions. Placement of a sufficient number of additional access points may be cost prohibitive. As a result, the mobile device may be disconnected from the network for periods of time where real-time location data is unavailable. 
         [0005]    It is an object of the present system to overcome disadvantages and/or make improvements in the prior art. 
       SUMMARY OF THE INVENTION 
       [0006]    A method, application and device for location tracking. The device includes a memory for storing constraint data describing a constrained area, a location sensor, and a processor operationally coupled to the memory and location sensor. In operation, the device acquires real-time location information from the location sensor and calculates a location within the constrained area utilizing the constraint data and the acquired real-time location information. In one embodiment, the location sensor includes an accelerometer that produces signals corresponding to a change in speed and a gyroscope that produces signals corresponding to a direction traveled. In this embodiment, the processor calculates a distance traveled over time utilizing the signals from the accelerometer and calculates the location utilizing the calculated distance traveled over time and the direction traveled. 
         [0007]    The device may include an electronic compass that produces the signals corresponding to a direction traveled and the processor may utilize the signals from the electronic compass and the gyroscope to calculate the location. The constrained area may be a collection of areas accessible to the device surrounding areas inaccessible to the device. In one embodiment, the constrained area may be organized as a grid of areas accessible to the device surrounding areas inaccessible to the device. The location sensor may include a location correction device that produces signals corresponding to location correction data for correcting the calculated location. 
         [0008]    The location correction device may include a Radio Frequency Identification Device (RFID) tag that operates to identify when the device approaches an identified location. In this embodiment, the processor may correct a calculated location based on an indication that the device has approached the identified location. In the same or an alternate embodiment, the location correction device may include a camera that operates to identify a location of the device and the processor may correct a calculated location based on the identified location. The location correction device may be two or more access points that operate to identify a location of the device and the processor may correct a calculated location based on the identified location. In one embodiment, the processor may correct the calculated location as a straight line between a previous known location and the current calculated location. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0009]    The following are descriptions of illustrative embodiments that when taken in conjunction with the following drawings will demonstrate the above noted features and advantages, as well as further ones. In the following description, for purposes of explanation rather than limitation, specific details are set forth such as architecture, interfaces, techniques, etc., for illustration. However, it will be apparent to those of ordinary skill in the art that other embodiments that depart from these details would still be understood to be within the scope of the appended claims. Moreover, for the purpose of clarity, detailed descriptions of well-known devices, circuits, and methods are omitted so as not to obscure the description of the present system. 
           [0010]    It should be expressly understood that the drawings are included for illustrative purposes and do not represent the scope of the present system in which: 
           [0011]      FIG. 1  shows an illustrative system in accordance with an embodiment of the present system; 
           [0012]      FIG. 2  shows a flow diagram illustrating an operation in accordance with an embodiment of the present system; 
           [0013]      FIG. 3  shows a illustrative example of a constrained area in accordance with an embodiment of the present system; and 
           [0014]      FIG. 4  shows a detailed portion of  FIG. 3 . 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0015]      FIG. 1  shows an illustrative system  100  in accordance with an embodiment of the present system. The system  100  includes a processor  110  operationally coupled to computer readable medium illustrated shown as a memory  120 , a user input  170 , a display device  130 , and a location sensor  140 . As is known in the art, the methods and apparatus discussed herein may be distributed as an article of manufacture that itself comprises the memory  120  having computer-readable code embodied thereon. The computer-readable code may be operable, in conjunction with the processor  110 , to carry out all or some of the acts to perform the methods or create the apparatus discussed herein. The memory  120  may be a recordable medium (e.g., floppy disks, hard drives, DVD, solid state memory, memory cards, etc.) or may be a transmission medium. Any medium known or developed that can store and/or provide information suitable for use with the system  100  may be used. 
         [0016]    In one embodiment, the memory  120  configures the processor  110  to implement the methods, acts, and functions disclosed herein. The memory  120  may be distributed or local and the processor  110  may be distributed or singular. For example, the location sensor  140  may contain a portion of the processor  110  and/or the memory  120  for performing some of the acts described herein and others. The memory  120  may be implemented as electrical, magnetic or optical memory, or any combination of these or other types of storage devices. Moreover, the term “memory” should be construed broadly enough to encompass any information able to be read from or written to an address in an addressable space accessible by the processor  110 . With this definition, information on a network is still within the memory  120  since the processor  110  may retrieve/write the information from/to the network. It should also be noted that some or all of operations described herein may be incorporated into an application-specific or general-use integrated circuit including the operation of the processor  110  and the memory  120 . 
         [0017]    Further, the processor  110  may be a dedicated processor for performing in accordance with the present system or may be a general-purpose processor wherein only one of many functions operates for performing in accordance with the present system. The processor  110  may operate utilizing a program portion, multiple program segments, or may be a hardware device utilizing a dedicated or multi-purpose integrated circuit. 
         [0018]    The processor  110  is operationally coupled to the user input  170  to facilitate operation within a user interface that may be provided on the display  130 . The user input  170  may be utilized for user interaction with the present system, such as initializing and/or correcting a determined or starting location of the present system. The location sensor may include one or more location sensor elements, such as an accelerometer  142 , a gyroscope  144 , and a location correction device  146 , such as a camera, RFID tag, and/or other systems of the like that can provide additional location information beyond that available by the accelerometer  142  and the gyroscope  144 . As may be readily appreciated by a person of ordinary skill in the art, the gyroscope may be readily replaced with another device suitable for identifying a direction traveled, such as an electronic compass. These suitable further embodiments are intended to be encompassed by the present system unless specifically stated otherwise. 
         [0019]    While each of the sensor elements are illustrated as within the location sensor  140  shown in  FIG. 1 , this is merely intended as a functional limitation in that any one or more of the sensor elements may operate synergistically yet be provided in different physical locations and/or enclosures. However, as would be readily apparent to a person of ordinary skill in the art, this clearly does not introduce any physical limitations on an actual placement of the sensor elements. For example, the accelerometer  142  may be positioned on a foot of a surveyor, for example as a foot mounted pedometer, while the location correction device  146 , such as a head-mounted camera or imaging system, may be positioned on a head of the surveyor. 
         [0020]    Further operation of the present system will be presented in conjunction with  FIG. 2  which shows a flow diagram  200  illustrating an operation in accordance with an embodiment of the present system. In accordance with the present system, a starting act, such as turning on the system  100 , is performed during act  210 . During act  220 , the mobile device is initialized to a determinable location and orientation. by the term determinable, what is intended is that the location and orientation, such as heading, of the mobile device may be identified by any suitable means including user intervention and/or autonomous means independent of user intervention. For example, in one embodiment, the present system may be initialized by conveying that the device is currently located at a previously known identified location and orientation. This information may be manually transferred to the processor such as by a user suitably manipulating the user input  170 . In another embodiment, a triangulation of access points may be utilized to initialize the device. In a further embodiment, an RFID system may be utilized to initialize the system. Other systems, devices, and/or combinations of systems and devices for identifying a starting location to the system would readily occur to a person of ordinary skill in the art and are intended to be encompassed by the present system. 
         [0021]    Regardless of how a starting location is determined, thereafter during act  230  the mobile device changes location by a measured amount and direction within a constrained area as determined by the location sensor  140 . As utilized herein, a constrained area is an area wherein the freedom of motion is constrained to less than a total area present. For example, in a warehouse environment, the freedom for motion of the mobile device is constrained to known locations of aisles and intersections. Other areas of the warehouse are not accessible to the mobile device as these areas are typically occupied by shelving, walls, and other immovable objects of the like. In one embodiment, the accessible areas may be laid out in a grid-like pattern. In this embodiment, the accessible portions may intersect each other at a substantially ninety-degree angle (e.g., 75-105 degree angle) as may be readily appreciated. As the term grid is utilized herein, what is intended is that there are a series of intersecting accessible and inaccessible areas. In some embodiments, the intersecting areas need-not necessarily intersect at ninety-degree angles or even at substantially ninety-degree angles. In one embodiment, one or more intersections may be at substantially a ninety-degree angle while one or more other intersections are at some other angle of intersection. In another embodiment, all angles of intersection are not substantially ninety-degree angles. As may be readily appreciated, accessible areas may surround inaccessible areas or vice-a-versa. Further, accessible areas may surround only portions of the inaccessible area and vice-a-versa. For example, an accessible area may surround a portion of an inaccessible area, however, the inaccessible area may dead-end to an inaccessible area, such as a wall, shelf, etc. that is not surrounded by an accessible area. Other variations of accessible and inaccessible portions would readily occur to a person of ordinary skill in the art and are intended to be encompassed by the present system. In accordance with the present system, the locations of known accessibility limitations may be available to the processor  110 , such as stored in the memory  120 , and may be utilized to improve an accuracy of location identification as described further herein. 
         [0022]    In operation, the accelerometer  142  may be utilized to calculate a speed and distance traveled within the constrained area. The gyroscope  144  may be utilized to determine any changes in direction from the initial orientation. In one embodiment, either or both of the accelerometer  142  and gyroscope  144  may be fabricated as a microelectromechanical system (MEMS). Utilization of a MEMS fabrication process enables an integration of the mechanical elements of the accelerometer and gyroscope, along with electronics arranged to support operation of the devices. In accordance with MEMS techniques, electronics are fabricated using integrated circuit (IC) process sequences (e.g., CMOS, Bipolar, or BICMOS processes) while the micromechanical components are fabricated using compatible “micromachining” processes. 
         [0023]    In an alternate embodiment, inertial guidance systems may be similarly utilized to identify the distance traveled and direction of travel, such as described in “Pedestrian Tracking with Shoe-Mounted Inertial Sensors”, by Eric Foxlin, IEEE Publication, Moving Mixed Reality into the Real World, November/December 2005, incorporated herein as if set out in entirety. Other systems such as described in U.S. patent application Ser. No. 11/429,501, entitled “Site Survey Tracking”, assigned to the assignee of the present patent application and incorporated herein as if set out in its entirety, may also be utilized for tracking a location of the mobile device. As may be readily appreciated, other systems may be suitably utilized for calculating the distance and direction of travel within the constrained area. 
         [0024]    In any event, during act  250 , it is determined whether the calculated distance and direction of travel violates restrictions placed on travel by the constrained system. For example, due to inherent inaccuracies (e.g., drift error) in the systems utilized for tracking the distance and/or direction of travel, a calculated location may place the mobile device beyond one of the area constraints, such a past a previous aisle of travel. In this event, the present system recognizes that the calculated location is not a possible actual location for the mobile device and a correction of the location is calculated. 
         [0025]      FIG. 3  shows a illustrative example of a constrained area  300  in accordance with an embodiment of the present system. In this embodiment, the area is constrained to passage within a grid-like pattern of horizontally depicted aisles  310  and vertically depicted aisles  320 . In this embodiment, travel outside of the aisles  310 ,  310  is blocked by obstructions, such as shelving, walls, equipment, etc. In operation, a mobile device may start at a known location  330  that is centrally located within the aisle  320 . Some time thereafter, during act  240 , a calculated location of the mobile device may be location  340 . During act  250 , it is determined that the calculated location  340  violates a constraint of the area, in that the calculated location no longer is within the aisle  320 . Further, it may be determined that the calculated location is also not within an aisle  310 . 
         [0026]      FIG. 4  shows a detailed portion  350  of  FIG. 3 . The detailed view includes a vertical aisle  322  and horizontal aisles  312 ,  314 . Location  360  identifies a location within an intersection  370  wherein the mobile device location was previously determined by any one or more of suitable systems including by calculations such as provided in  FIG. 2  and/or as provided by a location correction device  146  of the location sensor  140  shown in  FIG. 1 . For example, the location correction device  146  may be a camera mounted on the mobile device and/or positioned within the area such as to provide a field of view that includes the intersection  370 . In this embodiment, a computer vision system as may be readily appreciated may provide position confirmation/correction information to the processor  110  to confirm the location of the mobile device within the aisle  322 . 
         [0027]    In a further embodiment, the location correction device  146  may be provided by an RFID tag and a tag reader. For example, the tag reader in this embodiment may be positioned such as to identify when the mobile device leaves an intersection and enters a particular aisle portion. In this way, tag readers may be dispersed throughout the area to provide similar information at other intersections without requiring tag readers along all portions of the aisles. Similarly, access points may be provided as the location correction device  146  to identify locations of the mobile device at particular locations again without requiring the infrastructure to cover all of the aisle portions. In a further embodiment, one or more markings may exist along portions of the aisles, such as within an intersection, which identifies a known location to provide a user an opportunity to provide confirmation/correction position information, for example, through suitable application of the user input  170 . As may be readily appreciated, other systems may be provided to identify a location of the mobile device periodically or several systems may be combined and utilized similarly. In this way, confirmation/correction information may be provided to reduce potential error drift that may be inherent in the location sensor of the present system. 
         [0028]    Regardless of how location  360  is provided to the system, when the system determines the location  340  in violation of the constrained system, the present system during act  260  determines whether a source of location correction is available (e.g., location correction device  146  of  FIG. 1 ). If a source of location correction is available, the present system corrects the location during act  270  and awaits a further change in location (e.g., act  230 ). In a case wherein location correction is unavailable, the current location is corrected during act  280 . In one embodiment, location correction may be provided by a user manually entering location correction information. In another embodiment, the present system may utilize the calculated distance traveled may be utilized, together with the system constraints to calculate an approximate location. In one embodiment, the approximate location may be calculated by utilizing the previously calculated location and direction of travel up to a point wherein the area constraint is violated, and thereafter utilizing the additional distance traveled as following the constraint, but not violating it. A path  380  in this embodiment continues until position correction may be provided. In an alternate embodiment, the present system may convert the calculated location to a straight path  390  that does not violate the constraint, the path  390  having a distance traveled equal to the calculated distance traveled but having a direction traveled that is corrected to not violate the constraint. For example, upon each calculated location during act  230 , the direction traveled may be corrected to provide a new straight path that does not violate the constrained area, such as by following a perimeter of the constraint, however without violating the constraint. Accordingly, new locations may be calculated until a position correction is enabled as described previously. Naturally, position correction may be provided by the location correction device  146  as previously described for identifying location  360 . 
         [0029]    In a case wherein during act  250 , the calculated location does not violate the constrained area, in accordance with an embodiment of the present system, a determination is made whether a known location has been traversed or whether the location correction device  146  may provide location correction during act  290 , whereafter, the system may wait for a further change in location during act  230 . 
         [0030]    Although location correction as shown in  FIG. 2  is provided during identified acts, however, as would readily be apparent to a person of ordinary skill in the art, correction in the calculated location may occur at any time even simultaneously during other acts for a processor  110  that has an ability to multitask or quasi-multitask like in a carouselling task enabled processor. 
         [0031]    Of course, it is to be appreciated that in accordance with the present system, any one of the above, elements, embodiments and/or processes may be combined with one or more other elements, embodiments and/or processes. For example, several interactions of the location sensor  140  elements (e.g., camera  141 , ranging sensor  142 , etc.) are described, yet a potentially larger number of interactions would readily occur to a person of ordinary skill in the art. These and other variations should be understood to be within the scope of the presented claims. Finally, the above-discussion is intended to be merely illustrative of the present system and should not be construed as limiting the appended claims to any particular embodiment or group of embodiments. Thus, while the present system has been described with reference to exemplary embodiments, it should also be appreciated that numerous modifications and alternative embodiments may be devised by those having ordinary skill in the art without departing from the broader and intended spirit and scope of the present system as set forth in the claims that follow. In addition, the section headings included herein are intended to facilitate a review but are not intended to limit the scope of the present system. Accordingly, the specification and drawings are to be regarded in an illustrative manner and are not intended to limit the scope of the appended claims. 
         [0032]    In interpreting the appended claims, it should be understood that: 
         [0033]    a) the word “comprising” does not exclude the presence of other elements or acts than those listed in a given claim; 
         [0034]    b) the word “a” or “an” preceding an element does not exclude the presence of a plurality of such elements; 
         [0035]    c) any reference signs in the claims do not limit their scope; 
         [0036]    d) several “means” may be represented by the same item or hardware or software implemented structure or function; 
         [0037]    e) any of the disclosed elements may be comprised of hardware portions (e.g., including discrete and integrated electronic circuitry), software portions (e.g., computer programming), and any combination thereof; 
         [0038]    f) hardware portions may be comprised of one or both of analog and digital portions; 
         [0039]    g) any of the disclosed devices or portions thereof may be combined together or separated into further portions unless specifically stated otherwise; and 
         [0040]    h) no specific sequence of acts or steps is intended to be required unless specifically indicated.