Equipment scheduling method and device, equipment, storage medium and computer program product

Through path search based on equipment priority and dynamic channel cost update, the problem of low equipment scheduling efficiency in traffic control facilities such as gates is solved, and the efficiency and flexibility of equipment scheduling are achieved, and equipment congestion is avoided.

CN120471246APending Publication Date: 2025-08-12SHENZHEN YOUBIXING TECH CO LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510517784.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-23
Publication Date
2025-08-12

AI Technical Summary

Technical Problem

When a robot passes through a gate and other pass control facilities, it is easy to experience congestion, resulting in low equipment scheduling efficiency.

Method used

Based on the order of device priority from high to low, the scheduling paths of N devices are searched in turn, and the passage cost of the channel is dynamically updated during the path planning process. Through the updated channel cost, it provides a better decision-making basis for subsequent device path planning.

Benefits of technology

It improves the efficiency and flexibility of equipment scheduling, significantly improves the overall traffic efficiency of N devices when passing through M channels, and avoids equipment congestion.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120471246A_ABST
    Figure CN120471246A_ABST
Patent Text Reader

Abstract

The invention provides an equipment scheduling method and device, equipment, a storage medium and a computer program product. The method comprises the steps that scheduling paths of N devices are searched in sequence based on the sequence of device priorities from high to low, and N is a positive integer larger than 1; when the searched scheduling path of the nth device passes through any channel in the M channels, the passing cost of any channel is updated, M is a positive integer larger than 1, n is a positive integer increasing in sequence, and n is larger than or equal to 1 and smaller than N; based on the updated passing cost of any channel and the passing cost of M-1 channels except any channel, performing path planning on the (n + 1) th device to obtain a scheduling path of the (n + 1) th device; and controlling the N devices to move according to the corresponding N scheduling paths. According to the invention, the overall passing efficiency of the N devices passing through the M channels can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to path planning technology, and in particular to a device scheduling method, apparatus, device, storage medium and computer program product. Background Art

[0002] With the rapid development of robotics technology, robots have moved from laboratories to practical applications and have gradually been widely used in various complex scenarios such as automated warehouses, airport baggage handling, logistics distribution, and intelligent manufacturing. For example, in airport baggage handling, robots need to pass through access control facilities such as gates in a high-traffic environment, and then efficiently and accurately complete tasks such as luggage transportation. Among them, the scheduling algorithm, as the core algorithm of robotics technology, is responsible for determining the working order, path planning, and task allocation of robots in a specific environment, thereby ensuring that the robots can operate efficiently and orderly in a complex and changing environment. However, in related technologies, congestion is prone to occur when multiple robots pass through the gates. Summary of the Invention

[0003] Embodiments of the present application provide a device scheduling method, apparatus, device, storage medium, and computer program product, which can improve the overall traffic efficiency of N devices when passing through M channels.

[0004] The technical solution of the embodiment of the present application is implemented as follows:

[0005] This embodiment of the present application provides a device scheduling method, the method comprising:

[0006] Based on the order of device priority from high to low, search for scheduling paths for N devices in sequence, where N is a positive integer greater than 1;

[0007] When the searched scheduling path of the nth device passes through any channel among the M channels, the passing cost of the arbitrary channel is updated, where M is a positive integer greater than 1, n is a positive integer that increases successively, and 1≤n<N;

[0008] Performing path planning for the (n+1)th device based on the updated pass cost of the arbitrary channel and the pass costs of M-1 channels other than the arbitrary channel to obtain a scheduling path for the (n+1)th device;

[0009] The N devices are controlled to move according to the corresponding N scheduling paths.

[0010] An embodiment of the present application provides a device scheduling apparatus, the apparatus comprising:

[0011] A device management module, configured to search for scheduling paths for N devices in descending order of device priority, where N is a positive integer greater than 1;

[0012] a cost management module, configured to update a passing cost of any of the M channels when the dispatching path of the nth device found passes through the any channel, wherein M is a positive integer greater than 1, n is a positive integer increasing in sequence, and 1≤n<N;

[0013] a path search module, configured to perform path planning for the (n+1)th device based on the updated pass cost of the arbitrary channel and the pass costs of M-1 channels other than the arbitrary channel, to obtain a scheduling path for the (n+1)th device;

[0014] The device scheduling execution module is used to control the N devices to move according to the corresponding N scheduling paths.

[0015] An embodiment of the present application provides an electronic device, comprising:

[0016] a memory for storing computer-executable instructions or computer programs;

[0017] The processor is used to implement the device scheduling method provided in the embodiment of the present application when executing the computer executable instructions or computer program stored in the memory.

[0018] An embodiment of the present application provides a computer-readable storage medium storing a computer program or computer-executable instructions for implementing the device scheduling method provided in the embodiment of the present application when executed by a processor.

[0019] An embodiment of the present application provides a computer program product, including a computer program or computer-executable instructions. When the computer program or computer-executable instructions are executed by a processor, the device scheduling method provided in the embodiment of the present application is implemented.

[0020] The embodiments of the present application have the following beneficial effects:

[0021] By searching for scheduling paths based on the priority of N devices in descending order and dynamically updating the channel passing cost during the path planning process, a better decision-making basis is provided for the path planning of subsequent devices. By controlling N devices to move according to the corresponding N scheduling paths, not only the efficiency and flexibility of device scheduling are effectively improved, but also the overall traffic efficiency of N devices when passing through M channels is significantly improved, thus avoiding device congestion. BRIEF DESCRIPTION OF THE DRAWINGS

[0022] Figure 1 This is a schematic diagram of the structure of the equipment scheduling system architecture provided by an embodiment of the present application;

[0023] Figure 2is a schematic structural diagram of an electronic device for device scheduling provided in an embodiment of the present application;

[0024] Figure 3A This is a first flow chart of the device scheduling method provided in an embodiment of the present application;

[0025] Figure 3B This is a second flow chart of the device scheduling method provided in an embodiment of the present application;

[0026] Figure 3C This is a third flow chart of the device scheduling method provided in an embodiment of the present application;

[0027] Figure 3D This is a fourth flow chart of the device scheduling method provided in an embodiment of the present application;

[0028] Figure 4A This is a first principle diagram of the device scheduling method provided in an embodiment of the present application;

[0029] Figure 4B This is a second principle diagram of the device scheduling method provided in an embodiment of the present application;

[0030] Figure 4C This is a third principle diagram of the device scheduling method provided in an embodiment of the present application;

[0031] Figure 4D This is a fourth principle diagram of the device scheduling method provided in an embodiment of the present application;

[0032] Figure 5A This is a fifth principle diagram of the device scheduling method provided in an embodiment of the present application;

[0033] Figure 5B This is a sixth principle diagram of the device scheduling method provided in an embodiment of the present application;

[0034] Figure 5C This is the seventh principle diagram of the device scheduling method provided in the embodiment of the present application;

[0035] Figure 5D This is the eighth principle diagram of the device scheduling method provided in the embodiment of the present application;

[0036] Figure 6 This is a fifth flow chart of the device scheduling method provided in an embodiment of the present application;

[0037] Figure 7 This is a sixth flow chart of the device scheduling method provided in an embodiment of the present application;

[0038] Figure 8 This is the ninth principle diagram of the device scheduling method provided in an embodiment of the present application.

[0039] It should be pointed out that the above-mentioned "first" and "second" are only used to distinguish different solutions, and do not represent the degree of distinction between the advantages and disadvantages of the solutions or the priority in the implementation process. DETAILED DESCRIPTION

[0040] In order to make the purpose, technical solutions and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings. The described embodiments should not be regarded as limiting this application. All other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of this application.

[0041] In the following description, reference is made to “some embodiments”, which describes a subset of all possible embodiments, but it will be understood that “some embodiments” may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.

[0042] In the following description, the terms "first\second\third" involved are merely used to distinguish similar objects and do not represent a specific ordering of the objects. It can be understood that "first\second\third" can be interchanged with a specific order or sequence where permitted, so that the embodiments of the present application described herein can be implemented in an order other than that illustrated or described herein.

[0043] In the embodiments of the present application, the term "module" or "unit" refers to a computer program or a part of a computer program that has a predetermined function and works together with other related parts to achieve a predetermined goal, and can be implemented in whole or in part by using software, hardware (such as processing circuits or memories) or a combination thereof. Similarly, a processor (or multiple processors or memories) can be used to implement one or more modules or units. In addition, each module or unit can be part of an overall module or unit that includes the function of the module or unit.

