Ultrasonic bracelet and receiver for detecting position in 2D plane

Ultrasonic tracking of a worker's hands may be used to monitor performance of assigned tasks. An inventory system includes inventory bins configured to store inventory items, an ultrasonic unit, ultrasonic transducers, and a management module. The ultrasonic unit is configured to be worn by a user in proximity to the user's hand and to periodically emit ultrasonic sound pulses. The ultrasonic transducers are arranged relative to the inventory bins and configured to receive the emitted pulses. The management module is operatively coupled with the ultrasonic transducers and configured to process signals generated by the ultrasonic transducers to identify an inventory bin based on proximity of the ultrasonic unit relative to the identified inventory bin. The management module monitors performance of an assigned task based on the identified inventory bin.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is related to and incorporates by reference for all purposes the full disclosure of co-pending U.S. patent application Ser. No. 15/083,107, filed Mar. 28, 2016, entitled “WEARABLE HAPTIC FEEDBACK SYSTEM”, the contents of which are herein incorporated in its entirety.

BACKGROUND

Modern inventory systems, such as those in mail order warehouses, supply chain distribution centers, airport luggage systems, and custom-order manufacturing facilities, face significant challenges in responding to requests for inventory items. As inventory systems grow, the challenges of simultaneously completing a large number of packing, storing, and other inventory-related tasks become non-trivial.

In many inventory systems, an incoming inventory item is typically stored into an inventory bin so as to be quickly retrievable in response to an order for the inventory item. An inventory management system typically stores the identification and location of the inventory bin in which the inventory item is stored for use in locating and processing the inventory item in response to an order for the inventory item. For example, an inventory system worker can pick up the incoming inventory item and place the inventory item into the inventory bin. To keep track of where the inventory item is stored, it is important to efficiently and accurately identify the inventory bin into which the inventory item is placed. Existing approaches for keeping track of where inventory items are stored, however, may require the inventory system worker to perform time consuming acts beyond placing the inventory item into an inventory bin and retrieving the inventory item from the inventory bin, such as pushing a button associated with the inventory bin or scanning a barcode associated with the inventory bin. And while the inventory system worker may be required to perform less time consuming tasks when a computer vision system is used to track placement of the inventory item, such a computer vision system may be computationally intensive and expensive. Accordingly, improved approaches for keeping track of where an inventory item is stored are of interest.

DETAILED DESCRIPTION

In many embodiments, an inventory management system includes an ultrasonic based tracking system that tracks movement of one or more hands of an inventory system worker to monitor performance of inventory tasks assigned to the inventory system worker. In many embodiments, the inventory system worker wears one or more ultrasonic pulse emitting units on or adjacent to the inventory system worker's wrist(s) or hand(s). The ultrasonic pulse emitting unit periodically emits ultrasonic pulses at a suitable interval. (e.g., once per second). Ultrasonic transducers are arranged relative to inventory bins and generate signals that are processed to track the location of the ultrasonic pulse emitting units relative to the inventory bins. The locations of the one or more ultrasonic pulse emitting units is used to detect interaction of the inventory system worker with any one of the inventory bins. The detected interaction is used to identify an inventory bin with which the inventory system worker interacted with. In many embodiments, the identified inventory bin is compared with a designated bin to check if the inventory system worker interacted with the correct inventory bin.

For example, the inventory system worker can be instructed to place an inventory item into a particular (designated) inventory bin. By tracking one or both of the inventory system worker's hands via the ultrasonic based tracking system, the bin in which the inventory item is placed can be identified via the tracked locations of the one or more ultrasonic pulse emitting units by detecting when the tracked locations come within a suitable proximity of any particular inventory bin. The identified inventory bin can then be compared with the designated inventory bin to determine if the inventory item is placed in the designated inventory bin or a different inventory bin. Regardless of the identity of the inventory bin in which the inventory item is placed, the inventory management system can use the identity of the inventory bin in which the inventory item is placed to determine suitable subsequent action to be taken based on the actual placement of the inventory item that occurred.

As another example, the inventory system worker can be instructed to retrieve an inventory item from a designated inventory bin. By tracking one or both of the inventory system worker's hands via the ultrasonic based tracking system, the inventory bin from which the inventory item is retrieved can be identified via the tracked locations of the one or more ultrasonic pulse emitting units by detecting when the tracked locations come within a suitable proximity of any particular inventory bin. The identified inventory bin can then be compared with the designated inventory bin to determine if the inventory item was retrieved from the designated inventory bin or a different inventory bin. Regardless of the identity of the inventory bin from which the inventory item was retrieved, the inventory management system can use the identity of the inventory bin from which the inventory item was retrieved to determine suitable subsequent action to be taken based on the actual retrieval of the inventory item that occurred.

Turning now to the drawing figures in which like reference numerals refer to like elements in the various drawing figures,FIG. 1illustrates an ultrasonic tracking system10configured to monitor performance of an inventory system task, in accordance with many embodiments. The ultrasonic tracking system10includes one or more ultrasonic units12that are worn by an inventory system worker14around the worker's wrist(s) or otherwise adjacent to the left hand and/or the right hand of the worker14. Each of the one or more ultrasonic units12periodically emits ultrasonic pulses (e.g., any suitable frequency over 20 kHz) at any suitable interval (e.g., once per second). The ultrasonic tracking system10includes a suitable number of ultrasonic transducers16that generate electrical signals indicative of the arrival time of the ultrasonic pulses received by the ultrasonic transducers16. The respective ultrasonic signals generated by the ultrasonic transducers16are processed to track the location of the one or more ultrasonic units12, and thereby track the location of the left hand and/or the right hand of the worker14. In many embodiments, the ultrasonic tracking system10tracks the locations of the worker's left hand and/or right hand to monitor performance of an inventory task assigned to the worker14, such as placing an inventory item into a designated inventory bin or retrieving an inventory item from a designated inventory bin.

In the embodiment illustrated inFIG. 1, ultrasonic tracking system10is configured to track the left hand and/or the right hand of the worker14relative to inventory bins of a portable inventory holder18. The portable inventory holder18has a plurality of separate inventory bins20. In many embodiments, the inventory holder18is movable within an inventory facility via a suitable mobile drive unit, such as any of the mobile drive units described herein. In the illustrated embodiment, the four ultrasonic transducers16are not mounted to the inventory holder18. Instead, in the illustrated embodiment, the four transducers16are mounted in known locations separate from the inventory holder18. The inventory holder18is controllably placed relative to the four transducers16within a suitable positional tolerance (e.g., within three-quarters of an inch). By placing the inventory holder18relative to the four transducers16within a suitable positional tolerance, each of the inventory bins20is thereby placed relative to the four transducers16within a suitable positional tolerance.

