Detailed Description
Exemplary embodiments of the present invention are described below with reference to the accompanying drawings, in which various details of embodiments of the invention are included to assist understanding, and which are to be considered as merely exemplary. Accordingly, those of ordinary skill in the art will recognize that various changes and modifications of the embodiments described herein can be made without departing from the scope and spirit of the invention. Also, descriptions of well-known functions and constructions are omitted in the following description for clarity and conciseness.
It should be noted that the embodiments and features of the embodiments may be combined with each other without conflict.
Fig. 1 is a schematic main flow chart of an unmanned vehicle scheduling method according to a first embodiment of the present invention. The method of the embodiment of the invention can be executed by the unmanned vehicle dispatching device. As shown in fig. 1, the unmanned vehicle scheduling method according to the embodiment of the present invention includes:
step S101, after receiving notification information which is sent by an unmanned vehicle and used for indicating that the current queuing point is reached, judging whether the current queuing point is a destination point.
In an embodiment of the invention, a plurality of consecutive queuing points are provided in the vicinity of the destination point. For example, in an intelligent warehouse scenario, the destination point may be a pick point; in an intelligent restaurant scenario, the destination point may be a serving point (i.e., a point at which food is placed in the unmanned vehicle).
In an alternative embodiment, the notification information for indicating the arrival at the current queuing point may include: identification of the current queuing point. After receiving the notification information, the unmanned vehicle dispatching device can analyze the identifier of the current queuing point from the notification information, then compares the identifier of the current queuing point with the identifier of the destination point, and if the identifier of the current queuing point is consistent with the identifier of the destination point, confirms that the current queuing point is the destination point; if the two are not consistent, the current queuing point is determined not to be the destination point.
In another alternative embodiment, the notification information for indicating the arrival at the current queuing point may include: the position coordinates of the current queue point. After receiving the notification information, the unmanned vehicle dispatching device can analyze the position coordinate of the current queuing point from the notification information, then compares the position coordinate of the current queuing point with the position coordinate of the destination point, and if the position coordinate of the current queuing point is consistent with the position coordinate of the destination point, confirms that the current queuing point is the destination point; if the two are not consistent, the current queuing point is determined not to be the destination point.
And step S102, judging whether the next queuing point is in an idle state or not under the condition that the current queuing point is not the destination point.
In an optional embodiment, the unmanned vehicle scheduling device may determine an identifier of a next queuing point according to the analyzed identifier of the current queuing point, and then query a queuing point state information table according to the identifier of the next queuing point, so as to determine whether the next queuing point is in an idle state according to the queried state information of the next queuing point.
And step S103, sending a moving task for moving to the next queuing point to the unmanned vehicle under the condition that the next queuing point is in an idle state.
Wherein the moving task to the next queuing point may include: the position coordinates of the next queuing point. After receiving the moving task, the unmanned vehicle can immediately move to the next queuing point.
In the embodiment of the invention, by setting a plurality of queuing points, judging whether the current queuing point is a destination point and judging whether the next queuing point is in an idle state after receiving the notification information which is sent by the unmanned vehicle and used for indicating the arrival of the current queuing point, and sending the mobile task of moving to the next queuing point to the unmanned vehicle under the condition that the current queuing point is not the destination point and the next queuing point is in the idle state, the waiting unmanned vehicle can be effectively scheduled and managed, so that the unmanned vehicle can be immediately executed after receiving the mobile task, whether the front part of the unmanned vehicle is obstructed or not is not identified through hardware, and the requirement of the unmanned vehicle on a hardware identification function is reduced; meanwhile, the unmanned vehicle dispatching device sends the moving task to the unmanned vehicle after confirming that the next queuing point is idle, so that the unmanned vehicle does not need to keep the moving task for a long time, and the probability of the unmanned vehicle mistakenly triggering an exception handling scheme is reduced.
Fig. 2 is a schematic main flow chart of an unmanned vehicle scheduling method according to a second embodiment of the present invention. The method of the embodiment of the invention can be executed by the unmanned vehicle dispatching device. As shown in fig. 2, the unmanned vehicle scheduling method according to the embodiment of the present invention includes:
and step S201, receiving notification information which is sent by the unmanned vehicle and used for indicating the arrival of the current queuing point.
In an embodiment of the invention, a plurality of consecutive queuing points are provided in the vicinity of the destination point. For example, in an intelligent warehouse scenario, the destination point may be a pick point; in an intelligent restaurant scenario, the destination point may be a serving point (i.e., a point at which food is placed in the unmanned vehicle).
And step S202, judging whether the current queuing point is a destination point. If yes, go to step S204; if not, step S203 can be executed.
In an alternative embodiment, the notification information for indicating the arrival at the current queuing point may include: identification of the current queuing point. After receiving the notification information, the unmanned vehicle dispatching device can analyze the identifier of the current queuing point from the notification information, then compares the identifier of the current queuing point with the identifier of the destination point, and if the identifier of the current queuing point is consistent with the identifier of the destination point, confirms that the current queuing point is the destination point; if the two are not consistent, the current queuing point is determined not to be the destination point.
In another alternative embodiment, the notification information for indicating the arrival at the current queuing point may include: the position coordinates of the current queue point. After receiving the notification information, the unmanned vehicle dispatching device can analyze the position coordinate of the current queuing point from the notification information, then compares the position coordinate of the current queuing point with the position coordinate of the destination point, and if the position coordinate of the current queuing point is consistent with the position coordinate of the destination point, confirms that the current queuing point is the destination point; if the two are not consistent, the current queuing point is determined not to be the destination point.
Step S203, determining the identifier of the next queuing point according to the identifier of the current queuing point, and then inquiring a queuing point state information table according to the identifier of the next queuing point so as to judge whether the next queuing point is in an idle state according to the state information of the next queuing point obtained by inquiry. If the state is idle, step S205 can be executed; if not, step S206 can be performed.
In an alternative embodiment, the queuing point state information table may include: a state identification field. When the state identification field of the next queuing point is a first value, indicating that the state identification field is in a non-idle state; and when the state identification field of the next queuing point is a second value, indicating that the next queuing point is in an idle state. For example, assuming that the sequence of the queuing points is { a, B, C, D, E }, the analyzed identifier of the current queuing point is "a", the unmanned vehicle dispatching device can determine the identifier of the next queuing point to be "B" according to the identifier "a" of the current queuing point, and then query the status information table of the queuing point according to the identifier "B" of the next queuing point, so as to query the value of the status identifier field of the B point. If the state identification field of the point B is a first value, judging that the point B is in a non-idle state; and if the state identification field of the point B is the second value, judging that the point B is in an idle state.
In another alternative embodiment, the queuing point state information table may include: and the unmanned vehicle identification field associated with the queuing point. When the value of the unmanned vehicle identification field associated with the next queuing point is not null, indicating that the unmanned vehicle identification field is in a non-idle state; and when the value of the unmanned vehicle identification field associated with the next queuing point is empty, indicating that the unmanned vehicle identification field is in an idle state.
And step S204, ending.
And S205, sending a moving task for moving to the next queuing point to the unmanned vehicle. After step S205, step S207 may be performed.
Wherein the moving task to the next queuing point may include: the position coordinates of the next queuing point. After receiving the moving task, the unmanned vehicle can immediately move to the next queuing point.
And S206, sending information for indicating the unmanned vehicle to wait in place to the unmanned vehicle.
In the embodiment of the invention, after the next queuing point is judged to be in a non-idle state, the information for indicating in-place waiting is sent to the unmanned vehicle, so that the unmanned vehicle does not need to continuously identify whether the next queuing point has obstacles through hardware during waiting, and the requirement on hardware equipment is reduced.
Step S207, updating the state identification field of the next queuing point in the queuing point state information table to a first value, where the first value indicates that the next queuing point is in a non-idle state.
Through step S207, the queuing point state information table can be updated in real time, which is further helpful for improving the reliability of the scheduling method.
In the embodiment of the invention, the waiting unmanned vehicle can be effectively scheduled and managed through the steps, so that the unmanned vehicle can immediately execute after receiving the moving task without identifying whether the front part has obstacles through hardware, and the requirement of the unmanned vehicle on the hardware identification function is reduced; meanwhile, the unmanned vehicle dispatching device sends the moving task to the unmanned vehicle after confirming that the next queuing point is idle, so that the unmanned vehicle does not need to keep the moving task for a long time, and the probability of the unmanned vehicle mistakenly triggering an exception handling scheme is reduced.
FIG. 3 is a schematic flow chart of a food delivery AGV scheduling method according to a third embodiment of the present invention. In the embodiment of the invention, the unmanned vehicle is a food delivery AGV, and the unmanned vehicle scheduling device is a food delivery system. As shown in fig. 3, the food delivery AGV scheduling method according to the embodiment of the present invention includes:
and S301, the food delivery system sends a task to the food delivery AGV, and the task enables the food delivery AGV to move to the current queuing point.
And step S302, receiving and executing the task by the food delivery AGV, and reaching the current queuing point.
And step S303, the food delivery AGV sends notification information for indicating that the current queuing point is reached to the food delivery system. After step S303, step S304 may be performed.
And step S304, the food delivery system judges whether the current queuing point is a serving point. If yes, go to step S306; if not, step S305 can be executed.
In an alternative embodiment, the notification information for indicating the arrival at the current queuing point may include: identification of the current queuing point. After receiving the notification information, the food delivery system can analyze the identifier of the current queuing point from the notification information, then compare the identifier of the current queuing point with the identifier of the serving point, and if the two identifiers are consistent, determine that the current queuing point is the serving point; if the two are not consistent, the current queuing point is determined not to be the serving point.
In another alternative embodiment, the notification information for indicating the arrival at the current queuing point may include: the position coordinates of the current queue point. After receiving the notification information, the food delivery system can analyze the position coordinate of the current queuing point from the notification information, then compare the position coordinate of the current queuing point with the position coordinate of the serving point, and if the position coordinate of the current queuing point is consistent with the position coordinate of the serving point, determine that the current queuing point is the serving point; if the two are not consistent, the current queuing point is determined not to be the serving point.
Step S305, the food delivery system judges whether the next queuing point is in an idle state. If yes, go to step S308; if not, step S307 can be executed.
In this step, the food delivery system may determine the identifier of the next queuing point according to the identifier of the current queuing point, and then query the queuing point state information table according to the identifier of the next queuing point, so as to determine whether the next queuing point is in an idle state according to the state information of the next queuing point obtained by the query. Specifically, the queuing point state information table includes: a state identification field; when the state identification field of the next queuing point is a first value, indicating that the state identification field is in a non-idle state; and when the state identification field of the next queuing point is a second value, indicating that the next queuing point is in an idle state.
And S306, the food delivery AGV waits at the food serving point.
And step S307, the meal delivery AGV waits at the current queuing point.
And S308, the food delivery system sends a task to the food delivery AGV, and the food delivery AGV moves to the next queuing point.
Further, the method of the embodiment of the present invention may further include: while executing step S308, the food delivery system updates the state identification field of the next queuing point in the queuing point state information table to a first value, where the first value indicates that the next queuing point is in a non-idle state.
In the embodiment of the invention, the waiting food delivery AGV can be effectively scheduled and managed through the steps, so that the food delivery AGV can immediately execute after receiving the moving task, whether the front obstacle exists or not is not required to be identified through hardware, and the requirement of the food delivery AGV on a hardware identification function is reduced; meanwhile, the moving task is sent to the food delivery AGV after the food delivery system confirms that the next queuing point is idle, so that the food delivery AGV does not need to keep the moving task for a long time, and the probability that the food delivery AGV triggers an abnormal processing scheme by mistake is reduced.
FIG. 4 is a partial flowchart of a food delivery AGV scheduling method according to a fourth embodiment of the present invention. The food delivery AGV scheduling method of the embodiment of the invention comprises the flow shown in FIG. 4 in addition to the flow shown in FIG. 3. As shown in fig. 4, this part of the flow includes:
step S401, the food delivery system receives a food delivery request.
And step S402, the food delivery system judges whether the food serving point has a food delivery AGV. If yes, go to step S403; if not, step S404 can be executed.
In this step, the food delivery system can obtain the state of the serving point by querying the queuing point state information table. When the serving point is in an idle state, the fact that the serving point does not stop for the AGV is indicated; when the serving point is in a non-idle state, the fact that the serving AGV stays at the serving point is indicated.
Step S403, the food delivery system judges whether available slots exist on the food delivery AGV located at the food serving point. If yes, go to step S407; if not, step S405 can be executed.
In this step, the food delivery system can find out whether the food delivery AGV of the food delivery order has an available slot by querying the slot information table of the food delivery AGV.
And S404, the food delivery system waits for other food delivery AGVs to reach the food serving point.
Step S405, the meal delivery system sends a task for enabling the meal delivery AGV to leave the serving point. After step S405, step S406 may be performed.
And step S406, the food delivery AGV receives and executes the task and leaves the food serving point.
And step S407, the food delivery system sends a food delivery task to a food delivery AGV positioned at the food serving point. After step S407, step S408 may be performed.
Wherein the meal delivery task may comprise: task number, dining table number, slot number.
And step S408, the meal delivery AGV receives and executes the meal delivery task. After step S408, step S409 may be performed.
And step S409, the food delivery AGV sends information used for indicating the completion of food delivery to the food delivery system.
And step S410, after receiving the information for indicating the completion of meal delivery, the meal delivery system sends the task of moving to the initial queuing point to the meal delivery AGV.
In the embodiment of the invention, the food delivery AGV can be effectively scheduled and managed through the flow, and automatic food delivery is realized. Moreover, the method provided by the embodiment of the invention can reduce the requirement of the food delivery AGV on the hardware identification function, meanwhile, the food delivery AGV does not need to keep the moving task for a long time, and the probability that the food delivery AGV triggers the abnormal processing scheme by mistake is reduced.
Fig. 5 is a schematic block diagram of a fifth embodiment of the unmanned vehicle dispatching device according to the invention. As shown in fig. 5, an unmanned vehicle dispatching device 500 according to an embodiment of the present invention includes: a first judging module 501, a second judging module 502 and a sending module 503.
The first judging module 501 is configured to, after receiving notification information sent by an unmanned vehicle and used for indicating that a current queuing point is reached, judge whether the current queuing point is a destination point.
In an embodiment of the invention, a plurality of consecutive queuing points are provided in the vicinity of the destination point. For example, in an intelligent warehouse scenario, the destination point may be a pick point; in an intelligent restaurant scenario, the destination point may be a serving point (i.e., a point at which food is placed in the unmanned vehicle).
In an alternative embodiment, the notification information for indicating the arrival at the current queuing point may include: identification of the current queuing point. After receiving the notification information, the first determining module 501 may analyze the identifier of the current queuing point from the notification information, compare the identifier of the current queuing point with the identifier of the destination point, and if the two identifiers are consistent, determine that the current queuing point is the destination point; if the two are not consistent, the current queuing point is determined not to be the destination point.
In another alternative embodiment, the notification information for indicating the arrival at the current queuing point may include: the position coordinates of the current queue point. After receiving the notification message, the first determining module 501 may analyze the position coordinate of the current queuing point from the notification message, then compare the position coordinate of the current queuing point with the position coordinate of the destination point, and if the position coordinate of the current queuing point is consistent with the position coordinate of the destination point, determine that the current queuing point is the destination point; if the two are not consistent, the current queuing point is determined not to be the destination point.
A second determining module 502, configured to determine whether a next queuing point is in an idle state when the current queuing point is not a destination point.
In an optional embodiment, the second determining module 502 may determine an identifier of a next queuing point according to the analyzed identifier of the current queuing point, and then query the queuing point state information table according to the identifier of the next queuing point, so as to determine whether the next queuing point is in an idle state according to the queried state information of the next queuing point.
Wherein the queuing point state information table includes: a state identification field; when the state identification field of the next queuing point is a first value, indicating that the state identification field is in a non-idle state; and when the state identification field of the next queuing point is a second value, indicating that the next queuing point is in an idle state.
A sending module 503, configured to send a moving task to the unmanned vehicle to the next queuing point when the next queuing point is in an idle state.
Further, the apparatus of the embodiment of the present invention may further include: and updating the module. And the updating module is used for updating the state identification field of the next queuing point in the queuing point state information table to a first value while the sending module sends the moving task moving to the next queuing point to the unmanned vehicle. Wherein the first value indicates that the next queuing point is in a non-idle state.
The sending module 503 may be further configured to send, to the unmanned vehicle, information for instructing the unmanned vehicle to wait in place when the next queuing point is in a non-idle state.
In the embodiment of the invention, whether the current queuing point is a destination point and whether the next queuing point is in an idle state are judged through a first judging module and a second judging module; when the current queuing point is not a destination point and the next queuing point is in an idle state, a sending module sends a mobile task moving to the next queuing point to the unmanned vehicle, so that the waiting unmanned vehicle can be effectively scheduled and managed, the unmanned vehicle can immediately execute after receiving the mobile task, whether a barrier exists in the front or not does not need to be identified through hardware, and the requirement of the unmanned vehicle on a hardware identification function is reduced; meanwhile, the moving task is sent to the unmanned vehicle after the next queuing point is determined to be idle, so that the unmanned vehicle does not need to keep the moving task for a long time, and the probability of the unmanned vehicle triggering an abnormal processing scheme by mistake is reduced.
Fig. 6 illustrates an exemplary system architecture 600 to which the unmanned vehicle scheduling method or apparatus of an embodiment of the present invention may be applied.
As shown in fig. 6, the system architecture 600 may include unmanned vehicles 601, 602, 603, a network 604, and a server 605. Network 604 is used to provide a medium for communication links between unmanned vehicles 601, 602, 603 and server 605. Network 604 may include various types of connections, such as wire, wireless communication links, or fiber optic cables, to name a few.
A user may interact with the unmanned vehicles 601, 602, 603 over the network 604 using a server 605 to receive or send messages, etc. The unmanned vehicles 601, 602, 603 may be installed with system modules for interacting with the unmanned vehicle dispatching device. In addition, the unmanned vehicle may be further equipped with other devices, such as a camera, a driving device, various sensors, and the like.
The server 605 may be a server that provides various services, such as a management server that schedules and manages an unmanned vehicle. The management server may transmit a movement task or the like to the unmanned vehicle to perform scheduling management on the unmanned vehicle.
It should be noted that the unmanned vehicle scheduling method provided by the embodiment of the present invention is generally executed by the server 605, and accordingly, the unmanned vehicle scheduling apparatus is generally disposed in the server 605.
It should be understood that the number of unmanned vehicles, networks, and servers in fig. 6 is merely illustrative. There may be any number of terminal devices, networks, and servers, as desired for implementation.
Referring now to FIG. 7, shown is a block diagram of a computer system 700 suitable for use with the electronic device implementing an embodiment of the present invention. The electronic device shown in fig. 7 is only an example, and should not bring any limitation to the functions and the scope of use of the embodiments of the present invention.
As shown in fig. 7, the computer system 700 includes a Central Processing Unit (CPU)701, which can perform various appropriate actions and processes in accordance with a program stored in a Read Only Memory (ROM)702 or a program loaded from a storage section 708 into a Random Access Memory (RAM) 703. In the RAM 703, various programs and data necessary for the operation of the system 700 are also stored. The CPU 701, the ROM 702, and the RAM 703 are connected to each other via a bus 704. An input/output (I/O) interface 705 is also connected to bus 704.
The following components are connected to the I/O interface 705: an input portion 706 including a keyboard, a mouse, and the like; an output section 707 including a display such as a Cathode Ray Tube (CRT), a Liquid Crystal Display (LCD), and the like, and a speaker; a storage section 708 including a hard disk and the like; and a communication section 709 including a network interface card such as a LAN card, a modem, or the like. The communication section 709 performs communication processing via a network such as the internet. A drive 710 is also connected to the I/O interface 705 as needed. A removable medium 711 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like is mounted on the drive 710 as necessary, so that a computer program read out therefrom is mounted into the storage section 708 as necessary.
In particular, according to the embodiments of the present disclosure, the processes described above with reference to the flowcharts may be implemented as computer software programs. For example, embodiments of the present disclosure include a computer program product comprising a computer program embodied on a computer readable medium, the computer program comprising program code for performing the method illustrated in the flow chart. In such an embodiment, the computer program can be downloaded and installed from a network through the communication section 709, and/or installed from the removable medium 711. The computer program performs the above-described functions defined in the system of the present invention when executed by the Central Processing Unit (CPU) 701.
It should be noted that the computer readable medium shown in the present invention can be a computer readable signal medium or a computer readable storage medium or any combination of the two. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples of the computer readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the present invention, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. In the present invention, however, a computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: wireless, wire, fiber optic cable, RF, etc., or any suitable combination of the foregoing.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams or flowchart illustration, and combinations of blocks in the block diagrams or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The modules described in the embodiments of the present invention may be implemented by software or hardware. The described modules may also be provided in a processor, which may be described as: a processor comprises a first judging module, a second judging module and a sending module. The names of these modules do not in some cases constitute a limitation on the module itself, and for example, the sending module may also be described as a "module that sends information to the unmanned vehicle".
As another aspect, the present invention also provides a computer-readable medium that may be contained in the apparatus described in the above embodiments; or may be separate and not incorporated into the device. The computer readable medium carries one or more programs which, when executed by a device, cause the device to perform the following: after receiving notification information which is sent by an unmanned vehicle and used for indicating that the current queuing point is reached, judging whether the current queuing point is a destination point; judging whether the next queuing point is in an idle state or not under the condition that the current queuing point is not the destination point; and sending a moving task for moving to the next queuing point to the unmanned vehicle under the condition that the next queuing point is in an idle state.
The above-described embodiments should not be construed as limiting the scope of the invention. Those skilled in the art will appreciate that various modifications, combinations, sub-combinations, and substitutions can occur, depending on design requirements and other factors. Any modification, equivalent replacement, and improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.