[0044] Unless otherwise defined, all technical and scientific terms used in the embodiments of the present application have the same meanings as those commonly understood by those skilled in the art. The terms used in the embodiments of the present application are only for the purpose of describing the embodiments of the present application and are not intended to limit the present application.

[0045] The relevant data collection and processing in the embodiments of this application should be strictly in accordance with the requirements of relevant laws and regulations when applied in examples, and the informed consent or separate consent of the personal information subject should be obtained. Subsequent data use and processing should be carried out within the scope of authorization of laws and regulations and the personal information subject.

[0046] Before further describing the embodiments of the present application in detail, the nouns and terms involved in the embodiments of the present application are explained. The nouns and terms involved in the embodiments of the present application are subject to the following interpretations.

[0047] 1) Grid Map: A grid map is a map representation method that divides geographic space into regular grid cells. By discretizing continuous space into small cells, a grid map makes the processing and analysis of geographic data more efficient and intuitive. Raster maps are widely used in fields such as geographic information systems (GIS), robot navigation, and environmental science. They can be used to represent various geographic features such as terrain elevation, land use type, and accessibility.

[0048] 2) Grid: A grid is a structure that divides geographic space into regular cells (usually squares or rectangles). Each cell contains one or more attribute values that describe the geographic characteristics or status of the area. In robot navigation, grid maps help robots with path planning and environmental perception by marking the accessibility of cells (such as passable or obstacle-free). Grids are widely used in the storage, analysis, and visualization of spatial data due to their simple structure and ease of processing and calculation.

[0049] 3) Channel: Channel is a common access control facility, widely used in places where the flow of people or equipment needs to be managed. Its main function is to control the flow of people or equipment and ensure safety and order. Channels can be gates and tunnels, etc.

[0050] Embodiments of the present application provide a device scheduling method, apparatus, electronic device, computer-readable storage medium, and computer program product, which can improve the overall traffic efficiency of N devices when passing through M channels.

[0051] See also Figure 1 , Figure 1 It is a structural diagram of the equipment scheduling system architecture provided in an embodiment of the present application. In the equipment scheduling system 10 provided in an embodiment of the present application, in order to support an equipment scheduling application, the terminal 400 is connected to the server 200 through the network 300. The network 300 can be a wide area network or a local area network, or a combination of the two.

[0052] In some embodiments, a device scheduling plug-in may be implanted in the client running in the terminal 400 to implement the device scheduling method locally on the client. For example, the terminal 400 calls the device scheduling plug-in to implement the device scheduling method, and searches for the scheduling paths of N devices in order of device priority from high to low. When the scheduling path of the searched nth device passes through any channel among the M channels, the passing cost of any channel is updated. Based on the updated passing cost of any channel and the passing costs of M-1 channels other than any channel, the path of the n+1th device is planned to obtain the scheduling path of the n+1th device, and the N devices are controlled to move according to the corresponding N scheduling paths.

[0053] Terminal 400 may be used to obtain a device scheduling request, where the device scheduling request carries device priorities of N devices.

[0054] In some embodiments, after the terminal 400 obtains the device scheduling request, it calls the device scheduling interface of the server 200 (which can be provided in the form of a cloud service). The server 200 implements the device scheduling method through the device scheduling plug-in, parses the device scheduling request to obtain the device priorities of N devices, and searches for the scheduling paths of the N devices in order from high to low based on the device priorities. When the scheduling path of the searched nth device passes through any channel among the M channels, the passing cost of any channel is updated. Based on the updated passing cost of any channel and the passing costs of M-1 channels other than any channel, the path planning is performed for the n+1th device to obtain the scheduling path of the n+1th device, and the N scheduling paths corresponding to the N devices are returned to the terminal 400. The terminal 400 controls the N devices to move according to the corresponding N scheduling paths.

[0055] In some embodiments, the server 200 may be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, content delivery networks (CDNs), and big data and artificial intelligence platforms. The terminal and the server may be connected directly or indirectly via wired or wireless communication, which is not limited in the embodiments of the present application.

[0056] The terminal 400 may be a smartphone, tablet computer, laptop computer, desktop computer, smart speaker, smart watch, intelligent voice interaction device, smart home appliance, vehicle-mounted terminal, aircraft, etc., but is not limited thereto. The terminal and the server may be connected directly or indirectly via wired or wireless communication, which is not limited in the embodiments of the present application.

[0057] See also Figure 2 , Figure 2 is a structural diagram of an electronic device for device scheduling provided in an embodiment of the present application, Figure 2 The electronic device 500 shown may be Figure 1The terminal 400 or server 200 in the electronic device 500 includes: at least one processor 510, a memory 550, at least one network interface 520 and a user interface 530. The various components in the electronic device 500 are coupled together through a bus system 540. It can be understood that the bus system 540 is used to achieve connection and communication between these components. In addition to the data bus, the bus system 540 also includes a power bus, a control bus and a status signal bus. However, for the sake of clarity, Figure 2 Various buses are labeled as bus system 540 .

[0058] The processor 510 can be an integrated circuit chip with signal processing capabilities, such as a general-purpose processor, a digital signal processor (DSP), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc., where the general-purpose processor can be a microprocessor or any conventional processor, etc.

[0059] The user interface 530 includes one or more output devices 531 that enable presentation of media content, including one or more speakers and / or one or more visual display screens. The user interface 530 also includes one or more input devices 532, including user interface components that facilitate user input, such as a keyboard, mouse, microphone, touch screen display, camera, other input buttons and controls.

[0060] The memory 550 may be removable, non-removable, or a combination thereof. Exemplary hardware devices include solid-state memory, a hard drive, an optical drive, etc. The memory 550 may optionally include one or more storage devices physically located away from the processor 510.

[0061] The memory 550 includes volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. The non-volatile memory may be a read-only memory (ROM), and the volatile memory may be a random access memory (RAM). The memory 550 described in the embodiments of the present application is intended to include any suitable type of memory.

[0062] In some embodiments, the memory 550 can store data to support various operations, examples of which include programs, modules, and data structures, or a subset or superset thereof, as exemplified below.

[0063] Operating system 551, including system programs for processing various basic system services and performing hardware-related tasks, such as the framework layer, core library layer, driver layer, etc., for implementing various basic services and processing hardware-based tasks;

[0064] A network communication module 552 for reaching other computing devices via one or more (wired or wireless) network interfaces 520 , exemplary network interfaces 520 including Bluetooth, WiFi, and USB;

[0065] a presentation module 553 for enabling presentation of information via one or more output devices 531 (e.g., a display screen, a speaker, etc.) associated with the user interface 530 (e.g., a user interface for operating peripheral devices and displaying content and information);

[0066] The input processing module 554 is configured to detect one or more user inputs or interactions from one of the one or more input devices 532 and to translate the detected inputs or interactions.

[0067] In some embodiments, the apparatus provided in the embodiments of the present application may be implemented in software. Figure 2 The device scheduling device 555 stored in the memory 550 is shown. This device scheduling device 555 can be software in the form of a program or plug-in, and includes the following software modules: a device management module 5551, a cost management module 5552, a path search module 5553, and a device scheduling execution module 5554. These modules are logical and can be arbitrarily combined or further separated according to the functions they implement. The functions of each module will be described below.

[0068] In some embodiments, the apparatus provided in the embodiments of the present application may be implemented in hardware. As an example, the apparatus provided in the embodiments of the present application may be a processor in the form of a hardware decoding processor, which is programmed to execute the device scheduling method provided in the embodiments of the present application. For example, the processor in the form of a hardware decoding processor may be one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), programmable logic devices (PLDs), complex programmable logic devices (CPLDs), field-programmable gate arrays (FPGAs), or other electronic components.

[0069] As mentioned above, the electronic device that implements the device scheduling method of the embodiment of the present application can be a terminal, a server, or a combination of the two, so the execution subject of each step will not be repeated below, see Figure 3A , Figure 3A This is a first flow chart of the device scheduling method provided in the embodiment of the present application, which will be combined with Figure 3A The steps shown are explained.

[0070] In step 101, scheduling paths for N devices are searched sequentially based on the order of device priority from high to low.