Each ultrasonic pulse emitted by any particular ultrasonic unit12is received by each of the four transducers16, which generate a respective electrical signal that can be processed to determine the location of the particular ultrasonic unit12when the pulse was emitted. In many embodiments, each of the respective electrical signals generated can be processed to identify when the ultrasonic pulse is received by the respective transducer16and differences between the arrival times can be used to calculate the location of the particular ultrasonic unit12when the pulse was emitted. The resulting time sequence of locations of the particular ultrasonic unit12can then be compared to known locations of the inventory bins20to detect when the particular ultrasonic unit12comes within a suitable proximity of any particular inventory bin20corresponding to an interaction between the worker14and the particular inventory bin20.

In many embodiments, the ultrasonic tracking system10is used to automatically monitor performance of an inventory tasks assigned to the inventory worker14. For example, the inventory worker14can be instructed to place an inventory item into a designated one of the inventory bins20, such as into designated inventory bin22. Because the inventory holder18is positioned at a known position relative to the ultrasonic transducers16, the ultrasonic tracking system10can track the location of the worker's14left hand and/or right hand relative to the inventory bins20, including relative to the designated inventory bin22. The tracked locations can be continually compared to known locations of the inventory bins20to detect when the tracked locations come within a designated distance or within a designated volume corresponding to any of the inventory bins20, including corresponding to the designated inventory bin22. If such a qualifying proximity is detected, the corresponding inventory bin can be identified and compared to the designated inventory bin22into which the inventory item should be placed per instructions to the worker14. If the identified inventory bin matches the designated inventory bin22, the ultrasonic tracking system10can be configured to proceed based on the assumption that the inventory item has been placed into the designated inventory bin22. For example, by proceeding based on the assumption that the inventory item has been placed in the designated inventory bin22, it may be possible to proceed without the worker14performing an action that confirms that the inventory item was placed into the designated bin22, such as via scanning of an identification tag for the designated inventory bin22. By automatically tracking performance of the assigned inventory task, the ultrasonic tracking system10can be used to reduce or eliminate actions performed by the worker14to confirm performance of an assigned inventory task. In a similar manner, the ultrasonic tracking system10can be used to monitor performance of an inventory task in which the worker14is instructed to retrieve an inventory item from a designated one of the inventory bins20.

In many embodiments, the ultrasonic tracking system10is configured to provide feedback to the worker14based on the tracked position(s) of the worker's left hand and/or right hand. For example, each of the ultrasonic units12can include a haptic feedback mechanism that is controlled to provide suitable haptic feedback to the worker14that indicates whether the worker14is interacting with the designated inventory bin22or another of the inventory bins20different from the designated inventory bin22. Any suitable communication means can be used to transmit a signal to the respective ultrasonic unit12indicative of whether the worker14is interacting with the designated inventory bin22or not. For example, ultrasonic unit12can include a communication unit (e.g., a Wi-Fi transceiver, a photo detector to generate a signal in response to a transmitted infra-red signal, an ultrasonic transducer to generate a signal in response to a transmitted ultrasonic pulse) to receive a signal indicative of whether the worker14is interacting with the designated inventory bin22or another of the inventory bins20. If a signal is received by the ultrasonic unit12that the worker is interacting with the designated inventory bin22, the ultrasonic unit12can control the haptic feedback mechanism to provide a confirmatory haptic feedback to the worker14. If a signal is received by the ultrasonic unit12that the worker14is interacting with an inventory bin20other than the designated inventory bin22, the ultrasonic unit12can control the haptic feedback mechanism to provide a haptic feedback to the worker14indicating that the worker14is interacting with an inventory bin20other than the designated inventory bin22.

The ultrasonic tracking system10can also be configured to provide guidance feedback to the worker14based on the tracked positions of the ultrasonic unit12. For example, a guidance signal can be transmitted to the ultrasonic unit12indicating one or more directions in which the worker14should move the worker's respective hand to interact with the designated inventory bin22. The ultrasonic unit12can be configured to control a suitable communication means (e.g., indicator LEDs, a suitable display screen, and/or a haptic feedback mechanism) to communicate to the worker14one or more directions to move the worker's respective hand to interact with the designated inventory bin22.

The ultrasonic tracking system10can also be configured to transmit any suitable data from the ultrasonic unit12. For example, the ultrasonic unit12can be configured to embed data into the periodically emitted ultrasonic pulses to communicate any suitable attribute of the ultrasonic unit12, such as, for example, identification of the worker14, indication of whether the ultrasonic unit12is worn on the left hand or the right hand of the worker14, a charge state of the ultrasonic unit12, a timestamp associated with an emitted pulse, an operational status (e.g., any existing faults) of the ultrasonic unit12or a duration of use of the ultrasonic unit12. Alternatively, any other suitable communication approach can be used to communicate any suitable attribute of the ultrasonic unit12, including via Wi-Fi or infra-red transmission.

The ultrasonic tracking system10can include a suitable proximity signal transmitter38(e.g., an infra-red LED, a near-field radiofrequency (RF) transmitter) that transmits a proximity signal that can be detected by the ultrasonic unit12to trigger emission of the periodic ultrasonic pulses. For example, the ultrasonic unit12can have a sleep mode in which the ultrasonic unit12does not emit any periodic ultrasonic pulses and an active mode in which the ultrasonic unit12does emit the periodic ultrasonic pulses. The ultrasonic unit12can include a proximity signal receiver32(e.g., photo sensor or cell, near-field RF receiver) to detect a proximity signal (e.g., infra-red light, near-field RF signal) emitted by the proximity signal transmitter38and generate a signal indicative of proximity of the ultrasonic unit12to the proximity signal transmitter38that is used to control whether the ultrasonic unit12is placed into the sleep mode or the active mode.

The ultrasonic unit12can include a plurality of ultrasonic pulse transmitters distributed around the worker's wrist and/or hand to ensure that each of the ultrasonic transducers16has a direct unobstructed path to at least one of the ultrasonic pulse transmitters. In such embodiments, the distribution of the ultrasonic pulse transmitters inhibits and/or prevents blockage of the transmission of the periodic ultrasonic sound pulses to all of the ultrasonic transducers16.

FIG. 2illustrates a variation of the ultrasonic tracking system10in which the ultrasonic transducers16are mounted to an inventory holder18including the inventory bins20. Such a variation can be used with fixed position or portable inventory holders18including inventory bins20.

FIG. 3is a simplified schematic diagram illustrating an embodiment of the ultrasonic unit12. In the illustrated embodiment, the ultrasonic unit12includes one or more ultrasonic sound transmitters24, a control unit26, a power source (e.g., battery)28, a haptic feedback mechanism30, the proximity signal receiver32, and an input/output unit34. The control unit26is operatively connected to the one or more ultrasonic sound transmitters24, the battery28, the haptic feedback mechanism30, the proximity signal receiver32, and the input/output unit34. The control unit26can include any suitable electronic components including, but not limited to, a processor, memory, and/or equivalent electronic circuits.

