Patent Description:
In an effort to increase pick rate and productivity in a warehouse (or in a store), autonomous vehicles may navigate pickers around the warehouse to pick products and place the products in specific containers (totes). Typically, a computer routes autonomous vehicles to locations in the warehouse based on a particular pick route to fulfill various orders using the autonomous vehicle. <CIT> describes a method for executing an order to perform a plurality of tasks on items at locations throughout a warehouse space using a robot includes receiving an order for the robot to execute a plurality of tasks. The method also includes navigating the robot to the locations in the warehouse space associated with each item and executing at each location, the task type on the associated item. <CIT> describes a robot-based logistics zoning picking method. <CIT> describes an automated distribution center that includes an array with storage locations arranged along aisle(s) having a floor, and a mezzanine platform above the floor, the floor and mezzanine being configured for human picker access to the storage locations and use of an automated guided vehicle (AGV) configured for traverse of the floor and mezzanine to the storage locations.

The accompanying drawings constitute a part of this specification and illustrate embodiments of the subject matter disclosed herein.

Accordingly there are provided methods, a system, and a computer program as detailed in the claims that follow.

Reference will now be made to the illustrative embodiments illustrated in the drawings, and specific language will be used here to describe the same. It will nevertheless be understood that no limitation of the scope of the claims or this disclosure is thereby intended. Alterations and further modifications of the inventive features illustrated herein, and additional applications of the principles of the subject matter illustrated herein, which would occur to one ordinarily skilled in the relevant art and having possession of this disclosure, are to be considered within the scope of the subject matter disclosed herein. The present disclosure is here described in detail with reference to embodiments illustrated in the drawings, which form a part here. Other embodiments may be used and/or other changes may be made without departing from the spirit or scope of the present disclosure. The illustrative embodiments described in the detailed description are not meant to be limiting of the subject matter presented here.

Current methods and systems of increasing pick rate and productivity have faced challenges and shortcomings. For instance, warehouses may include locations/areas that are closed to travel by autonomous vehicles, such as loft areas, narrow aisles, aisles with flooring that do not allow for easy maneuvering (e.g., carpeted aisles), crowded areas, and/or separate rooms. As a result, pickers are forced to depart from the pick route and the autonomous vehicle to collect the products. When departing from the autonomous vehicle, pickers must memorize a next pick, collect the products, and return to the autonomous vehicle. This inefficient process relies on each picker's memory and may add time due to the additional walking by the picker back to the autonomous vehicle.

To address the above-described drawbacks, an autonomous vehicle routing system can dynamically revise and reconfigure autonomous vehicle routes (e.g., pick route or pick paths) to guide pickers through areas that are closed to travel by autonomous vehicles (e.g., loft areas, narrow aisles, aisles with flooring that do not allow for easy maneuvering (e.g., carpeted aisles), crowded areas due to other autonomous vehicles or pickers, and/or separate rooms). The disclosed autonomous vehicle routing system may navigate the autonomous vehicle to meet the picker when the picker has collected the product. When the system identifies that a picker has left an assigned autonomous vehicle at an area that is closed to travel by the autonomous vehicle and is operating an electronic device (e.g., the picker has diverged from the autonomous vehicle), the system may present an interface on the electronic device to allow seamless navigation and presentation of data needed for the picker to continue the pick route.

The system may continuously/periodically monitor the location of different autonomous vehicles/pickers and may identify that an autonomous vehicle (operated by a picker) is approaching a product within an area that is closed to travel by the autonomous vehicle (designated or discovered as impassable or indicated as impassable or closed to travel via the electronic device). For instance, the system may use location tracking devices associated with different autonomous vehicles (e.g., GPS, beacon, and/or wireless location tracking) to identify a location of the autonomous vehicle. The system may instruct the autonomous vehicle to display a prompt directing the picker to collect the product (e.g., location, quantity, directions).

Upon reaching the area closed to travel by the autonomous vehicle, the picker may detach the electronic device from the autonomous vehicle to utilize as an interface while picking without the autonomous vehicle. Alternatively, an electronic device (e.g., mobile phone or wrist computer) communicates with an autonomous vehicle but does not attach or physically connect to the autonomous vehicle.

The system may monitor each picker's activity and work progress and may determine when a picker has completed tasks within the area closed to travel by the autonomous vehicle. When the picker has completed the tasks, the system may determine an optimized rendezvous location for the picker to continue operations using the autonomous vehicle. In some cases, it may be more efficient for the picker to meet the autonomous vehicle at a different location than where the picker left it. The system may consider the specific locations of the products to be collected within the area closed to travel by the autonomous vehicle, location of the picker, projected walking time, and projected collection time to determine the optimized rendezvous location and to minimize the picker's walking time to the rendezvous location. Additionally or alternatively, the system may pre-plan a pick route and identify areas closed to travel by the autonomous vehicle and rendezvous locations before the autonomous vehicle reaches the area closed to travel by the autonomous vehicle.