[0071] As an example, the device priorities of N devices and the path starting point and path ending point of each device in the N devices are obtained, and the scheduling path of each device from its path starting point to its path ending point is searched in sequence based on the order of device priority from high to low, where N is a positive integer greater than 1. The device can be a wheeled device running on a grid map, such as an automatic guided vehicle (AGV), a food delivery robot, a building delivery robot, etc., or a non-wheeled device running on a grid map, such as a drone, etc., which is not limited here. The channel can be a gate and a tunnel, etc., which is not limited here.

[0072] The device priority of each device in the N devices is different from each other. The device priority of a device may be preset. For example, different device priorities may be set for the N devices according to the importance of tasks performed by the devices.

[0073] In step 102 , when the searched scheduling path of the n-th device passes through any channel among the M channels, the passing cost of any channel is updated.

[0074] The passing cost of any channel is the cost caused by passing through any channel, M is a positive integer greater than 1, n is a positive integer that increases in sequence, and 1≤n<N.

[0075] As an example, the channel openings of M channels and the passable directions of each channel are obtained. The channels include unidirectional channels and bidirectional channels. The unidirectional channel corresponds to one passable direction. The pass cost of the unidirectional channel is the cost of passing through the unidirectional channel in the passable direction of the unidirectional channel. The bidirectional channel corresponds to two passable directions. The pass cost of the bidirectional channel includes the cost of passing through the bidirectional channel in one passable direction of the bidirectional channel and the cost of passing through the bidirectional channel in the other passable direction of the bidirectional channel.

[0076] When the scheduling path of the nth device searched passes through any channel among the M channels, and any channel is a unidirectional channel, the passable direction of any channel is the first direction, that is, the direction in which the scheduling path of the nth device passes through any channel, and the passing cost of any channel is the first cost of passing through the unidirectional channel in the first direction, and the first cost of any channel is updated.

[0077] When the scheduling path of the nth device searched passes through any channel among the M channels, and any channel is a bidirectional channel, the passable direction of any channel includes the first direction, that is, the direction in which the scheduling path of the nth device passes through any channel, and the passing cost of any channel includes the first cost of passing through any channel in the first direction, and the first cost is updated; the passable direction of any channel also includes the second direction, and the passing cost of any channel also includes the second cost of passing through any channel in the second direction, and the second cost is updated.

[0078] In some embodiments, when the direction of the scheduled path of the nth device passing through any channel is a first direction, the passing cost of any channel includes a first cost of passing through any channel in the first direction, Figure 3A The "updating the passing cost of any channel" in step 102 shown can be achieved through the following steps: determining the first distance between the path starting point of the scheduling path of the nth device and the channel entrance; based on the first distance, increasing the first cost, and determining the increased first cost as the updated first cost.

[0079] Wherein, any channel may be a one-way channel or a two-way channel, and the first direction is the direction from the channel entrance of any channel to the channel exit of any channel.

[0080] As an example, determine the first distance between the starting point of the scheduling path of the nth device and the channel entrance, as well as the first speed of the nth device in the area outside any channel, and determine the ratio of the first distance to the first speed as the first time required for the nth device to reach the channel entrance from the starting point of the path, determine any device with a lower device priority than the nth device and passing through any channel in the first direction as the first device, determine the product of the first time and the movement speed of the first device in the area outside the channel as the increase in the first cost, and determine the sum of the first cost and the increase in the first cost as the updated first cost.

[0081] When the movement speeds of N devices in the area outside the channel are consistent and the movement speeds of N devices in the area outside the channel are all the first speed, the increase in the first cost is numerically equivalent to the first distance, and the sum of the first cost and the first distance is determined as the updated first cost, which is explained below.

[0082] See also Figure 4A , Figure 4AThis is a first schematic diagram of the device scheduling method provided by an embodiment of the present application. Any channel passed by the scheduling path of the nth device can be channel 401. The first direction of the scheduling path of the nth device passing through channel 401 is the direction from the channel entrance e1 of channel 401 to the channel exit f1. The starting point of the scheduling path of the nth device is the starting point p1. The first distance between the starting point p1 and the channel entrance e1 can be represented as L1. When the movement speeds of N devices in the area outside the channel are consistent, and the movement speeds of the nth device and the first device in the area outside the channel are both the first speed, the first time required for the nth device to reach the channel entrance from the path starting point is the ratio between the first distance and the first speed. Referring to the formula (1.1) for determining the increase in the first cost, the product of the first time and the movement speed of the first device in the area outside the channel is determined as the increase in the first cost. The formula (1.1) for determining the increase in the first cost is as follows:

[0083]

[0084] Among them, L1 is the first distance, v a is the first speed, For the first duration.

[0085] Refer to formula (1.1), the increase in the first cost is The value is equivalent to the first distance L1, and the sum of the first cost and the first distance is determined as the updated first cost.

[0086] In an embodiment of the present application, the increase in the first cost actually reflects the resource cost consumed by the first device waiting outside any channel for the nth device to arrive at the channel entrance. By updating the first cost of any channel, the channel capacity can be evaluated more accurately. In the process of path planning for subsequent devices, based on the passing costs of M channels, the channels that subsequent devices pass through can be more reasonably allocated, thereby reducing conflicts and waiting times between devices and improving the overall efficiency and stability of device scheduling.

[0087] In some embodiments, when the direction of the scheduled path of the nth device passing through any channel is a first direction, the passing cost of any channel further includes a second cost of passing through any channel in a second direction. Figure 3A The "updating the passing cost of any channel" in step 102 shown can also be achieved by the following steps: obtaining the first speed and the second speed of the nth device, and obtaining the second distance between the channel entrance and the channel exit; based on the first speed, the second speed, the first distance and the second distance, increasing the second cost, and determining the increased first cost as the updated second cost.

[0088] Among them, any channel is a bidirectional channel, the second direction is the direction from the channel exit to the channel entrance, the first speed is the movement speed of the nth device in the area outside any channel, and the second speed is the movement speed of the nth device in any channel.

[0089] See also Figure 4A In the case where channel 401 is a bidirectional channel, any channel that the scheduling path of the nth device passes through can be channel 401. The second direction is the direction from the channel exit f1 of channel 401 to the channel entrance e1. The first speed and second speed of the nth device are obtained. The first speed can be represented by v a , the second speed can be represented as v b The first distance between the path starting point p1 of the scheduling path of the nth device and the channel entrance e1 can be represented as L1, and the second distance between the channel entrance e1 and the channel exit f1 can be represented as L2. Based on the first speed v a , second speed v b , the first distance L1 and the second distance L2, determine an increase in the second cost, and determine the sum of the second cost and the increase in the second cost as the updated second cost.

[0090] In some embodiments, the above-mentioned "increasing the second cost based on the first speed, the second speed, the first distance and the second distance, and determining the increased first cost as the updated second cost" can be achieved by the following steps: determining the ratio between the first speed and the second speed, and determining the product between the ratio and the second distance; determining the sum of the second cost, the first distance and the product as the increased second cost.

[0091] Continuing with the above example, when the movement speeds of N devices in areas outside the channel are the same and the movement speeds of N devices in areas outside the M channels are all the first speed, the first duration required for the nth device to reach the channel entrance from the path starting point is the ratio of the first distance to the first speed, and the second duration required for the nth device to reach the channel exit from the channel entrance is the ratio of the second distance to the second speed. That is, the third duration required for the nth device to reach the channel exit from the path starting point is the sum of the first duration and the second duration. Any device with a lower device priority than the nth device and passing through any channel in the second direction is determined as the second device. Refer to the formula (1.2) for determining the increase in the second cost. The product of the third duration and the first speed of the second device in the area outside the channel is determined as the increase in the second cost. The formula (1.2) for determining the increase in the second cost is as follows:

[0092]

[0093] Among them, L1 is the first distance, L2 is the second distance, and v ais the first velocity, v b is the second speed, For the first duration, For the second duration, The third duration.

[0094] Refer to formula (1.2), the increase in the second cost is is numerically equivalent to in, is the ratio between the first speed and the second speed, determine the ratio The product of the second distance L2 is The increase in the second cost is determined as the product of the first distance L1 and The sum of the second cost and the increase in the second cost is determined as the updated second cost.

[0095] In an embodiment of the present application, the increase in the second cost actually reflects the resource cost consumed by the second device waiting outside any channel for the nth device to pass through any channel. By updating the second cost of any channel, the two-way traffic capacity of any channel can be more comprehensively evaluated, so that the passing cost of any channel not only takes into account the devices passing in the same direction, but also takes into account the additional costs brought by the devices passing in the opposite direction, thereby more accurately predicting and avoiding congestion or conflicts that may be caused by two-way traffic during the device path planning process.