The control unit26controls the periodic ultrasonic sound pulses emitted by the one or more ultrasonic sound transmitters24. For example, in many embodiments the control unit26transmits a periodic electric signal to the one or more ultrasonic sound transmitters24that is converted into the emitted periodic ultrasonic sound pulses. The control unit26can be configured to control the frequency of the emitted pulses so that the emitted ultrasonic sound pulses can be processed to determine any suitable attribute of the ultrasonic unit12such as a unique identifier that can be used to identify the worker14and/or what hand of the worker14on which the ultrasonic unit12is worn, a charge state of the ultrasonic unit12, a timestamp associated with the emitted pulse, an operational status (e.g., any existing faults) of the ultrasonic unit12or a duration of use of the ultrasonic unit12. For example, different ultrasonic frequencies can be used by each of ultrasonic units12on the left hand and the right hand to differentiate between the worker's hands. As another example, ultrasonic units12used by different workers in nearby stations or at the same station can use different ultrasonic frequencies to differentiate between workers.

In many embodiments, the control unit26controls operation of the haptic feedback mechanism30to provide haptic feedback to the worker14to communicate any one or a plurality of different messages to the worker14. Each of the different messages can have a unique haptic feedback recognizable by the worker14. For example, the unique haptic feedbacks can be created by the control unit26controlling operation of the feedback mechanism30to output haptic feedback having unique combinations of one or more of frequency of output pulses, amplitude of the haptic feedback, haptic feedback with different durations (e.g., long versus short pulses), or unique feedback sequences. For example, the control unit26can control the haptic feedback mechanism30to provide haptic feedback indicative of whether the worker is interacting with the designated inventory bin22or an inventory bin20other than the designated inventory bin22. The haptic feedback can be varied based on the distance from the ultrasonic unit12to the designated inventory bin, for example, by varying the frequency of haptic feedback pulses as the distance changes. The control unit26can receive an input indicating which of the different messages to communicate to the worker14. For example, the input can be transmitted to the input/output unit34(which can include a suitable communication unit such as a wireless transceiver) or to the proximity signal receiver32(e.g., via a suitable infra-red emission, via a suitable RF signal).

The proximity signal receiver32is configured to detect the proximity signal (e.g., infra-red light, near-field RF signal) emitted by the proximity signal transmitter38and output a signal to the control unit26indicative of proximity of the ultrasonic unit12to the proximity signal transmitter38. The control unit26can process the signal from the proximity signal receiver32to control whether the ultrasonic unit12is placed into the sleep mode (in which no ultrasonic pulses are emitted by the ultrasonic unit12) or the active mode (in which the ultrasonic pulses are emitted by the ultrasonic unit12). The signal from the proximity signal receiver32can also be used by the control unit26to inhibit operation of the haptic feedback mechanism30when the ultrasonic unit12is not within a desired proximity of the proximity signal transmitter38and therefore not within a suitable distance of inventory storage locations of interest.

FIG. 4is a simplified schematic diagram illustrating additional components of the ultrasonic tracking system10, in accordance with many embodiments. The additional illustrated components include the ultrasonic transducers16, a signal processing unit36, a management module115, and a proximity signal transmitter38. In many embodiments, the signal processing unit36is configured to perform bandwidth filtering to remove noise from the signals generated by the ultrasonic transducers16prior to the signals being processed by the management module115.

In many embodiments, the management module115processes the signals generated by the ultrasonic transducers16to identify when the respective periodic ultrasonic sound pulses are received by the respective ultrasonic transducers16and to compare the respective arrival times to determine and track location of the ultrasonic unit12. For example, referring toFIG. 1, for the illustrated location of the ultrasonic unit12on the worker's14right hand, a pulse emitted by the right hand ultrasonic unit12will be received first by ultrasonic transducer16at the upper right inFIG. 1, will be received second by the ultrasonic transducer16at the upper left inFIG. 1, will be received third by the ultrasonic transducer16at the lower right inFIG. 1, and will be received last by the ultrasonic transducer16at the lower left inFIG. 1. The ultrasonic pulses emitted by the ultrasonic unit12can have a frequency low enough to ensure that any particular pulse is received by all of the ultrasonic transducers16prior to the emission of the next ultrasonic pulse. The management module115can be programmed to determine the three location coordinates (e.g., X, Y, and Z relative to a reference coordinate system) by solving a system of three equations using the resulting three time differentials between when the ultrasonic pulse is first received and when it is received second, third, and fourth by the other ultrasonic transducers16. Specifically, four equations based on the time of flight between the ultrasonic unit12and each of the ultrasonic transducers16can be written using the location coordinates (X, Y, Z) of the ultrasonic unit12, the time that the pulse was emitted (t(0)) by the ultrasonic unit12, and the known location coordinates of the respective ultrasonic transducer16. The four equations can then be rewritten to eliminate the variable (t(0)) and the resulting three equations solved by the management module115to determine the location of the ultrasonic unit12for an emitted pulse. Alternatively, each pulse emitted by the ultrasonic unit12can include an embedded time stamp indicating when the pulse was emitted by the ultrasonic unit12, thereby enabling the use of as few as three ultrasonic transducers16to determine the location of the ultrasonic unit12.

The management module115can store data defining respective spatial regions corresponding to each of the inventory bins20and evaluate the determined locations of the ultrasonic unit12to assess whether the determine location is located within any of the respective spatial regions. If the determined location is found to be within any of the respective spatial regions, the management module115can be configured to determine that the worker14is interacting with the inventory bin20corresponding to the respective spatial region. In many embodiments, the management module115is configured to evaluate whether the identified inventory bin20matches the designated inventory bin22, or matches an inventory bin20other than the designated inventory bin22. In many embodiments, the management module115is configured to communicate with the ultrasonic unit12via a suitable communication mechanism such as those described herein, to indicate, upon occurrence, that the worker14is interacting with the designated inventory bin22and, upon occurrence, that the worker14is interacting with an inventory bin20other than the designated inventory bin22.

In some embodiments, the ultrasonic tracking system10includes the proximity signal transmitter38. The proximity signal transmitter38emits a proximity signal that can be received by the ultrasonic unit12and indicate when the ultrasonic unit12is within an operational proximity to the ultrasonic transducers16so that the ultrasonic unit12can enter the sleep mode to conserve battery power when the ultrasonic unit12is beyond an operational proximity to the ultrasonic transducers16. In the illustrated embodiment, the management module115is operationally coupled with the proximity signal transmitter38and configured to control operation of the proximity signal transmitter38(e.g., switching the proximity signal transmitter38on and off). In alternate embodiments, the proximity signal transmitter38is not operationally coupled to the management module115and is separately controlled.

