Systems and methods for facilitating inventory management
Through the inventory management unit and infrastructure marshalling system, the package storage location and delivery route are automatically determined, which solves the problem of degradation of delivery efficiency when human resources are wasted and connections are lost during package loading and unloading in the delivery vehicle, achieving high efficiency parcel delivery.
Patent Information
- Application Number
- CN202411079950.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-08-17
- Filing Date
- 2024-08-07
- Publication Date
- 2025-02-21
AI Technical Summary
The prior art has problems of degradation of delivery efficiency when human resources are wasted and connections are lost during package loading and unloading in delivery vehicles.
A system is designed to communicate with the delivery vehicle through an inventory management unit and infrastructure marshalling system, automatically determine the optimal storage location and delivery route for the package in the vehicle, and ensure efficient parcel delivery when the vehicle processor takes over.
It realizes efficient delivery of packages when the vehicle and the centralized inventory management server are lost, reducing manual participation and resource waste, and improving delivery efficiency.
Smart Images

Figure CN119494609A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to systems and methods for facilitating inventory management in delivery vehicles. Background Art
[0002] As Internet-based commerce continues to grow, package delivery is increasingly used to deliver goods to customers. In the United States in particular, e-commerce business is expected to continue to grow in the coming years.
[0003] Unprecedented growth has been a boon for e-commerce companies. However, rapid growth has also created operational challenges for the supply chain. E-commerce companies and their delivery partners are delivering an ever-increasing number of packages every day while trying to limit spending on resources (e.g., labor, etc.) and reduce delivery times.
[0004] Various methods are currently used to optimize the process of loading / unloading delivery packages onto / from delivery vehicles, and the process of delivering packages to corresponding delivery locations. For example, e-commerce companies load packages with similar delivery addresses that are close to each other into delivery vehicles to improve the efficiency of unloading packages. In addition, e-commerce companies use centralized inventory management systems or servers to monitor the movement of their delivery vehicles and remotely control the unloading of packages from the server to improve efficiency and reduce the chance of human error during the unloading operation.
[0005] Although conventional methods performed by e-commerce companies are effective in improving efficiency, challenges still exist that cause inconvenience to vehicle drivers and / or e-commerce companies. For example, loading / unloading delivery packages to / from delivery vehicles in warehouses is still a manual process and thus requires resources that may be unavailable or expensive. In addition, if the connection between the delivery vehicle and the centralized inventory management server is lost, the delivery of the package may be affected, which may result in a loss of efficiency in delivering the package.
[0006] Therefore, there is a need for a system and method that facilitates loading / unloading of packages into / from a delivery vehicle and supports package delivery even when connectivity to a centralized inventory management server is lost.
[0007] It is with respect to these and other considerations that the disclosure herein is presented. Summary of the invention
[0008] The present disclosure describes a delivery vehicle configured to deliver a plurality of packages to respective delivery locations. The vehicle may be communicatively coupled to an inventory management unit and an infrastructure marshaling system. The inventory management unit may be configured to determine optimal storage locations for a plurality of packages in a plurality of boxes disposed in the vehicle, and an optimal preset delivery route / sequence for package delivery based on one or more parameters (such as package delivery address, weight and size, box size, and location in the vehicle, etc.). The inventory management unit may store the determined "inventory information" in an inventory management unit memory, and may also transmit the inventory information to the vehicle (e.g., to a vehicle memory) for local storage, and to an infrastructure marshaling system.
[0009] In some aspects, the infrastructure grouping system can be associated with a warehouse or facility where multiple packages can be loaded into the vehicle based on the inventory information. Specifically, in response to receiving the inventory information from the inventory management unit, the infrastructure grouping system can determine the optimal loading point in the warehouse for the vehicle based on the inventory information and vehicle dimensions (e.g., vehicle size, vehicle loading point type, etc.).
[0010] In response to receiving the inventory information from the inventory management unit, the vehicle can arrive at the warehouse. When the vehicle arrives at the warehouse, the infrastructure marshaling system can automatically marshal the vehicle to the determined optimal loading point, and can load a plurality of packages in the vehicle based on the inventory information. In response to the packages being loaded, the vehicle can begin to traverse the delivery route.
[0011] The inventory management unit may continuously control the movement of the vehicle and the movement of boxes / packages within the vehicle while the vehicle may be traveling on a delivery route. For example, when a package scheduled for delivery may be approaching its delivery address, the inventory management unit may remotely activate a package mover unit in the vehicle and cause the corresponding box / package to be automatically moved from its storage location in the vehicle to a package unloading area. The package unloading area may be an area or portion in the vehicle from which a vehicle operator or a robot / drone may conveniently pick up the package to be delivered. In response to the package being delivered, the inventory management unit may update the inventory information to mark the package as "delivered". The inventory management unit may also transmit the updated inventory information to the vehicle for local storage in the vehicle.
[0012] In some aspects, the vehicle processor may "take over" inventory management unit operations when the vehicle's connection to the inventory management unit may be lost and / or when the vehicle deviates from its preset delivery route. In this case, the vehicle processor may retrieve inventory information from the vehicle memory and may control box / package movement based on the inventory information and vehicle information including real-time vehicle geographic location, vehicle speed, etc. Specifically, the vehicle processor may generate a "geofence" around each delivery address and may activate a package mover unit to move the corresponding box / package to a package unloading area when the vehicle enters the geofence. In some aspects, the vehicle processor generates the geofence based on average or real-time vehicle speed, distances between delivery addresses associated with multiple packages, average or expected duration required for a package mover unit to move a box / package to a package unloading area, etc.
[0013] When packages can be delivered, the vehicle processor can track the delivery status of each package by using the vehicle's internal camera and can update the inventory information. The vehicle processor can also store the updated inventory information in the vehicle memory. When the vehicle's connection with the inventory management unit can be restored, the vehicle processor can transmit the updated inventory information to the inventory management unit so that the inventory management unit can once again remotely take over control of the box / package movement. In this way, the vehicle processor ensures that package delivery occurs efficiently and optimally even when the vehicle's connection with the inventory management unit may be lost.
[0014] In another aspect, when the vehicle completes the delivery route, the vehicle can return to the warehouse to unload the undelivered packages. In response to the vehicle arriving at the warehouse, the infrastructure marshaling system can determine the optimal unloading point for the vehicle, and can automatically marshal the vehicle to the unloading point and unload the undelivered packages.
[0015] The present disclosure discloses a system that supports efficient delivery of packages even when the connection between the vehicle and the central inventory management unit may be lost. In addition, the infrastructure marshaling system supports automatic and optimal loading and unloading of packages to and from vehicles, thereby reducing manual involvement in loading / unloading operations.
[0016] These and other advantages of the present disclosure are provided in detail herein. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] Detailed description is set forth with reference to the accompanying drawings. The use of the same reference numerals may indicate similar or identical items. Various embodiments may utilize elements and / or components other than those shown in the accompanying drawings, and some elements and / or components may not be present in various embodiments. The elements and / or components in the accompanying drawings are not necessarily drawn to scale. Throughout this disclosure, singular and plural terms may be used interchangeably, depending on the context.
[0018] Figure 1 An example environment is depicted in which techniques and structures for providing the systems and methods disclosed herein may be implemented.
[0019] Figure 2 Depicted is a block diagram of an example system for managing inventory in accordance with the present disclosure.
[0020] Figure 3 Depicted is a diagram of an example warehouse in accordance with the present disclosure.
[0021] Figure 4 Depicted are example views of a delivery vehicle deviating from a preset delivery route in accordance with the present disclosure.
[0022] Figure 5A Depicted is an example view of multiple delivery locations in a geographic area in accordance with the present disclosure.
[0023] Figure 5B A first example geometry of a plurality of geo-fences in accordance with the present disclosure is depicted.
[0024] Figure 5C A second example geometry for a plurality of geo-fences in accordance with the present disclosure is depicted.
[0025] Figure 6 A third example geometry for a plurality of geo-fences in accordance with the present disclosure is depicted.
[0026] Figure 7 Depicted is a diagram of multiple geo-fence clusters in a geographic area in accordance with the present disclosure.
[0027] Figure 8 A flow chart is depicted of an example method for facilitating delivery of a plurality of packages stored in a delivery vehicle in accordance with the present disclosure. DETAILED DESCRIPTION
[0028] The present disclosure will be described more fully hereinafter with reference to the accompanying drawings, in which example embodiments of the disclosure are shown and which are not intended to be limiting.
[0029] Figure 1 An example environment 100 is depicted in which techniques and structures for providing the systems and methods disclosed herein may be implemented. Environment 100 may include a delivery vehicle 102 (or vehicle 102), which may be a truck, a van (including a walk-in van), a truck trailer, etc. In some aspects, vehicle 102 may be an autonomous vehicle. In other aspects, a driver (not shown) may operate vehicle 102. Furthermore, vehicle 102 may include any powertrain, such as a gasoline engine, one or more electric actuation motors, a hybrid powertrain, etc.
[0030] The vehicle 102 may include a plurality of boxes 104 that may be disposed in an interior portion of the vehicle. The plurality of boxes 104 may be disposed in any arrangement in the interior portion of the vehicle. For example, the plurality of boxes 104 may be placed in one or more arrays, and each array may be disposed one above another (e.g., Figure 1 ), or placed on a cabin bed or one or more trays set on the side walls of the vehicle, etc. Figure 1 The exemplary arrangement of the plurality of boxes 104 depicted in FIG. 1 should not be construed as being limiting.
[0031] Each box 104 can be configured to store / hold one or more delivery packages 106 (or packages 106). Each package 106 can be associated with customer information and a delivery address to which the vehicle 102 may need to deliver the package 106. In an exemplary aspect, each package 106 can include an identifier or label (e.g., an April label (not shown)) that can be set on the package 106, which can include customer information and a delivery address. A sensor (e.g., a vehicle camera) or reader can scan the label on the package 106 and determine the corresponding customer information and delivery address. The vehicle 102 can use the customer information and delivery address to efficiently and correctly deliver the package 106 to its delivery / destination address and / or monitor the delivery status of the package 106 (e.g., successful delivery or unsuccessful delivery), as described later below.
[0032] The vehicle 102 may be communicatively connected to an inventory management agent or unit 108, a cloud storage device or server 110, and an infrastructure marshaling system 112. The server 110 may be associated with an e-commerce company and / or a delivery partner of the company, and may be configured to store information associated with a plurality of delivery packages (including the package 106) that need to be delivered to respective delivery addresses. The information associated with the plurality of delivery packages may include, but is not limited to, customer name, contact information, delivery address, package size, package weight, any special delivery instructions, delivery priority order, etc.
[0033] Inventory management unit 108 may be part of server 110, or may be separate from server 110 (e.g., Figure 1), and may be configured to obtain information associated with a plurality of delivery packages from server 110. In response to obtaining the information, inventory management unit 108 may execute an inventory optimization algorithm (which may be stored in an inventory management unit memory (not shown)) to determine an optimal distribution / assignment of a plurality of packages among a plurality of delivery vehicles (including vehicle 102) and an optimal preset delivery route for each vehicle. In some aspects, inventory management unit 108 may assign a plurality of packages to a plurality of delivery vehicles such that packages with similar delivery addresses may be assigned to a single delivery vehicle, or packages with larger sizes may be assigned to larger vehicles, etc. In some aspects, inventory management unit 108 may assign a plurality of packages to a plurality of delivery vehicles to optimize the overall energy consumption of the plurality of delivery vehicles and minimize delivery time.
[0034] In an exemplary aspect, the inventory management unit 108 can additionally determine an optimal bin location for each package within the delivery vehicle such that when the delivery vehicle arrives at the respective delivery location, it may be convenient to retrieve the package from the bin. For example, a package having a first delivery location on a delivery route may be placed in a bin that may be closest to a package unloading area 114 of the vehicle 102. In some aspects, the package unloading area 114 may be an area or portion of the vehicle 102 from which a user or a robot / drone may conveniently pick up a package for delivery.
[0035] In response to assigning the plurality of packages to the plurality of delivery vehicles and assigning a box location to each package, the inventory management unit 108 may send this “assignment information” described above to the server 110 for storage purposes. In addition, the inventory management unit 108 may transmit the assignment information to an automated loader (e.g., a robot (not shown)) and / or an infrastructure marshaling system 112 to support automatic loading of the plurality of packages into the plurality of delivery vehicles based on the assignment information.
[0036] In some aspects, in response to obtaining the assignment information, the infrastructure marshaling system 112 can load the packages 106 to the vehicles 102 based on the assignment information. Specifically, the infrastructure marshaling system 112 can automatically "marshall" or move the vehicles 102 to designated loading points in a facility or warehouse 116 based on one or more parameters, and load the packages 106 into the assigned boxes 104 in the vehicles 102. Examples of parameters include, but are not limited to, vehicle box size, vehicle box loading / unloading height above the ground, size and type of packages to be loaded in the vehicles 102 (determined based on the assignment information), vehicle loading point type (e.g., whether to load the vehicle 102 from the side portion of the vehicle or from the rear portion of the vehicle), etc. In some aspects, the infrastructure marshaling system 112 can be associated with a warehouse or facility 116 and can be configured to efficiently load multiple packages to (and unload from) multiple delivery vehicles. In some aspects, the warehouse 116 can be associated with the e-commerce company / delivery partner described above and can store multiple packages when the packages are not loaded on multiple delivery vehicles. Later in the description below, Figure 3 Details of the warehouse 116 and infrastructure grouping system 112 are described.
[0037] In response to packages 106 being loaded into vehicle 102, vehicle 102 may obtain (or download) a copy of the assignment information associated with packages 106 loaded in vehicle 102 (or "inventory information" associated with packages 106) from server 110 and / or inventory management unit 108. In some aspects, the inventory information may include a delivery address, package size, package weight, box location, special delivery instructions, customer details, etc. associated with each package 106. In some aspects, the inventory information may also include an optimal preset delivery route for vehicle 102 as determined by inventory management unit 108. In response to obtaining the inventory information from server 110 and / or inventory management unit 108, vehicle 102 may store the inventory information in a vehicle memory (in a Figure 2 Shown as memory 248).
[0038] In addition, in response to packages 106 being loaded into vehicle 102 and vehicle 102 storing inventory information in vehicle memory, vehicle 102 may begin traversing a preset delivery route. While in transit, inventory management unit 108 may be communicatively coupled to vehicle 102 and may control the movement of boxes within vehicle 102 and the movement of specific packages / boxes to package unloading area 114 when specific packages are to be delivered (e.g., when vehicle 102 arrives at a delivery location associated with a specific package).
[0039] In some aspects, as vehicle 102 may travel on a delivery route, inventory management unit 108 may continuously determine the vehicle's geographic location (e.g., via a global positioning system (not shown)), and may control package / box movement based on the vehicle's geographic location. In an exemplary aspect, when vehicle 102 enters a "geo-fence" or geographic area proximate to a delivery location associated with package 106, inventory management unit 108 may trigger movement of a particular package / box (e.g., package 106) to package unloading area 114. In some aspects, the geo-fence may be a circle of a fixed radius that may be formed on a digital map around the delivery location associated with package 106. When vehicle 102 enters the geo-fence "circle", inventory management unit 108 may trigger or initiate movement of a box storing package 106 to package unloading area 114. Later in conjunction with Figure 2 Figures 5 to Figure 7 Describe the concept of geo-fencing in detail.
[0040] As the vehicle 102 may deliver one or more packages 106, the inventory management unit 108 may continuously update inventory information, including the location of the boxes 104 (which may move during transportation) within the vehicle 102. The updated inventory information may include updated box locations within the vehicle 102, the delivery status of each package 106 (successfully delivered, not yet delivered, unsuccessful delivery, or unclaimed, etc.), etc. The inventory management unit 108 may transmit the updated inventory information to the server 110 and / or the vehicle 102 at a predefined frequency for storage purposes.
[0041] In scenarios where the vehicle's connection to inventory management unit 108 is lost (e.g., when vehicle 102 may be in a geographic area without communication / network connectivity) and / or when vehicle 102 deviates from a preset delivery route, vehicle 102 may "take over" operations or functions performed by inventory management unit 108 on vehicle 102 and may manage box / package movements and package deliveries based on the stored (updated) inventory information. In such a scenario, the vehicle processor (in Figure 2 The vehicle processor 102 may also generate geo-fences around delivery locations associated with packages stored in the vehicle 102 based on average or real-time vehicle speed and the delivery addresses of the corresponding packages on a digital map. The vehicle processor may also trigger package / box movement of specific packages / boxes when the vehicle 102 enters one or more geo-fences, as briefly described above and later in conjunction with Figure 2 Figures 5 to Figure 7 Described in detail.
[0042] The vehicle processor may also use one or more vehicle interior cameras to capture an image of a tag (e.g., an April tag) set on the package 106 and track the package delivery based on the captured image. For example, when a particular package can be moved to the package unloading area 114 and picked up by a vehicle driver or a robot / drone for delivery, the camera may capture an image of a tag set on the package. The vehicle processor may then "read" the tag based on the captured image and determine that the package can be delivered. In response to determining that the package can be delivered, the vehicle processor may update the inventory information and store the updated inventory information in the vehicle memory. In this way, when the package 106 can be delivered, the vehicle processor may update the inventory information and store it in the vehicle memory until the connection between the vehicle and the inventory management unit 108 can be restored. In response to the connection between the vehicle and the inventory management unit 108 being restored, the vehicle 102 may transmit the "updated" inventory information from the vehicle memory to the inventory management unit 108 (and / or the server 110). The inventory management unit 108 may then take over the package delivery / movement operations of the vehicle 102 based on the updated inventory information. In this way, even when the vehicle connection with the inventory management unit 108 may be lost, the vehicle 102 continues to optimally and efficiently deliver the packages 106 to the corresponding delivery addresses, and the updated inventory information can be transmitted or "handed over" to the inventory management unit 108 when the vehicle connection can be restored, thereby achieving smooth and seamless inventory delivery management.
[0043] In further aspects, when the vehicle 102 completes the delivery route, the vehicle 102 arrives at the warehouse 116, where the infrastructure marshalling system 112 can automatically detect the vehicle arrival and can marshal the vehicle 102 to an optimal loading / unloading point in the warehouse 116. In some aspects, the vehicle 102 can visit the warehouse 116 to unload undelivered packages, load new delivery packages, get charged (e.g., via an electric vehicle (EV) charging station provided in the warehouse 116), etc. As briefly described above and described in more detail later below, the infrastructure marshalling system 112 can marshal the vehicles 102 based on vehicle box size, vehicle box loading / unloading height above the ground, size and type of packages to be loaded into / unloaded from the vehicle 102, vehicle loading point type, etc.
[0044] Combined with the following Figure 2 The vehicle 102 is described in further detail.
[0045] Vehicle 102 , inventory management unit 108 , server 110 , and / or infrastructure marshaling system 112 implement and / or perform operations in accordance with owner's manuals and safety guidelines, as described herein in this disclosure.
[0046] Figure 2A block diagram of an example system 200 for managing inventory according to the present disclosure is depicted. In some aspects, the inventory may include the above combined Figure 1 One or more packages 106 are described. Figure 2 When you can refer to Figures 3 to 7 .
[0047] System 200 may include a vehicle 202, one or more servers 204, an inventory management unit 206, and an infrastructure grouping system 208 that are communicatively coupled to each other via one or more networks 210. Vehicle 202 may be combined with the above Figure 1 The vehicle 102 depicted is the same. Additionally, the inventory management unit 206 may be the same as the inventory management unit 108 , the infrastructure grouping system 208 may be the same as the infrastructure grouping system 112 , and the server 204 may be the same as the server 110 .
[0048] The network 210 illustrates an example communication infrastructure in which the connected devices discussed in various embodiments of the present disclosure may communicate. The network 210 may be and / or include the Internet, a private network, a public network, or other configurations operating using any one or more known communication protocols, such as Transmission Control Protocol / Internet Protocol (TCP / IP), Wi-Fi, Ultra-Wideband (UWB) based on the Institute of Electrical and Electronics Engineers (IEEE) standard 802.11, and cellular technologies such as Time Division Multiple Access (TDMA), Code Division Multiple Access (CDMA), High Speed Packet Access (HSPDA), Long Term Evolution (LTE), Global System for Mobile Communications (GSM), and Fifth Generation (5G), to name a few examples.
[0049] The vehicle 202 may include a plurality of units including, but not limited to, a vehicle computer 212, a vehicle control unit (VCU) 214, and a vehicle inventory management system 216. The VCU 214 may include a plurality of electronic control units (ECUs) 218 arranged to communicate with the vehicle computer 212.
[0050] In some aspects, according to the present disclosure, the vehicle computer 212 and / or the vehicle inventory management system 216 can be installed anywhere in the vehicle 202. In addition, the vehicle computer 212 can operate as a functional part of the vehicle inventory management system 216. The vehicle computer 212 can be or include an electronic vehicle controller having one or more processors 220 and a memory 222. In addition, the vehicle inventory management system 216 can communicate with the vehicle computer 212 (e.g., Figure 2 ), or may be integrally formed as part of the vehicle computer 212.
[0051] The processor 220 may be configured to communicate with one or more memory devices (eg, memory 222 and / or memory 224) configured to communicate with a corresponding computing system. Figure 2 The processor 220 may utilize the memory 222 to store programs in code and / or store data for executing various aspects of the present disclosure. The memory 222 may be a non-transitory computer-readable storage medium or memory that stores delivery package management program code or instructions. The memory 222 may include any one or a combination of volatile memory elements (e.g., dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), etc.), and may include any one or more non-volatile memory elements (e.g., erasable programmable read-only memory (EPROM), flash memory, electrically erasable programmable read-only memory (EEPROM), programmable read-only memory (PROM), etc.).
[0052] According to some aspects, VCU 214 can share a power bus with vehicle computer 212 and can be configured and / or programmed to coordinate vehicle systems, connected servers / systems (e.g., server 204, inventory management unit 206, infrastructure marshaling system 208, etc.), and other vehicles operating as part of a fleet ( Figure 2 202). The VCU 214 may include or communicate with any combination of ECUs 218, such as a body control module (BCM) 224, an engine control module (ECM) 226, a transmission control module (TCM) 228, a telematics control unit (TCU) 230, a driver assistance technology (DAT) controller 232, and the like. The VCU 214 may also include and / or communicate with a vehicle perception system (VPS) 234, which connects and / or controls one or more vehicle sensing systems 236. The vehicle sensing system 236 may include one or more vehicle sensors, including but not limited to radio detection and ranging (RADAR or "radar") sensors configured to detect and locate objects inside and outside the vehicle 202 using radio waves, seating area lock sensors, seating area sensors, light detection and ranging (LiDAR or "laser radar") sensors, door sensors, proximity sensors, temperature sensors, wheel sensors, ambient weather sensors, vehicle interior and exterior cameras, steering wheel sensors, and the like. In an exemplary aspect, when the package 106 can be moved to the package unloading area 114 and delivered to the corresponding delivery location, the vehicle interior camera can be configured to capture an image of a label (e.g., an April label) disposed on the package 106, as described above in conjunction with Figure 1 described.
[0053] In some aspects, the VCU 214 may control aspects of vehicle operation and implement one or more instruction sets received from the server 204, the inventory management unit 206, the infrastructure marshaling system 208, from one or more instruction sets stored in the memory 222, instructions operating as part of the vehicle inventory management system 216, etc.
[0054] The TCU 230 may be configured and / or programmed to provide vehicle connectivity to wireless computing systems on and off the vehicle 202 and may include a navigation (NAV) receiver 238 for receiving and processing GPS signals, module (BLEM) 240, Wi-Fi transceiver, UWB transceiver and / or may be configured to communicate between the vehicle 202 and other systems (e.g., vehicle key fob, Figure 2 Other wireless transceivers (not shown) for wireless communication (including cellular communication) between the computer and the module Figure 2 2). The TCU 230 may be configured to communicate with the ECU 218 via a bus. In some aspects, the TCU 230 may be configured to determine real-time vehicle geographic location via a NAV receiver 238.
[0055] ECU 218 may control various aspects of vehicle operation and communication using input from a human driver, input from an autonomous vehicle controller, vehicle inventory management system 216, and / or via wireless signal input received over a wireless connection from other connected devices / systems (such as, server 204, inventory management unit 206, infrastructure marshaling system 208, etc.).
[0056] The BCM 224 typically includes an integration of sensors, vehicle performance indicators, and varactors associated with vehicle systems, and may include processor-based power distribution circuits that control functions associated with the vehicle body, such as lights, windows, security devices, cameras, audio systems, speakers, wipers, door locks and access controls, and various comfort controls. The BCM 224 may also operate as a gateway for bus and network interfaces to communicate with remote ECUs ( Figure 2 In some aspects, the BCM 224 may additionally enable and control box movement within the vehicle 202 based on input received from the inventory management unit 206, the infrastructure marshaling system 208, and / or the vehicle inventory management system 216.
[0057] The DAT controller 232 can provide Level 1 to Level 3 automated driving and driver assistance functionality, which may include other features such as active parking assistance, vehicle back-up assistance, adaptive cruise control, and / or lane keeping. The DAT controller 232 can also provide various aspects of user and environmental input that can be used for user authentication. In other aspects, the DAT controller 232 can be configured to control vehicle movement within the warehouse 116 based on input received from the infrastructure marshaling system 208.
[0058] In some aspects, the vehicle computer 212 can be connected to an infotainment system 242. The infotainment system 242 can include a touch screen interface portion, and can include a voice recognition feature, a biometric recognition capability that can recognize a user based on facial recognition, voice recognition, fingerprint recognition, or other biometric recognition means. In other aspects, the infotainment system 242 can also be configured to receive user instructions via the touch screen interface portion, and / or display notifications (including delivery status, delivery location, special instructions, etc. associated with the package 106), navigation maps, etc. on the touch screen interface portion.
[0059] The computing system architecture of the vehicle computer 212, VCU 214 and / or vehicle inventory management system 216 may omit certain computing modules. Figure 2 The computing environment depicted in FIG. 1 is an example of possible implementations according to the present disclosure and, therefore, should not be considered limiting or exclusive.
[0060] According to some aspects, the vehicle inventory management system 216 may be formed integrally with and / or executed as part of the ECU 218. The vehicle inventory management system 216, whether formed integrally with the vehicle computer 212 or the ECU 218, or whether operating as a standalone computing system in the vehicle 202, may include a transceiver 244, a controller or processor 246, and a computer readable memory 248.
[0061] The transceiver 244 may be configured to receive information / input (e.g., the above-mentioned inventory information) from one or more external devices or systems (e.g., server 204, inventory management unit 206, infrastructure grouping system 208, etc.) via network 210. In addition, the transceiver 244 may transmit notifications / information (e.g., updated inventory information) to the external devices or systems. In addition, the transceiver 244 may be configured to receive information / input from vehicle components (such as infotainment system 242, VCU 214, etc.). In addition, the transceiver 244 may transmit signals (e.g., command signals) or notifications to vehicle components, such as infotainment system 242, VCU 214, etc.
[0062] The processor 246 and the memory 248 may be the same or similar to the processor 220 and the memory 222, respectively. In some aspects, the processor 246 may utilize the memory 248 to store programs and / or store data in code form to perform various aspects according to the present disclosure. The memory 248 may be a non-transitory computer-readable storage medium or memory that stores delivery package management program code. In some aspects, the memory 248 may additionally store information associated with the vehicle 202, inputs or information obtained from the server 204, the inventory management unit 206, and the infrastructure grouping system 208, and one or more inputs received from the VCU 214. The memory 248 may include multiple modules and databases, including but not limited to an inventory management module 250 (or "inventory manager"), an inventory control module 252, an inventory database 254, and the like.
[0063] The inventory database 254 may be configured to store the above combined Figure 1 The described inventory information. For example, the inventory database 254 may store the delivery address associated with each package, the package size, the package weight, the box location of each box in the vehicle 202, special delivery instructions, customer details, etc. As described herein, the inventory management module 250 and the inventory control module 252 may be stored in the form of computer-executable instructions, and the processor 246 may be configured and / or programmed to execute the stored computer-executable instructions for performing operations as described herein in the present disclosure. In some aspects, the processor 246 may execute instructions stored in the inventory management module 250 to monitor the movement of boxes / packages in the vehicle 202 and update the inventory database 254 accordingly. In addition, the processor 246 may execute instructions stored in the inventory control module 252 to control or cause the movement of boxes / packages in the vehicle 202, cause the operation of one of multiple vehicle components (e.g., a vehicle camera) to be activated and controlled, and the like.
[0064] In operation, the transceiver 244 may receive inventory information associated with the packages 106 to be loaded into the vehicle 202 from the inventory management unit 206 or the server 204, as described above in conjunction with Figure 1 The inventory information may include, for example, the delivery address of each package 106, the storage information or location of each package 106 in the box 104, the location of each box 104 in the vehicle 202, the preset travel route or delivery route of the vehicle 202 for optimal delivery of the packages 106 (as determined by the inventory management unit 206), the package size / dimensions and weight information associated with each package 106, etc. In response to receiving the inventory information, the transceiver 244 may send the received information to the inventory database 254 for storage purposes.
[0065] In some aspects, the inventory management unit 206 or server 204 may also transmit the inventory information and vehicle-associated dimensional information to the infrastructure marshaling system 208. The vehicle-associated dimensional information may include, for example, vehicle dimensions, the size of the boxes 104 in the vehicle 202, information related to the vehicle loading point (e.g., whether the package 106 can be loaded into the vehicle 202 from the rear portion of the vehicle or the side portion of the vehicle), the box loading / unloading height above the ground, etc.
[0066] In response to receiving the inventory information, vehicle 202 may arrive at warehouse 116, where infrastructure marshaling system 208 may marshall vehicle 202 to an optimal package loading point identified based on the inventory information and dimensional information associated with the vehicle, such as Figure 3 Specifically, Figure 3 , when the vehicle 202 arrives at the boarding point 302, the infrastructure marshalling system 208 can determine the presence of the vehicle in the warehouse 116 by using images captured by a warehouse camera (not shown) or one or more sensors disposed in the warehouse 116. In an additional aspect, the infrastructure marshalling system 208 can determine the presence of the vehicle in the warehouse 116 based on the real-time vehicle geographic location that the vehicle 202 can transmit to the infrastructure marshalling system 208 directly or via the inventory management unit 206. In this case, the transceiver 244 can obtain the real-time vehicle geographic location from the NAV receiver 238 and can transmit the real-time vehicle geographic location to the infrastructure marshalling system 208 and / or the inventory management unit 206.
[0067] In response to determining the presence of a vehicle in the warehouse 116, the infrastructure marshaling system 208 may request vehicle battery state of charge (SoC) information directly from the vehicle 202 or via the inventory management unit 206. The transceiver 244 may receive the request from the infrastructure marshaling system 208 and, in response to receiving the request, may obtain the battery SoC from the VCU 214. The transceiver 244 may also transmit the battery SoC to the infrastructure marshaling system 208 directly or via the inventory management unit 206.
[0068] In response to obtaining the battery SoC, the infrastructure marshaling system 208 may determine whether the battery SoC may be below a predefined SoC threshold (which may be pre-stored in the infrastructure marshaling system memory (not shown)). The infrastructure marshaling system 208 may marshall the vehicle 202 to an available charging station 304 by transmitting a command signal to the DAT controller 232 in response to determining that the battery SoC may be below the predefined SoC threshold. The vehicle battery may then be charged at the charging station 304.
[0069] On the other hand, in response to determining that the battery SoC may be greater than a predefined SoC threshold (or when the vehicle battery is charged at the charging station 304), the infrastructure marshalling system 208 may determine an optimal (and available) package loading point 306a, 306b, or 306c for the vehicle 202 based on the inventory information and the size information associated with the vehicle. For example, if the vehicle 202 may be small and may be partially loaded from the rear of the vehicle, the infrastructure marshalling system 208 may determine loading point 306a as the optimal loading point for the vehicle 202. Similarly, if the vehicle 202 may be small and may be partially loaded from the side of the vehicle, the infrastructure marshalling system 208 may determine loading point 306b as the optimal loading point for the vehicle 202. For example, if the vehicle 202 may be large and may be partially loaded from the rear of the vehicle, the infrastructure marshalling system 208 may determine loading point 306c as the optimal loading point for the vehicle 202 (e.g., Figure 3 ).
[0070] In response to determining the loading point 306c of the vehicle 202, the infrastructure marshalling system 208 can transmit a command signal to the DAT controller 232 to cause the vehicle 202 to automatically move toward the loading point 306c. In response to the vehicle 202 arriving at the loading point 306c, the infrastructure marshalling system 208 can automatically load the vehicle 202 / box 104 with the packages 106 via the robot and / or conveyor lane 308 based on the inventory information. In this way, the infrastructure marshalling system 208 can automatically marshal the vehicles 202 in the warehouse 116 and load the packages 106 into the boxes 104 without or with minimal human intervention, thus saving resources and preventing the opportunity for human error.
[0071] When the packages 106 may be loaded into the box 104, the vehicle 202 may begin traveling on a preset delivery route based on input / commands received by the transceiver 244 from the inventory management unit 206. While in transit, the transceiver 244 may continuously (or at a predefined frequency) receive vehicle information from the VCU 214 and may transmit the vehicle information to the inventory management unit 206 and the processor 246. The vehicle information may include, for example, real-time vehicle geographic location (as determined by the NAV receiver 238), vehicle speed, connection status of the vehicle 202 / VCU 214 with the inventory management unit 206 and / or the server 204, and the like.
[0072] The inventory management unit 206 may control the movement of the vehicle 202 and / or the box 104 based on the inventory information and the received vehicle information. For example, when the vehicle 202 is about to arrive at or approach a delivery location associated with a package, the inventory management unit 206 may trigger the movement of the box storing a specific package toward the package unloading area 114, as determined using the real-time vehicle geolocation. In response to the vehicle 202 arriving at the delivery location and the vehicle operator or robot / drone picking up the package from the package unloading area 114, the inventory management unit 206 may update the inventory information. Specifically, the inventory management unit 206 may update the inventory information to record the package as "delivered", and may store the updated inventory information in the inventory management unit memory (not shown). In addition, the inventory management unit 206 may transmit the updated inventory information to the transceiver 244, so that the transceiver 244 may send the updated inventory information to the inventory database 254 to store the updated inventory information locally in the vehicle 202. In this manner, inventory management unit 206 may continue to control the movement of vehicles and boxes through preset delivery routes and continuously update inventory information and transmit the updated inventory information to transceiver 244 for local storage in vehicle 202 .
[0073] The processor 246 may continuously (or at a predefined frequency) monitor the inventory information stored in the inventory database 254 and the vehicle information obtained from the VCU 214 / transceiver 244 by executing instructions stored in the inventory management module 250. When the processor 246 determines that a predefined condition may be met based on the inventory information and the vehicle information, the processor 246 may initiate or trigger a "geofence" mode of vehicle operation. In some aspects, the processor 246 determines that a predefined condition may be met when the connection with the inventory management unit 206 and / or the server 204 may be lost (determined using the vehicle information) and / or when the vehicle 202 deviates from the preset delivery route by more than a predefined distance threshold (determined using the real-time geographic location and the inventory information).
[0074] In an exemplary aspect, vehicle 202 may disconnect from inventory management unit 206 and / or server 204 when vehicle 202 may be traveling in a geographic area where network 210 may be unavailable or may be intermittent. Additionally, vehicle 202 may deviate from a preset delivery route when the vehicle driver intentionally takes a different route (e.g., due to traffic or any other reason), or when the vehicle driver or vehicle 202 unintentionally begins traversing a different route. Figure 4 An example view of a vehicle 202 that deviates from a preset delivery route is depicted in FIG. Figure 4As shown in , the vehicle 202 may deviate from the preset delivery route 402 from point “A” to the delivery location “B” when the vehicle 202 begins traveling on a different route 404 , as determined using the real-time vehicle geographic location.
[0075] In response to determining that the predefined conditions may be satisfied as described above, the processor 246 may trigger a geo-fence mode of vehicle operation. Specifically, the processor 246 may determine the delivery status of each package 106 in the vehicle 202, the corresponding delivery location, the box storage location of each package 106, the location of each box 104 in the vehicle 202, etc., based on the inventory information stored in the inventory database 254 in response to triggering the geo-fence mode of vehicle operation by executing instructions stored in the inventory management module 250. The processor 246 may also determine the vehicle distance from the current vehicle geographic location to the delivery location associated with the package 106, the average vehicle speed in the delivery route, etc. based on the vehicle information obtained from the VCU 214 / transceiver 244. In response to determining the above information, the processor 246 may generate a geo-fence for each delivery location / address on the digital map based on the inventory information and the vehicle information. The process of generating a geo-fence may be combined with the process described above. Figure 5A , Figure 5B , Figure 5C , Figure 6 and Figure 7 description to understand.
[0076] like Figure 5A As shown in , the processor 246 may initially determine one or more delivery addresses 502a, 502b, 502c, 502d, 502n associated with the package 106 on a digital map of the geographic area 500 where the vehicle 202 may be located. In response to determining the delivery addresses 502a to 502n, the processor 246 may determine whether the delivery addresses 502a to 502n may be congested or not congested. In some aspects, when the distance between adjacent delivery addresses may be less than a predefined threshold (e.g., less than one mile), the processor 246 may determine that the delivery addresses 502a to 502n may be congested. On the other hand, when the distance between adjacent delivery addresses may be greater than a predefined threshold, the processor 246 may determine that the delivery addresses 502a to 502n may be not congested. In some aspects, the processor 246 may generate different types of geo-fences for the delivery addresses 502a to 502n based on whether the delivery addresses 502a to 502n may be congested or not congested. In other words, the processor 246 can generate a geo-fence of the delivery addresses 502a to 502n based on the distance between adjacent delivery addresses. Figure 5B and Figure 5C The process of generating geo-fences for uncongested delivery addresses 502a to 502n is described and later combined with Figure 6 and Figure 7 Describes a process for generating geo-fences for congested delivery addresses.
[0077] In an exemplary first aspect, when the delivery addresses 502a to 502n are likely to be uncrowded, the processor 246 may generate a "circular" geo-fence of the same radius for each delivery address 502a to 502n, such as Figure 5B . Specifically, the processor 246 may generate geo-fences 504a to 504n for the corresponding delivery addresses 502a to 502n, and each geo-fence 504a to 504n may have the same radius “R”. In some aspects, the processor 246 may determine the radius “R” based on initial inventory information, which may be provided by the inventory management unit 206 when the vehicle 202 begins a preset delivery route (e.g., before or when the vehicle 202 leaves the warehouse 116 after loading the package 106 into the vehicle 202). In this case, the initial inventory information provided by the inventory management unit 206 may include the radius “R”, and when the processor 246 triggers the geo-fence mode of vehicle operation, the processor 246 may use the radius “R” to generate the geo-fences 504a to 504n.
[0078] In response to generating the geo-fences 504a-504n, the processor 246 may monitor the real-time vehicle geographic location and determine when the vehicle 202 enters one or more of the geo-fences 504a-504n (e.g., geo-fence 504d, such as Figure 5B). Specifically, processor 246 monitors the distance between the real-time vehicle geographic location and the delivery address 502d, and determines that vehicle 202 may have entered geo-fence 504d when the distance becomes equal to radius "R". In response to determining that vehicle 202 may have entered geo-fence 504d, processor 246 may perform a predefined action. Specifically, processor 246 may execute instructions stored in inventory control module 252 to transmit a command signal and activate a package / box mover unit (not shown) of vehicle 202 when vehicle 202 enters geo-fence 504d. The package / box mover unit may be a robot or mechanical actuator disposed in vehicle 202, which may be configured to move a package (e.g., package 106) from a box (e.g., box 104), or to move box 104 from a box location in vehicle 202 to a package unloading area 114. In this case, when the vehicle 202 enters the geo-fence 504d, the processor 246 may transmit a command signal to the package / box mover unit, the command signal including the box location of the box 104 storing the package 106 whose delivery address is the delivery address 502d. In response to receiving the command signal, the package / box mover unit may move toward the box location, pick up the box 104 or the package 106 from the box 104, and move the box 104 / package 106 to the package unloading area 114. By starting the package / box mover unit a predefined distance (e.g., distance = radius "R") before the vehicle 202 arrives at the delivery address 502d, the processor 246 ensures that the box 104 / package 106 can be conveniently and promptly moved to the package unloading area 114 when the vehicle 202 arrives at the delivery address 502d.
[0079] In a further aspect, the processor 246 may execute instructions stored in the inventory control module 252 to cause the vehicle interior camera to capture an image of a label disposed on a package 106 when a package 106 may be picked up (e.g., by a vehicle operator or a robot / drone) from the package unloading area 114, and transmit the captured image to the processor 246. The processor 246 may "analyze" or read the image to determine that the package 106 may have been delivered to the delivery address 502d, and may execute instructions stored in the inventory management module 250 to update the inventory information stored in the inventory database 254. The updated inventory information may then be stored in the inventory database 254.
[0080] In the exemplary first aspect described above, the inventory management unit 206 may estimate the radius "R" based on the average (historical) vehicle speed, the expected average duration required for the package / box mover unit to move the box 104 from the corresponding storage location in the vehicle 202 to the package unloading area 114, and / or the distance between adjacent delivery addresses 502a to 502n. For example, when the average vehicle speed may be high and / or when the average duration required for the package / box mover unit may also be high, the radius "R" may be larger. In this case, by increasing the radius "R", the inventory management unit 206 may provide additional time to the package / box mover unit to move the box 104 to the package unloading area 114. As another example, when the average vehicle speed may be low and / or when the average duration required for the package / box mover unit may also be low, the radius "R" may be shorter. In some aspects, when the radius "R" may be provided by the inventory management unit 206 as part of the initial inventory information, the radius "R" or size of each geo-fence 504a to 504n may remain constant and the same throughout the vehicle delivery route.
[0081] Although the above description describes aspects in which the radius "R" may be provided by the inventory management unit 206 as part of the initial inventory information, the present disclosure is not limited to the radius "R" being provided by the inventory management unit 206. In some aspects, the processor 246 itself may calculate the radius "R" and may generate the geo-fences 504a to 504n based on the average vehicle speed in the delivery route (determined based on the vehicle information), the average duration required by the package / box mover unit (determined using input obtained from the VCU 214), and / or the distance between adjacent delivery addresses 502a to 502n (determined based on the inventory information), as described above. In this case, the processor 246 may not require the radius "R" as part of the initial inventory information.
[0082] In addition, although the above description describes an aspect in which each geo-fence 504a to 504n has the same size (e.g., the same radius "R"), the present disclosure is not limited to such geo-fence sizes. In an exemplary second aspect, the size of each geo-fence can be customized or optimized for the corresponding delivery address and can be different from other geo-fences. For example, based on the distance of a particular delivery address from other / adjacent delivery addresses and / or local parameters close to the particular delivery address (e.g., traffic, expected or real-time vehicle speed, road conditions, etc.), the geo-fence of the delivery address can have a different size from other geo-fences. Figure 5C An example view of such a customized or “dynamic” geofence is depicted in FIG.
[0083] like Figure 5CAs shown in FIG. 1 , each geo-fence 506a to 506n associated with each delivery address 502a to 502n may have a different size. For example, geo-fence 506d may have a smaller radius than geo-fence 506c, such as Figure 5C In this case, the processor 246 may calculate the radius of each geo-fence 506a to 506n individually based on the real-time or expected vehicle speed approaching the corresponding delivery address, the time required for the package / box mover unit to move the corresponding box / package, the distance to the adjacent delivery address, and the above-mentioned local parameters (which may be pre-stored in the memory 248 or obtained in real time from the VCU 214). In addition, in this case, if the vehicle 202 enters two geo-fences (e.g., Figure 5C 506c and 506d) shown in FIG, processor 246 can execute instructions stored in inventory control module 252 to initiate a package / box mover unit to first move packages / boxes associated with delivery address 502c, and then move packages / boxes associated with delivery address 502d. In other words, processor 246 can prioritize the movement of boxes / packages associated with a smaller radius geofence (e.g., geofence 506c) over the movement of boxes / packages associated with a larger radius geofence (e.g., geofence 506d) when vehicle 202 may be in both geofences at the same time.
[0084] Furthermore, in this case, the size of each geo-fence 506a to 506n may not remain constant throughout the delivery route, and the size may change based on the box movement within the vehicle 202 when the package 106 can be delivered to the corresponding delivery location. Specifically, as described above, the processor 246 can execute instructions stored in the inventory management module 250 to update the inventory information when each package 106 can be delivered. While updating the inventory information, the processor 246 can also update the box location based on the box movement in the vehicle 202 when the package 106 can be delivered on the delivery route. In response to updating the box location, the processor 246 can update the size of each geo-fence 506a to 506n based on the "updated" time required by the package / box mover unit to move each box 104 to the package unloading area 114. In some aspects, the processor 246 can dynamically update the size of each geo-fence 506a to 506n after each package delivery. In some aspects, the processor 246 can dynamically update the size of each geo-fence 506a to 506n after a preset duration.
[0085] In the exemplary third aspect, the shape of the geo-fence may not be circular, but may be other shapes, such as Figure 6 and Figure 7In some aspects, when the delivery address associated with package 106 may be congested (e.g. Figure 6 ), the processor 246 may generate a polygonal geo-fence 604 using, for example, Voronoi partitioning.
[0086] Each geo-fence 604 can be associated with one or more densely packed or closely located delivery addresses 602. In addition, each geo-fence 604 can have a different shape, which can be based on the size of the maximum allowable geographic area within the geo-fence (which can be pre-stored in memory 248 and / or part of the initial inventory information provided by inventory management unit 206), the maximum count of delivery addresses that may be located in the geo-fence, etc.
[0087] exist Figure 6 In the exemplary aspect depicted in FIG. 1 , each geo-fence 604 includes a delivery address 602. Figure 7 In another exemplary aspect depicted in FIG. 2 , each geo-fence 702 may include a cluster of multiple closely located delivery addresses 704a to 704n. In some aspects, the optimized clusters of closely located delivery addresses 704a to 704n may be pre-formed by the inventory management unit 206 before the vehicle 202 begins a delivery route and may be provided to the vehicle 202 as part of the initial inventory information (which may be stored in the memory 248). In this case, when the processor 246 triggers the geo-fence mode of vehicle operation, the processor 246 may extract the pre-formed delivery address clusters from the memory 248 and may generate geo-fences 702, 706, 708, etc. based on the pre-formed clusters.
[0088] In other aspects, when the inventory management unit 206 may not have pre-formed clusters, the processor 246 itself can form clusters based on the distances between delivery addresses associated with the packages 106, and can then generate geo-fences 702, 706, 708, etc. based on the formed clusters. In some aspects, the cluster size can be based on the maximum count of allowable delivery addresses in the cluster and / or the distance (or "proximity") of adjacent delivery addresses. In some aspects, the processor 246 can additionally cluster adjacent geo-fences 702, 706, 708 to form a super geo-fence cluster, shown as Figure 7 Super geo-fence clusters 710, 712 and 714 in.
[0089] exist Figure 7In the exemplary aspect depicted in FIG. 1 , when vehicle 202 enters geo-fence 702, processor 246 can execute instructions stored in inventory control module 252 to initiate a package / box mover unit to sequentially move boxes / packages associated with delivery addresses 704a, 704b, 704c, 704d, 704n to package unloading area 114 so that a vehicle operator or robot / drone can conveniently pick up packages to be delivered in the order of delivery.
[0090] As described above, when the package 106 can be delivered on the delivery route, the processor 246 can update the inventory information stored in the inventory database 254. In addition, the processor 246 can continuously monitor the vehicle information obtained from the VCU 214 / transceiver 244 to determine whether the vehicle's connection with the inventory management unit 206 can be restored. In response to a determination that the vehicle connection may have been restored, the processor 246 can transmit the "updated" inventory information to the inventory management unit 206 via the transceiver 244. In response to receiving the updated inventory information, the inventory management unit 206 can transmit the updated inventory information to the server 204 for storage purposes, and can also begin controlling the vehicle and box / package movement in the vehicle 202, as described above. In other words, when the vehicle connection can be restored, the inventory management unit 206 can "take over" the box / package movement control operations from the processor 246.
[0091] In a further aspect, when the vehicle 202 completes traversing the delivery route, the vehicle 202 can return to the warehouse 116. When the vehicle 202 arrives at the boarding point 302, the infrastructure marshaling system 208 can determine an optimal unloading point 310a, 310b, or 310c for the vehicle 202 and marshall the vehicle 202 to the optimal unloading point to enable the vehicle 202 to unload any undelivered packages 106. The process of determining the optimal unloading point and the parameters used by the infrastructure marshaling system 208 to determine the optimal unloading point are the same as the process / parameters described above for determining the optimal loading point, and therefore are not described again here for simplicity and brevity.
[0092] Figure 8 A flow chart of an example method 800 for facilitating the delivery of a plurality of packages stored in a delivery vehicle according to the present disclosure is depicted. Figure 8 The following process is exemplary and is not limited to the steps described below. Furthermore, alternative embodiments may include more or fewer steps than shown or described herein, and may include the steps in an order different from the order described in the example embodiments below.
[0093] The method 800 begins at step 802. At step 804, the method 800 may include obtaining, by the processor 246, inventory information and vehicle information. At step 806, the method 800 may include determining, by the processor 246, that a predefined condition may be satisfied based on the inventory information and the vehicle information. As described above, the processor 246 may determine that a predefined condition may be satisfied when the vehicle's connection to the inventory management unit 206 may be lost and / or when the vehicle 202 deviates from a preset delivery route.
[0094] At step 808, the method 800 may include generating, by the processor 246, a geo-fence for each delivery address, as described above. At step 810, the method 800 may include determining, by the processor 246, that the vehicle 202 may have entered the geo-fence based on the real-time vehicle geographic location. In response to determining that the vehicle 202 may have entered the geo-fence, the processor 246 may perform a predefined action at step 812. Specifically, the processor 246 may activate a package / box mover unit to move the boxes / packages associated with the geo-fenced delivery addresses to the package unloading area 114, as described above.
[0095] Method 800 ends at step 814 .
[0096] In the above disclosure, reference has been made to the accompanying drawings that form a part of the above disclosure, which illustrate specific embodiments in which the present disclosure can be practiced. It should be understood that other embodiments may be utilized and structural changes may be made without departing from the scope of the present disclosure. References to "one embodiment," "embodiment," "example embodiment," etc. in this specification indicate that the described embodiment may include specific features, structures, or characteristics, but each embodiment may not necessarily include the specific features, structures, or characteristics. In addition, such phrases do not necessarily refer to the same embodiment. In addition, when features, structures, or characteristics are described in conjunction with an embodiment, whether or not explicitly described, those skilled in the art will recognize such features, structures, or characteristics in conjunction with other embodiments.
[0097] In addition, where appropriate, the functions described herein may be performed in one or more of the following: hardware, software, firmware, digital components, or analog components. For example, one or more application specific integrated circuits (ASICs) may be programmed to perform one or more of the systems and programs described herein. Certain terms are used throughout the specification and claims to refer to specific system components. As will be appreciated by those skilled in the art, components may be referred to by different names. This document is not intended to distinguish between components that have different names but the same function.
[0098] It should also be understood that the word "example" as used herein is intended to be non-exclusive and non-limiting in nature. More specifically, the word "example" used herein indicates one of several examples, and it should be understood that no undue emphasis or preference is placed on the specific example described.
[0099] Computer-readable media (also referred to as processor-readable media) include any non-transitory (e.g., tangible) media that participate in providing data (e.g., instructions) that can be read by a computer (e.g., by a processor of a computer). Such media may take many forms, including, but not limited to, non-volatile media and volatile media. A computing device may include computer-executable instructions, where the instructions may be executable by one or more computing devices (such as those listed above) and stored on a computer-readable medium.
[0100] With respect to the processes, systems, methods, heuristics, etc. described herein, it should be understood that although the steps of such processes, etc. have been described as occurring according to a certain ordered sequence, such processes may be practiced by performing the described steps in an order different from the order described herein. It should also be understood that certain steps may be performed simultaneously, other steps may be added, or certain steps described herein may be omitted. In other words, the descriptions of processes herein are provided for the purpose of illustrating various embodiments and should in no way be construed as limiting the claims.
[0101] Therefore, it should be understood that the above description is intended to be illustrative rather than restrictive. Upon reading the above description, many embodiments and applications other than the examples provided will be apparent. The scope should not be determined with reference to the above description, but should be determined with reference to the entire scope of the appended claims and equivalents to which such claims are entitled. It is anticipated and expected that the technology discussed herein will develop in the future, and the disclosed systems and methods will be incorporated into such future embodiments. In short, it should be understood that the present application is capable of modification and change.
[0102] Unless explicitly indicated to the contrary in this article, all terms used in the claims are intended to be given their ordinary meanings as understood by the skilled person described herein. Specifically, unless the claims state an explicit limitation to the contrary, the use of singular articles such as "one", "the", "said" and the like should be interpreted as describing one or more of the indicated elements. Unless otherwise specifically stated or understood in other ways within the context when used, conditional language such as, in particular, "can", "may", "can" or "may" is generally intended to express that certain embodiments may include certain features, elements and / or steps, while other embodiments may not include certain features, elements and / or steps. Therefore, such conditional language is generally not intended to imply that one or more embodiments require each feature, element and / or step in any way.
[0103] In one aspect of the invention, the plurality of packages are stored in a plurality of boxes, and wherein the plurality of boxes are disposed in the vehicle.
[0104] In one aspect of the present invention, the vehicle information includes a vehicle geographic location, a vehicle speed, and a connection status with the server when the vehicle is traveling, and wherein the inventory information further includes storage information of each package in the plurality of boxes.
[0105] In one aspect of the invention, performing the predefined action comprises causing a box storing the parcel to move to a parcel unloading area of the vehicle.
[0106] In one aspect of the invention, generating the geo-fence includes generating the geo-fence based on a duration required to move the box to the package unloading area.
[0107] According to the present invention, a non-transitory computer-readable storage medium is provided, on which instructions are stored, which, when executed by a processor, cause the processor to: obtain inventory information associated with a plurality of packages from a server, and obtain vehicle information from a vehicle control unit of a vehicle, wherein the inventory information includes a plurality of delivery addresses associated with the plurality of packages; determine that a predefined condition is satisfied based on the inventory information and the vehicle information; generate a geo-fence for each delivery address based on the vehicle information in response to determining that the predefined condition is satisfied; determine that the vehicle has entered the geo-fence based on the vehicle information; and perform a predefined action in response to determining that the vehicle has entered the geo-fence.
Claims
1. A vehicle comprising: a transceiver configured to receive inventory information associated with a plurality of packages from a server, wherein the inventory information includes a plurality of delivery addresses associated with the plurality of packages; a control unit configured to determine vehicle information; as well as a processor communicatively coupled to the transceiver and the control unit, wherein the processor is configured to: obtaining the inventory information and the vehicle information; determining that a predefined condition is satisfied based on the inventory information and the vehicle information; generating a geo-fence for each delivery address based on the vehicle information in response to determining that the predefined condition is satisfied; determining, based on the vehicle information, that the vehicle has entered the geo-fence; as well as A predefined action is performed in response to determining that the vehicle has entered the geo-fence.
2. The vehicle of claim 1, wherein the plurality of packages are stored in a plurality of boxes, and wherein the plurality of boxes are disposed in the vehicle.
3. The vehicle of claim 2, wherein the vehicle information includes a vehicle geographic location, a vehicle speed, and a connection status with the server when the vehicle is traveling, and wherein the inventory information further includes storage information of each package in the plurality of boxes.
4. The vehicle of claim 3, further comprising: Package unloading area; as well as A box mover unit is configured to move a box storing the parcels to the parcel unloading area.
5. The vehicle of claim 4, wherein the predefined action includes activating the box mover unit to move the box to the package unloading area.
6. The vehicle of claim 4, wherein the processor is further configured to generate the geo-fence based on a duration required for the box mover unit to move the box to the package unloading area.
7. The vehicle of claim 3, wherein the processor is further configured to generate the geo-fence based on an average vehicle speed over a vehicle delivery route, and wherein a size of each of the plurality of geo-fences associated with the plurality of delivery addresses is the same.
8. The vehicle of claim 3, wherein the inventory information further includes a preset travel route of the vehicle.
9. The vehicle of claim 8, wherein the predefined condition is satisfied when the vehicle deviates from the preset travel route by more than a predefined distance threshold.
10. The vehicle of claim 3, further comprising a memory configured to store the inventory information.
11. The vehicle of claim 10, wherein the predefined condition is satisfied when the connection status indicates that the connection with the server is lost.
12. The vehicle of claim 11, wherein the processor is further configured to: updating the inventory information when a package in the plurality of packages is delivered; and The updated inventory information is stored in the memory.
13. The vehicle of claim 12, wherein the processor is further configured to transmit the updated inventory information to the server when the connection with the server is restored.
14. The vehicle of claim 1, wherein the processor is further configured to generate the geo-fence for the delivery address based on a distance of the delivery address from adjacent delivery addresses on a vehicle delivery route.
15. A method for facilitating delivery of a plurality of packages stored in a vehicle, the method comprising: obtaining, by a processor, inventory information associated with the plurality of packages from a server and obtaining vehicle information from a vehicle control unit, wherein the inventory information includes a plurality of delivery addresses associated with the plurality of packages; determining, by the processor, based on the inventory information and the vehicle information, that a predefined condition is satisfied; generating, by the processor, a geo-fence for each delivery address based on the vehicle information in response to determining that the predefined condition is satisfied; determining, by the processor based on the vehicle information, that the vehicle has entered the geo-fence; as well as A predefined action is performed by the processor in response to determining that the vehicle has entered the geo-fence.