[0096] In step 103 , based on the updated passing cost of any channel and the passing costs of M−1 channels other than any channel, path planning is performed for the (n+1)th device to obtain a scheduling path for the (n+1)th device.

[0097] As an example, based on the updated passing cost of any channel and the passing costs of M-1 channels other than any channel, the scheduling path of the n+1th device is searched on the grid map, where the scheduling path of the n+1th device may pass through any channel among the M channels or may not pass through any channel among the M channels, which is not limited here.

[0098] In some embodiments, path planning is a search for a dispatch path implemented on a grid map, see Figure 3B , Figure 3B This is a second flow chart of the device scheduling method provided in an embodiment of the present application. Figure 3A The illustrated step 103 can be implemented by following steps 1031 to 1035 , which are described in detail below.

[0099] In step 1031 , the starting grid where the starting point of the path of the (n+1)th device is located is determined from the grid map, and the grid cost of the starting grid is determined.

[0100] As an example, the starting grid where the starting point of the path of the n+1th device is located is determined from the grid map, and the grid number and grid cost of the starting grid are determined, where the grid cost of the starting grid is the distance between the starting point of the path of the n+1th device and the end point of the path of the n+1th device.

[0101] In step 1032 , based on the grid cost of the starting grid, a node corresponding to the starting grid is constructed, and the node corresponding to the starting grid is stored in a candidate node set.

[0102] As an example, in the candidate node set, the candidate nodes included therein can be managed and stored through the data structure of the minimum heap binary tree, the grid number and grid cost of the starting grid are stored in the initial node, and the initial node storing the grid number and grid cost of the starting grid is determined as the node corresponding to the starting grid, and the node corresponding to the starting grid is stored in the candidate node set as the root node of the minimum heap binary tree.

[0103] The following steps 1033 to 1035 are iteratively performed:

[0104] In step 1033 , the first grid with the minimum grid cost among the grids corresponding to the nodes in the candidate node set is determined.

[0105] As an example, in the first iteration process, the starting grid is determined as the first grid. In the iteration process after the first iteration, the grid with the smallest grid cost is determined from the grids corresponding to the nodes included in the candidate node set, and the grid with the smallest grid cost is determined as the first grid.

[0106] In step 1034, when the first grid is not the end grid where the path end point of the (n+1)th device is located, based on the updated passing cost of any channel and the passing costs of M-1 channels other than any channel, a second grid is searched in the grid map, and the node corresponding to the searched second grid is stored in the candidate node set.

[0107] As an example, from the grid map, determine the grids where the channel openings of M channels are located. When the first grid is the grid where one of the channel openings of the first channel is located, and the direction from the first grid to the other channel opening of the first channel is the passable direction of the first channel, the first grid is the grid where the channel entrance of the first channel is located; when the first grid is the grid where one of the channel openings of the first channel is located, and the direction from the first grid to the other channel opening of the first channel is not the passable direction of the first channel, the first grid is the grid where the channel exit of the first channel is located.

[0108] In some embodiments, when the first grid is the grid where the channel entrance of the first channel is located, and the first channel is any channel among the M channels, see Figure 3C , Figure 3C This is a third flow chart of the device scheduling method provided in an embodiment of the present application. Figure 3B The illustrated step 1034 can be implemented by following the steps 201A to 204A, which are described in detail below.

[0109] In step 201A, a third cost for entering the first channel through the channel entrance is determined from the updated passing cost of the arbitrary channel and the passing costs of M-1 channels other than the arbitrary channel.

[0110] As an example, the third cost of entering the first channel through the channel entrance included in the pass cost of the first channel is determined from the updated pass cost of the arbitrary channel and the pass costs of M-1 channels other than the arbitrary channel.

[0111] In step 202A, the grid where the channel exit of the first channel is located is determined as the second grid, and a third distance between the channel exit and the path end point is determined.

[0112] As an example, the grids other than the first grid in the grid where the channel entrance of the first channel is located are determined as the grid where the channel exit is located, and the grid where the channel exit of the first channel is located is determined as the second grid, and at the same time, the third distance between the channel exit of the first channel and the path end point of the n+1th device is determined.

[0113] In step 203A, the sum of the grid cost of the first grid, the third cost, and the third distance is determined as the grid cost of the second grid.

[0114] See also Figure 4A The first channel may be channel 401, the first grid may be the grid where the channel entrance e1 is located, and the second grid may be the grid where the channel exit f1 is located. The grid cost of the first grid, the third cost, and the sum of the third distance between the channel exit f1 and the path end point q1 of the (n+1)th device are determined as the grid cost of the second grid.

[0115] In step 204A, nodes corresponding to the second grid are constructed based on the grid cost of the second grid, and the nodes corresponding to the second grid are stored in the candidate node set.

[0116] The node corresponding to the second grid is a child node of the node corresponding to the first grid.

[0117] As an example, based on the grid number of the second grid, the grid cost of the second grid and the grid number of the first grid, the node corresponding to the second grid is constructed, and the node corresponding to the second grid is stored in the candidate node set as a child node of the node corresponding to the first grid.

[0118] In an embodiment of the present application, when the first grid is the grid where the channel entrance is located, the grid where the channel exit is located is determined as the second grid. Compared with the method of searching adjacent grids one by one, ineffective exploration inside the channel is avoided and computing resources are saved. By summing the third cost of the first channel, the distance from the channel exit of the first channel to the path end point, and the grid cost of the first grid, the grid cost of the second grid is determined. This can more comprehensively evaluate the feasibility of the path and thus ensure the optimality of the path planning. In addition, the nodes of the second grid are stored in the candidate node set as child nodes of the first grid nodes. While realizing hierarchical storage and management of the candidate node set, it also facilitates subsequent path backtracking.

[0119] In some embodiments, when the first grid is not the grid where the channel opening is located, see Figure 3D , Figure 3D This is a fourth flow chart of the device scheduling method provided in an embodiment of the present application. Figure 3B The illustrated step 1034 can be implemented by following the steps 201B to 204B, which are described in detail below.

[0120] In step 201B, a second grid is determined from grids adjacent to the first grid.

[0121] In some embodiments, Figure 3D Step 201B shown can be implemented by the following steps: determining a third grid that is adjacent to the first grid and can pass through, and determining the third grid as the second grid; querying the parent node of the node corresponding to the first grid from the candidate node set, determining the grid corresponding to the parent node as the fourth grid, determining the direction from the fourth grid to the first grid, and determining the grid in the third grid located in the direction as the second grid.

[0122] As an example, a third grid adjacent to the first grid and passable is determined, and the third grid is determined as the second grid, wherein the passable grid refers to a grid that is not occupied by an obstacle, see Figure 5A , Figure 5A This is the fifth principle diagram of the device scheduling method provided in an embodiment of the present application. The first grid may be grid 501, and the grids other than obstacle grid 506 and adjacent to grid 501 are determined as the third grid, and the third grid is determined as the second grid.

[0123] Alternatively, the parent node of the node corresponding to the first grid is searched from the candidate node set, the grid corresponding to the parent node is determined as the fourth grid, and the direction from the fourth grid to the first grid is determined, and the grid in the third grid located in the direction is determined as the second grid. Figure 5A, the first grid may be grid 501, when the fourth grid is grid 502, the grid in the third grid located in the direction from the fourth grid to the first grid is grid 505, and grid 505 is determined as the second grid, when the fourth grid is grid 503, the grid in the third grid located in the direction from the fourth grid to the first grid is grid 504, and grid 504 is determined as the second grid.

[0124] In the embodiment of the present application, by directly determining the third grid that is adjacent to the first grid and can be passed through as the second grid, the rigor and completeness of the path search are ensured. On this basis, the direction from the fourth grid to the first grid can be combined to further filter the second grid from the third grid. The path search is guided by direction information, which reduces invalid searches and path detours, thereby improving the efficiency and accuracy of path planning.

[0125] The following steps 202B to 204B are performed for the second grid:

[0126] In step 202B, a fourth distance between the second grid and the first grid is determined, and a fifth distance between the second grid and the end point of the path is determined.

[0127] In step 203B, the sum of the grid cost of the first grid, the fourth distance, and the fifth distance is determined as the grid cost of the second grid.

[0128] In step 204B, nodes corresponding to the second grid are constructed based on the grid cost of the second grid, and the nodes corresponding to the second grid are stored in the candidate node set.