FIG. 5is a simplified diagram of acts of a method50for monitoring accomplishment of storing an incoming item into a storage location in an inventory system by tracking an ultrasonic unit worn by an inventory system worker, in accordance with many embodiments. Any suitable ultrasonic tracking system, including the ultrasonic tracking systems described herein, can be used to accomplish the acts of the method50. The method50can be used to provide feedback to the inventory system worker regarding whether the worker is interacting with a designated storage location or not. The method50can also be used to detect into which storage location the item is placed by the inventory system worker so that the storage location of the item can be stored in memory for use in locating the item for subsequent retrieval in response to an order for the item. In act51, an item is received into the inventory system. For example, the item can be included in an incoming shipment of items and identified (e.g., via scanning) during processing of the incoming shipment of items. In act52, a suitable storage location is identified (e.g., by the management module115) for storing the item. Possible storage locations that can be identified for storage of the item include, but are not limited to, a particular inventory bin of a movable inventory holder, a worker selected inventory bin of a movable inventory holder, a particular inventory bin of a plurality of fixed inventory bins, or any other suitable storage location. In act53, the identified storage location is communicated to the system worker. In act54, the inventory system worker is instructed to store the item in the identified storage location. The identified location for storing the item, and the instruction to store the item in the identified storage location, can be communicated to the inventory system worker in response to detecting that the worker has scanned an identification code associated with the item. Alternatively, the identified storage location for the item can be communicated to the worker in response to detecting that the worker has picked up the item (e.g., via tracking position of the worker's hand(s) via the ultrasonic unit(s)12relative to a known position of the item). Any suitable means of communicating the identified storage location to the worker can be used, including, for example, displaying the storage location on a display unit and/or generating haptic feedback via the haptic feedback mechanism of the ultrasonic unit12.

An ultrasonic tracking system is used to monitor performance of the placing of the incoming inventory item into the identified storage location by the inventory system worker. In act55, the proximity signal transmitter38is activated. The proximity signal transmitter38transmits a suitable signal that is receivable by the ultrasonic unit12when the ultrasonic unit12is within a suitable proximity of the identified storage location, which will be within a suitable proximity of the proximity signal transmitter38. The ultrasonic tracking system used can include more than one proximity signal transmitter38and the proximity signal transmitter38to be activated can be selected based on the identified storage location for the item. In act56, the proximity signal is received by the ultrasonic unit12when the worker is near the identified storage location. In response to receiving the proximity signal, the ultrasonic unit12activates the ultrasonic transmitter(s) of the ultrasonic unit12(act57). The ultrasonic pulses emitted by the ultrasonic transmitter(s) are received by the ultrasonic transducers16(act58). Signals generated by the ultrasonic transducers16in response to reception of the ultrasonic pulses are processed (e.g., via the management module115) to determine the location of the ultrasonic unit12(act59). The determined location of the ultrasonic unit12is compared to the identified storage location for storing the item (act60). Based on the comparison, the inventory tracking system can make a determination that the item has been stored in the identified storage location. Alternatively, the inventory tracking system can make a determination that the inventory system worker has placed the item into a particular storage location (e.g., different from the identified storage location, or a particular storage location included in the identified storage location when the worker is placing the item to optimize storage efficiency).

In act61, the haptic feedback mechanism30is activated to provide suitable haptic feedback to the inventory system worker based at least partly on the location of the ultrasonic unit12. For example, the haptic feedback can include one or more of: (a) haptic feedback that the location of the ultrasonic unit12is within a suitable close distance to the identified storage location to indicate that the worker is interacting with the identified storage location, (b) haptic feedback that the location of the ultrasonic unit12is far enough away from the identified storage location to indicate that the worker is not interacting with the identified storage location, (c) haptic feedback that the location of the ultrasonic unit12is within a suitable close distance to a different storage location (other than the identified storage location) to indicate that the worker is interacting with the different storage location or (d) haptic feedback indicative of a distance and/or direction from the ultrasonic unit12to the identified storage location.

FIG. 6is a simplified diagram of acts of a method62for monitoring accomplishment of retrieving an item from a storage location (e.g., to prepare the item for shipping to a customer in response to receiving an order for the item) by tracking an ultrasonic unit worn by an inventory system worker, in accordance with many embodiments. Any suitable ultrasonic tracking system, including the ultrasonic tracking systems described herein, can be used to accomplish the acts of the method62. The method62can be used to provide feedback to the inventory system worker regarding whether the worker is interacting with a designated storage location in which the inventory item is stored or not. In act63, an order is received for an item stored in the inventory system. In act64, the identification of the storage location in which the item is stored is retrieved from memory (e.g., by the management module115). In act65, the storage location is communicated to the inventory system worker. In act66, the inventory system worker is instructed to retrieve the item from the storage location. The identification of the storage location, and the instruction to retrieve the item from the identified storage location, can be communicated to the inventory system worker via any suitable means, such as via a display unit.

An ultrasonic tracking system is used to monitor performance of the retrieval of the inventory item from the identified storage location by the inventory system worker. In act67, the proximity signal transmitter38is activated. The proximity signal transmitter38transmits a suitable signal that is receivable by the ultrasonic unit12when the ultrasonic unit12is within a suitable proximity of the identified storage location, which will be within a suitable proximity of the proximity signal transmitter38. The ultrasonic tracking system used can include more than one proximity signal transmitter38and the proximity signal transmitter38to be activated can be selected based on the identified storage location for the item. In act68, the proximity signal is received by the ultrasonic unit12when the worker is near the identified storage location. In response to receiving the proximity signal, the ultrasonic unit12activates the ultrasonic transmitter(s) of the ultrasonic unit12(act69). The ultrasonic pulses emitted by the ultrasonic transmitter(s) are received by the ultrasonic transducers16(act70). Signals generated by the ultrasonic transducers16in response to reception of the ultrasonic pulses are processed (e.g., via the management module115) to determine the location of the ultrasonic unit12(act71). The determined location of the ultrasonic unit12is compared to the identified storage location for the item to be retrieved (act72). Based on the comparison, the inventory tracking system can make a determination that the item has been retrieved from the identified storage location. Alternatively, the inventory tracking system can make a determination that the inventory system worker has retrieved the item from a different storage location.

In act73, the haptic feedback mechanism30is activated to provide suitable haptic feedback to the inventory system worker based at least partly on the location of the ultrasonic unit12. For example, the haptic feedback can include one or more of: (a) haptic feedback that the location of the ultrasonic unit12is within a suitable close distance to the identified storage location in which the item is stored to indicate that the worker is interacting with the identified storage location, (b) haptic feedback that the location of the ultrasonic unit12is far enough away from the identified storage location to indicate that the worker is not interacting with the identified storage location, (c) haptic feedback that the location of the ultrasonic unit12is within a suitable close distance to a different storage location (other than the identified storage location) to indicate that the worker is interacting with the different storage location or (d) haptic feedback indicative of a distance and/or direction from the ultrasonic unit12to the identified storage location.

FIG. 7is a simplified diagram of acts of a method74for calibrating an ultrasonic tracking system, in accordance with many embodiments. Any suitable ultrasonic tracking system, including the ultrasonic tracking systems described herein, can be used to accomplish the acts of the method74. The method74can be used to calibrate tracked locations of the ultrasonic unit(s)12relative to known locations and/or to known storage locations within an inventory system. In act75, an inventory system worker is instructed to move the ultrasonic unit(s)12to designated locations relative to storage locations. In act76, an ultrasonic transmitter(s) of the ultrasonic unit12is activated. In act77, ultrasonic pulses from the ultrasonic unit12are received by the ultrasonic transducers16. In act78, signals generated by the ultrasonic transducers16are processed (e.g., by the management module115) to determine the location of the ultrasonic unit12. In act79, each of the locations of the ultrasonic unit12is compared with the respective designated location. In act80, the process for determining the location of the ultrasonic unit12relative to storage locations is calibrated based on the location comparisons.

Example Implementation—Inventory Management System

FIG. 8illustrates the contents of an inventory system110. Inventory system110includes a management module115, one or more mobile drive units120, one or more inventory holders130, and one or more inventory stations150. Mobile drive units120transport inventory holders130between points within a workspace170in response to commands communicated by management module115. Each inventory holder130stores one or more types of inventory items. As a result, inventory system110is capable of moving inventory items between locations within workspace170to facilitate the entry, processing, and/or removal of inventory items from inventory system110and the completion of other tasks involving inventory items.

Management module115assigns tasks to appropriate components of inventory system110and coordinates operation of the various components in completing the tasks. These tasks may relate not only to the movement and processing of inventory items, but also to the management and maintenance of the components of inventory system110. For example, management module115may assign portions of workspace170as parking spaces for mobile drive units120, the scheduled recharge or replacement of mobile drive unit batteries, the storage of empty inventory holders130, or any other operations associated with the functionality supported by inventory system110and its various components. Management module115may select components of inventory system110to perform these tasks and communicate appropriate commands and/or data to the selected components to facilitate completion of these operations. Although shown inFIG. 8as a single, discrete component, management module115may represent multiple components and may represent or include portions of mobile drive units120or other elements of inventory system110. As a result, any or all of the interaction between a particular mobile drive unit120and management module115that is described below may, in particular embodiments, represent peer-to-peer communication between that mobile drive unit120and one or more other mobile drive units120.

Mobile drive units120move inventory holders130between locations within workspace170. Mobile drive units120may represent any devices or components appropriate for use in inventory system110based on the characteristics and configuration of inventory holders130and/or other elements of inventory system110. In a particular embodiment of inventory system110, mobile drive units120represent independent, self-powered devices configured to freely move about workspace170. Examples of such inventory systems are disclosed in U.S. Pat. No. 9,087,314, issued Jul. 21, 2015, titled “SYSTEM AND METHOD FOR POSITIONING A MOBILE DRIVE UNIT” and U.S. Pat. No. 8,280,547, issued on Oct. 2, 2012, titled “METHOD AND SYSTEM FOR TRANSPORTING INVENTORY ITEMS”, the entire disclosures of which are herein incorporated by reference. In alternative embodiments, mobile drive units120represent elements of a tracked inventory system configured to move inventory holder130along tracks, rails, cables, crane system, or other guidance or support elements traversing workspace170. In such an embodiment, mobile drive units120may receive power and/or support through a connection to the guidance elements, such as a powered rail. Additionally, in particular embodiments of inventory system110mobile drive units120may be configured to utilize alternative conveyance equipment to move within workspace170and/or between separate portions of workspace170. The contents and operation of an example embodiment of a mobile drive unit120are discussed further below with respect toFIGS. 10 through 12.

Additionally, mobile drive units120may be capable of communicating with management module115to receive information identifying selected inventory holders130, transmit the locations of mobile drive units120, or exchange any other suitable information to be used by management module115or mobile drive units120during operation. Mobile drive units120may communicate with management module115wirelessly, using wired connections between mobile drive units120and management module115, and/or in any other appropriate manner. As one example, particular embodiments of mobile drive unit120may communicate with management module115and/or with one another using 802.11, Bluetooth, or Infrared Data Association (IrDA) standards, or any other appropriate wireless communication protocol. As another example, in a tracked inventory system110, tracks or other guidance elements upon which mobile drive units120move may be wired to facilitate communication between mobile drive units120and other components of inventory system110. Furthermore, as noted above, management module115may include components of individual mobile drive units120. Thus, for the purposes of this description and the claims that follow, communication between management module115and a particular mobile drive unit120may represent communication between components of a particular mobile drive unit120. In general, mobile drive units120may be powered, propelled, and controlled in any manner appropriate based on the configuration and characteristics of inventory system110.

Inventory holders130store inventory items. In a particular embodiment, inventory holders130include multiple storage bins with each storage bin capable of holding one or more types of inventory items. Inventory holders130are capable of being carried, rolled, and/or otherwise moved by mobile drive units120. In particular embodiments, inventory holder130may provide additional propulsion to supplement that provided by mobile drive unit120when moving inventory holder130.

Additionally, in particular embodiments, inventory items may also hang from hooks or bars (not shown) within or on inventory holder130. In general, inventory holder130may store inventory items in any appropriate manner within inventory holder130and/or on the external surface of inventory holder130.

Additionally, each inventory holder130may include a plurality of faces, and each bin may be accessible through one or more faces of the inventory holder130. For example, in a particular embodiment, inventory holder130includes four faces. In such an embodiment, bins located at a corner of two faces may be accessible through either of those two faces, while each of the other bins is accessible through an opening in one of the four faces. Mobile drive unit120may be configured to rotate inventory holder130at appropriate times to present a particular face and the bins associated with that face to an operator or other components of inventory system110.

Inventory items represent any objects suitable for storage, retrieval, and/or processing in an automated inventory system110. For the purposes of this description, “inventory items” may represent any one or more objects of a particular type that are stored in inventory system110. Thus, a particular inventory holder130is currently “storing” a particular inventory item if the inventory holder130currently holds one or more units of that type. As one example, inventory system110may represent a mail order warehouse facility, and inventory items may represent merchandise stored in the warehouse facility. During operation, mobile drive units120may retrieve inventory holders130containing one or more inventory items requested in an order to be packed for delivery to a customer or inventory holders130carrying pallets containing aggregated collections of inventory items for shipment. Moreover, in particular embodiments of inventory system110, boxes containing completed orders may themselves represent inventory items.

In particular embodiments, inventory system110may also include one or more inventory stations150. Inventory stations150represent locations designated for the completion of particular tasks involving inventory items. Such tasks may include the removal of inventory items from inventory holders130, the introduction of inventory items into inventory holders130, the counting of inventory items in inventory holders130, the decomposition of inventory items (e.g., from pallet- or case-sized groups to individual inventory items), the consolidation of inventory items between inventory holders130, and/or the processing or handling of inventory items in any other suitable manner. In particular embodiments, inventory stations150may just represent the physical locations where a particular task involving inventory items can be completed within workspace170. In alternative embodiments, inventory stations150may represent both the physical location and also any appropriate equipment for processing or handling inventory items, such as scanners for monitoring the flow of inventory items in and out of inventory system110, communication interfaces for communicating with management module115, and/or any other suitable components. Inventory stations150may be controlled, entirely or in part, by human operators or may be fully automated. Moreover, the human or automated operators of inventory stations150may be capable of performing certain tasks to inventory items, such as packing, counting, or transferring inventory items, as part of the operation of inventory system110.

Workspace170represents an area associated with inventory system110in which mobile drive units120can move and/or inventory holders130can be stored. For example, workspace170may represent all or part of the floor of a mail-order warehouse in which inventory system110operates. In some embodiments, workspace170includes multiple floors, and some combination of ramps, elevators, conveyors, and/or other devices are provided to facilitate movement of mobile drive units120and/or other components of the inventory system110between the multiple floors. AlthoughFIG. 8shows, for the purposes of illustration, an embodiment of inventory system110in which workspace170includes a fixed, predetermined, and finite physical space, particular embodiments of inventory system110may include mobile drive units120and inventory holders130that are configured to operate within a workspace170that is of variable dimensions and/or an arbitrary geometry. WhileFIG. 8illustrates a particular embodiment of inventory system110in which workspace170is entirely enclosed in a building, alternative embodiments may utilize workspaces170in which some or all of the workspace170is located outdoors, within a vehicle (such as a cargo ship), or otherwise unconstrained by any fixed structure.

In operation, management module115selects appropriate components to complete particular tasks and transmits task assignments118to the selected components to trigger completion of the relevant tasks. Each task assignment118defines one or more tasks to be completed by a particular component. These tasks may relate to the retrieval, storage, replenishment, and counting of inventory items and/or the management of mobile drive units120, inventory holders130, inventory stations150and other components of inventory system110. Depending on the component and the task to be completed, a particular task assignment118may identify locations, components, and/or actions associated with the corresponding task and/or any other appropriate information to be used by the relevant component in completing the assigned task.

In particular embodiments, management module115generates task assignments118based, in part, on inventory requests that management module115receives from other components of inventory system110and/or from external components in communication with management module115. These inventory requests identify particular operations to be completed involving inventory items stored or to be stored within inventory system110and may represent communication of any suitable form. For example, in particular embodiments, an inventory request may represent a shipping order specifying particular inventory items that have been purchased by a customer and that are to be retrieved from inventory system110for shipment to the customer. Management module115may also generate task assignments118independently of such inventory requests, as part of the overall management and maintenance of inventory system110. For example, management module115may generate task assignments118in response to the occurrence of a particular event (e.g., in response to a mobile drive unit120requesting a space to park), according to a predetermined schedule (e.g., as part of a daily start-up routine), or at any appropriate time based on the configuration and characteristics of inventory system110. After generating one or more task assignments118, management module115transmits the generated task assignments118to appropriate components for completion of the corresponding task. The relevant components then execute their assigned tasks.

With respect to mobile drive units120specifically, management module115may, in particular embodiments, communicate task assignments118to selected mobile drive units120that identify one or more destinations for the selected mobile drive units120. Management module115may select a mobile drive unit120to assign the relevant task based on the location or state of the selected mobile drive unit120, an indication that the selected mobile drive unit120has completed a previously-assigned task, a predetermined schedule, and/or any other suitable consideration. These destinations may be associated with an inventory request the management module115is executing or a management objective the management module115is attempting to fulfill. For example, the task assignment may define the location of an inventory holder130to be retrieved, an inventory station150to be visited, a storage location where the mobile drive unit120should park until receiving another task, or a location associated with any other task appropriate based on the configuration, characteristics, and/or state of inventory system110, as a whole, or individual components of inventory system110. For example, in particular embodiments, such decisions may be based on the popularity of particular inventory items, the staffing of a particular inventory station150, the tasks currently assigned to a particular mobile drive unit120, and/or any other appropriate considerations.

As part of completing these tasks mobile drive units120may dock with and transport inventory holders130within workspace170. Mobile drive units120may dock with inventory holders130by connecting to, lifting, and/or otherwise interacting with inventory holders130in any other suitable manner so that, when docked, mobile drive units120are coupled to and/or support inventory holders130and can move inventory holders130within workspace170. While the description below focuses on particular embodiments of mobile drive unit120and inventory holder130that are configured to dock in a particular manner, alternative embodiments of mobile drive unit120and inventory holder130may be configured to dock in any manner suitable to allow mobile drive unit120to move inventory holder130within workspace170. Additionally, as noted below, in particular embodiments, mobile drive units120represent all or portions of inventory holders130. In such embodiments, mobile drive units120may not dock with inventory holders130before transporting inventory holders130and/or mobile drive units120may each remain continually docked with a particular inventory holder130.

While the appropriate components of inventory system110complete assigned tasks, management module115may interact with the relevant components to ensure the efficient use of space, equipment, manpower, and other resources available to inventory system110. As one specific example of such interaction, management module115is responsible, in particular embodiments, for planning the paths mobile drive units120take when moving within workspace170and for allocating use of a particular portion of workspace170to a particular mobile drive unit120for purposes of completing an assigned task. In such embodiments, mobile drive units120may, in response to being assigned a task, request a path to a particular destination associated with the task. Moreover, while the description below focuses on one or more embodiments in which mobile drive unit120requests paths from management module115, mobile drive unit120may, in alternative embodiments, generate its own paths.

Components of inventory system110may provide information to management module115regarding their current state, other components of inventory system110with which they are interacting, and/or other conditions relevant to the operation of inventory system110. This may allow management module115to utilize feedback from the relevant components to update algorithm parameters, adjust policies, or otherwise modify its decision-making to respond to changes in operating conditions or the occurrence of particular events.

In addition, while management module115may be configured to manage various aspects of the operation of the components of inventory system110, in particular embodiments, the components themselves may also be responsible for decision-making relating to certain aspects of their operation, thereby reducing the processing load on management module115.

Thus, based on its knowledge of the location, current state, and/or other characteristics of the various components of inventory system110and an awareness of all the tasks currently being completed, management module115can generate tasks, allot usage of system resources, and otherwise direct the completion of tasks by the individual components in a manner that optimizes operation from a system-wide perspective. Moreover, by relying on a combination of both centralized, system-wide management and localized, component-specific decision-making, particular embodiments of inventory system110may be able to support a number of techniques for efficiently executing various aspects of the operation of inventory system110. As a result, particular embodiments of management module115may, by implementing one or more management techniques described below, enhance the efficiency of inventory system110and/or provide other operational benefits.

FIG. 9illustrates in greater detail the components of a particular embodiment of management module115. As shown, the example embodiment includes a resource scheduling module192, a route planning module194, a segment reservation module196, an inventory module197, a communication interface module198, a processor190, and a memory191. Management module115may represent a single component, multiple components located at a central location within inventory system110, or multiple components distributed throughout inventory system110. For example, management module115may represent components of one or more mobile drive units120that are capable of communicating information between the mobile drive units120and coordinating the movement of mobile drive units120within workspace170. In general, management module115may include any appropriate combination of hardware and/or software suitable to provide the described functionality.

Processor190is operable to execute instructions associated with the functionality provided by management module115. Processor190may comprise one or more general purpose computers, dedicated microprocessors, or other processing devices capable of communicating electronic information. Examples of processor190include one or more application-specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), digital signal processors (DSPs) and any other suitable specific or general purpose processors.