Upon identifying the rendezvous location, the system may transmit an instruction to the autonomous vehicle causing it to navigate to the rendezvous location while the picker is collecting products in the area closed to travel by the autonomous vehicle. The autonomous vehicle may also display an indicator (e.g., picker's name, photo, avatar, "in use" light) to prevent other pickers from accidentally using the autonomous vehicle.

Because a warehouse may include multiple pickers and autonomous vehicles, the system may optimize the routes such that the picker is not necessarily assigned to the same autonomous vehicle each time after passing through an area closed to travel by the autonomous vehicle. The system may optimize routes and rendezvous locations each time a picker leaves an autonomous vehicle and/or when the picker has completed tasks within the area closed to travel by the autonomous vehicle.

The system may transmit an electronic notification to the electronic device displaying a rendezvous location for the autonomous vehicle and, if being assigned to a new autonomous vehicle, an identifier of the new autonomous vehicle. For instance, the electronic device may display real time directions that can navigate the picker to the rendezvous location. In another example, the system may display the directions and/or rendezvous location(s) using digital displays within the warehouse.

The system may display, on the electronic device, an image of the product, location of the product to be collected, a size reference for the product (for comparison), and/or a product identifier. The electronic device may also include an input element (e.g., barcode scanner) for the picker to confirm collection of the product. The electronic device may also utilize augmented reality to indicate a location of the products to be collected or other information about the product itself to assist the picker in confirming the proper product is collected.

The picker may deny collection of a product (e.g., the product is fragile or too heavy) and use the electronic device to send a notification that the product could not be collected. As a result, the system may dynamically re-route another picker and an assigned autonomous vehicle to collect that product. The system will then reconfigure the routing and rendezvous locations for all involved pickers and autonomous vehicles accordingly.

The system may account for erroneous selection of autonomous vehicles. For instance, if a picker starts operating an autonomous robot that is not assigned to the picker, the system may dynamically revise routes associated with other autonomous vehicle and pickers, rendezvous locations, such that the picker can proceed with the originally-assigned tasks or the tasks associated with the selected autonomous vehicle.

The system may continuously monitor autonomous vehicle traffic in real time and use traffic congestion to determine whether an area is closed to travel by the autonomous vehicle. For instance, an area may not be designated as an area that is closed to travel by the autonomous vehicle within the building layout. However, because two autonomous vehicles have been assigned to the same aisle, the aisle is now not big enough for a third autonomous vehicle (i.e., at this particular time, the aisle is closed to travel by the third autonomous vehicle). The system can dynamically instruct the picker to leave the autonomous vehicle and collect one or more products or can re-order the pick list so the autonomous vehicle can return to the area at a later time.

<FIG> illustrates a system 100a for dynamically revising a path for a picker, according to an embodiment. The system 100a includes a database <NUM> connected to a communications network <NUM>. The communications network <NUM> connects to an analytics server <NUM> associated with a warehouse <NUM>. The warehouse <NUM> may contain autonomous vehicles 106a to <NUM> (collectively referred to as autonomous vehicle(s) <NUM>), pickers 112a to <NUM> (collectively referred to as pickers <NUM>), pick locations 113a to <NUM> (collectively referred to as pick locations <NUM>), and shelves/racks/bins 111a to <NUM> (collectively referred to as bin(s) <NUM>). Embodiments may include or otherwise implement any number of devices capable of performing the various features and tasks described herein. For example, <FIG> shows the analytics server <NUM> as a distinct computing device in the warehouse <NUM>. In some embodiments, the analytics server <NUM> may be located in a different warehouse or capable of communicating with analytics servers <NUM> in various warehouses. Embodiments may comprise additional or alternative components, or may omit certain components, and still fall within the scope of this disclosure.

The databases <NUM> are coupled via communications links <NUM>, to communications network <NUM>, and via communications link <NUM> to the analytics server <NUM> associated with the warehouse <NUM>. The communications network <NUM> may be a public or private network, and the communications links <NUM>, and <NUM> that connect to communications network <NUM> may be wired or wireless. Non-limiting examples of the communications network may include: Local Area Network (LAN), Wireless Local Area Network (WLAN), Metropolitan Area Network (MAN), Wide Area Network (WAN), and the Internet. The communication over the network may be performed in accordance with various communication protocols, such as Transmission Control Protocol and Internet Protocol (TCP/IP), User Datagram Protocol (UDP), and IEEE communication protocols.

The databases <NUM> store and manage data records of various products. For example, databases <NUM> may store product quantities, product locations, product shipping schedules, product manufacturer information, and the like. The products in the warehouse <NUM> may be held, sold, maintained, stored, or otherwise transferred through the warehouse <NUM>. The warehouse <NUM> may include a product storage facility or shipping depot, for example, for transitioning foods or products from one facility to a next or to a customer location (e.g., house, office).

The database <NUM> may also store data records indicating a quantity of a product and a location of a product in the warehouse <NUM> (e.g., in a bin <NUM> at a particular pick location <NUM>). Some pick locations <NUM> contain bins <NUM> of one particular product. Some pick locations <NUM> contain bins <NUM> of multiple products. The database <NUM> may contain data records of the same product being stored in bins <NUM> in multiple pick locations <NUM>.

The analytics server <NUM> is associated with warehouse <NUM> and may be physically located at the warehouse <NUM> or located remotely from warehouse <NUM>. In the schematic embodiment shown in <FIG>, the analytics server <NUM> is shown as being located in the warehouse <NUM>, which may represent a physical and/or remote location of the analytics server <NUM> or its functionality, though the analytics server <NUM> may be located in a remote location. The analytics server <NUM> may be implemented as a distributed system or as a single device. In the case of a distributed system, one or more processors located outside the warehouse or in other devices may be, and sometimes are, used to perform one or more steps attributed to the analytics server <NUM> in this embodiment.

The analytics server <NUM> may communicate with databases <NUM>, autonomous vehicles <NUM>, and devices associated with pickers <NUM> (e.g., mobile phones, personal data assistants (PDA), tablet computers, handheld scanners, or wearable devices such as watches, artificial reality glasses, and earpieces). For example, the analytics server <NUM> may communicate with one or more transceivers to transmit and receive information. The transceiver may transmit instructions to electronic devices, such as mobile or wearable devices of pickers <NUM> or autonomous vehicles <NUM>, and/or receive product information, deadline information, carrier information and the like from databases <NUM>. The autonomous vehicle <NUM> may communicate with the analytics server <NUM>, databases <NUM>, and/or devices associated with pickers <NUM>.

The analytics server <NUM> may receive product status information (e.g., whether a product at a pick location <NUM> has shorted), and completion of task information (e.g., product picks) associated with the pick path (also referred to herein as pick route) from the autonomous vehicle <NUM>. The analytics server <NUM> may update data records in databases <NUM> in real time (or near real time) as products are being stocked and picked from pick locations <NUM> (including bins <NUM>) in warehouse <NUM>. Additionally or alternatively, the analytics server <NUM> may update data records in database <NUM> periodically (e.g., daily, monthly, and quarterly). In some configurations, data records in database <NUM> are updated in response to trigger conditions (e.g., a shipment of a particular product arrives at the warehouse <NUM>, a product is identified by a picker <NUM> as being out of stock).

The analytics server <NUM> may receive order information, directly or indirectly from customers, in real time (or near real time). The analytics server <NUM> may generate instructions for pickers <NUM> and associated autonomous vehicles <NUM> to retrieve one or more products in bins <NUM> from one or more pick locations <NUM> to complete an order or request from a customer (e.g., online order, pick list, customer's list, grocery list, shopping list). In some configurations, autonomous vehicles <NUM> are loaded with a number of containers based on the products to be picked in the warehouse <NUM> with one or more orders. Particular containers on the autonomous vehicle <NUM> may be assigned products from one or more orders such that when a picker <NUM> picks the product, the picker <NUM> is instructed to place the product into the particular container assigned to the product.

The analytics server <NUM> may cause instructions to display on the autonomous vehicle <NUM>. The autonomous vehicle <NUM> may receive instructions from the analytics server <NUM>, routing the autonomous vehicle <NUM> and picker <NUM> through the warehouse <NUM> to bins <NUM> at pick locations <NUM>. In some configurations, the autonomous vehicle <NUM> may communicate with the database <NUM> to provide offline access to inventory data and/or product data.

The autonomous vehicle may display the path to the picker <NUM> assigned to the autonomous vehicle <NUM>. The analytics server <NUM> may also cause instructions to display on a digital display within the warehouse <NUM>. Additionally or alternatively, pickers <NUM> may utilize an electronic device (e.g., mobile phone, tablet computer, or a wearable device such as an earpiece, glasses, watch, wrist computer) configured to receive instructions and/or notifications from the analytics server <NUM>. In one configuration, the electronic device may be attached to the autonomous vehicle <NUM> and detached as needed. In other embodiments, the autonomous vehicles <NUM> receive instructions and/or notifications from the analytics server <NUM> and transmit the instructions and/or notification to the pickers <NUM>.

The instructions routing the autonomous vehicle <NUM> may indicate an order (e.g., a sequence) to provide or display the tasks for the path such that the tasks for individual products are provided or displayed one at a time, for example, in sequential order through an interface on the autonomous vehicle <NUM>. The instructions may interleave picking products of various orders (e.g., lists of products for particular customers) such that the picker's time picking products in warehouse <NUM> is minimized. The autonomous vehicle <NUM> may display, using the instructions, one individual task at a time as a picker <NUM> progresses through the path such that upon completion of a first task (e.g., picking a first product at a first bin 111a at a first pick location 113a), the autonomous vehicle <NUM> displays a second task (e.g., picking a second product at a second bin 111b at the first pick location 113a, or picking a second product at a second bin 11b at a second pick location 113b).

The analytics server <NUM> may continuously (or periodically) monitor the location of different autonomous vehicles <NUM> and pickers <NUM> in the warehouse <NUM>. In some configurations, the analytics server <NUM> may track (or monitor) the location of pickers <NUM> or autonomous vehicles <NUM> using location-aware sensors. For example, the analytics server <NUM> may track the autonomous vehicle <NUM> or wearable devices (e.g., electronic devices such as earpieces, glasses, watches, wrist computers) worn by the picker <NUM>. The analytics server <NUM> may also use global positioning systems (GPS), beacon signal data, or other forms of signal data to identify a picker <NUM> and/or autonomous vehicle <NUM> at a particular location within the warehouse <NUM>.

Additionally or alternatively, the analytics server <NUM> may determine a projected location of the autonomous vehicle <NUM> and/or picker <NUM>. For example, the analytics server <NUM> may instruct the picker <NUM> to pick products in a sequence (e.g., the path) at various bins <NUM> from one or more pick locations <NUM> to complete an order (or multiple interleaved orders). Accordingly, the analytics server <NUM> may determine a projected location of the autonomous vehicle <NUM> and associated picker <NUM> based on GPS information indicating the current location of the autonomous vehicle <NUM>, information related to the next product to be picked according to the path, and a speed of a particular picker <NUM>, an average speed of pickers <NUM>, or a speed of an autonomous vehicle <NUM>. The analytics server <NUM> may determine, for instance, the projected location of the autonomous vehicle <NUM> and/or picker <NUM> in the next four minutes.

The analytics server <NUM> may also approximately track the autonomous vehicle <NUM> based on receiving updates from the picker <NUM> and/or autonomous vehicle <NUM>. The analytics server <NUM> may monitor (or track) a picker's <NUM> activity and work progress to determine the projected location. For example, the analytics server <NUM> may receive notifications every time the picker <NUM> collects a product for an order. The analytics server <NUM> may determine the projected location of the picker <NUM> and/or autonomous vehicle <NUM> based on the work progress of the picker, and information about the products being picked (e.g., the pick location <NUM> of the last product picked by the picker <NUM>).

Additionally or alternatively, the analytics server <NUM> may receive a notification when the picker <NUM> identifies a delay in picking products for the order. For example, the picker may identify a delay if a product is unavailable at a bin <NUM> and/or the product is damaged. The delay may indicate a deviation from the path and/or the timing associated with completing the path (or the order). The analytics server <NUM> may consider the delay and/or the work progress in determining the projected location.

The analytics server <NUM> may distinguish pickers <NUM> from other pickers <NUM> and/or from autonomous vehicles <NUM> by associating identifiers with each picker <NUM> and/or each autonomous vehicle <NUM>. As a result, the analytics server <NUM> may receive and differentiate information from particular pickers <NUM> (or autonomous vehicles <NUM>). For example, the analytics server <NUM> may determine a current location of a particular picker <NUM> (or autonomous vehicle <NUM>) based on beacon signal data. Identifiers with each picker <NUM> may include, for example, numerical identifiers, colors, logos, and names.

When the picker <NUM> completes picking products associated with an order or request from the customer, the analytics server <NUM> may determine that the picker <NUM> should meet a subsequent autonomous vehicle <NUM> to perform tasks associated with a new pick list or a remaining portion of a pick list associated with the subsequent autonomous vehicle <NUM> such that the picker's <NUM> time spent walking to a take-off station (e.g., a station where autonomous vehicles <NUM> are docked, loaded with containers, and initially assigned pickers <NUM>) is minimized.

The analytics server <NUM> may route the picker <NUM> to a subsequent autonomous vehicle <NUM> and/or a particular meeting location (or rendezvous location). The analytics server <NUM> may compare a work progress of various autonomous vehicles <NUM>, locations of autonomous vehicle <NUM> with respect to the position of the picker <NUM> (e.g., determined via GPS and/or schedule of pickers <NUM> and autonomous vehicles <NUM>), and priority of orders to be picked associated with various autonomous vehicles <NUM>. When the analytics server <NUM> identifies a subsequent autonomous vehicle <NUM> to route the picker <NUM> to, the analytics server <NUM> may display the picker's identifier (e.g., defined individual color, defined shift and/or group color, defined logo, picker identifier, and the like) on the identified subsequent autonomous vehicle <NUM> (e.g., via electronic device <NUM> in <FIG>).

For example, a picker <NUM> finishing a pick list associated with a particular autonomous vehicle <NUM> may be instructed to meet a second picker <NUM> and a second autonomous vehicle <NUM> such that the second picker <NUM> may handoff the second autonomous vehicle <NUM> to the first picker <NUM>. In some configurations, the autonomous vehicle <NUM> may automatically navigate to the defined location.

A picker <NUM> may handoff the second autonomous vehicles <NUM> if the picker's <NUM> shift is ending or if the picker <NUM> is scheduled to go on a break. Additionally or alternatively, the analytics server <NUM> may compare a list of products to be collected by each picker <NUM> (and/or a work progress) to identify whether the analytics server <NUM> should provide instructions to route the picker <NUM> to the subsequent autonomous vehicle <NUM> and/or a particular location.

The analytics server <NUM> may instruct the picker <NUM> to travel to a particular location. The instructions may include a picker rendezvous location, a meeting (or rendezvous) time, a departure time (e.g., a departure time from a current location in the warehouse <NUM>), directional instructions, an identification of a subsequent autonomous vehicle <NUM> with subsequent pick lists to be picked by the picker <NUM>, and an identification of a different picker <NUM> to meet the picker <NUM> at the rendezvous location.

Additionally or alternatively, at a time before the picker <NUM> completes picking products associated with an order (e.g., when the picker has picked a penultimate product for the order), the analytics server <NUM> may route the picker <NUM> to a subsequent autonomous vehicle <NUM> and/or a particular location in the warehouse.

The analytics server <NUM> may route the picker <NUM> to a subsequent autonomous vehicle <NUM> and/or a particular location in the warehouse based on the picker's <NUM> work progress or current (or projected) location in the warehouse <NUM>. For example, the analytics server <NUM> may determine that an order is languishing on an autonomous vehicle <NUM> associated with a particular picker. That is, the analytics server <NUM> may determine that the picker <NUM> is not maintaining a certain pick rate based on the picker's <NUM> work progress. The pick rate may be an indication of the time that a picker <NUM> is spending in a warehouse <NUM>. A high pick rate may indicate that the picker <NUM>is optimizing their time in the warehouse <NUM> by minimizing the time spent navigating to particular bin locations <NUM> in the warehouse <NUM> and/or other autonomous vehicles <NUM>. Accordingly, before the off-track picker <NUM> continues picking products associated with the order, the analytics server <NUM> may route a different picker <NUM> to the autonomous vehicle <NUM> in an attempt to maximize both pickers' <NUM> pick rates. Additionally or alternatively, the analytics server <NUM> may handoff the container associated with the order to a different autonomous vehicle <NUM>.

The analytics server <NUM> may also reassign a picker <NUM> to a rendezvous location and/or a subsequent autonomous vehicle <NUM> even if the picker <NUM> has not completed picking the products associated with the order. For example, if a first autonomous vehicle <NUM> is instructed to go to a pick location <NUM> at an opposite end of warehouse <NUM> for additional picks, the analytics server <NUM> may reassign picker <NUM> associated with the first autonomous vehicle <NUM> to a second autonomous vehicle <NUM> that is nearby such that the picker <NUM> can continue picking with the second autonomous vehicle <NUM> instead or traveling with the first autonomous vehicle <NUM> to the pick location <NUM> at the opposite end of the warehouse <NUM>.

Additionally or alternatively, the analytics server <NUM> may assign the picker <NUM> to another autonomous vehicle <NUM> that is located at a take-off station (e.g., a new autonomous vehicle <NUM> that has not been assigned a picker <NUM>). The analytics server <NUM> balances the route navigating the picker <NUM> and corresponding autonomous vehicle <NUM>, such that picker <NUM> is not always assigned to autonomous vehicles <NUM> having a new pick list, thereby increasing overall efficiency. For example, the analytics server <NUM> may determine whether the picker <NUM> is assigned to an autonomous vehicle <NUM> already in use (e.g., not docked at the take-off station) or assign another autonomous vehicle <NUM> with a new pick list to the picker <NUM> based on the pick lists of active (e.g., not docked autonomous vehicles <NUM>), projected locations, travel times, deviated distances, and the like.

In the event the picker <NUM> starts picking products for an autonomous vehicle <NUM> that was not assigned to the picker <NUM> (e.g., the picker <NUM> selects a autonomous vehicle <NUM> at a take-off station not assigned to the picker <NUM>), the analytics server <NUM> may dynamically revise routes associated with other autonomous vehicles <NUM> and pickers <NUM>, rendezvous locations, rendezvous times, departure times, and the like, such that the picker <NUM> can continue picking products associated with the autonomous vehicle <NUM> even though the picker <NUM> selected a different autonomous vehicle <NUM> from the autonomous vehicle that the analytics server <NUM> identified.

In some configurations, depending on the capacity (or the expected capacity and/or fill volume) of containers of each of the autonomous vehicle <NUM>, the analytics server <NUM> may not revise the routes associated with other autonomous vehicles <NUM> but instead update the pick list associated with orders on the other autonomous vehicles <NUM> (and the autonomous vehicle <NUM> the picker <NUM> selected in error). The analytics server <NUM> may update the pick list (or pickers <NUM> assigned to autonomous vehicles <NUM>) of each of the autonomous vehicles <NUM> to optimize a particular picker's <NUM> pick rate and/or maximize a number of pickers' <NUM> pick rate. For example, the analytics server <NUM> may update the pick list such that a picker <NUM> picks products of various orders stored at the same pick location <NUM> in the warehouse.

<FIG> illustrates a diagram of a path <NUM> through a warehouse <NUM> with various pick locations <NUM>. The path <NUM> can include or correspond to an original or initial path generated based on the locations <NUM> (e.g., pick locations 113a-<NUM>) of products in warehouse <NUM>. The path <NUM> can provide a route through the warehouse <NUM> for an autonomous vehicle <NUM> and picker <NUM> to follow to select or retrieve products <NUM>-<NUM> associated with one or more orders. The path <NUM> corresponds to a minimal or smallest total distance for the autonomous vehicle <NUM> to travel through the warehouse <NUM> to select and/or retrieve the products for one or more orders from the different pick locations <NUM> within the warehouse <NUM>.

The autonomous vehicle <NUM> can execute the instructions to collect the products in a determined order. The determined order of products to be picked is a sequential order based in part on a position on the path <NUM>, a current location <NUM> in the warehouse <NUM>, and/or a location of a product at a pick location <NUM>.

For example, the autonomous vehicle <NUM> can execute instructions for a first location 113f for a first product <NUM> and wait to execute instructions for a second location 113b for a second product <NUM> until the autonomous vehicle <NUM> receives an indication that the first product <NUM> has been picked. Additionally or alternatively, the autonomous vehicle <NUM> may receive an indication that the first product <NUM> is unavailable and/or damaged.

The path <NUM> can include a take-off point <NUM> and an end point <NUM> with each of the pick locations <NUM> at different points along the path <NUM>. It should be appreciated that the path <NUM> can include a single location 113a or multiple locations <NUM> (e.g., pick locations 113a-<NUM>) with the number of pick locations <NUM> on path <NUM> determined based in part on a number of products <NUM>-<NUM> picked for one or more orders.

The autonomous vehicle <NUM> can execute the instructions and traverse the path <NUM> selecting and retrieving the corresponding products <NUM>-<NUM> from the respective locations <NUM>. For example, the picker 112a may pick product <NUM> from location 113f, pick product <NUM> from location 113b, and pick product <NUM> at location <NUM>.

Upon completing the pick tasks associated with the autonomous vehicle 106a (e.g., picking products <NUM>-<NUM>), the picker <NUM> may navigated to a rendezvous point be reunited with the autonomous vehicle 106a or to be assigned to a new autonomous vehicle. Alternatively, the analytics server <NUM> may transmit instructions navigating the picker <NUM> to a second autonomous vehicle (e.g., autonomous vehicle 106b or 106c depending on the routing criteria).

In some configurations, the analytics server <NUM> may navigate the picker <NUM> to the autonomous vehicle 106c because the autonomous vehicle 106c is closer than the autonomous vehicle 106b. In other configurations, the analytics server <NUM> may navigate the picker <NUM> to the autonomous vehicle 106b in response to a projected location of the autonomous vehicle autonomous vehicle 106b. For example, autonomous vehicle 106c may be traveling away from the picker <NUM> while autonomous vehicle 106b may be traveling toward the picker <NUM>. Accordingly, a projected location of a product to be picked with autonomous vehicle 106b may be closer (e.g., take less time for the picker to walk to) than a projected location of a product to be picked with autonomous vehicle 106c.

The analytics server <NUM> can transmit instructions for the picker's path to the new autonomous vehicle (e.g., autonomous vehicle 106b or 106c depending on the routing criteria). In some embodiments, the autonomous vehicle <NUM> can dynamically update, using the instructions, the display of the picker's path. Alternatively, the electronic device (attached or detached from the autonomous vehicle or a wearable device) can dynamically update, using the instructions, the display of the picker's path.

A worker (e.g., picker) may pick products from bins or shelves at particular locations in a warehouse or other storage facility and load the picked products on an autonomous vehicle. The autonomous vehicle may navigate to one or more rendezvous locations, and when necessary, the autonomous vehicle may navigate to one or more packing (also called pick routes) stations such that the products on the autonomous vehicle may be unloaded and packed for shipping. In some configurations, when picking using a detachable/handheld device, the picker may also navigate to the packing station.

The autonomous vehicle may also navigate (e.g., be instructed by a server to navigate) to one or more healing stations such that containers containing orders with shorted products may be removed from the autonomous vehicle and the containers (and associated orders) may be integrated into pick routes of other autonomous vehicles. In some configurations, the picker may also accompany the autonomous vehicle to the healing station. The healing station may take alternative action to otherwise cure a shorted order.

The system can be configured for robotics to replace or assist the pickers. In some implementations, a robotic autonomous vehicle may move autonomously throughout the warehouse or storage facility. When moving autonomously, the autonomous vehicle can move alongside a picker or independently of a picker to locations in the warehouse. In other implementations, the robotic autonomous vehicle can pick products from bins or shelves and load the picked products onto the autonomous vehicle. The robotic autonomous vehicle may also place products from the autonomous vehicle onto bins or shelves.

As shown in <FIG>, autonomous vehicles <NUM> are located in the warehouse <NUM> and controlled by the analytics server <NUM> via communications link <NUM>. Pickers <NUM> may work alongside the autonomous vehicles <NUM> to perform operations (e.g., pick products from bins <NUM> in the warehouse <NUM> and place those products in the autonomous vehicle <NUM>, replenish bins <NUM> in the warehouse by stocking products on the bins using the products in an autonomous vehicle <NUM>, and remove products from the autonomous vehicle <NUM> such that the products may be unloaded and packaged for shipping). In the example used herein, the autonomous vehicle is robotic and has autonomous operation based on instructions communicated from the analytics server <NUM>. In some embodiments, the autonomous vehicle <NUM> may be manually operated by a picker <NUM>, who may push, pull, drive, or otherwise move the autonomous vehicle <NUM> around the warehouse <NUM>. For example, the autonomous vehicle <NUM> may have a shopping cart configuration. A manually operated autonomous vehicle <NUM> may still use other components for communicating with the analytics server <NUM> and the picker <NUM>, such as a screen for communicating information to the picker <NUM> from the analytics server <NUM>.

<FIG> shows an autonomous vehicle <NUM>, according to an embodiment. The autonomous vehicle <NUM> has wheels <NUM>, electronic device <NUM>, speaker <NUM>, and two shelves <NUM>, <NUM>. In some instances, weighing scales (not shown) may be incorporated into the shelves <NUM>, <NUM>. For instance, the shelves may include pressure plates. The autonomous vehicle <NUM>, through notifications displayed on electronic device <NUM> and/or audio instructions provided via speaker <NUM> (which may be a component of the electronic device <NUM>), may notify a worker of the total weight of products on the shelves <NUM>, <NUM> (e.g., the weight of the products on each shelf <NUM> and <NUM> respectively, the weight of combined shelves <NUM>, <NUM>). One or more containers (as described in <FIG>) can be, and sometimes are, transported on each of the shelves <NUM>, <NUM> of the autonomous vehicle <NUM>. The scales may have a tare feature such that the weight of containers on the scales can be zeroed. Eliminating the weight of the container on the scale allows the analytics server to determine the weight of the products in the container.

While a two-shelf autonomous vehicle embodiment is shown, multiple autonomous vehicle configurations are possible, with some autonomous vehicles being implemented using a single shelf while other autonomous vehicles have two or more shelves. Each of the containers on the autonomous vehicle may have several levels (layers, zones) for storing and transporting the picked products.

The autonomous vehicle <NUM> may be configured to determine product dimensions. For instance, a weighing autonomous vehicle may utilize shelves <NUM>, <NUM> with scales to weigh the products. Additionally or alternatively, a measuring autonomous vehicle may carry one or more measuring devices (e.g., augmented reality measurement tools, rulers, measuring tape) and/or be configured with an imaging system such that the processor (<NUM> in <FIG>) on the autonomous vehicle may determine the size of the product (e.g., depth, width, height). For example, the processor may perform object recognition to measure the product such that the imaging processing may recognize a product and even distinguish it from a hand of a picker. In some instances, the processor may support object recognition capabilities and/or be capable of executing the imaging system. The processor may determine the dimensions of the product and communicate the product dimensions to the analytics server (<NUM> in <FIG>). Additionally or alternatively, the analytics server may receive image data (raw data, compressed data) from the imaging system and perform object recognition to determine the dimensions of the products placed on the autonomous vehicle <NUM>. The autonomous vehicle <NUM> may be configured for both weighing products and measuring the sizes of products.

The autonomous vehicle <NUM>, through visual instructions displayed on electronic device <NUM> and/or audio instructions provided via speaker <NUM>, may transmit an instruction to place one or more products on an inspection station. For example, a picker assigned to an autonomous vehicle <NUM> may receive instructions from the autonomous vehicle <NUM> to pick a product to be inspected on route to a location (e.g., such as an inspection station, a subsequent product location, etc.) Additionally or alternatively, an administrator (using a management console, for instance), may trigger an inspection. That is, a management console or other administrative device may transmit an instruction (via electronic device <NUM>, speaker <NUM>, and/or wearable devices worn by the picker) to place one or more products on an inspection station, place one or more products on an autonomous vehicle <NUM> on route to a location, and the like.

In <FIG>, the electronic device <NUM> is shown attached to the autonomous vehicle <NUM>. In some configuration, the autonomous vehicle <NUM> may include multiple electronic devices. For instance, the autonomous vehicle may include the electronic device <NUM> that is connected and another electronic device (not shown) that is detachable. Therefore, the autonomous vehicle <NUM> may be in communication with multiple electronic devices, some of which may be detachable.

The electronic device <NUM> may be removable from the autonomous vehicle <NUM> and reattached. When detached, the electronic device <NUM> may operate as a handheld device, such as a mobile phone or tablet computer. The autonomous vehicle may utilize a docking station (or cradle) to support the electronic device <NUM>. The docking station may couple to a port of the electronic device <NUM> to provide power and/or communications. When the electronic device <NUM> is detached from the autonomous vehicle <NUM>, the electronic device <NUM> may utilize battery power and wireless communication with the autonomous vehicle <NUM> and/or server. Responsive to the electronic device <NUM> being removed from the autonomous vehicle <NUM> (e.g., undocking and/or unplugging), a status of the electronic device <NUM> changes to a "detached" status. The autonomous vehicle <NUM> may also change a status for "detached" when there is no electronic device attached. The server may receive a notification from the autonomous vehicle <NUM> or the electronic device that the electronic device <NUM> was detached.

Referring now to <FIG>, an electronic device 211a is shown, in accordance to an embodiment. The electronic device 211a may be any computing device comprising a processor, a non-transitory machine-readable storage medium capable of performing the various tasks and processes described herein, and a display configured to output various prompts and notifications discussed herein. The processor of the electronic device 211a may be in communication with a processor of one or more autonomous vehicles, such as the autonomous vehicle <NUM> using a wired or wireless communication protocol. For instance, the electronic device 211a may be physically connected to the autonomous vehicle <NUM> or may only wirelessly communicate with a processor of the autonomous vehicle <NUM>. The processor of the electronic device 211a may also be in communication with the analytics server. The processor of the electronic device may be configured to perform various steps of the methods discussed herein, such as any part of the method <NUM> described in <FIG>.

The electronic device 211a may be equipped with a location-tracking module where the location-tracking module is configured to transmit location information associated with the electronic device 211a to one or more autonomous vehicles and/or the analytics server. The electronic device 211a may also be equipped with a camera configured to capture images under the direction of a picker. For instance, the camera may be a barcode scanner that is configured to scan a barcode for a product.

In operation, a picker may communicate with the analytics server and/or an autonomous vehicle using an application executing on the electronic device 211a (e.g., a mobile device). The electronic device 211a may display instructions for the picker to leave the autonomous vehicle and collect a product. The electronic device 211a may also display an image and/or a location of the product for the picker. After collecting the product (or sometimes after depositing the product onto a bin of the autonomous vehicle), the picker may use the barcode scanner of the electronics device 211a to confirm its collection.

Referring back to <FIG>, the autonomous vehicle <NUM> may also act as the inspection station. Inspection stations may also include designated areas of the warehouse in which a product is weighed and/or measured. Additionally or alternatively, the autonomous vehicle <NUM>, through visual instructions displayed on electronic device <NUM> and/or audio instructions provided via speaker <NUM>, may transmit an instruction to measure one or more products using equipment in the warehouse (e.g., measuring tape, rulers, or scales).

<FIG> shows a block diagram of an autonomous vehicle routing system <NUM> that may be used in implementing the systems and methods described herein, according to an embodiment. The computing system <NUM> of an autonomous vehicle <NUM> may include a processor <NUM>, a controller <NUM>, a memory <NUM>, a communication device <NUM>, and a network interface <NUM>. The autonomous vehicle <NUM> may also include a motor <NUM>. Each of the components <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, and <NUM> may be interconnected, for example, using a system bus <NUM>. General-purpose computers, network appliances, mobile devices, or other electronic systems may also include at least portions of the computing system <NUM>.

The computing system <NUM> may receive and/or obtain information about a customer order (e.g., from the analytics server), including a list of products, the dimensions of the products, the weight of the products, characteristics of the products (a fragility score, a hazard score), the priority of the order relative to other orders, the target shipping date, the carrier pick up time, whether the order can be shipped incomplete (without all of the ordered items) and/or in multiple shipments, etc..

The controller <NUM> may be configured to send control signals to the motor <NUM> and/or other components of the autonomous vehicle <NUM> as described further herein. The motor <NUM> may be configured to convert electrical energy received from an electrical power source (e.g., battery, super capacitor, etc.) into rotations of the wheels (<NUM> in <FIG>). The motor <NUM> propels the autonomous vehicle <NUM> such that the autonomous vehicle <NUM> moves autonomously and does not require being pushed or pulled by a human or other force.

The memory <NUM> stores information within the computing system <NUM>. In some implementations, the memory <NUM> is a non-transitory computer-readable medium. In some implementations, the memory <NUM> is a non-volatile memory unit.

The memory <NUM> may store warehouse operation information. The warehouse operation information may include documented product dimensions, container capacity (e.g., weight limit, product count limit), shelf capacity (e.g., weight limit, product count limit), and bin capacity (e.g., weight limit, product count limit). The memory <NUM> may also store product information such as a product name, a product description, a product image, and product storage location.

The processor <NUM> is capable of processing instructions for execution within the computing system <NUM>. In some implementations, the processor <NUM> is a single-threaded processor. In some implementations, the processor <NUM> is a multi-threaded processor. The processor <NUM> is capable of processing instructions stored in the memory <NUM>.

The processor <NUM> in the autonomous vehicle <NUM> (and/or the analytics server <NUM> in <FIG>) controls the autonomous vehicle's <NUM> movement to/from one location (e.g., pick location) to the next location (e.g., unloading station, subsequent pick location). The processor <NUM> may be in communication with controller <NUM> and/or motor <NUM>. In the event the autonomous vehicle <NUM> becomes associated with a different worker (e.g., a worker at an unloading station or a second picker taking over picking for the first picker), the autonomous vehicle <NUM> may require the second worker to log in to the autonomous vehicle <NUM> (e.g., via the touch screen of electronic device <NUM> in <FIG>) prior to the autonomous vehicle <NUM> providing guidance as to the next operation performed by the second worker.

In some implementations, at least a portion of the approaches described herein may be realized by instructions that upon execution cause one or more processing devices to carry out the processes and functions described herein. Such instructions may include, for example, interpreted instructions such as script instructions, or executable code, or other instructions stored in a non-transitory computer readable medium.

The network interface <NUM> may be configured to receive and transmit messages and/or instructions. The network interface <NUM> may be a wireless network interface capable of receiving commands and information from the analytics server and sending information (e.g., product locations) to the analytics server via wireless signals.

The network interface <NUM> may be configured to process signals from the analytics server and/or other autonomous vehicles in the warehouse. The network interface <NUM> may be, for instance, an Ethernet card, a serial communication device, e.g., an RS-<NUM> port, and/or a wireless interface device, e.g., an <NUM> card, a <NUM> wireless modem, or a <NUM> wireless modem.

<FIG> shows the autonomous vehicle <NUM> configured with multiple containers <NUM>, according to an embodiment. The autonomous vehicle <NUM> may display on the screen of electronic device <NUM> instructions for a picker <NUM>. The instructions may instruct the picker <NUM> to travel to locations in the warehouse, search for particular bins at a particular location for particular products, and place products in the containers <NUM> or remove products from the containers <NUM> (e.g., unload at a particular bin/shelf). The picker <NUM> may place (or remove) the product in a particular container <NUM> based on lights <NUM>, <NUM> indicating the particular container. That is, the lights <NUM>, <NUM> may illuminate, directing the picker <NUM> to place (or remove) the product in the indicated container <NUM>. Additionally or alternatively, the electronic device <NUM> may display instructions instructing the picker <NUM> which container <NUM> to place (or remove) the products.

Additionally or alternatively, one or more imaging systems (e.g., scanners) may operate in conjunction with (or replace) lights <NUM>, <NUM>. The imaging system may be used to measure the dimensions of products as the products enter the container. For example, object recognition may be performed to recognize a product and even distinguish it from a hand of a picker <NUM>. As discussed herein, the processor (<NUM> in <FIG>) may support object recognition capabilities and/or be capable of executing the imaging system. Additionally or alternatively, the analytics server (<NUM> in <FIG>) may receive image data (raw data, compressed data) from the imaging system and perform object recognition to determine the dimensions of the products entering the containers <NUM>. The imaging systems may confirm whether a product has been placed into the container. If the product is not placed into the container, the analytics server may determine that the product is shorted.

The display and/or speaker of electronic device <NUM> may instruct the picker <NUM> to place the product directly on the autonomous vehicle <NUM>. In such a scenario, the picker <NUM> may not load or operate the autonomous vehicle <NUM> with four containers <NUM>. Rather, the picker <NUM> may load the autonomous vehicle <NUM> with two containers <NUM>, for instance, and reserve space on the autonomous vehicle <NUM> for large or bulky products.

<FIG> shows steps of executing a method <NUM> for dynamically routing an autonomous vehicle, according to an embodiment and displaying the user interfaces (UIs) described herein. The method <NUM> is described as being implemented via an analytics server associated with a warehouse (or a store). In other embodiments, any processor associated with a warehouse can use the method <NUM> to display the UIs and/or to route one or more autonomous vehicles accordingly. For instance, instead of a central server, a processor of the autonomous vehicle or an electronic device (e.g., operated by a picker) may execute machine-readable software code to display the UIs described herein and/or route one or more autonomous vehicles.

Moreover, the method <NUM> may be implemented via more than a single processor or server. For instance, one or more steps may be performed by one server/processor and other steps may be performed by another processor/server. Some embodiments may include additional, fewer, or different operations than those described in the method <NUM> and shown in <FIG>. The various operations of the method <NUM> may be performed by one or more processors executing on any number of computing devices.

In step <NUM>, the analytics server may provide for display on an electronic device, information about a product, in response to detecting that the electronic device diverges from a path of an autonomous vehicle. The analytics server may continuously/periodically monitor the location of different autonomous vehicles and pickers to determine whether a picker has diverged or is diverging from their assigned autonomous vehicle. The analytics server may use a variety of location tracking protocols. For instance, each autonomous vehicle or any electronic devices operated by pickers may include a location aware module or sensor that uses location tracking technology (e.g., GPS, Bluetooth, or beacons) to transmit location information associated with the autonomous vehicle or the picker back to the analytics server.

The analytics server may use the monitored location information to identify that an electronic device associated with a picker diverges (has diverged, will diverge, or is diverging) from a path of the autonomous vehicle. Even though certain aspects of the embodiments described herein discuss these embodiments in the context of whether the picker "diverges" from the path, this term encompasses embodiments where the picker has already diverged, is going to diverge, or is diverging as well. For instance, the analytics server may determine that the picker is located away from the path (has diverged) or is moving away from the path (is diverging).

As used herein, electronic device refers to an electronic device operated by a picker. As described herein, the electronic device may be any electronic device in communication with the autonomous vehicle and/or the analytics server. The picker may use the electronic device to view data associated with the pick route and/or products to be collected. For instance, the picker may use the electronic device to identify a location of the product to be collected, information regarding the product, a status of the pick route (e.g., how many products have been collected and how many remaining products must be collected).

In an example, the electronic device may refer to a mobile device (e.g., mobile phone or tablet computer) having a processor that is in communication with the analytics server and/or the autonomous vehicle via various wired or wireless communication protocols. For instance, the electronic device may be attached (or otherwise connected) to the autonomous vehicle (e.g., electronic device <NUM> depicted in <FIG>). When attached, the electronic device may use various communication protocols to communicate with a processor of the autonomous vehicle and/or act as the processor of the autonomous vehicle.

In another example, the electronic device may refer to any electronic device that is in wireless communication with the autonomous vehicle and/or the analytics server. For instance, a mobile device operated by the picker may use a wireless protocol (e.g., Bluetooth) to communicate with the analytics server and/or the autonomous vehicle. The mobile device may execute an application that is in direct communication with the analytics server and/or a processor of the autonomous vehicle. As a result, the application can display the information discussed herein.

In another example, the electronic device may refer to an electronic device that may communicate with the autonomous vehicle and/or analytics server via both wired and wireless communication protocols. For instance, the electronic device can be attached to the autonomous vehicle (as depicted in <FIG>). When detached, the electronic device may use various wireless protocols to communicate with the analytics server and/or the autonomous vehicle. Using the above-described application, the electronic device may display the information described herein.

To determine whether the electronic device diverges from a path of the autonomous vehicle, the analytics server may use at least one of five different configurations. In a first configuration, the analytics server may analyze the pick route for the autonomous vehicle and identify areas that are closed to travel by the autonomous vehicle (e.g., impassable by the autonomous vehicle) using a layout of the building and previously designated areas closed to travel by the autonomous vehicle. For instance, the analytics server may analyze a pick route for an autonomous vehicle that includes <NUM> products to be collected and <NUM> corresponding locations. The analytics server may then compare the location of each product, with a layout of the building (e.g., warehouse or store) and determine one or more products that are within an area that has been designated as closed to travel by the autonomous vehicle (e.g., loft area within the warehouse).

Using the methods and systems described herein, the analytics server may continuously/periodically monitor location of the pickers and different autonomous vehicles within the warehouse. Also, the analytics server may monitor a progress associated with each picker. For instance, pickers may be required to use their electronic devices to confirm collecting the assigned products. Using the monitored location of autonomous vehicles and pickers and using a progress associated with each pick route, the analytics server can determine whether the autonomous vehicle has reached an area closed to travel by the autonomous vehicle or is within a defined distance/time threshold to a product that is located within an area closed to travel by the autonomous vehicle. For example, the analytics server analyzes a pick route and determines that product No. <NUM> is located in an area closed to travel by the autonomous vehicle. When the picker confirms collecting product No. <NUM>, the analytics server determines that the autonomous vehicle is approaching the area closed to travel by the autonomous vehicle. The analytics server may use the location of product No. <NUM> and a projected walking speed of the picker and/or the autonomous vehicle to determine when the autonomous vehicle is within a threshold distance to the area closed to travel by the autonomous vehicle.

In a second configuration, the analytics server may use one or more sensors associated with the autonomous vehicle to determine whether the autonomous vehicle is within (e.g., is moving towards) an area closed to travel by the autonomous vehicle. A non-limiting example of "impassable" or "closed to travel" may include areas in which maneuvering is difficult for the autonomous vehicle, such as carpeted areas. A sensor in communication with the autonomous vehicle and/or the analytics server may identify such areas and notify the analytics server that the autonomous vehicle is entering (or has entered) an area closed to travel by the autonomous vehicle. The analytics server may also determine whether the autonomous vehicle is moving towards or approaching the area closed to travel. Using the monitored location of the autonomous vehicle, the analytics server may determine whether the autonomous vehicle is moving towards an area that is closed off (e.g., moving towards and is within a defined proximity to the closed area).

In some configurations, the product may be located in an area that is closed to travel to the autonomous vehicle. Alternatively, the product may not be located within an area that is impassible or closed off to the autonomous vehicle. However, the autonomous vehicle's route towards the product may include an area that is impassible or closed to travel. As a result, the autonomous vehicle may use the methods and systems described herein to inform the picker to diverge from the autonomous vehicle and collect the product.

In a third configuration, the analytics server may receive an input from the autonomous vehicle or the electronic device that the picker would like to walk towards and collect the product without the autonomous vehicle. The picker may sometimes decide that an area closed to travel by the autonomous vehicle due to an unforeseen condition that may not be detectable to the analytics server (e.g., oil spill in an aisle). In another example, the picker may need additional assistance. For instance, the picker may use the electronic device to request an additional picker because the product is too large. The picker may use a user interface of the electronic device to instruct the autonomous vehicle to stop so that the picker can collect the next product. As will be described below, the analytics server will then instruct the autonomous vehicle to meet the picker at a designated rendezvous location. Upon reaching the area closed to travel by the autonomous vehicle, the picker may detach the electronic device from the autonomous vehicle to utilize as an interface while picking without the autonomous vehicle. Alternatively, an electronic device (e.g., mobile phone, wrist computer) communicates with an autonomous vehicle and/or the analytics server but does not attach or physically connect to the autonomous vehicle.

In a fourth configuration, the analytics server may determine whether the picker has detached the electronic device from the autonomous vehicle. The autonomous device may include one or more sensors that can identify whether the electronic device has been detached from the autonomous vehicle. Additionally or alternatively, the electronic device itself may include a sensor that transmits a notification to the analytics server when the electronic device has been detached from the autonomous vehicle. When the analytics server determines that the electronic device has been detached from the autonomous vehicle, the analytics server determines that the picker is diverging from the autonomous vehicle.

In a fifth configuration, the analytics server may determine whether the electronic device diverges from a path of the autonomous vehicle using location information of the electronic device and the autonomous device. As described above, the analytics server may monitor location of the electronic device, which is operated and associated with the picker (therefore identifies the location of the picker) and the autonomous vehicle. When the location of the electronic device is further away from a location of the autonomous vehicle and/or when the location of the electronic device indicates that it is deviating from the autonomous vehicle in a manner that satisfies a distance or rate threshold, the analytics server determines that the electronic device has diverged from the autonomous vehicle.

Upon identifying that the electronic device diverges from the autonomous vehicle, the analytics server may present data associated with a product to be collected on the electronic device. The analytics server may first determine (e.g., using a file that includes the pick route and the pick list) the product to be collected. The analytics server may then display the data needed for the picker to locate and collect the product. For instance, the analytics server may instruct the application executing on the electronic device to display an image of the product and/or identifying information associated with the product (e.g., <NUM>-<NUM> x <NUM>/<NUM>" Machine Screws / Phillips / Pan Head / <NUM>-<NUM> Stainless Steel / Black Oxide). The analytics server may also display location information associated with the product (e.g., bin number, isle number, or identification of other products near the product to be collected), name, or any other information associated with the product.

The analytics server may display location information associated with the product using an augmented reality (AR) protocol. For instance, the analytics server may display an AR overlay on images received via a camera of the electronic device where the overlay includes visual indicators (e.g., arrows) guiding the picker towards the product to be collected.

The analytics server may also provide one or more input elements allowing the picker to confirm collection of the product. For instance, the analytics may display an input element (e.g., radio button, text input, or a clickable button) which can be used to confirm that the product (located within the area closed to travel by the autonomous vehicle) has been collected. In some configuration, the analytics server may provide a visual matching application, such that the picker can use to submit an image of the collected product (captured via a camera of the electronic device). The analytics server may then determine whether the received image matches an image of the product and may confirm that the correct product has been collected by the picker. In another non-limiting example, the electronic device may include a visual input element (e.g., barcode scanner). The analytics server may match a barcode associated with the product to be collected with a barcode image received via the electronic device to confirm collection of the product.

In step <NUM>, the analytics server may determine a rendezvous location for the autonomous vehicle based on a location of the product. The rendezvous location represents an ideal location for the picker to rejoin the autonomous vehicle and deposit the products(s) collected within the area closed to travel by the autonomous vehicle.

The analytics server may identify the rendezvous location at any time. For instance, as discussed above, the analytics server may preplan and identify areas closed to travel by the autonomous vehicle within a pick route before the autonomous vehicle and/or the picker start the pick route or before the picker diverges from the autonomous vehicle. Therefore, the analytics server may pre-determine the rendezvous location.

In some configurations, the analytics server may determine the rendezvous location when the autonomous vehicle has reached an area closed to travel by the autonomous vehicle or when the picker confirms collecting the product. In this way, the analytics server may also consider traffic generated by other autonomous vehicles and other pick routes in progress, such that the rendezvous location is dynamically optimized and does not interfere with other pickers and/or autonomous vehicles.

As discussed above, the analytics server may monitor each picker's activity and work progress and may determine when a picker has completed task(s) within the area closed to travel by the autonomous vehicle. When the picker has completed the task(s), the analytics server may determine an optimized rendezvous location for the picker to continue operations using the autonomous vehicle. In some configurations, the rendezvous location may be the same location where the picker diverged from the autonomous vehicle. For instance, the rendezvous location may be the same location where the autonomous vehicle stopped before the picker detached the electronic device and walked towards the area closed to travel by the autonomous vehicle to collect the product. As a result, the analytics server may instruct the autonomous vehicle to not move and await the return of the picker.

In some configurations, it may be more efficient for the picker to meet the autonomous vehicle at a different location than where the picker left it. As a result, the analytics server may identify an ideal rendezvous location based on specific location of the products to be collected within the area closed to travel by the autonomous vehicle, location of the next product to be collected, location of the picker, projected walking time of the picker to the rendezvous location, traffic caused by other autonomous vehicles and their corresponding pick routes, and projected collection time to determine the optimized rendezvous location and to minimize the picker's walking time to the rendezvous location.

When identifying the rendezvous location, the analytics server may also consider attributes associated with the area closed to travel by the autonomous vehicle. For instance, certain areas closed to travel by the autonomous vehicle may have only one access point, such as an enclosed area with only one door or entryway. Other areas closed to travel by the autonomous vehicle may have multiple access points, such as an aisle within a warehouse. In another example, an area closed to travel by the autonomous vehicle may have multiple access points, such as an open area that is heavily congested with other autonomous vehicles or has flooring in which the autonomous vehicle cannot maneuver. The analytics server may compare a walking time (or distance) of the picker (after collecting the product) with possible access points for the area closed to travel by the autonomous vehicle. As a result, the analytics server may identify an optimal rendezvous location and/or an autonomous vehicle with respect to a particular picker's location. In another example, the analytics server may select an access point that is closest to the next product to be collected as the rendezvous location.

In some embodiments, a picker may be required to collect multiple products within multiple areas of an area closed to travel by the autonomous vehicle or multiple areas closed to travel by the autonomous vehicle (e.g., collect two products that are both located within an aisle that is closed to travel by the autonomous vehicle or collect two products that are located two different aisles both of which have been designated as closed to travel by the autonomous vehicle). The analytics server may consider projected time and location of the products when determining the rendezvous location. The analytics server may revise the workflow in accordance with the picker's required picks. For instance, the default workflow is to collect the item, deposit the item, and confirm collection. However, when the picker is collecting multiple product, the flow may be revised to collect the first product, collect the second product, deposit both products, and confirm both collections.

In some embodiments, the analytics server may determine that it is more efficient for the picker to meet a different autonomous vehicle at the rendezvous location. The analytics server may dynamically route and re-route pickers and autonomous vehicles to increase efficiency. For instance, the picker may diverge from an autonomous vehicle and walk towards a product. However, the analytics server may dynamically identify that the picker should meet another autonomous vehicle at a rendezvous location. As a result, the analytics server may reroute the first autonomous vehicle and assign it to a different picker. The analytics server then transmits a notification to the electronic device informing the picker that the picker has been assigned to a new autonomous vehicle. Using this dynamic (and sometimes in real time) rerouting method, the analytics server may increase efficiency such that pick routes and collection of items are optimized rather than a picker staying with the same autonomous vehicle. Moreover, the analytics server can reduce picker walking time and/or autonomous vehicle idle time (e.g., the time that the autonomous vehicle is unused while the picker is within the area closed to travel by the autonomous vehicle).

When identifying the rendezvous location, the analytics server may consider a weighted arrangement (or combination) of factors including: the route determined for autonomous vehicle (or other autonomous vehicles), the pick lists associated with the autonomous vehicle (or other autonomous vehicles), the pick list priority (e.g., based on customer priority, deadline priority, or perishable product priority), the picker's current location, autonomous vehicles' current location, picker's assignment to an autonomous vehicle (and the current route of the autonomous vehicle), picker's progress in completing their tasks, picker's projected location, autonomous vehicles' projected location, nearest autonomous vehicle to a picker in time based on the picker's walking speed, nearest autonomous vehicle in urgency, nearest autonomous vehicle in distance, battery level, orders already placed on an autonomous vehicle, priority pickers (e.g., based on skillset for example driving a forklift, or handling hazardous material), products to be picked that can be prioritized over other pickers and/or picking routes.

The analytics server may statistically or algorithmically determine weights for the factors based on, for example, minimizing the effect of re-routing any autonomous vehicle on high priority orders, minimizing the time of a picker picking products in the warehouse, minimizing the number of orders delayed (based on maximum time remaining and walking time), among others. Additionally or alternatively, a user (such as a supervisor) may input weights for each of the factors in the weighted arrangement.

In identifying the rendezvous location or selecting the optimal second autonomous vehicle from among the plurality of autonomous vehicles, the analytics server may consider the picker's walking time. The walking time may be based on a distance to a rendezvous location or other locations (e.g., a location of a subsequent pick for a product). For instance, the analytics server may convert the distance within the warehouse into time units based on the picker's walking pace. The picker's walking pace may be specific to that particular picker (obtained by the analytics server via metrics retrieved from wearable technology, historic picker order completion time information), or an average walking pace.

In embodiments where the analytics server identifies a second autonomous vehicle, the analytics server may identify the second autonomous vehicle based on comparing distances to rendezvous locations (or product locations in the warehouse) and associated walking times to each of the autonomous vehicles in the plurality of autonomous vehicles. The analytics server may also consider the second autonomous vehicle's outstanding tasks, such as pick tasks, unload tasks, or pack tasks.

The analytics server may also identify an autonomous vehicle from a plurality of autonomous vehicles active within the warehouse in response to identifying an autonomous vehicle with a higher priority pick list than a pick list associated with an autonomous vehicle currently assigned to a picker. A pick list may be of higher priority if the products in the pick list are perishable. Additionally or alternatively, a pick list may be of higher priority if the order associated with the products is approaching a deadline.

For example, the analytics server may compute a maximum time remaining (the time remaining to complete the order before a deadline) for each order on an autonomous vehicle based on a current time. The analytics server may determine that an order is completed (fulfilled) based on picking each of the products identified in the order. Additionally or alternatively, the maximum time remaining may include the time to pick and/or pack the order (e.g., prepare the order for shipment by unloading the products from the autonomous vehicle and packing the products for shipment). The maximum remaining time for the order may also depend on a shipment by time (e.g., a time that the order may be packed and ready to be shipped such that the order arrives to the customer by the promised time). Additionally or alternatively, the maximum remaining time for the order may depend on a carrier cut-off time (e.g., each carrier may set a timing deadline based on the last time of the day the carrier will be at the warehouse).

In identifying the rendezvous location and/or the second autonomous vehicle, the analytics server may also consider subsequent picks in a pick list. For example, the analytics server may determine that a subsequent pick associated with an autonomous vehicle is not optimal for the picker. The subsequent pick may not be optimal for the picker if the subsequent pick is located far away. For example, the analytics server may determine that the subsequent pick is far away based on a walking time. Additionally or alternatively, the subsequent pick may not be optimal for the picker if the subsequent pick is too heavy for the picker. For example, the analytics server may compare the product weight to one or more picker attributes. Picker attributes may include a weight limit associated with each particular picker. Additionally or alternatively, the subsequent pick may not be optimal for the picker if the subsequent pick requires special handling. For example, the analytics server may compare a product attribute to a picker attribute. Product attributes may include hazard attributes, fragile attributes, or special handling attributes (e.g., forklift). Picker attributes may include picker skills such as operating a forklift and/or being certified to picker hazardous and/or fragile products.

In step <NUM>, the analytics server may instruct the autonomous vehicle to navigate to the rendezvous location. Upon identifying the rendezvous location and detecting that the electronic device has been detached from the autonomous vehicle, the analytics server may navigate the autonomous vehicle to the rendezvous location. The instruction may cause the autonomous vehicle to start navigating to the rendezvous immediately or based on a time delay calculated by the analytics server. For instance, in some embodiments, the instructions may be transmitted to the autonomous vehicle and the autonomous vehicle may immediately start navigating to the rendezvous location. In some other embodiments, the instruction may include a time threshold (e.g., <NUM> minutes), such that the autonomous vehicle navigates to the rendezvous after the time threshold has been satisfied.

Additionally or alternatively, the instruction may include a secondary threshold, such that the autonomous vehicle navigates to the rendezvous location when the secondary threshold has been satisfied. For instance, the analytics server may instruct the autonomous vehicle to start navigating to the rendezvous location when the picker's location is within a threshold distance to the rendezvous location. For instance, the autonomous vehicle may not start navigating towards the rendezvous location unless the picker has started moving towards the rendezvous location with the electronic device and is within a time and/or distance thresholds (e.g., <NUM> minute or <NUM> feet) of the rendezvous location.

Additionally or alternatively, the analytics server may instruct the autonomous vehicle to navigate to the rendezvous location based on a status of the electronic device. The analytics server and/or the autonomous vehicle may monitor a status of the electronic device and determine whether the electronic device is attached or detached from the autonomous vehicle. As a result, the analytics server either transmits the instruction to the autonomous vehicle upon receiving an indication that the picker has detached the electronic device or transmits the instruction along with a secondary threshold, such that the autonomous vehicle does not move towards the rendezvous location until the autonomous vehicle determines that the electronic device has been detached.

The analytics server may also cause the autonomous vehicle to display a graphical indicator associated with the picker, such as the picker's name, photo, avatar, a number (associated with the picker or the pick route), and the like, to prevent other pickers from accidentally using the autonomous vehicle. The graphical indicator may also be a notification to the picker associated with the autonomous vehicle that the autonomous vehicle is being re-routed. The graphical indicator may also display the rendezvous location. For example, the graphical indicator may indicate an aisle, bin number, or general direction. The graphical indicator may also display a map of the warehouse and present a high-level path through the aisles of the warehouse to navigate the picker to the subsequent location in the warehouse.

Additionally or alternatively, the analytics server may cause the autonomous vehicle to display a colored light indicating whether the autonomous vehicle is already assigned to a picker and/or a pick route (e.g., green light indicating a "free" autonomous vehicle and a red light indicating that the autonomous vehicle is "is use.

In the embodiments where the analytics server selects a secondary autonomous vehicle to navigate to the rendezvous location, the analytics server may re-route both the first and secondary autonomous vehicles (and/or the first and/or second pickers) to the rendezvous location (or other location). That is, the analytics server may transmit instructions to both autonomous vehicles to meet at different rendezvous locations. In embodiments where two autonomous vehicles are assigned to the same rendezvous location (e.g., when the product is too heavy and the picker has requested help), the secondary autonomous vehicle is also instructed to navigate to the rendezvous location and display a graphical indicator associated with the product and/or the picker.

Using the indicator, the analytics server ensures that pickers use the autonomous vehicle that has been assigned to them. However, in the event that a picker starts using an autonomous vehicle that has not been assigned to that picker, the analytics server may dynamically re-route the autonomous vehicle and update its pick route to match the picker. For instance, a picker may diverge from autonomous vehicle number <NUM> and walk towards a product within an area closed to travel by the autonomous vehicle. Upon reaching the rendezvous location, the picker may erroneously attach their electronic device to autonomous vehicle number <NUM> (instead of autonomous vehicle number <NUM>). As a result, the analytics server may dynamically update the pick route for autonomous vehicle number <NUM> to match the pick route for autonomous vehicle number <NUM> and vice versa. The analytics server may also notify the picker assigned to the autonomous vehicle number <NUM> and instruct that picker to meet autonomous vehicle number <NUM> at the rendezvous location. In this way, the analytics server reduces inefficiencies, such that both pickers can continue collecting products.

In step <NUM>, the analytics server may transmit the rendezvous location to the electronic device to route the picker. The analytics server may transmit an electronic notification to the electronic device displaying the rendezvous location and, if being assigned to a new autonomous vehicle, an identifier of the new autonomous vehicle. For instance, the electronic device may display real time directions that can navigate the picker to the rendezvous location. In another example, the system may display the directions and/or rendezvous location(s) using digital displays within the warehouse.

The directional information may be displayed on a display (e.g., electronic device <NUM> in <FIG>, a display on a wearable device or mobile device operated by the picker, or a display in the warehouse). The directional information may provide information regarding the route (or reroute) from the perspective of the picker traveling to the rendezvous location. For example, the directional information may include sequential directions navigating the picker to the rendezvous location. These directions may be updated in real time based on the picker's real time movement and change of location.

In the embodiments, where the routing of the autonomous vehicle is analyzed before the autonomous vehicle reaches an area that is closed off (or otherwise impassible), the analytics server may display the notification on a display of the autonomous vehicle (e.g., electronic device before it is detached) before the picker diverges from the autonomous vehicle. For instance, the electronic device (while attached to the autonomous vehicle) may display "please detach this device and walk to aisle No. <NUM>, collect product XYZ, and walk to aisle No. <NUM> and meet the same autonomous vehicle.

The autonomous vehicle may continue the pick route when the analytics server (or a processor of the autonomous vehicle) receives an indication that the picker has rejoined the autonomous vehicle at the rendezvous location. For instance, when the analytics server receives an indication that the picker has re-attached the electronic device to the autonomous vehicle at the rendezvous location, the analytics server may instruct the autonomous vehicle to navigate towards the next product within the pick list. In another example, the picker may confirm that the picker has deposited the product (collected in the area closed to travel by the autonomous vehicle) and is ready to move and collect the next product within the pick list using the UI provided on the electronic device.

<FIG> illustrates a diagram of a path <NUM> of an autonomous vehicle 406a and a picker <NUM> through a warehouse <NUM> with various pick locations 404a-l (collectively pick location <NUM>) to select or retrieve products <NUM>-<NUM> associated with one or more orders. The autonomous vehicle 406a can execute the instructions to collect the products in a determined order. Features shown in <FIG> do not deviate from the features depicted and concepts described in <FIG>. Therefore, some of the description will not be repeated.

When the analytics server determines that the autonomous vehicle 406a (at location <NUM>) is located within a distance threshold away from product <NUM>, the analytics server determines that product <NUM> is within an area closed to travel by the autonomous vehicle because autonomous vehicles 406b, 406c have created traffic congestion within the path <NUM> (e.g., closed off to the autonomous vehicle 406a). At location <NUM>, the analytics server may display a prompt on a picker's electronic device <NUM> (e.g., detachable display of the autonomous vehicle 406a or any other electronic device operated by the picker <NUM>). The prompt notifies the picker <NUM> to detach the device <NUM> from the autonomous vehicle 406a and walk to collect the product <NUM> independently of the autonomous vehicle 406a. The server may provide instructions to the electronic device <NUM> that may include a location of the product, an identifier of the product, an image of the product, and/or a size reference of the product. Additionally or alternatively, the analytics server may display, on the electronic device <NUM>, a second path (other than the path <NUM>) for the picker <NUM> to reach the product <NUM>.

In another example, the picker <NUM> may survey the area and determine that the autonomous vehicles 406b and 406c have created a traffic congestion that impedes the autonomous vehicle 406a from navigating freely. As a result, the picker <NUM> may then use the electronic device <NUM> to instruct the autonomous vehicle 406a that the picker <NUM> would like to collect the product <NUM> on their own and further to meet the picker <NUM> at another location (e.g., rendezvous location <NUM>). As a result, the autonomous vehicle 406a may dynamically revise its route based on the input received from the picker <NUM>.

After determining that the picker <NUM> has diverged from the autonomous vehicle 406a (e.g., when the analytics server determines that the picker <NUM> is walking towards the product <NUM> or when a processor of the electronic device <NUM> or the autonomous vehicle 406a notifies the analytics server that the electronic device <NUM> has been detached from the autonomous vehicle 406a), the analytics server may instruct the autonomous vehicle 406a to navigate along a path <NUM> to the rendezvous location <NUM>. Upon the picker <NUM> confirming that the picker <NUM> has collected the product <NUM>, the analytics server may display navigational instructions on the electronic device <NUM> and guide the picker <NUM> towards the rendezvous location <NUM>.

When the analytics server determines that the electronic device <NUM> has been re-attached to the autonomous vehicle 406a at the rendezvous location <NUM>, the analytics server may instruct the autonomous vehicle 406a to continue with the path <NUM>. As described herein, the electronic device <NUM> may be a secondary device in communication with the autonomous vehicle 406a. Therefore, the electronic device <NUM> does not always have to be re-attached to the autonomous vehicle 406a. The electronic device <NUM> may also be re-associated with the autonomous vehicle 406a (e.g., back within a defined proximity to the autonomous vehicle 406a).

Alternatively, the analytics server may instruct the autonomous vehicle 406a to continue along the path <NUM>, as originally planned. For instance, as the autonomous vehicles 406b and 406c move along their respective paths (not shown), the area may no longer be impassable or closed to travel by the autonomous vehicle 406a. As a result, the analytics server may instruct the autonomous vehicle 406a to rejoin the path <NUM>.

In another example, the analytics server may instruct the autonomous vehicle 406a to stop at the location <NUM> and may further instruct the picker <NUM> to return to the location <NUM> (instead of the rendezvous location <NUM>) and deposit the product <NUM>.

In another example, the analytics server may instruct the autonomous vehicle 406d to navigate towards the rendezvous location <NUM>. The analytics server may then instruct the picker <NUM> to walk towards the rendezvous location <NUM> and deposit the product <NUM> onto the autonomous vehicle 406d (instead of the autonomous vehicle 406a). Moreover, the analytics server may dynamically reroute the autonomous vehicle 406a to be assigned to another picker.

In another example, the picker <NUM> may deny collecting the product <NUM> because product <NUM> is too heavy. The picker <NUM> may use an interface of the electronic device <NUM> to request additional help. As a result, the analytics server may instruct the autonomous vehicles 406a and 406d to navigate to the rendezvous location <NUM>. The analytics server may also instruct the picker assigned to the autonomous vehicle 406d to meet the picker <NUM> at the location of the product <NUM>. When the pickers confirm collecting the product <NUM>, the analytics server instructs them to deposit the product <NUM> onto the autonomous vehicle 406a waiting for them at the rendezvous location <NUM>.

In an embodiment, a method comprises in response to detecting that an electronic device diverges from a path of the autonomous vehicle, providing, by a processor, for display on the electronic device, information about the product; determining, by the processor, a rendezvous location for the autonomous vehicle based on a location of the product; instructing, by the processor, the autonomous vehicle to navigate to the rendezvous location; and transmitting, by the processor, the rendezvous location to the electronic device.

Detecting that the electronic device diverges from the path of the autonomous vehicle may comprise determining, by the processor, that at least one of the location of the product is in an area closed to travel by the autonomous vehicle or the autonomous vehicle is approaching the area closed to travel by the autonomous vehicle.

Determining the location of the product is at the area closed to travel by the autonomous vehicle may comprise identifying, by the processor, the area closed to travel by the autonomous vehicle in response to obtaining a previous product.

Determining the rendezvous location may comprise selecting, by the processor, an access point from amongst a plurality of access points to the area closed to travel by the autonomous vehicle based on proximity to the location of the product.

Determining the rendezvous location further may comprise selecting, by the processor, an access point from amongst a plurality of access points to the area closed to travel by the autonomous vehicle based on proximity to a subsequent product to be obtained by the autonomous vehicle.

The autonomous vehicle may be a first autonomous vehicle and wherein the area closed to travel by the first autonomous vehicle due to a presence of a second autonomous vehicle in the area closed to travel.

Detecting that the electronic device diverges from the path of the autonomous vehicle may comprise determining, by the processor, that the electronic device is located at a distance away from the autonomous vehicle that satisfies a distance threshold.

Detecting that the electronic device diverges from the path of the autonomous vehicle may comprise providing, by the processor, for display on the electronic device an instruction to leave the path of the autonomous vehicle.

The method may further comprise determining, by the processor, that the electronic device is detached from the autonomous vehicle.

The method may further comprise providing, by the processor, for display on the electronic device, instructions for obtaining a product on a second path diverging from the path.

The method may further comprise transmitting, by the processor to the electronic device, walking directions to the rendezvous location.

The autonomous vehicle may be a first autonomous vehicle, the method may further comprise in response to receiving a notification from the electronic device that the product was not obtained at the location of the product, instructing, by the processor, a second autonomous vehicle to navigate proximate to the location of the product.

The information about the product may comprise at least one of the location of the product, an identifier of the product, an image of the product, or a size reference of the product.

In another embodiment, a system may comprise an autonomous vehicle, an electronic device in communication with the autonomous vehicle, a server in communication with the autonomous vehicle and the electronic device, the server configured to: in response to detecting that the electronic device diverges from a path of the autonomous vehicle, provide, for display on the electronic device, information about the product; determine a rendezvous location for the autonomous vehicle based on a location of the product; instruct the autonomous vehicle to navigate to the rendezvous location; and transmit the rendezvous location to the electronic device.

Detecting that the electronic device diverges from the path of the autonomous vehicle may comprise at least one of determining that the location of the product is in an area closed to travel by the autonomous vehicle, determining that the electronic device is located at a distance away from the autonomous vehicle that satisfies a distance threshold, or determining that the electronic device detached from the autonomous vehicle.

The server may be further configured to identify that the area closed to travel by the autonomous vehicle in response to obtaining a previous product.

The server may be further configured to select an access point from amongst a plurality of access points to the area closed to travel by the autonomous vehicle based on proximity to the location of the product.

The server may be further configured to select an access point from amongst a plurality of access points to the area closed to travel by the autonomous vehicle based on proximity to a subsequent product to be obtained by the autonomous vehicle.

The server may be further configured to provide for display on the electronic device instructions for obtaining a product on a second path diverging from the path.

In another embodiment, a method comprises transmitting, by a processor of an autonomous vehicle to a server, a location of the autonomous vehicle on a path; providing, by the processor, for display on an electronic device attached to the autonomous vehicle, an instruction for obtaining a product on a second path diverging from the path; navigating, by the processor, the autonomous vehicle to a rendezvous location; and identifying, by the processor, that the electronic device has re-attached to the autonomous vehicle.

The processor may navigate the autonomous vehicle to the rendezvous location in response to the electronic device being detached from the autonomous vehicle.

The foregoing method descriptions and the process flow diagrams are provided merely as illustrative examples and are not intended to require or imply that the operations of the various embodiments must be performed in the order presented. The operations in the foregoing embodiments may be performed in any order. Words such as "then," "next," etc. are not intended to limit the order of the operations; these words are simply used to guide the reader through the description of the methods. Although process flow diagrams may describe the operations as a sequential process, many of the operations can be performed in parallel or concurrently. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, and the like. When a process corresponds to a function, the process termination may correspond to a return of the function to a calling function or a main function.

The various illustrative logical blocks, modules, circuits, and algorithm operations described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of this disclosure or the claims.

Embodiments implemented in computer software may be implemented in software, firmware, middleware, microcode, hardware description languages, or any combination thereof. A code segment or machine-executable instructions may represent a procedure, a function, a subprogram, a program, a routine, a subroutine, a module, a software package, a class, or any combination of instructions, data structures, or program statements. A code segment may be coupled to another code segment or a hardware circuit by passing and/or receiving information, data, arguments, parameters, or memory contents. Information, arguments, parameters, data, etc. may be passed, forwarded, or transmitted via any suitable means including memory sharing, message passing, token passing, network transmission, etc..

The actual software code or specialized control hardware used to implement these systems and methods is not limiting of the claimed features or this disclosure. Thus, the operation and behavior of the systems and methods were described without reference to the specific software code being understood that software and control hardware can be designed to implement the systems and methods based on the description herein.

Claim 1:
A method to dynamically revise and reconfigure autonomous vehicle routes comprising:
in response (<NUM>) to detecting that an electronic device associated with a user (112a, <NUM>), the user being a picker of a product diverges from a path of an autonomous vehicle (106a, <NUM>), providing, by a processor, for display on the electronic device, information about the product;
determining (<NUM>) , by the processor, a rendezvous location (<NUM>) for the autonomous vehicle (106a, <NUM>) to meet the picker of the product based on a current location of the electronic device relative to a location (<NUM> a, <NUM>) of the product;
instructing (<NUM>), by the processor, the autonomous vehicle (106a, <NUM>) to navigate to the rendezvous location; and
transmitting (<NUM>), by the processor, the rendezvous location to the electronic device (211a).