[0129] The node corresponding to the second grid is a child node of the node corresponding to the first grid.

[0130] As an example, the specific implementation of step 202B to step 204B can refer to step 202A to step 204A shown above, and will not be repeated here.

[0131] In an embodiment of the present application, when the first grid is not the grid where the channel entrance is located, the grid cost of the second grid is determined by the distance from the first grid and the distance from the end point of the path, combined with the grid cost of the first grid, so that the feasibility of the path can be more comprehensively evaluated, thereby ensuring the optimality of the path planning. In addition, the nodes of the second grid are stored as child nodes of the first grid nodes in the candidate node set, which not only realizes the hierarchical storage and management of the candidate node set, but also facilitates subsequent path backtracking.

[0132] In some embodiments, when the first grid is the grid where the channel outlet of the first channel is located, and the first channel is any channel among the M channels, Figure 3BStep 1034 shown can be implemented by the following steps: determining the grid adjacent to the grid where the channel exit is located as the second grid; constructing nodes corresponding to the second grid, and storing the nodes corresponding to the second grid in the candidate node set.

[0133] The node corresponding to the second grid is a child node of the node corresponding to the first grid.

[0134] As an example, the grid adjacent to the grid where the channel exit is located is determined as the second grid. When the number of second grids is greater than 1, for each second grid, a node corresponding to the second grid is constructed, and the node corresponding to each second grid is stored in the candidate node set as a child node of the node corresponding to the first grid. The specific processing of "for each second grid, constructing a node corresponding to the second grid" can be found in steps 202A to 204A shown above, which will not be repeated here.

[0135] In an embodiment of the present application, when the first grid is the grid where the channel exit is located, the grid adjacent to the channel exit is determined as the second grid. By only considering the grids adjacent to the channel exit, it is possible to quickly focus on the path direction that is most likely to lead to the path end point, thereby improving the efficiency of path search. By summing the sixth distance between each second grid and the first grid, the seventh distance between each second grid and the path end point, and the grid cost of the first grid, the grid cost of the second grid is determined. This allows for a more comprehensive evaluation of the feasibility of the path, thereby ensuring the optimality of path planning. In addition, the nodes of the second grid are stored in the candidate node set as child nodes of the first grid nodes. While achieving hierarchical storage and management of the candidate node set, it also facilitates subsequent path backtracking.

[0136] In step 1035 , when the first grid is the end grid, path backtracking is performed based on the candidate node set to obtain the scheduling path of the (n+1)th device, and the iteration is stopped.

[0137] In some embodiments, Figure 3B Step 1035 shown can be implemented by the following steps: based on the candidate node set, query the node corresponding to the destination grid, and determine the node corresponding to the destination grid as the first node in the node sequence; based on the candidate node set, query the parent node of the jth node in the node sequence, and determine the parent node of the jth node as the j+1th node in the node sequence; until the parent node of the Jth node in the node sequence is not queried based on the candidate node set, the J grids corresponding to the J nodes included in the node sequence are connected in reverse order to obtain the scheduling path of the n+1th device.

[0138] Wherein, j is a positive integer that increases successively.

[0139] As an example, the node corresponding to the terminal grid is queried from the candidate node set, and the node corresponding to the terminal grid is determined as the first node in the node sequence. The parent node of the first node in the node sequence is queried from the candidate node set, and the parent node of the first node is determined as the second node in the node sequence, and so on. When the parent node of the Jth node in the node sequence is not queried in the candidate node set, the iteration stops. The failure to query the parent node of the Jth node indicates that the Jth node is the root node of the minimum heap binary tree of the candidate node set for storing and managing candidate nodes, that is, the Jth node is the node used for the path starting point of the n+1th device. The J grids corresponding to the J nodes included in the node sequence are connected in reverse order to obtain the scheduling path of the n+1th device.

[0140] In an embodiment of the present application, starting from the node corresponding to the end point grid, the parent node is queried step by step in the candidate node set to construct a complete node sequence, and finally the grids corresponding to these nodes are connected in reverse order to generate the scheduling path of the n+1th device. This can efficiently extract path information from the candidate node set to ensure the continuity and accuracy of the path, and at the same time utilize the structural characteristics of the minimum heap binary tree to quickly locate the starting point of the path, thereby providing an efficient and reliable path planning solution for device scheduling.

[0141] In step 104, N devices are controlled to move according to the corresponding N scheduling paths.

[0142] As an example, N devices may be controlled to move along their respective N scheduling paths in any order, wherein any two of the N devices may move simultaneously or sequentially in a preset order, which is not limited here.

[0143] Below, an exemplary application of an embodiment of the present application in an application scenario of dispatching a robot to pass through a gate will be described.

[0144] In a robot-gate scheduling system, the robot-gate scheduling algorithm is an algorithm used to determine the working order, path planning and task allocation of robots in a specific environment, and then efficiently assign corresponding tasks to each robot in scenarios where multiple robots need to coordinate their work. For example, in a system that requires multiple robots to perform tasks separately or in cooperation with each other (for example, automated warehouses, airport baggage handling, etc.), robots may need to work together. By efficiently assigning corresponding tasks to each robot, robots can avoid conflicts with each other, reduce unnecessary waiting time, and avoid wasting time. Among them, gates, as access control facilities, are commonly found in public transportation, airports and other scenarios. Their main function is to control the flow of people or equipment and ensure safety and order.

[0145] In scenarios where robots need to be dispatched to pass through gates, it is difficult to ensure that the robots can reasonably avoid other robots and pass through the gates smoothly while completing their tasks, which can easily lead to equipment congestion. In addition, the relevant technology is difficult to quickly respond to the needs of different robots.

[0146] In response to the problems existing in the related technologies, an embodiment of the present application provides an equipment scheduling method, which maximizes the efficiency of passing through the gate by reasonably allocating gates to each robot, and plans a scheduling path for each robot.

[0147] The device scheduling method provided in the embodiment of the present application has the following features:

[0148] 1) Path allocation and collaboration: The embodiment of the present application provides an equipment scheduling method that reasonably allocates a scheduling path for each robot while taking into account the passing efficiency of each gate in different directions.

[0149] 2) Adaptability: Each robot uses the same scheduling logic, and by assigning different scheduling priorities to each robot, the path of each robot is adjusted in real time.

[0150] 3) Global approximate optimality: When planning the path for each robot, the optimal time for each robot to pass through the gate is considered, thereby achieving a globally approximate optimal scheduling effect.

[0151] 4) Path planning: While assigning a gate to each robot, a global scheduling path is generated for each robot to pass through the corresponding gate.

[0152] 5) Wide range of applications: The equipment scheduling method provided in the embodiment of the present application can be applied to scheduling scenarios where any number of robots pass through any number of gates, and has a wide range of applications.

[0153] 6) Low computing performance requirements: The embodiment of the present application provides an equipment scheduling method that can complete the path planning calculation in a very short time when planning the path planning of multiple robots, and the computing performance requirements of the system are not high.

[0154] The following will explain the equipment scheduling method provided in the embodiment of the present application from the aspects of data input, multi-machine scheduling, gate status information, gate selection and path planning.

[0155] 1. Data input.

[0156] The input data of the equipment scheduling method provided in the embodiment of the present application includes: robot task information, robot priority level, gate information and grid map.

[0157] 1) Robot’s mission information.

[0158] For the i-th robot among the N robots (i.e., the N devices mentioned above), the task information of the i-th robot includes the starting point coordinates and the end point coordinates Among them, i∈{1,……,N}.

[0159] 2) The priority level of the robot.

[0160] The priority of the i-th robot among N robots (i.e., the device priority mentioned above) can be represented as h i , The priority of each robot is unique, that is, no two robots have the same priority.

[0161] 3) Gate information.

[0162] For the jth gate among the M gates (i.e. the M channels above), the information of the jth gate includes the entrance coordinates and exit coordinates Among them, j∈{1,……,M}.

[0163] 4) Grid map.

[0164] The grid map is used to express safe and unsafe information on the map. The starting and ending points of all robots must be located within the grid map.

[0165] See also Figure 4B , Figure 4B This is the second principle diagram of the device scheduling method provided in the embodiment of the present application. Figure 4B The black area shown in the figure represents the area where the obstacle is located, that is, the unsafe area, the circle represents the entrance or exit of the gate, and the quadrilateral represents the starting point or end point of the robot. The task information of robot 1 includes the starting point p1 and the end point q1, and the task information of robot 2 includes the starting point p2 and the end point q2.