Memory191stores processor instructions, inventory requests, reservation information, state information for the various components of inventory system110and/or any other appropriate values, parameters, or information utilized by management module115during operation. Memory191may represent any collection and arrangement of volatile or nonvolatile, local or remote devices suitable for storing data. Examples of memory191include, but are not limited to, random access memory (RAM) devices, read only memory (ROM) devices, magnetic storage devices, optical storage devices, or any other suitable data storage devices.

Resource scheduling module192processes received inventory requests and generates one or more assigned tasks to be completed by the components of inventory system110. Resource scheduling module192may also select one or more appropriate components for completing the assigned tasks and, using communication interface module198, communicate the assigned tasks to the relevant components. Additionally, resource scheduling module192may also be responsible for generating assigned tasks associated with various management operations, such as prompting mobile drive units120to recharge batteries or have batteries replaced, instructing inactive mobile drive units120to park in a location outside the anticipated traffic flow or a location near the anticipated site of future tasks, and/or directing mobile drive units120selected for repair or maintenance to move towards a designated maintenance station.

Route planning module194receives route requests from mobile drive units120. These route requests identify one or more destinations associated with a task the requesting mobile drive unit120is executing. In response to receiving a route request, route planning module194generates a path to one or more destinations identified in the route request. Route planning module194may implement any appropriate algorithms utilizing any appropriate parameters, factors, and/or considerations to determine the appropriate path. After generating an appropriate path, route planning module194transmits a route response identifying the generated path to the requesting mobile drive unit120using communication interface module198.

