Robot scheduling method, device, equipment, system and storage medium
By obtaining robot position and elevator status information, and determining the candidate elevator with the minimum time cost, the problem of robot waiting for elevators for a long time is solved and work efficiency is improved.
Patent Information
- Application Number
- CN202210509599.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-05-11
- Publication Date
- 2024-12-17
- Estimated Expiration
- 2042-05-11
AI Technical Summary
When the robot delivers across floors, random requests for elevators lead to long waiting times, which reduces work efficiency.
By obtaining robot position information and elevator status information, the candidate elevator with the minimum time cost is determined as the target elevator, and avoid waiting.
It effectively reduces the time the robot waits for the elevator and improves work efficiency.
Smart Images

Figure CN114742466B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of artificial intelligence technology, and in particular to a robot scheduling method, device, equipment, system and storage medium. Background Art
[0002] With the increase of labor costs and the development of artificial intelligence technology, the intelligence of robots is getting higher and higher. Robots can not only save a lot of labor costs, but also improve work efficiency. They are widely used in various fields such as cleaning, distribution, and security. When robots are used in distribution business, they usually need to deliver items across floors. When robots receive cross-floor delivery tasks, they usually need to take the elevator.
[0003] Currently, when there are multiple elevators that can meet the robot's elevator needs, the robot can usually only request a random elevator, which may cause the robot to wait for the elevator for a long time, reducing the robot's work efficiency. Summary of the invention
[0004] Based on this, it is necessary to provide a robot scheduling method, device, system, equipment, system and storage medium that can reduce the robot's waiting time for the elevator and improve the robot's work efficiency in response to the above technical problems.
[0005] In a first aspect, the present application provides a robot scheduling method. The robot scheduling method includes:
[0006] In response to the dispatch request instruction sent by the robot, obtain the robot's position information and the status information of the elevator to be dispatched;
[0007] Determine multiple candidate elevators according to the location information and the status information;
[0008] Determine the time cost for the robot to run to each candidate elevator;
[0009] The candidate elevator corresponding to the minimum time cost is determined as the target elevator for the robot to take.
[0010] In one embodiment, the state information includes the use state and the running direction, the position information includes the target floor and the current floor, and a plurality of candidate elevators are determined according to the position information and the state information, including:
[0011] Determine the elevator to be dispatched whose usage status is idle as an idle elevator;
[0012] A plurality of candidate elevators are determined from the idle elevators according to the target floor, the current floor and the running direction.
[0013] In one embodiment, a plurality of candidate elevators are determined from the idle elevators according to the target floor, the current floor and the running direction, including:
[0014] Determine the target direction of the robot based on the target floor and the current floor;
[0015] Determine an idle elevator moving in the same direction as the robot according to the target direction and the running direction;
[0016] Determine the idle elevator at rest according to the direction of travel;
[0017] An idle elevator that moves in the same direction as the robot and / or is stationary is determined as a candidate elevator.
[0018] In one embodiment, determining the time cost of the robot running to each candidate elevator according to the position information and the state information includes:
[0019] Obtaining a first preset speed of the robot and a second preset speed of each candidate elevator;
[0020] Determine the distance and floor difference between the robot and each candidate elevator based on the position information and status information;
[0021] The time cost for the robot to run to each candidate elevator is determined according to the first preset speed, the second preset speed, the distance and the floor difference.
[0022] In one of the embodiments, the time cost is calculated based on a preset formula;
[0023] Among them, the preset formula includes:
[0024] cost = n*d / a+m*c / b;
[0025] Among them, cost is the time cost, n is the preset distance weight, d is the distance, a is the first preset speed, m is the preset floor weight, c is the floor difference, and b is the second preset speed.
[0026] In one embodiment, after determining the candidate elevator corresponding to the minimum time cost as the target elevator to be taken by the robot, the scheduling method further includes:
[0027] Obtain the robot's position update information and the elevator status update information to be dispatched;
[0028] Update the time cost of the robot running to each candidate elevator according to the position update information and status update information;
[0029] Determine the target elevator based on the updated time cost.
[0030] In a second aspect, the present application further provides a robot scheduling device. The robot scheduling device includes:
[0031] An information acquisition module, used to obtain the position information of the robot and the status information of the elevator to be scheduled in response to the dispatch request instruction sent by the robot;
[0032] A candidate elevator determination module, used to determine multiple candidate elevators according to the location information and the state information;
[0033] A time cost determination module is used to determine the time cost of the robot running to each candidate elevator;
[0034] The target elevator determination module is used to determine the candidate elevator corresponding to the minimum time cost as the target elevator to be taken by the robot.
[0035] In a third aspect, the present application further provides a robot scheduling device. The robot scheduling device includes a memory and a processor, the memory stores a computer program, and the processor implements the following steps when executing the computer program:
[0036] In response to the dispatch request instruction sent by the robot, obtain the robot's position information and the status information of the elevator to be dispatched;
[0037] Determine multiple candidate elevators according to the location information and the status information;
[0038] Determine the time cost for the robot to run to each candidate elevator;
[0039] The candidate elevator corresponding to the minimum time cost is determined as the target elevator for the robot to take.
[0040] In a fourth aspect, the present application also provides a robot scheduling system, the scheduling system comprising:
[0041] A robot, used to output dispatch request instructions and location information;
[0042] The elevator to be dispatched is used to carry the robot and output status information; and
[0043] A dispatching device for the robot described above.
[0044] In a fifth aspect, the present application further provides a computer-readable storage medium. The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the following steps are implemented:
[0045] In response to the dispatch request instruction sent by the robot, obtain the robot's position information and the status information of the elevator to be dispatched;
[0046] Determine multiple candidate elevators according to the location information and the status information;
[0047] Determine the time cost for the robot to run to each candidate elevator;
[0048] The candidate elevator corresponding to the minimum time cost is determined as the target elevator for the robot to take.
[0049] The above robot scheduling method, device, equipment, system and storage medium obtain the robot's position information and the status information of the elevator to be scheduled by responding to the scheduling request instruction sent by the robot; determine multiple candidate elevators according to the position information and status information; determine the time cost of the robot running to each candidate elevator; and determine the candidate elevator corresponding to the minimum time cost as the target elevator to be taken by the robot. Among them, by first determining multiple candidate elevators according to the robot's position information and the status information of the elevator to be scheduled, and then using the candidate elevator corresponding to the minimum time cost as the target elevator, the robot is prevented from waiting for the elevator for a long time, thereby improving the robot's work efficiency. BRIEF DESCRIPTION OF THE DRAWINGS
[0050] Figure 1 is an application environment diagram of a robot scheduling method in one embodiment;
[0051] Figure 2 is a flowchart of a robot scheduling method in one embodiment;
[0052] Figure 3 is a flow chart of step 204 in one embodiment;
[0053] Figure 4 is a flow chart of step 206 in one embodiment;
[0054] Figure 5 is a schematic flow chart of a robot scheduling method in another embodiment;
[0055] Figure 6 is a structural block diagram of a scheduling device for a robot in one embodiment;
[0056] Figure 7 FIG. 1 is a diagram showing the internal structure of a scheduling device of a robot in one embodiment. DETAILED DESCRIPTION
[0057] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.
[0058] The robot scheduling method provided in the embodiment of the present application can be applied to Figure 1In the application environment shown. The application environment includes a robot 102, an elevator to be scheduled 104, and a dispatching device 106. Among them, the robot 102 and the dispatching device 106, and the elevator to be scheduled 104 and the dispatching device 106 communicate through a network. When there is a demand for taking the elevator, the robot 102 outputs a dispatching request instruction to the dispatching device 106. After receiving the dispatching request instruction, the dispatching device 106 obtains the position information of the robot 102 and the status information of the elevator to be scheduled 104, and determines the target elevator according to the position information and the status information, and outputs the target elevator information to the robot 102. After receiving the target elevator information, the robot 102 runs to the target elevator to complete the dispatch of the robot 102.
[0059] The robot may be, but is not limited to, various delivery robots, sweeping robots, security robots, etc., and the dispatching device may be, but is not limited to, various personal computers, laptops, IoT devices, servers, etc. The server may be implemented as an independent server or a server cluster consisting of multiple servers, which may be a local server or a cloud server.
[0060] Figure 2 FIG. 1 is a flow chart of a robot scheduling method in one embodiment. Figure 2 As shown, a robot scheduling method is provided, which is applied to Figure 1 The scheduling device in the example is used to illustrate, including the following steps:
[0061] Step 202, in response to the dispatch request instruction sent by the robot, obtain the robot's position information and the state information of the elevator to be dispatched.
[0062] The position information refers to the information of the current position of the robot, which may be, but not limited to, the current floor, target floor, robot coordinates, etc. The status information refers to the information related to the running status of the elevator to be dispatched, which may be, but not limited to, the usage status, running direction, current floor, elevator coordinates, etc. The elevator to be dispatched refers to the elevator that the dispatching device has the authority to dispatch.
[0063] Specifically, after receiving the dispatch request instruction sent by the robot, the dispatch device can obtain the position information and status information in a variety of ways. In one example, the dispatch device can send a position information acquisition instruction to the robot and a status information acquisition instruction to the elevator control module of the elevator to be dispatched, and receive the position information returned by the robot and the status information returned by the elevator control module. In another example, the robot can send the position information to the dispatch device in real time, and the elevator control module of the elevator to be dispatched can send the status information to the dispatch device in real time. After receiving the position information and status information, the dispatch device stores them in the storage module, and after receiving the dispatch request instruction, calls the position information and status information from the storage module.
[0064] It should be understood that when the robot needs to take the elevator and there are multiple elevators to be dispatched that can meet the robot's needs, the dispatching device can act as a dispatching center to arrange the elevator that makes the robot most efficient based on the robot's location information and the status information of the elevators to be dispatched, thereby avoiding the robot waiting for the elevator for a long time.
[0065] Step 204: determine a plurality of candidate elevators according to the location information and the state information.
[0066] Among them, the candidate elevator refers to an elevator suitable for the robot to be used among the elevators to be scheduled, such as an elevator not used by other robots, an elevator not moving, an elevator moving in the same direction as the robot, or an elevator that meets two or three of the above conditions at the same time, wherein multiple refers to two or more, that is, multiple candidate elevators represent two or more candidate elevators.
[0067] Specifically, when the status information includes the usage status, an idle elevator can be determined according to the usage status, and the idle elevator can be used as a candidate elevator; when the status information includes the running direction, an elevator that moves and / or is stationary in the same direction as the robot can be determined according to the running direction, and the elevator can be used as a candidate elevator; when the status information includes the current floor where the elevator to be scheduled is located, an elevator closer to the robot can be determined according to the current floor and the position information of the robot, and the determined elevator can be used as a candidate elevator.
[0068] Of course, when the status information includes multiple information such as usage status, running direction, and current floor, a comprehensive judgment can be made based on the multiple information to select a suitable elevator as a candidate elevator to avoid the robot being unable to take the elevator or increasing the elevator ride time due to taking the elevator in the opposite direction.
[0069] Step 206, determining the time cost for the robot to run to each candidate elevator.
[0070] Specifically, the distance from the robot to each candidate elevator can be determined based on the position information and state information, and the time cost for the robot to run to each candidate elevator can be determined based on the running speed of the robot, the running speed of the elevator, and the distance from the robot to each candidate elevator.
[0071] Step 208: determine the candidate elevator corresponding to the minimum time cost as the target elevator for the robot to take.
[0072] It should be understood that when scheduling a robot, it is necessary to select the most suitable elevator from the candidate elevators as the target elevator. The minimum time cost means that the robot takes the shortest time to reach the candidate elevator. Taking the candidate elevator corresponding to the minimum time cost as the target elevator can enable the robot to take the elevator more efficiently.
[0073] After determining the target elevator, the dispatching device assigns the target elevator to the robot and promptly modifies the status information of the target elevator, for example, changing the status information from idle to occupied, so as to avoid affecting the dispatch of the next robot.
[0074] In the above robot scheduling method, by responding to the scheduling request instruction sent by the robot, the robot's position information and the state information of the elevator to be scheduled are obtained; multiple candidate elevators are determined according to the position information and the state information; the time cost of the robot running to each candidate elevator is determined; and the candidate elevator corresponding to the minimum time cost is determined as the target elevator to be taken by the robot. Among them, by first determining multiple candidate elevators according to the robot's position information and the state information of the elevator to be scheduled, and then taking the candidate elevator corresponding to the minimum time cost as the target elevator, the robot is prevented from waiting for the elevator for a long time, thereby improving the robot's work efficiency.
[0075] Figure 3 FIG. 2 is a flow chart of step 204 in an embodiment. In this embodiment, the status information includes the use status and the running direction, and the location information includes the target floor and the current floor. Figure 3 As shown, determining multiple candidate elevators according to the location information and the state information may include the following steps:
[0076] Step 302: Determine an elevator to be dispatched whose use status is idle as an idle elevator.
[0077] Among them, the usage status of the elevator to be dispatched can include idle and occupied. Idle means that there is no robot on board, and occupied means that there is a robot on board. Obviously, the elevator to be dispatched with the usage status of occupied is not suitable for carrying a robot.
[0078] Specifically, the use status of all elevators to be scheduled can be identified, and the elevators to be scheduled whose use status is idle can be obtained, and these elevators are used as idle elevators; when the use status of the elevators to be scheduled are all occupied, the status information of the elevators to be scheduled is re-acquired until there is an idle elevator among the elevators to be scheduled.
[0079] Step 304, determining a plurality of candidate elevators from the idle elevators according to the target floor, the current floor and the running direction.
[0080] The running direction includes one of upward, downward and stationary. In order to avoid the robot riding in the direction opposite to the target floor, it is necessary to determine an idle elevator that moves in the same direction as the robot or is stationary as a candidate elevator.
[0081] Specifically, the target direction in which the robot needs to run can be determined according to the target floor and the current floor, and then multiple candidate elevators can be determined according to the target direction and the running directions of idle elevators.
[0082] In this embodiment, by determining an elevator to be scheduled whose usage status is idle as an idle elevator, and determining multiple candidate elevators from the idle elevators according to the target floor, the current floor and the running direction, a candidate elevator suitable for the robot to take can be effectively selected from the elevators to be scheduled, avoiding the situation where the robot cannot take the elevator because the elevator is occupied.
[0083] In one embodiment, the step of determining a plurality of candidate elevators from idle elevators according to a target floor, a current floor and a running direction comprises: determining a target direction of the robot according to the target floor and the current floor; determining an idle elevator moving in the same direction as the robot according to the target direction and the running direction; determining an idle elevator that is stationary according to the running direction; and determining an idle elevator that is moving in the same direction as the robot and / or is stationary as a candidate elevator.
[0084] It should be understood that the movement direction of the robot is from the current floor to the target floor. If the running direction of the idle elevator is the same as the movement direction of the robot, it means that the idle elevator moves in the same direction as the robot. Otherwise, it moves in the opposite direction to the robot.
[0085] Taking the robot's current floor as the 3rd floor and the target floor as the 1st floor as an example, if the elevator is moving downward, it indicates that the elevator's running direction is the same as the robot's moving direction. If the elevator is moving upward, it indicates that the elevator's running direction is opposite to the robot's moving direction.
[0086] Specifically, an idle elevator moving in the same direction as the robot may be determined as a candidate elevator, a stationary idle elevator may be determined as a candidate elevator, or both an idle elevator moving in the same direction as the robot and a stationary space elevator may be determined as candidate elevators.
[0087] Of course, if there is no elevator among the idle elevators that moves in the same direction as the robot and / or is stationary, the idle elevator closest to the robot can be selected as the target elevator according to the robot coordinates in the position information and the elevator coordinates in the state information.
[0088] In this embodiment, the target direction of the robot is determined according to the target floor and the current floor; an idle elevator moving in the same direction as the robot is determined according to the target direction and the running direction; an idle elevator moving in the same direction as the robot and / or being stationary is determined according to the running direction; and an idle elevator moving in the same direction as the robot and / or being stationary is determined as a candidate elevator, thereby avoiding the situation in which the robot is traveling in the opposite direction due to the target direction of the robot being opposite to the running direction of the elevator.
[0089] Figure 4 FIG. 2 is a flow chart of step 206 in an embodiment. In this embodiment, the step of determining the time cost of the robot running to each candidate elevator may include the following steps:
[0090] Step 402, obtaining a first preset speed of the robot and a second preset speed of each candidate elevator.
[0091] Among them, the first preset speed is the preset movement speed of the robot, which can be the average movement speed of the robot or a speed set according to experience; the second preset speed is the preset operating speed of each candidate elevator, which can be the average operating speed of each candidate elevator or a speed set according to experience.
[0092] Specifically, the dispatching device can calculate the first preset speed of the robot according to the position information and time of the robot, or receive the first preset speed sent by the robot. The dispatching device can calculate the second preset speed of each candidate elevator according to the status information and time sent by the elevator control module, or receive the second preset speed sent by the elevator control module of each candidate elevator.
[0093] Step 404, determining the distance and floor difference between the robot and each candidate elevator according to the position information and the state information.
[0094] Specifically, the distance between the robot and each candidate elevator can be calculated by the robot coordinates in the position information and the elevator coordinates in the status information, and the floor difference between the robot and each candidate elevator can be calculated by the current floor in the position information and the current floor in the status information.
[0095] Taking the example that the position information includes the robot coordinates (Xe, Ye) and the current floor F1 where the robot is located, and the state information includes the elevator coordinates (Xr, Yr) of the candidate elevator and the current floor F2 where the robot is located, the distance between the robot and the candidate elevator can be calculated by the following formula:
[0096] d = sqrt(Xe-Xr,Ye-Yr);
[0097] Among them, d is the distance between the robot and the candidate elevator, Xe is the robot's horizontal coordinate, Ye is the robot's vertical coordinate, Ye is the candidate elevator's horizontal coordinate, and Yr is the candidate elevator's vertical coordinate.
[0098] The floor difference between the robot and the candidate elevator can be calculated by the following formula:
[0099] c = |F1-F2|;
[0100] Among them, c is the floor difference between the robot and the candidate elevator, F1 is the current floor where the robot is located, and F2 is the current floor where the candidate elevator is located.
[0101] Step 406, determining the time cost for the robot to run to each candidate elevator according to the first preset speed, the second preset speed, the distance and the floor difference.
[0102] Specifically, the first time it takes for the robot to reach each candidate elevator can be calculated based on the distance between the robot and each candidate elevator and the first preset speed of the robot. The second time it takes for the elevator to reach the floor where the robot is located can be calculated based on the floor difference between the robot and each candidate elevator and the second preset speed of the candidate elevator. The time cost can be calculated based on the first time and the second time.
[0103] This embodiment obtains the first preset speed of the robot and the second preset speed of each candidate elevator, determines the distance and floor difference between the robot and each candidate elevator according to the position information and state information, and determines the time cost of the robot running to each candidate elevator according to the first preset speed, the second preset speed, the distance and the floor difference. The time cost of the robot running to the candidate elevator is calculated according to the actual operation of the robot and the candidate elevator, which ensures the authenticity and reliability of the time cost and improves the accuracy of robot scheduling.
[0104] In one embodiment, the time cost is calculated based on a preset formula; wherein the preset formula includes:
[0105] cost = n*d / a+m*c / b;
[0106] Among them, cost is the time cost, n is the preset distance weight, d is the distance, a is the first preset speed, m is the preset floor weight, c is the floor difference, and b is the second preset speed.
[0107] The preset distance weight refers to the preset weight of the distance between the robot and the candidate elevator, and m is the preset weight of the candidate elevator running to the current floor of the robot.
[0108] This embodiment improves the accuracy of the time cost by assigning different weights to the distance and the floor when calculating the time cost.
[0109] In one embodiment, after the candidate elevator corresponding to the minimum time cost is determined as the target elevator to be taken by the robot, the scheduling method may further include the following steps: obtaining the robot's position update information and the status update information of the elevator to be scheduled; updating the time cost of the robot running to each candidate elevator according to the position update information and the status update information; and determining the target elevator according to the updated time cost.
[0110] It should be understood that since the status information of the elevator to be scheduled changes dynamically, the position information of the robot also changes dynamically during the process of the robot moving to the target elevator, and a more suitable elevator may appear at this time. Therefore, after receiving the dispatch request instruction of the robot, the dispatching device can calculate the time cost at the current moment based on the robot's position update information and the status update information of the elevator to be scheduled at regular intervals, and use the candidate elevator corresponding to the minimum time cost as the new target elevator.
[0111] Specifically, the dispatching device can obtain the position update information and the status update information in a variety of ways. In one example, the dispatching device can send a position update information acquisition instruction to the robot and a status update information acquisition instruction to the elevator control module of the elevator to be dispatched, and receive the position update information returned by the robot and the status update information returned by the elevator control module. In another example, the robot can send the position update information to the dispatching device in real time, and the elevator control module of the elevator to be dispatched can send the status update information to the dispatching device in real time. After receiving the position update information and the status update information, the dispatching device stores them in the storage module, and calls the position update information and the status update information from the storage module within a certain period of time after calculating the target elevator.
[0112] After obtaining the location update information and status update information, the dispatching device determines the new target elevator according to the same steps and sends the new target elevator information to the robot so that the robot can change the route in time.
[0113] This embodiment improves the flexibility of robot scheduling by updating the target elevator suitable for the robot in real time according to the dynamic changing characteristics of the robot and the elevator to be scheduled.
[0114] Figure 5 FIG. 1 is a flow chart of a robot scheduling method in another embodiment. Figure 5 As shown, the robot scheduling method may include the following steps:
[0115] Step 501, in response to the dispatch request instruction sent by the robot, obtain the robot's position information and the status information of the elevator to be dispatched, wherein the status information includes the use status and the running direction, and the position information includes the target floor and the current floor.
[0116] Step 502: Determine an elevator to be dispatched whose use status is idle as an idle elevator.
[0117] Step 503, determining the target direction of the robot according to the target floor and the current floor.
[0118] Step 504: determine an idle elevator moving in the same direction as the robot according to the target direction and the running direction.
[0119] Step 505, determining a stationary idle elevator according to the running direction.
[0120] Step 506: Identify an idle elevator that moves in the same direction as the robot and / or is stationary as a candidate elevator.
[0121] Step 507, obtaining the first preset speed of the robot and the second preset speed of each candidate elevator.
[0122] Step 508: Determine the distance and floor difference between the robot and each candidate elevator according to the position information and state information.
[0123] Step 509, determining the time cost for the robot to run to each candidate elevator according to the first preset speed, the second preset speed, the distance and the floor difference.
[0124] Step 510: determine the candidate elevator corresponding to the minimum time cost as the target elevator for the robot to take.
[0125] It should be understood that, although the steps in the flowcharts involved in the above embodiments are displayed in sequence according to the indication of the arrows, these steps are not necessarily executed in sequence according to the order indicated by the arrows. Unless there is a clear explanation in this article, the execution of these steps is not strictly limited in order, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the above embodiments may include multiple steps or multiple stages, and these steps or stages are not necessarily executed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily carried out in sequence, but can be executed in turn or alternately with other steps or at least a part of the steps or stages in other steps.
[0126] Based on the same inventive concept, the embodiment of the present application also provides a robot scheduling device for implementing the robot scheduling method involved above. The implementation scheme for solving the problem provided by the device is similar to the implementation scheme recorded in the above method, so the specific limitations in the embodiments of the scheduling device for one or more robots provided below can refer to the limitations of the robot scheduling method above, and will not be repeated here.
[0127] Figure 6 FIG. 1 is a flow chart of a scheduling device for a robot in one embodiment. Figure 6 As shown, a robot scheduling device is provided, including: an information acquisition module 602, a candidate elevator determination module 604, a time cost determination module 606 and a target elevator determination module 608, wherein:
[0128] The information acquisition module 602 is used to obtain the position information of the robot and the status information of the elevator to be scheduled in response to the scheduling request instruction sent by the robot;
[0129] A candidate elevator determination module 604 is used to determine a plurality of candidate elevators according to the location information and the state information;
[0130] A time cost determination module 606 is used to determine the time cost of the robot running to each candidate elevator;
[0131] The target elevator determination module 608 is used to determine the candidate elevator corresponding to the minimum time cost as the target elevator to be taken by the robot.
[0132] In one embodiment, the status information includes the usage status and the running direction, the location information includes the target floor and the current floor, and the candidate elevator determination module 604 is further used to determine the elevator to be scheduled whose usage status is idle as an idle elevator; and determine multiple candidate elevators from the idle elevators according to the target floor, the current floor and the running direction.
[0133] In one embodiment, the candidate elevator determination module 604 is further used to determine the target direction of the robot according to the target floor and the current floor; determine an idle elevator that moves in the same direction as the robot according to the target direction and the running direction; determine a stationary idle elevator according to the running direction; and determine an idle elevator that moves in the same direction as the robot and / or is stationary as a candidate elevator.
[0134] In one embodiment, the time cost determination module 606 is also used to obtain a first preset speed of the robot and a second preset speed of each candidate elevator; determine the distance and floor difference between the robot and each candidate elevator based on the position information and status information; and determine the time cost of the robot running to each candidate elevator based on the first preset speed, the second preset speed, the distance and the floor difference.
[0135] In one embodiment, the time cost is calculated based on a preset formula; wherein the preset formula includes:
[0136] cost = n*d / a+m*c / b;
[0137] Among them, cost is the time cost, n is the preset distance weight, d is the distance, a is the first preset speed, m is the preset floor weight, c is the floor difference, and b is the second preset speed.
[0138] In one embodiment, the robot's scheduling device also includes an elevator update module (not shown), which is used to obtain the robot's position update information and the status update information of the elevator to be scheduled; update the time cost of the robot running to each candidate elevator according to the position update information and the status update information; and determine the target elevator according to the updated time cost.
[0139] Each module in the scheduling device of the robot can be implemented in whole or in part by software, hardware, or a combination thereof. Each module can be embedded in or independent of a processor in a computer device in the form of hardware, or can be stored in a memory in a computer device in the form of software, so that the processor can call and execute operations corresponding to each module.
[0140] In one embodiment, a robot scheduling device is provided. The robot scheduling device may be a terminal, and its internal structure diagram may be as follows: Figure 7 As shown. The scheduling device of the robot includes a processor, a memory and a communication interface connected through a system bus. Among them, the processor of the scheduling device of the robot is used to provide computing and control capabilities. The memory of the scheduling device of the robot includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The communication interface of the scheduling device of the robot is used to communicate with an external terminal in a wired or wireless manner, and the wireless manner can be implemented through WIFI, a mobile cellular network, NFC (near field communication) or other technologies. When the computer program is executed by the processor, a scheduling method of a robot is implemented.
[0141] Those skilled in the art will understand that Figure 7 The structure shown in the figure is only a block diagram of a partial structure related to the scheme of the present application, and does not constitute a limitation on the scheduling device of the robot to which the scheme of the present application is applied. The specific scheduling device of the robot may include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.
[0142] In one embodiment, a robot scheduling device is provided, including a memory and a processor, wherein a computer program is stored in the memory, and when the processor executes the computer program, the following steps are implemented:
[0143] In response to the dispatch request instruction sent by the robot, obtain the robot's position information and the status information of the elevator to be dispatched;
[0144] Determine multiple candidate elevators according to the location information and the status information;
[0145] Determine the time cost for the robot to run to each candidate elevator;
[0146] The candidate elevator corresponding to the minimum time cost is determined as the target elevator for the robot to take.
[0147] In one embodiment, when the processor executes the computer program, the processor further implements the following steps:
[0148] An elevator to be dispatched whose use status is idle is determined as an idle elevator; and multiple candidate elevators are determined from the idle elevators according to a target floor, a current floor and a running direction.
[0149] In one embodiment, when the processor executes the computer program, the processor further implements the following steps:
[0150] The target direction of the robot is determined according to the target floor and the current floor; an idle elevator moving in the same direction as the robot is determined according to the target direction and the running direction; a stationary idle elevator is determined according to the running direction; and an idle elevator moving in the same direction as the robot and / or stationary is determined as a candidate elevator.
[0151] In one embodiment, when the processor executes the computer program, the processor further implements the following steps:
[0152] Obtain a first preset speed of the robot and a second preset speed of each candidate elevator; determine the distance and floor difference between the robot and each candidate elevator based on the position information and state information; determine the time cost of the robot running to each candidate elevator based on the first preset speed, the second preset speed, the distance and the floor difference.
[0153] In one embodiment, when the processor executes the computer program, the processor further implements the following steps:
[0154] The time cost is calculated based on a preset formula; wherein the preset formula includes:
[0155] cost = n*d / a+m*c / b;
[0156] Among them, cost is the time cost, n is the preset distance weight, d is the distance, a is the first preset speed, m is the preset floor weight, c is the floor difference, and b is the second preset speed.
[0157] In one embodiment, when the processor executes the computer program, the processor further implements the following steps:
[0158] Obtain the robot's position update information and the status update information of the elevator to be scheduled; update the time cost of the robot running to each candidate elevator based on the position update information and the status update information; and determine the target elevator based on the updated time cost.
[0159] In one embodiment, a robot scheduling system is provided, the scheduling system comprising: a robot, configured to output a scheduling request instruction and position information; an elevator to be scheduled, configured to carry the robot and output status information; and the above-mentioned robot scheduling device.
[0160] The robot may be, but is not limited to, various delivery robots, sweeping robots, security robots, etc., and the dispatching device may be, but is not limited to, various personal computers, laptops, IoT devices, and servers, etc. The server may be implemented as an independent server or a server cluster consisting of multiple servers, which may be a local server or a cloud server. The elevator to be dispatched refers to the elevator that the dispatching device has the authority to dispatch.
[0161] Specifically, an elevator control module can be installed in each elevator to be dispatched, and the elevator to be dispatched outputs status information to the dispatching device in real time through the elevator control module, wherein the status information refers to information related to the operating status of the elevator to be dispatched, which may be but is not limited to usage status, operating direction, current floor, elevator coordinates and other information.
[0162] A positioning module can be installed in the robot, and the robot outputs position information to the scheduling device in real time through the positioning module, where the position information refers to the information of the current position of the robot, which can be but is not limited to the current floor where the robot is located, the target floor, the robot coordinates and other information.
[0163] When the robot needs to take the elevator, it outputs a dispatch request instruction to the dispatch device. After receiving the dispatch request instruction, the dispatch device obtains the robot's position information and the status information of the elevator to be dispatched, and determines multiple candidate elevators based on the status information. The time cost of the robot running to each candidate elevator is determined based on the position information and the status information, and the candidate elevator corresponding to the smallest time cost is determined as the target elevator, which reduces the robot's waiting time for the elevator and improves the robot's elevator efficiency.
[0164] After determining the target elevator, the dispatching device sends the target elevator information to the robot so that the robot moves to the target elevator according to the target elevator information. At the same time, the dispatching device sends the target elevator information to the elevator control module of the target elevator so that the target elevator updates the usage status in the status information from idle to occupied.
[0165] When the robot is heading to the target elevator, the dispatching device can also update the time cost of the robot running to each candidate elevator based on the robot's position update information and the status update information of the elevator to be dispatched; and determine the target elevator based on the updated time cost, so that the robot can change the route in time and take the most efficient elevator.
[0166] When the robot moves to the target elevator and leaves, the dispatching device sends a task completion message to the target elevator, so that the target elevator updates its usage status from occupied to idle.
[0167] In one embodiment, a computer readable storage medium is provided, on which a computer program is stored, and when the computer program is executed by a processor, the following steps are implemented:
[0168] In response to the dispatch request instruction sent by the robot, obtain the robot's position information and the status information of the elevator to be dispatched;
[0169] Determine multiple candidate elevators according to the location information and the status information;
[0170] Determine the time cost for the robot to run to each candidate elevator;
[0171] The candidate elevator corresponding to the minimum time cost is determined as the target elevator for the robot to take.
[0172] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:
[0173] An elevator to be dispatched whose use status is idle is determined as an idle elevator; and multiple candidate elevators are determined from the idle elevators according to a target floor, a current floor and a running direction.
[0174] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:
[0175] The target direction of the robot is determined according to the target floor and the current floor; an idle elevator moving in the same direction as the robot is determined according to the target direction and the running direction; a stationary idle elevator is determined according to the running direction; and an idle elevator moving in the same direction as the robot and / or stationary is determined as a candidate elevator.
[0176] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:
[0177] Obtain a first preset speed of the robot and a second preset speed of each candidate elevator; determine the distance and floor difference between the robot and each candidate elevator based on the position information and state information; determine the time cost of the robot running to each candidate elevator based on the first preset speed, the second preset speed, the distance and the floor difference.
[0178] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:
[0179] The time cost is calculated based on a preset formula; wherein the preset formula includes:
[0180] cost = n*d / a+m*c / b;
[0181] Among them, cost is the time cost, n is the preset distance weight, d is the distance, a is the first preset speed, m is the preset floor weight, c is the floor difference, and b is the second preset speed.
[0182] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:
[0183] Obtain the robot's position update information and the status update information of the elevator to be scheduled; update the time cost of the robot running to each candidate elevator based on the position update information and the status update information; and determine the target elevator based on the updated time cost.
[0184] In one embodiment, a computer program product is provided, comprising a computer program, which, when executed by a processor, implements the following steps:
[0185] In response to the dispatch request instruction sent by the robot, obtain the robot's position information and the status information of the elevator to be dispatched;
[0186] Determine multiple candidate elevators according to the location information and the status information;
[0187] Determine the time cost for the robot to run to each candidate elevator;
[0188] The candidate elevator corresponding to the minimum time cost is determined as the target elevator for the robot to take.
[0189] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:
[0190] An elevator to be dispatched whose use status is idle is determined as an idle elevator; and multiple candidate elevators are determined from the idle elevators according to a target floor, a current floor and a running direction.
[0191] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:
[0192] The target direction of the robot is determined according to the target floor and the current floor; an idle elevator moving in the same direction as the robot is determined according to the target direction and the running direction; a stationary idle elevator is determined according to the running direction; and an idle elevator moving in the same direction as the robot and / or stationary is determined as a candidate elevator.
[0193] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:
[0194] Obtain a first preset speed of the robot and a second preset speed of each candidate elevator; determine the distance and floor difference between the robot and each candidate elevator based on the position information and state information; determine the time cost of the robot running to each candidate elevator based on the first preset speed, the second preset speed, the distance and the floor difference.
[0195] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:
[0196] The time cost is calculated based on a preset formula; wherein the preset formula includes:
[0197] cost = n*d / a+m*c / b;
[0198] Among them, cost is the time cost, n is the preset distance weight, d is the distance, a is the first preset speed, m is the preset floor weight, c is the floor difference, and b is the second preset speed.
[0199] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:
[0200] Obtain the robot's position update information and the status update information of the elevator to be scheduled; update the time cost of the robot running to each candidate elevator based on the position update information and the status update information; and determine the target elevator based on the updated time cost.
[0201] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties.
[0202] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to the memory, database or other medium used in the embodiments provided in the present application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetoresistive random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. As an illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The database involved in each embodiment provided in this application may include at least one of a relational database and a non-relational database. Non-relational databases may include distributed databases based on blockchains, etc., but are not limited to this. The processor involved in each embodiment provided in this application may be a general-purpose processor, a central processing unit, a graphics processor, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, etc., but are not limited to this.
[0203] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0204] The above embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the present application. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the attached claims.
Claims
1. A robot scheduling method, characterized in that: The scheduling method comprises: In response to a dispatch request instruction sent by the robot, obtaining position information of the robot and status information of the elevator to be dispatched, wherein the status information includes elevator coordinates; Determine a plurality of candidate elevators according to the location information and the state information; Determine the time cost of the robot running to each candidate elevator; Determine the candidate elevator corresponding to the minimum time cost as the target elevator to be taken by the robot; Obtaining the position update information of the robot and the status update information of the elevator to be scheduled; Update the time cost of the robot running to each candidate elevator according to the position update information and the state update information; The target elevator is determined according to the updated time cost.
2. The method according to claim 1, characterized in that The state information includes a usage state and a running direction, the position information includes a target floor and a current floor, and determining a plurality of candidate elevators according to the position information and the state information includes: Determine the elevator to be dispatched whose usage status is idle as an idle elevator; A plurality of candidate elevators are determined from the idle elevators according to the target floor, the current floor and the running direction.
3. The method according to claim 2, characterized in that The determining a plurality of candidate elevators from the idle elevators according to the target floor, the current floor and the running direction comprises: Determining a target direction of the robot according to the target floor and the current floor; Determine an idle elevator moving in the same direction as the robot according to the target direction and the running direction; Determining a stationary idle elevator according to the running direction; An idle elevator that moves in the same direction as the robot and / or is stationary is determined as the candidate elevator.
4. The method according to claim 1, characterized in that Determining the time cost of the robot running to each candidate elevator includes: Obtaining a first preset speed of the robot and a second preset speed of each candidate elevator; Determine the distance and floor difference between the robot and each candidate elevator according to the position information and the state information; The time cost for the robot to run to each candidate elevator is determined according to the first preset speed, the second preset speed, the distance, and the floor difference.
5. The method according to claim 4, characterized in that The time cost is calculated based on a preset formula; Wherein, the preset formula includes: cost = n*d / a+m*c / b; Among them, cost is the time cost, n is the preset distance weight, d is the distance, a is the first preset speed, m is the preset floor weight, c is the floor difference, and b is the second preset speed.
6. The method according to any one of claims 1 to 5, characterized in that The method further comprises: If there is no elevator among the idle elevators that moves in the same direction as the robot and / or is stationary, the idle elevator closest to the robot is selected as the target elevator according to the robot coordinates in the position information and the elevator coordinates in the state information.
7. A robot scheduling device, characterized in that: The scheduling device comprises: An information acquisition module, configured to acquire the position information of the robot and the status information of the elevator to be scheduled in response to the scheduling request instruction sent by the robot, wherein the status information includes the elevator coordinates; a candidate elevator determination module, configured to determine a plurality of candidate elevators according to the location information and the state information; A time cost determination module, used to determine the time cost of the robot running to each candidate elevator; A target elevator determination module, used to determine the candidate elevator corresponding to the minimum time cost as the target elevator to be taken by the robot; The elevator update module is used to obtain the position update information of the robot and the status update information of the elevator to be scheduled; update the time cost of the robot running to each candidate elevator according to the position update information and the status update information; and determine the target elevator according to the updated time cost.
8. A robot scheduling device, comprising a memory and a processor, wherein the memory stores a computer program, characterized in that: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 6 are implemented.
9. A robot scheduling system, characterized in that: The dispatching system comprises: A robot, used to output dispatch request instructions and location information; an elevator to be dispatched, used to carry the robot and output status information; and A robot dispatching device according to claim 8.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 6 are implemented.
Citation Information
Patent Citations
Multi-elevator scheduling method
CN110963378A
Robot elevator taking determination method and device, electronic equipment and medium
CN111847152A
Transportation equipment dispatching method and device, storage medium and electronic device
CN112390099A