[0166] See also Figure 4C , Figure 4C This is the third principle diagram of the equipment scheduling method provided in the embodiment of the present application. When robots 1 and 2 are not scheduled for multiple gates, when trying to pass through the gate, robots 1 and 2 both choose to reach the end through the gate entrance e1 closest to their starting point. Robot 2, which is closer, will pass through the gate first, and then robot 1, which is farther away, will need to wait for the previous robot 2 to completely pass through the gate before it can pass through the gate. Therefore, the time for the two robots to pass through the gate as a whole is longer and the efficiency is lower.

[0167] Therefore, the problem that the equipment scheduling method provided in the embodiment of the present application needs to solve is how to allocate M gates to N robots while taking into account the task priority so that the overall efficiency of all robots passing through the gates is higher. Figure 4D , Figure 4D This is the fourth principle diagram of the equipment scheduling method provided in the embodiment of the present application. If robot 1 and robot 2 respectively select different gates, then robot 1 and robot 2 can pass through the gate at the same time, and the overall efficiency of the robots passing through the gate is improved.

[0168] 2. Multi-machine scheduling.

[0169] To achieve the above-mentioned effects, the robot-gate scheduling algorithm of the embodiment of the present application needs to comply with the following principles:

[0170] Principle 1: Robots with higher priorities are assigned faster gates and paths.

[0171] Principle 2: When multiple robots pass through a gate, passing in the same direction is faster than passing in the opposite direction.

[0172] Principle 3: The robot does not have to pass through the gate and can bypass it.

[0173] See also Figure 6 , Figure 6 This is the fifth flow chart of the equipment scheduling method provided in the embodiment of the present application. Based on Principle 1 of the robot-gate scheduling algorithm, the main algorithm framework of the robot-gate scheduling algorithm in the embodiment of the present application is constructed, which is described in detail below.

[0174] Step 601: sort by priority.

[0175] Based on the robot's priority h i Sort the N machines in descending order to obtain a robot sequence, and proceed to step 602 .

[0176] Step 602: Select the robot with the highest priority.

[0177] According to the priority sorting, the robot with the highest priority is selected from the robot sequence for path planning, and the process goes to step 603.

[0178] Step 603: Select the optimal gate and dispatching path.

[0179] According to the status of the M gates (ie, the passing costs mentioned above), it is determined whether the robot passes through any gate, or which gate it passes through, and the scheduling path of the robot is determined, and the process goes to step 604 .

[0180] Step 604 , update the optimal gate state and proceed to step 605 .

[0181] Step 605: Delete the robot from the robot sequence.

[0182] After the scheduling path of the robot is determined, the robot is deleted from the robot sequence, and then the process proceeds to step 602 . When there is no robot in the robot sequence that has not undergone path planning, the process proceeds to step 606 .

[0183] Step 606: Obtain the scheduling paths of all robots.

[0184] Until the gates and scheduling paths selected by all robots are determined.

[0185] In this way, robots with higher priorities will first occupy the gates that pass faster, and then update the status of the gates to allow robots with lower priorities to choose other gates.

[0186] 3. Gate status information.

[0187] Based on the principles 1 and 2 of the robot-gate scheduling algorithm, the state of the j-th gate is represented by the cost c′ j and c″ j The passing cost is the maximum time the robot needs to wait for the gate to pass through multiplied by the robot speed. The two-way gate (i.e. the two-way channel mentioned above) has two passing costs c′. j and c″ j , respectively representing the gate machine passing through from both ends, and the one-way passage (i.e. the one-way channel above) has only one effective passing cost c′ j or c″ j .

[0188] After each pair of robots has been path planned and gates assigned, the gate pass cost needs to be updated. The following describes the update of the gate pass cost.

[0189] See also Figure 4A , robot 1 chooses to pass through gate No. 1 (i.e. channel 401). The shortest path for robot 1 to pass through gate No. 1 includes the path from starting point p1 to gate entrance e1, with a path length of L1, and the path from gate entrance e1 to gate exit f1, with a path length of L2.

[0190] If gate No. 1 is a two-way gate, then if another robot also wants to pass through gate No. 1 from e1, the other machine needs to wait for robot 1 to reach e1 at most, and then pass through the gate with robot 1 in turn; if another robot wants to pass through gate No. 1 from f1, the other machine needs to wait for robot 1 to pass through gate No. 1 and reach f1 at most before it can enter the gate.

[0191] Therefore, the cost c′1 (i.e. the first cost above) of gate No. 1 in the same direction increases The reverse cost c″1 (i.e. the second cost above) of gate 1 is increased Among them, v a is the velocity of the robot, v b is the speed of the robot when passing through the gate.

[0192] Whenever a robot selects a gate, the cost of passing through this gate will increase, and the cost of passing through in the opposite direction will increase more significantly. Therefore, when other robots make a choice, they will consider passing through other better gates.

[0193] 4. Gate selection and route planning.

[0194] In an embodiment of the present application, gate selection and path planning are integrated into one algorithm, path planning is performed on the current robot on a grid map, and the scheduling path of the current robot and the gates passed by the scheduling path are directly output based on the results of the path planning.

[0195] The device scheduling method of the embodiment of the present application adopts a search algorithm on the grid map, and searches for a path from the starting point to the end point in units of grids. In order to search for the optimal path-gate solution, each time a grid is searched, the optimal next grid is determined, and then it is determined whether the next grid needs to pass through the gate. If it needs to pass through the gate, which gate has the lowest cost? See Figure 7 , Figure 7 This is a sixth flow chart of the device scheduling method provided in the embodiment of the present application. Figure 7 Provide specific instructions for gate selection and path planning.

[0196] Step 701, set the cost of the current robot's starting point.

[0197] Determine the cost of the current robot's starting point (ie, the grid cost of the grid where the path starting point is located), and proceed to step 702 .

[0198] Step 702: Add the starting point to the candidate node set and proceed to step 703.

[0199] Step 703 : Select the node with the minimum cost from the candidate node set, and proceed to step 704 .

[0200] Step 704: Determine whether the node with the minimum cost is the end point.

[0201] If the node with the minimum cost is not the end point, proceed to step 705 ; if the node with the minimum cost is the end point, proceed to step 709 .

[0202] In step 705 , the node with the minimum cost is used as the current node, and the process proceeds to step 706 .

[0203] Step 706 , searching for candidate nodes based on the current node, and proceeding to step 707 .

[0204] Step 707 , calculate the cost of the candidate node, and proceed to step 708 .

[0205] Step 708 , adding the candidate node to the candidate node set, and then proceeding to step 703 .

[0206] Step 709: Obtain the current robot's scheduling path by backtracking.

[0207] The search algorithm used in the device scheduling method of the embodiment of the application on the grid map will be specifically described below from four aspects: candidate node set, candidate node search, determination of candidate node cost and backtracking results.

[0208] 1) Candidate node set.

[0209] The embodiment of the present application realizes the candidate node set through the data structure of the minimum heap, which is a special binary tree structure. Figure 8 , Figure 8 This is the ninth principle diagram of the device scheduling method provided in the embodiment of the present application. The candidate node set can be represented as Figure 8 The minimum heap shown has 6 nodes, and each node stores the corresponding grid information.

[0210] The features of the minimum heap in the embodiment of the present application include: the grid information stored in each node includes the grid coordinates, cost, gate number to which the grid belongs, and number of the previous grid; the cost of each node is smaller than that of all its child nodes, and the root node is the node with the smallest cost; only the root node and the last node can have no sibling nodes, and other nodes must have sibling nodes.

[0211] The above characteristics of the minimum heap ensure that in each iteration process, the node with the lowest cost in the candidate node set can be quickly obtained by directly accessing the root node.

[0212] 2) Search for candidate nodes.

[0213] The minimum cost node in the candidate node set is taken as the current node, and the candidate node is searched based on the current node. The grid number of the current node is determined as the previous grid number of the candidate node. During the search process, three situations need to be handled: the first situation is to search in the area outside the gate; the second situation is to search the gate entrance; the third situation is to search the gate exit.

[0214] In order to quickly determine whether the grid is related to the gate, the gate information is stored in a hash table structure, as shown in Table 1:

[0215] Table 1 Information table of gate machine

[0216] Grid number Corresponding export number Corresponding gate number 1 4 1 2 3 2 3 0 2 4 1 1