Segment reservation module196receives reservation requests from mobile drive units120attempting to move along paths generated by route planning module194. These reservation requests request the use of a particular portion of workspace170(referred to herein as a “segment”) to allow the requesting mobile drive unit120to avoid collisions with other mobile drive units120while moving across the reserved segment. In response to received reservation requests, segment reservation module196transmits a reservation response granting or denying the reservation request to the requesting mobile drive unit120using the communication interface module198.

The inventory module197maintains information about the location and number of inventory items in the inventory system110. Information can be maintained about the number of inventory items in a particular inventory holder130, and the maintained information can include the location of those inventory items in the inventory holder130. The inventory module197can also communicate with the mobile drive units120, utilizing task assignments118to maintain, replenish, or move inventory items within the inventory system110.

Communication interface module198facilitates communication between management module115and other components of inventory system110, including reservation responses, reservation requests, route requests, route responses, and task assignments. These reservation responses, reservation requests, route requests, route responses, and task assignments may represent communication of any form appropriate based on the capabilities of management module115and may include any suitable information. Depending on the configuration of management module115, communication interface module198may be responsible for facilitating either or both of wired and wireless communication between management module115and the various components of inventory system110. In particular embodiments, management module115may communicate using communication protocols such as 802.11, Bluetooth, or Infrared Data Association (IrDA) standards. Furthermore, management module115may, in particular embodiments, represent a portion of mobile drive unit120or other components of inventory system110. In such embodiments, communication interface module198may facilitate communication between management module115and other parts of the same system component.

