Disclosure of Invention
One object of the present invention is to improve the efficiency and success rate of order delivery for unmanned vehicles.
According to an embodiment of the present invention, there is provided an unmanned vehicle distribution method including: receiving a specified delivery time period of a user order; determining the weight of a user order according to the appointed distribution time period; and planning a delivery path according to the user order weight and the target address.
Optionally, determining the user order weight according to the specified delivery time period comprises: determining the type of the order according to the time length from the specified delivery time period to the current moment; and determining the weight of the user orders in each order type according to the time length of the specified delivery time period and/or the time length of the specified delivery time period from the current moment, wherein the weight is larger when the time length of the specified delivery time period is shorter, and the weight is larger when the time length of the specified delivery time period from the current moment is shorter.
Optionally, the determining the order type according to the time length of the specified delivery time period from the current time includes: if the time length from the specified distribution time period to the current moment is less than a preset time length threshold, determining the user order as an order to be distributed; if the time length of the specified distribution time period from the current time is not less than the preset time threshold or the specified distribution time period is vacant, determining that the user order is a standby order; if the specified delivery time period is not in the same day, determining that the user order is an invalid order; the weight of the order to be delivered > the weight of the standing order > the weight of the invalid order.
Alternatively, the distribution path is generated by solving weighted TSP (traveling Salesman Problem) according to a greedy algorithm, a modified genetic algorithm, or an annealing algorithm.
Optionally, the method further comprises: receiving order distribution change information from a user, wherein the order distribution change information comprises a specified distribution time period and/or a specified distribution address; updating the user order weight according to the appointed distribution time period; and updating the distribution path according to the updated user order weight and/or the designated distribution address so that the unmanned vehicle can distribute according to the updated distribution path.
Optionally, updating the delivery path according to the specified delivery time period and the specified delivery address comprises: updating the order type according to the appointed distribution time period; updating the weight of the user orders in each order type according to the updated time length of the specified delivery time period and/or the updated time length of the specified delivery time period from the current moment; and updating the delivery path according to the updated user order weight and the specified delivery address.
Optionally, the method further comprises: the server encrypts the distribution path and sends the encrypted distribution path to the unmanned vehicle; and the unmanned vehicles are delivered according to the delivery paths.
By the method, the delivery route can be generated according to the delivery time period specified by the user and the specified delivery address, so that the waiting time of the unmanned vehicle at the user is shortened as much as possible, and the delivery efficiency and the delivery success rate are improved.
According to another embodiment of the present invention, there is provided an unmanned vehicle control server including: the delivery time receiving module is used for receiving the appointed delivery time period of the user order; the weight determining module is used for determining the weight of the user order according to the appointed distribution time period; and the path determining module is used for planning a delivery path according to the user order weight and the target address.
Optionally, the weight determination module comprises: the order type determining unit is used for determining the order type according to the time length of the specified delivery time period from the current moment; and the weight determining unit is used for determining the weight of the user orders in each order type according to the time length of the specified distribution time period and/or the time length of the specified distribution time period from the current time, wherein the weight is larger when the time length of the specified distribution time period is shorter, and the weight is larger when the time length of the specified distribution time period from the current time is shorter.
Optionally, the order type determination unit is configured to: if the time length from the specified distribution time period to the current moment is less than a preset time length threshold, determining the user order as an order to be distributed; if the time length of the specified distribution time period from the current time is not less than the preset time threshold or the specified distribution time period is vacant, determining that the user order is a standby order; if the specified delivery time period is not in the same day, determining that the user order is an invalid order; the weight of the order to be delivered > the weight of the standing order > the weight of the invalid order.
Optionally, the path determination module is configured to generate the delivery paths by solving weighted TSPs according to a greedy algorithm, an improved genetic algorithm, or an annealing algorithm.
Optionally, the delivery time receiving module is further configured to receive order delivery change information from the user, where the order delivery change information includes a specified delivery time period and/or a specified delivery address; the weight determining module is also used for updating the user order weight according to the appointed distribution time period; the route determining module is further used for updating the distribution route according to the updated user order weight and/or the appointed distribution address, so that the unmanned vehicle can distribute according to the updated distribution route.
Optionally, the order type determining unit is further configured to update the order type according to the specified delivery time period and/or the specified delivery address; the weight determining unit is further used for updating the weight of the user order in each order type according to the updated time length of the specified delivery time period and/or the updated time length of the specified delivery time period from the current moment; and the path determining module is used for updating the distribution path according to the updated user order weight and the appointed distribution address.
Optionally, the method further comprises: and the distribution path sending module is used for encrypting the distribution path and then sending the encrypted distribution path to the unmanned vehicle.
The server can generate the delivery route according to the delivery time period specified by the user and the specified delivery address, so that the waiting time of the unmanned vehicle at the user is shortened as much as possible, and the delivery efficiency and the delivery success rate of the unmanned vehicle are improved.
According to a further embodiment of the present invention, there is provided an unmanned vehicle distribution system including any one of the unmanned vehicle distribution servers mentioned above; and the unmanned vehicle is used for distributing according to the distribution route.
The system can generate a distribution route according to a distribution time period specified by a user and a distribution address, and the unmanned vehicle can distribute according to the distribution route, so that the waiting time at the user can be shortened as much as possible, and the distribution efficiency and the distribution success rate of the unmanned vehicle are improved.
According to still another embodiment of the present invention, there is provided an unmanned vehicle distribution system including: a memory; and a processor coupled to the memory, the processor configured to perform any of the above mentioned methods of unmanned vehicle distribution based on instructions stored in the memory.
In such a system, the unmanned vehicles can be delivered according to the delivery route, and the waiting time at the user can be shortened as much as possible, thereby improving the delivery efficiency and delivery success rate of the unmanned vehicles.
Further, according to an embodiment of the present invention, a computer readable storage medium is proposed, having stored thereon computer program instructions, which when executed by a processor, implement the steps of any of the methods for unmanned vehicle distribution.
Such a computer-readable storage medium performs path planning and cargo delivery according to the above-mentioned method, which can minimize the waiting time at the user, thereby improving the efficiency and success rate of unmanned vehicle delivery.
Detailed Description
The technical solution of the present invention is further described in detail by the accompanying drawings and embodiments.
A flow chart of one embodiment of the unmanned vehicle distribution method of the present invention is shown in fig. 1.
In step 101, specified delivery period information of a user order from a user is received. In one embodiment, user order information may be received, the order information including a specified delivery time period. In one embodiment, the user may be prompted to specify a time period for delivery when generating the user order; in another embodiment, a delivery message may be sent to the user before delivery, and feedback information of the user may be received, where the feedback information includes a specified delivery time period of the user and may also include a specified delivery address.
In step 102, a delivery path is planned according to the specified delivery time period and the target address, and the unmanned vehicle delivers according to the delivery path. In one embodiment, the common address may be determined as the target address based on the user account information, and the user may be required to provide a specified delivery address. In one embodiment, the delivery route may be generated according to the length of the specified delivery time period from the current time period and the length of the specified delivery time period, for example, if the specified delivery time period is shorter than the current time period, the delivery is prioritized; if the time length of the designated delivery time period is short, the delivery is preferentially carried out in the designated delivery time period.
In the prior art, only the receiving addresses are considered in the distribution path planning process, an optimal path passing through all the receiving addresses is planned, and the difference of the receiving time of each receiving point is not considered, for example, when an unmanned vehicle distributes to a user D, the user D is not at home, and the user D can go home at a later time, so that the unmanned vehicle needs to wait for the user D or preferentially distribute to the next user, and then distributes to the user D at a later time, so that the distribution path at the moment is not optimal, namely, the optimal path obtained by the initial calculation of the master control platform is wrong, so that the distribution efficiency is low, and the distribution path is increased.
The unmanned vehicle delivery method can generate a delivery path according to the delivery time period specified by the user and the specified delivery address, thereby shortening the waiting time of the unmanned vehicle at the user as much as possible and improving the delivery efficiency and the delivery success rate. In addition, the goods can be further received by the user at the appointed time, and the user experience is improved.
In one embodiment, the user order weight of each user order may be configured according to a user-specified delivery time period, thereby facilitating the generation of the delivery path. A flowchart of one embodiment of determining a distribution route in the unmanned vehicle distribution method of the present invention is shown in fig. 2.
In step 201, the order type is determined based on the length of time the specified delivery time period is from the current time. In one embodiment, if the time length of the specified delivery time period from the current time is less than the predetermined time threshold, the user order is determined to be the order to be delivered. The predetermined duration threshold may be set according to the size of the distribution area, the road condition or the actual demand, and if the distribution area is large, the predetermined duration threshold is large, and the like. And if the time length from the specified distribution time period to the current time is not less than the preset time threshold or the user does not specify the distribution time period, determining that the user order is a standby order. And if the specified delivery time period is not in the same day, determining that the user order is an invalid order. In one embodiment, if the order has been dispatched, the user order is determined to be a dispatched order.
In step 202, the weights of the user orders in the order types are determined according to the time length of the specified delivery time period and the time length of the specified delivery time period from the current time. In one embodiment, weight intervals may be configured for different order types, and the weight intervals follow the rule that the weight of the order to be delivered > the weight of the standby order > the weight of the invalid order, for example, the weight of the order to be delivered is between 1 and 1.5, the weight of the standby order is between 0 and 1, the weight of the invalid order is 0, and the weight of the order already delivered is 0; each order is then assigned a weight: the weight of the order to be delivered follows the rule that the shorter the time length of the specified delivery time period, the larger the weight; the weighting for the standing-by order follows the rule that the shorter the length of the specified delivery time period from the current time, the greater the weighting.
In step 203, a delivery path is planned according to the user order weight and the target address. In one embodiment, the distribution path can be obtained by calculating according to the requirements of the shortest path, the shortest time, the optimal road condition and the like. In one embodiment, a weight is added when solving the TSP based on the target address, i.e., to solve the weighted TSP problem. In one embodiment, the calculation may be performed using a greedy algorithm, a modified genetic algorithm, an annealing algorithm, or the like.
By the method, the weight can be distributed to the user order, and the distribution path planning is carried out according to the weight, so that the distribution path is ensured to meet the requirement of the user for specifying the distribution time period, and the distribution efficiency and the distribution success rate are improved.
In one embodiment, order delivery change information may be sent when a user needs to change a specified delivery address or time period. A flow chart of another embodiment of the unmanned vehicle distribution method of the present invention is shown in fig. 3.
In step 301, a specified delivery time period for a user order is received.
In step 302, a delivery route is planned according to the specified delivery time period and/or the specified delivery address, and the unmanned vehicle delivers according to the delivery route.
In step 303, it is determined whether order delivery change information is received from the user. If the order distribution change information is received, go to step 304; if the order delivery change information is not received, step 303 is executed to wait for the order delivery change information.
In step 304, order delivery change information is received, wherein the order delivery change information includes a specified delivery time period and/or a specified delivery address.
In step 305, the delivery route is recalculated based on the specified delivery time period and/or the specified delivery address in the order delivery modification information, an updated delivery route is generated, and the unmanned vehicle delivers according to the updated delivery route.
In the prior art, when the user is not at the target address, the user may choose not to distribute so as to avoid distribution failure, but only skip the user to continue to distribute to the next user, and the global optimal path planning is not performed again. For global path planning, adding a destination point or subtracting a destination point may cause the global optimal delivery path to change significantly. In addition, in the prior art, global path planning cannot be performed again on an event that a user changes a delivery address and delivery time.
Through the method in the embodiment of the invention, after the order distribution change information of the user is received, the distribution path planning can be carried out again aiming at the updated specified distribution time period and the specified distribution address, the type and the weight of the user order can be determined again in the embodiment, and the distribution path is updated, so that the conditions that the user modifies the distribution address and the distribution time can be flexibly dealt with, and the distribution success rate and the distribution efficiency are further improved.
In an embodiment, as time passes, the time length of a part of the standby orders from the current time is less than a predetermined time threshold, at this time, the type of the user order is modified to be an order to be dispensed, the weight of the user order is determined again, and path planning is performed again according to the updated weight.
By the method, the order type of the user can be updated in real time, and the order can be distributed in time.
A flow chart of yet another embodiment of the unmanned vehicle distribution method of the present invention is shown in fig. 4.
In step 401, the unmanned vehicle is full of the goods to be delivered, and the user numbers (for example, m users) of the loaded goods are encrypted by the public key encryption RSA algorithm and then uploaded to the server.
In step 402, the server obtains m user numbers of the orders to be delivered, obtains the address coordinates of each delivery target by searching the database, and marks m target addresses in the map.
In step 403, the server sends a delivery message (which may include but is not limited to short message, application notification, link push, etc.) to the receiving user of the order to be delivered, and the user may feed back information required by the server through the link in the message or directly reply the message, which may include whether the receiving is available at this time, which time period the receiving is available, where the receiving is available, etc.; the user may also change status in real time, such as changing to current non-availability, modifying a specifiable delivery time period, specifying a delivery address, and so forth.
In step 404, after the server sends the delivery message for a period of time T to reserve sufficient feedback time for the user, n targets (n is less than or equal to m) that can be currently received are obtained, and all n orders are marked as the orders to be delivered. The rest m-n orders are marked as standby states; if there is user feedback that the order cannot be received today, the order is marked as an invalid order.
In step 405, the server determines a user order weight according to the type of the user order and the specified delivery time period. For example: the weight of the n valid types of user orders is given between [1,1.5], where a shorter specified delivery period for the target represents a higher demand for the order to be received as soon as possible, and a higher weight. m-n orders in standby mode have a time weight of [0.05.0.1], wherein the closer the current time is to the designated delivery time slot of the order, the greater the weight. The weight of orders in invalid and completed states is 0, regardless of the delivery.
In step 406, the server calculates an optimal path Lo in the global map according to the weights, target addresses and assigned delivery addresses of all orders, and sends the path to the unmanned vehicle remotely. The unmanned vehicles are distributed according to the path Lo. The optimal path Lo is obtained by an algorithm such as a genetic algorithm according to addresses of different weights. And encrypting the distribution path, such as the optimal path Lo, and then sending the encrypted distribution path to the unmanned vehicle.
In step 407, the unmanned vehicle performs delivery according to the received delivery route, and in the delivery process, the unmanned vehicle feeds back the current position coordinates and the motion state of the unmanned vehicle in real time.
In step 408, after the delivery completes a single order, the user order is marked as a completed order.
In step 409, whether an order of the standby type or the to-be-delivered type exists or not is determined, and if yes, step 410 is executed; if not, the current delivery is completed, and step 413 is executed.
In step 410, as time changes, the status of the user may change, such as receiving a user delivery modification message. If the server receives the user distribution change information, step 411 is executed; if the user distribution change information is not received, step 407 is executed, and the unmanned vehicle continues to distribute according to the original distribution route.
In step 411, the server modifies the user order type according to the user delivery modification information, determines the user order weight, and may also update the current position of the unmanned vehicle.
In step 412, the server recalculates a new optimal path Lx in the global map based on the current position of the unmanned vehicle, the specified delivery address, and the user order weight.
In step 413, the delivery task is complete and the server plans a return path for the unmanned vehicle.
In step 414, the unmanned vehicle receives the encrypted return path and returns according to the return path.
By the method, the weight can be distributed to the user order according to the delivery time period specified by the user, the delivery path is generated according to the weight and the specified delivery address, the order delivery change information can be received in the order delivery process, and the delivery path planning is carried out again according to the updated specified delivery time period and the specified delivery address, so that the waiting time of the unmanned vehicle at the user is shortened as much as possible, and the delivery efficiency and the delivery success rate are improved.
A schematic diagram of one embodiment of the unmanned vehicle control server of the present invention is shown in fig. 5. The delivery time receiving module 501 can receive the specified delivery time period information of the user order from the user. In one embodiment, user order information may be received, the order information including a specified delivery time period. In one embodiment, the user may be prompted to specify a time period for delivery when generating the user order; in another embodiment, a delivery message may be sent to the user before delivery, and feedback information of the user may be received, where the feedback information includes a specified delivery time period of the user and may also include a specified delivery address. The weight determination module 502 can configure the user order weight of each user order according to the user-specified delivery time period, and the path determination module 503 can plan the delivery path according to the user order weight and the target address. In one embodiment, the distribution route may be calculated by combining the shortest route, the shortest time, the optimal road condition, or other evaluation criteria requirements. In one embodiment, the delivery route may be generated according to the length of the specified delivery time period from the current time period and the length of the specified delivery time period, for example, if the specified delivery time period is shorter than the current time period, the delivery is prioritized; if the time length of the designated delivery time period is short, the delivery is preferentially carried out in the designated delivery time period. In one embodiment, the path determination module 503 may use a greedy algorithm, an improved genetic algorithm, an annealing algorithm, or the like to calculate the weighted TSP problem by adding a weight when solving the TSP according to the target address.
The server can distribute the weight to the user order and further carry out distribution path planning according to the weight, so that the distribution path is generated according to the delivery time period specified by the user and the specified distribution address, the waiting time of the unmanned vehicle at the user is shortened as much as possible, and the distribution efficiency and the distribution success rate of the unmanned vehicle are improved.
A schematic diagram of one embodiment of the weight determination module in the unmanned vehicle control server of the present invention is shown in fig. 6. The order type determination unit 601 can determine the order type according to the time length of the specified delivery time period from the current time. In one embodiment, if the time length of the specified delivery time period from the current time is less than the predetermined time threshold, the user order is determined to be the order to be delivered. And if the time length from the specified distribution time period to the current time is not less than the preset time threshold or the user does not specify the distribution time period, determining that the user order is a standby order. And if the specified delivery time period is not in the same day, determining that the user order is an invalid order. In one embodiment, if the order has been dispatched, the user order is determined to be a dispatched order. The weight determination unit 602 can determine the weight of the user order in each order type according to the time length of the specified delivery time period and the time length of the specified delivery time period from the current time. In one embodiment, weight intervals may be configured for different order types, and the weight intervals follow the rule that the weight of the order to be delivered > the weight of the standby order > the weight of the invalid order, for example, the weight of the order to be delivered is between 1 and 1.5, the weight of the standby order is between 0 and 1, the weight of the invalid order is 0, and the weight of the order already delivered is 0; each order is then assigned a weight: the weight of the order to be delivered follows the rule that the shorter the time length of the specified delivery time period, the larger the weight; the weighting for the standing-by order follows the rule that the shorter the length of the specified delivery time period from the current time, the greater the weighting.
The server can divide the orders into types and then determine the weight for each type of order, so that the order priority delivery within the preset time length threshold is guaranteed, the delivery efficiency and success rate are further improved, and the delivery reliability of the unmanned vehicle is improved.
In one embodiment, the delivery time receiving module 501 can also receive order delivery change information from a user, wherein the order delivery change information includes a specified delivery time period and/or a specified delivery address. The weight determination module 502 can also update the user order weight of each user order according to the delivery time period specified by the user, and the path determination module 503 can update the delivery path according to the updated user order weight and the specified delivery address.
After receiving the order distribution change information of the user, the server can perform distribution path planning again for the updated specified distribution time period and the specified distribution address, and as in the foregoing embodiment, the type and weight of the user order can be re-determined, and the distribution path can be updated, so that the situation that the user modifies the distribution address and the distribution time can be flexibly dealt with, and the distribution success rate and the distribution efficiency can be further improved.
In an embodiment, as time passes, the time length of a part of the standby orders from the current time is less than a predetermined time threshold, at this time, the type of the user order is modified to be an order to be dispensed, the weight of the user order is determined again, and path planning is performed again according to the updated weight. The server can update the order type of the user in real time, and is beneficial to timely delivery of the order.
A schematic diagram of another embodiment of the unmanned vehicle control server of the present invention is shown in fig. 7. The delivery time receiving module 701, the weight determining module 702, and the route determining module 703 may be any one of the delivery time receiving module, the weight determining module, and the route determining module described above, and the delivery route sending module 704 may encrypt the generated delivery route and send the encrypted delivery route to the corresponding unmanned vehicle in time.
The server can establish communication between the server and the unmanned vehicle, ensures that the unmanned vehicle can acquire real-time distribution path information in time and distributes according to the latest distribution path, and therefore distribution efficiency and distribution success rate of the unmanned vehicle are improved.
A schematic diagram of one embodiment of the unmanned vehicle delivery system of the present invention is shown in fig. 8. The unmanned vehicle control server 81 may be any one of the unmanned vehicle control servers mentioned above. The unmanned vehicle control server 81 generates a distribution route corresponding to the order according to the goods loaded by each of the unmanned vehicles 821-82 n, and sends the distribution route to the corresponding unmanned vehicle, and the unmanned vehicles complete order distribution according to the respective distribution routes.
The system can deliver according to the delivery route, and can shorten the waiting time at the user as much as possible, thereby improving the delivery efficiency and the delivery success rate of the unmanned vehicle.
A schematic structural view of another embodiment of the unmanned vehicle distribution system of the present invention is shown in fig. 9. The unmanned vehicle distribution system includes a memory 910 and a processor 920. Wherein: the memory 910 may be a magnetic disk, flash memory, or any other non-volatile storage medium. The memory is used for storing instructions in the corresponding embodiment of the unmanned vehicle distribution method. Coupled to memory 910, processor 920 may be implemented as one or more integrated circuits, such as a microprocessor or microcontroller. The processor 920 is configured to execute instructions stored in the memory, so as to enable the unmanned vehicle to deliver goods and improve delivery efficiency and success rate.
In one embodiment, as also shown in fig. 10, the unmanned vehicle distribution system 1000 includes a memory 1010 and a processor 1020. Processor 1020 is coupled to memory 1010 by a BUS 1030. The unmanned vehicle distribution system 1100 may also be coupled to an external storage device 1050 for accessing external data via a storage interface 1040, and may also be coupled to a network or another computer system (not shown) via a network interface 1060. And will not be described in detail herein.
In the embodiment, the data instructions are stored in the memory and processed by the processor, so that the efficiency and the success rate of unmanned vehicle distribution can be improved, and the user experience is improved.
In another embodiment, a computer readable storage medium has stored thereon computer program instructions which, when executed by a processor, implement the steps of the method in a corresponding embodiment of the unmanned vehicle distribution method. As will be appreciated by one skilled in the art, embodiments of the present invention may be provided as a method, apparatus, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of a computer program product embodied on one or more computer-usable non-transitory storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present invention is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
Thus far, the present invention has been described in detail. Some details well known in the art have not been described in order to avoid obscuring the concepts of the present invention. It will be fully apparent to those skilled in the art from the foregoing description how to practice the presently disclosed embodiments.
The method and apparatus of the present invention may be implemented in a number of ways. For example, the methods and apparatus of the present invention may be implemented by software, hardware, firmware, or any combination of software, hardware, and firmware. The above-described order for the steps of the method is for illustrative purposes only, and the steps of the method of the present invention are not limited to the order specifically described above unless specifically indicated otherwise. Furthermore, in some embodiments, the present invention may also be embodied as a program recorded in a recording medium, the program including machine-readable instructions for implementing a method according to the present invention. Thus, the present invention also covers a recording medium storing a program for executing the method according to the present invention.
Finally, it should be noted that: the above examples are only intended to illustrate the technical solution of the present invention and not to limit it; although the present invention has been described in detail with reference to preferred embodiments, those skilled in the art will understand that: modifications to the specific embodiments of the invention or equivalent substitutions for parts of the technical features may be made; without departing from the spirit of the present invention, it is intended to cover all aspects of the invention as defined by the appended claims.