[0217] From the grid number, you can directly query whether the grid belongs to the gate entrance, and directly get the number of its corresponding exit. The number 0 represents a one-way gate, and this direction is not accessible.

[0218] In the first case, the search is performed in the area outside the gate, that is, the current node has nothing to do with the gate, the current node can be the starting point, and there may or may not be obstacles around the current node.

[0219] When the current node is the starting point, see Figure 5A The grid where the starting point is located may be grid 501, and all safe grids around grid 501 where the starting point is located are directly used as candidate grids, that is, 7 grids around grid 501 except obstacle grid 506 are determined as candidate grids.

[0220] When there are obstacles around the current node, the safe grids around the obstacle can be determined as candidate grids based on the number of the previous grid included in the current node. Figure 5B , Figure 5B This is the sixth principle diagram of the device scheduling method provided in an embodiment of the present application, which determines the current grid, the previous grid, and the obstacle grid corresponding to the current node respectively, and determines the dotted grid as the candidate grid.

[0221] When there are no obstacles around the current node, combined with the number of the previous grid included in the current node, the surrounding safe grids in the same direction are determined as candidate grids, see Figure 5C , Figure 5C This is the seventh principle diagram of the device scheduling method provided in an embodiment of the present application, which determines the current grid and the previous grid corresponding to the current node respectively, and determines the surrounding dotted grids in the same direction as candidate grids.

[0222] In the second case, the current node is the entrance of the gate. The hash table is queried to see whether the current direction (the direction from the current node to the gate) can pass through the gate. If it can pass through the gate, the exit of the gate is determined as the candidate grid, and the number of the gate to which the grid belongs is recorded.

[0223] In the third case, the current node is the exit of the gate, and the surrounding grids outside the gate are added to the candidate grids. Figure 5D , Figure 5DThis is the eighth principle diagram of the equipment scheduling method provided in an embodiment of the present application, in which the dotted grids around the outside of the gate in the same direction as the gate are determined as candidate grids.

[0224] 3) Determine the cost of the candidate node.

[0225] In the process of determining the cost of the candidate node corresponding to each candidate grid, three cases need to be considered: the first case is searching in the area outside the gate; the second case is searching the gate entrance; the third case is searching the gate exit.

[0226] In the first case, the current node is not related to the gate, and the cost of each candidate node is the cost of the previous node plus the distance from the current node to the previous node, plus the distance between the candidate node and the end point.

[0227] In the second case, the current node happens to be the gate entrance, then the cost of the candidate node is the cost of the previous node plus the cost of the gate, plus the distance between the candidate node and the end point.

[0228] The third case can refer to the first case.

[0229] In an embodiment of the present application, in order to speed up the path search, an additional cost value is added when determining the cost of the node. This additional cost is defined as the distance from the candidate node grid to the task end point. In this way, each time the minimum cost node is selected, the task end point can be gradually approached, and then all candidate nodes are added to the candidate node set.

[0230] 4) Backtracking results.

[0231] When the minimum-cost node in the candidate node set is the task endpoint, the path search ends. The previous node number is obtained from the current node information, and the previous node is determined. This backtracking operation is repeated repeatedly to obtain the optimal path-gate combination result. Because the gate information is recorded in the node, the backtracking operation can directly determine whether the entire result has passed through a gate and which gates have been passed.

[0232] The device scheduling method provided in the embodiment of the present application mainly has the following beneficial effects:

[0233] 1) The overall framework integrates path search and gate scheduling. By searching on a grid map, the final scheduling path and the gates passed can be directly obtained, avoiding the design of complex scheduling logic.

[0234] 2) The system considers the scheduling problem of multiple robots and multiple gates in the same scenario. It has a wide range of applicable scenarios and makes certain abstractions of the gates. In theory, it can be applied to any scenario involving gates.

[0235] 3) An optimal cost scheduling framework is designed to ensure the optimization of scheduling paths and gate allocation while complying with task priorities, thereby achieving optimal overall efficiency.

[0236] 4) A variety of high-efficiency data structures such as minimum heap and hash table are adopted to improve the computing efficiency of the entire gate dispatching system and reduce the demand for computing resources.

[0237] The following continues to describe the exemplary structure of the device scheduling device 555 provided in the embodiment of the present application as a software module. In some embodiments, such as Figure 2 As shown, the software modules stored in the device scheduling device 555 of the memory 550 may include:

[0238] The device management module 5551 is configured to search for scheduling paths for N devices in descending order of device priority, where N is a positive integer greater than 1.

[0239] The cost management module 5552 is configured to update the cost of any channel when the searched scheduling path of the nth device passes through any channel among the M channels, where M is a positive integer greater than 1, n is a positive integer that increases in sequence, and 1≤n<N;

[0240] A path search module 5553 is configured to perform path planning for the (n+1)th device based on the updated pass cost of the arbitrary channel and the pass costs of M-1 channels other than the arbitrary channel, to obtain a scheduling path for the (n+1)th device;

[0241] The device scheduling execution module 5554 is used to control the N devices to move according to the corresponding N scheduling paths.

[0242] In some embodiments, when the direction of the scheduling path of the nth device passing through the arbitrary channel is a first direction, the passing cost of the arbitrary channel includes a first cost of passing through the arbitrary channel in the first direction, and the first direction is the direction from the channel entrance of the arbitrary channel to the channel exit of the arbitrary channel. The cost management module 5552 is also used to determine the first distance between the path starting point of the scheduling path of the nth device and the channel entrance; based on the first distance, the first cost is increased, and the increased first cost is determined as the updated first cost.

[0243] In some embodiments, the passing cost of the arbitrary channel also includes a second cost of passing through the arbitrary channel in a second direction, where the second direction is the direction from the channel exit to the channel entrance. The cost management module 5552 is also used to obtain the first speed and the second speed of the nth device, and obtain the second distance between the channel entrance and the channel exit, wherein the first speed is the movement speed of the nth device in the area outside the arbitrary channel, and the second speed is the movement speed of the nth device in the arbitrary channel; based on the first speed, the second speed, the first distance and the second distance, the second cost is increased, and the increased first cost is determined as the updated second cost.

[0244] In some embodiments, the cost management module 5552 is also used to determine the ratio between the first speed and the second speed, and determine the product between the ratio and the second distance; and determine the sum of the second cost, the first distance and the product as the increased second cost.

[0245] In some embodiments, the path planning is a search for a scheduling path implemented on a grid map, and the path search module 5553 is further used to determine the starting grid where the path starting point of the n+1th device is located from the grid map, and determine the grid cost of the starting grid; based on the grid cost of the starting grid, construct a node corresponding to the starting grid, and store the node corresponding to the starting grid in a candidate node set; iteratively perform the following processing: determine the first grid with the smallest grid cost among the grids corresponding to the nodes in the candidate node set; when the first grid is not the terminal grid where the path end point of the n+1th device is located, search for a second grid in the grid map based on the updated pass cost of the arbitrary channel and the pass costs of M-1 channels other than the arbitrary channel, and store the node corresponding to the searched second grid in the candidate node set; when the first grid is the terminal grid, perform path backtracing based on the candidate node set to obtain the scheduling path of the n+1th device, and stop the iteration.

[0246] In some embodiments, when the first grid is the grid where the channel entrance of the first channel is located, and the first channel is any channel among the M channels, the path planning is a search for a scheduling path implemented on a grid map, and the path search module 5553 is further used to determine the third cost of entering the first channel through the channel entrance from the updated passing cost of the arbitrary channel and the passing costs of M-1 channels other than the arbitrary channel; determine the grid where the channel exit of the first channel is located as the second grid, and determine the third distance between the channel exit and the path end point; determine the sum of the grid cost of the first grid, the third cost and the third distance as the grid cost of the second grid; construct a node corresponding to the second grid based on the grid cost of the second grid, and store the node corresponding to the second grid in the candidate node set, wherein the node corresponding to the second grid is a child node of the node corresponding to the first grid.

[0247] In some embodiments, when the first grid is not the grid where the passage entrance is located, the path search module 5553 is further used to determine the second grid from the grids adjacent to the first grid, and perform the following processing on the second grid: determine the fourth distance between the second grid and the first grid, and determine the fifth distance between the second grid and the end point of the path; determine the sum of the grid cost of the first grid, the fourth distance and the fifth distance as the grid cost of the second grid; construct a node corresponding to the second grid based on the grid cost of the second grid, and store the node corresponding to the second grid in the candidate node set, wherein the node corresponding to the second grid is a child node of the node corresponding to the first grid.