In general, resource scheduling module192, route planning module194, segment reservation module196, inventory module197, and communication interface module198may each represent any appropriate hardware and/or software suitable to provide the described functionality. In addition, as noted above, management module115may, in particular embodiments, represent multiple different discrete components and any or all of resource scheduling module192, route planning module194, segment reservation module196, inventory module197, and communication interface module198may represent components physically separate from the remaining elements of management module115. Moreover, any two or more of resource scheduling module192, route planning module194, segment reservation module196, inventory module197, and communication interface module198may share common components. For example, in particular embodiments, resource scheduling module192, route planning module194, segment reservation module196, and inventory module197represent computer processes executing on processor190and communication interface module198comprises a wireless transmitter, a wireless receiver, and a related computer process executing on processor190.

FIGS. 10 through 12illustrate in greater detail the components of a particular embodiment of mobile drive unit120. In particular,FIGS. 10 through 12include a front and side view of an example mobile drive unit120. Mobile drive unit120includes a docking head210, a drive module220, a docking actuator230, and a control module270. Additionally, mobile drive unit120may include one or more sensors configured to detect or determine the location of mobile drive unit120, inventory holder130, and/or other appropriate elements of inventory system110. In the illustrated embodiment, mobile drive unit120includes a position sensor240, a holder sensor250, an obstacle sensor260, and an identification signal transmitter262.

Docking head210, in particular embodiments of mobile drive unit120, couples mobile drive unit120to inventory holder130and/or supports inventory holder130when mobile drive unit120is docked to inventory holder130. Docking head210may additionally allow mobile drive unit120to maneuver inventory holder130, such as by lifting inventory holder130, propelling inventory holder130, rotating inventory holder130, and/or moving inventory holder130in any other appropriate manner. Docking head210may also include any appropriate combination of components, such as ribs, spikes, and/or corrugations, to facilitate such manipulation of inventory holder130. For example, in particular embodiments, docking head210may include a high-friction portion that abuts a portion of inventory holder130while mobile drive unit120is docked to inventory holder130. In such embodiments, frictional forces created between the high-friction portion of docking head210and a surface of inventory holder130may induce translational and rotational movement in inventory holder130when docking head210moves and rotates, respectively. As a result, mobile drive unit120may be able to manipulate inventory holder130by moving or rotating docking head210, either independently or as a part of the movement of mobile drive unit120as a whole.

Drive module220propels mobile drive unit120and, when mobile drive unit120and inventory holder130are docked, inventory holder130. Drive module220may represent any appropriate collection of components operable to propel mobile drive unit120. For example, in the illustrated embodiment, drive module220includes a pair of motorized wheels224, and a pair of stabilizing wheels226. One motorized wheel224is located on each side of the mobile drive unit120, and one stabilizing wheel226is positioned at each end of mobile drive unit120. Each of the motorized wheels224is driven via an associated drive unit225.

Docking actuator230moves docking head210towards inventory holder130to facilitate docking of mobile drive unit120and inventory holder130. Docking actuator230may also be capable of adjusting the position or orientation of docking head210in other suitable manners to facilitate docking. Docking actuator230may include any appropriate components, based on the configuration of mobile drive unit120and inventory holder130, for moving docking head210or otherwise adjusting the position or orientation of docking head210. For example, in the illustrated embodiment, docking actuator230includes a motorized shaft (not shown) attached to the center of docking head210. The motorized shaft is operable to lift docking head210as appropriate for docking with inventory holder130.

Drive module220may be configured to propel mobile drive unit120in any appropriate manner. For example, in the illustrated embodiment, motorized wheels224are operable to rotate in a first direction to propel mobile drive unit120in a forward direction. Motorized wheels224are also operable to rotate in a second direction to propel mobile drive unit120in a backward direction. In the illustrated embodiment, drive module220is also configured to rotate mobile drive unit120by rotating motorized wheels224in different directions from one another or by rotating motorized wheels224at different speed from one another.

Position sensor240represents one or more sensors, detectors, or other components suitable for determining the location of mobile drive unit120in any appropriate manner. For example, in particular embodiments, the workspace170associated with inventory system110includes a number of fiducial marks that mark points on a two-dimensional grid that covers all or a portion of workspace170. In such embodiments, position sensor240may include a camera and suitable image- and/or video-processing components, such as an appropriately-programmed digital signal processor, to allow position sensor240to detect fiducial marks within the camera's field of view. Control module270may store location information that position sensor240updates as position sensor240detects fiducial marks. As a result, position sensor240may utilize fiducial marks to maintain an accurate indication of the location mobile drive unit120and to aid in navigation when moving within workspace170.

Holder sensor250represents one or more sensors, detectors, or other components suitable for detecting inventory holder130and/or determining, in any appropriate manner, the location of inventory holder130, as an absolute location or as a position relative to mobile drive unit120. Holder sensor250may be capable of detecting the location of a particular portion of inventory holder130or inventory holder130as a whole. Mobile drive unit120may then use the detected information for docking with or otherwise interacting with inventory holder130.

Obstacle sensor260represents one or more sensors capable of detecting objects located in one or more different directions in which mobile drive unit120is capable of moving. Obstacle sensor260may utilize any appropriate components and techniques, including optical, radar, sonar, pressure-sensing and/or other types of detection devices appropriate to detect objects located in the direction of travel of mobile drive unit120. In particular embodiments, obstacle sensor260may transmit information describing objects it detects to control module270to be used by control module270to identify obstacles and to take appropriate remedial actions to prevent mobile drive unit120from colliding with obstacles and/or other objects.

Obstacle sensor260may also detect signals transmitted by other mobile drive units120operating in the vicinity of the illustrated mobile drive unit120. For example, in particular embodiments of inventory system110, one or more mobile drive units120may include an identification signal transmitter262that transmits a drive identification signal. The drive identification signal indicates to other mobile drive units120that the object transmitting the drive identification signal is in fact a mobile drive unit. Identification signal transmitter262may be capable of transmitting infrared, ultraviolet, audio, visible light, radio, and/or other suitable signals that indicate to recipients that the transmitting device is a mobile drive unit120.

Additionally, in particular embodiments, obstacle sensor260may also be capable of detecting state information transmitted by other mobile drive units120. For example, in particular embodiments, identification signal transmitter262may be capable of including state information relating to mobile drive unit120in the transmitted identification signal. This state information may include, but is not limited to, the position, velocity, direction, and the braking capabilities of the transmitting mobile drive unit120. In particular embodiments, mobile drive unit120may use the state information transmitted by other mobile drive units to avoid collisions when operating in close proximity with those other mobile drive units.

Control module270monitors and/or controls operation of drive module220and docking actuator230. Control module270may also receive information from sensors such as position sensor240and holder sensor250and adjust the operation of drive module220, docking actuator230, and/or other components of mobile drive unit120based on this information. Additionally, in particular embodiments, mobile drive unit120may be configured to communicate with a management device of inventory system110and control module270may receive commands transmitted to mobile drive unit120and communicate information back to the management device utilizing appropriate communication components of mobile drive unit120. Control module270may include any appropriate hardware and/or software suitable to provide the described functionality. In particular embodiments, control module270includes a general-purpose microprocessor programmed to provide the described functionality. Additionally, control module270may include all or portions of docking actuator230, drive module220, position sensor240, and/or holder sensor250, and/or share components with any of these elements of mobile drive unit120.

Moreover, in particular embodiments, control module270may include hardware and software located in components that are physically distinct from the device that houses drive module220, docking actuator230, and/or the other components of mobile drive unit120described above. For example, in particular embodiments, each mobile drive unit120operating in inventory system110may be associated with a software process (referred to here as a “drive agent”) operating on a server that is in communication with the device that houses drive module220, docking actuator230, and other appropriate components of mobile drive unit120. This drive agent may be responsible for requesting and receiving tasks, requesting and receiving routes, transmitting state information associated with mobile drive unit120, and/or otherwise interacting with management module115and other components of inventory system110on behalf of the device that physically houses drive module220, docking actuator230, and the other appropriate components of mobile drive unit120. As a result, for the purposes of this description and the claims that follow, the term “mobile drive unit” includes software and/or hardware, such as agent processes, that provides the described functionality on behalf of mobile drive unit120but that may be located in physically distinct devices from the drive module220, docking actuator230, and/or the other components of mobile drive unit120described above.

WhileFIGS. 10 through 12illustrate a particular embodiment of mobile drive unit120containing certain components and configured to operate in a particular manner, mobile drive unit120may represent any appropriate component and/or collection of components configured to transport and/or facilitate the transport of inventory holders130. As another example, mobile drive unit120may represent part of an overhead crane system in which one or more crane assemblies are capable of moving within a network of wires or rails to a position suitable to dock with a particular inventory holder130. After docking with inventory holder130, the crane assembly may then lift inventory holder130and move inventory to another location for purposes of completing an assigned task.