[0248] In some embodiments, the path search module 5553 is further used to determine a third grid that is adjacent to the first grid and can be passed through, and determine the third grid as the second grid; query the parent node of the node corresponding to the first grid from the candidate node set, determine the grid corresponding to the parent node as the fourth grid, determine the direction from the fourth grid to the first grid, and determine the grid in the third grid located in the direction as the second grid.

[0249] An embodiment of the present application provides a computer program product, which includes a computer program or computer-executable instructions stored in a computer-readable storage medium. A processor of an electronic device reads the computer-executable instructions from the computer-readable storage medium and executes the computer-executable instructions, causing the electronic device to perform the device scheduling method described in the embodiment of the present application.

[0250] An embodiment of the present application provides a computer-readable storage medium, which stores computer-executable instructions or a computer program. When the computer-executable instructions or the computer program are executed by a processor, the processor will execute the device scheduling method provided by the embodiment of the present application.

[0251] In some embodiments, the computer-readable storage medium may be a memory such as RAM, ROM, flash memory, magnetic surface memory, optical disk, or CD-ROM; or may be various devices including one or any combination of the above memories.

[0252] In some embodiments, computer-executable instructions may be in the form of a program, software, software module, script, or code, written in any form of programming language (including compiled or interpreted languages, or declarative or procedural languages), and may be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.

[0253] By way of example, computer-executable instructions may, but need not, correspond to a file in a file system, may be stored as part of a file storing other programs or data, such as in one or more scripts in a HyperText Markup Language (HTML) document, in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files storing one or more modules, subroutines, or code portions).

[0254] By way of example, computer-executable instructions may be deployed to be executed on one electronic device, or on multiple electronic devices located at one site, or on multiple electronic devices distributed across multiple sites and interconnected by a communication network.

[0255] The above description is merely an embodiment of the present application and is not intended to limit the scope of protection of the present application. Any modifications, equivalent replacements, and improvements made within the spirit and scope of the present application are included in the scope of protection of the present application.

Claims

1. A device scheduling method, characterized in that: The method comprises: Based on the order of device priority from high to low, search for scheduling paths for N devices in sequence, where N is a positive integer greater than 1; When the searched scheduling path of the nth device passes through any channel among the M channels, the passing cost of the arbitrary channel is updated, where M is a positive integer greater than 1, n is a positive integer that increases successively, and 1≤n<N; Performing path planning for the (n+1)th device based on the updated pass cost of the arbitrary channel and the pass costs of M-1 channels other than the arbitrary channel to obtain a scheduling path for the (n+1)th device; The N devices are controlled to move according to the corresponding N scheduling paths.

2. The method according to claim 1, characterized in that When the direction of the scheduled path of the nth device passing through the arbitrary channel is a first direction, the passing cost of the arbitrary channel includes a first cost of passing through the arbitrary channel in the first direction, where the first direction is a direction from the channel entrance of the arbitrary channel to the channel exit of the arbitrary channel; The updating of the passing cost of the arbitrary channel includes: Determining a first distance between a starting point of a scheduling path for the nth device and an entrance to the channel; The first cost is increased based on the first distance, and the increased first cost is determined as the updated first cost.

3. The method according to claim 2, characterized in that The passing cost of the arbitrary channel further includes a second cost of passing through the arbitrary channel in a second direction, where the second direction is a direction from the channel exit to the channel entrance; The method further comprises: Obtaining a first speed and a second speed of the nth device, and obtaining a second distance between the channel entrance and the channel exit, wherein the first speed is the speed of the nth device in an area outside the arbitrary channel, and the second speed is the speed of the nth device in the arbitrary channel; Based on the first speed, the second speed, the first distance, and the second distance, the second cost is increased, and the increased first cost is determined as the updated second cost.

4. The method according to claim 3, characterized in that The increasing the second cost based on the first speed, the second speed, the first distance, and the second distance includes: determining a ratio between the first speed and the second speed, and determining a product between the ratio and the second distance; A sum of the second cost, the first distance, and the product is determined as the increased second cost.

5. The method according to claim 1, wherein The path planning is a search for a scheduling path implemented on a grid map; The performing path planning for the (n+1)th device based on the updated pass cost of the arbitrary channel and the pass costs of M-1 channels other than the arbitrary channel to obtain a scheduling path for the (n+1)th device includes: Determine the starting grid where the path starting point of the (n+1)th device is located from the grid map, and determine the grid cost of the starting grid; Based on the grid cost of the starting grid, construct a node corresponding to the starting grid, and store the node corresponding to the starting grid into a candidate node set; The following processing is performed iteratively: Determine the first grid with the smallest grid cost among the grids corresponding to the nodes in the candidate node set; When the first grid is not the end grid where the path end point of the (n+1)th device is located, searching for a second grid in the grid map based on the updated pass cost of the arbitrary channel and the pass costs of M-1 channels other than the arbitrary channel, and storing the node corresponding to the searched second grid in the candidate node set; When the first grid is the end grid, path backtracking is performed based on the candidate node set to obtain a scheduling path for the (n+1)th device, and the iteration is stopped.

6. The method according to claim 5, characterized in that When the first grid is the grid where the channel entrance of the first channel is located, and the first channel is any channel among the M channels, searching for a second grid in the grid map based on the updated passing cost of the any channel and the passing costs of M-1 channels other than the any channel, and storing the node corresponding to the searched second grid in the candidate node set, includes: Determine a third cost for entering the first channel through the channel entrance from the updated passing cost of the arbitrary channel and the passing costs of M-1 channels other than the arbitrary channel; determining the grid where the channel exit of the first channel is located as the second grid, and determining a third distance between the channel exit and the end point of the path; Determine the sum of the grid cost of the first grid, the third cost, and the third distance as the grid cost of the second grid; Based on the grid cost of the second grid, a node corresponding to the second grid is constructed, and the node corresponding to the second grid is stored in the candidate node set, wherein the node corresponding to the second grid is a child node of the node corresponding to the first grid.

7. The method according to claim 5, characterized in that When the first grid is not the grid where the channel entrance is located, searching for a second grid in the grid map based on the updated passing cost of the arbitrary channel and the passing costs of M-1 channels other than the arbitrary channel, and storing the node corresponding to the searched second grid in the candidate node set, includes: Determine the second grid from grids adjacent to the first grid, and perform the following processing on the second grid: determining a fourth distance between the second grid and the first grid, and determining a fifth distance between the second grid and an end point of the path; Determine the sum of the grid cost of the first grid, the fourth distance, and the fifth distance as the grid cost of the second grid; Based on the grid cost of the second grid, a node corresponding to the second grid is constructed, and the node corresponding to the second grid is stored in the candidate node set, wherein the node corresponding to the second grid is a child node of the node corresponding to the first grid.

8. The method according to claim 7, characterized in that The determining the second grid from grids adjacent to the first grid includes: Determining a third grid adjacent to the first grid and passable, and determining the third grid as the second grid; The parent node of the node corresponding to the first grid is queried from the candidate node set, the grid corresponding to the parent node is determined as the fourth grid, the direction from the fourth grid to the first grid is determined, and the grid in the third grid located in the direction is determined as the second grid.

9. A device scheduling device, characterized in that: The device comprises: A device management module, configured to search for scheduling paths for N devices in descending order of device priority, where N is a positive integer greater than 1; a cost management module, configured to update a passing cost of any of the M channels when the dispatching path of the nth device found passes through the any channel, wherein M is a positive integer greater than 1, n is a positive integer increasing in sequence, and 1≤n<N; a path search module, configured to perform path planning for the (n+1)th device based on the updated pass cost of the arbitrary channel and the pass costs of M-1 channels other than the arbitrary channel, to obtain a scheduling path for the (n+1)th device; The device scheduling execution module is used to control the N devices to move according to the corresponding N scheduling paths.

10. An electronic device, characterized in that: The electronic device comprises: a memory for storing computer-executable instructions or computer programs; The processor is configured to implement the device scheduling method according to any one of claims 1 to 8 when executing the computer executable instructions or computer program stored in the memory.

11. A computer-readable storage medium storing computer-executable instructions or a computer program, characterized in that: When the computer executable instructions or computer program are executed by a processor, the device scheduling method according to any one of claims 1 to 8 is implemented.