Patent Description:
The embodiments of the present application relate to the robot technology, for example, to a robot scheduling method a server and a storage medium.

The development of robot technology has brought new technologies and innovations to the logistics industry. The use of robots to replace a large number of workers can realize the automation in the logistics field, reduce the labor cost and promote the increase in productivity. The robot based sorting system in the related technology transforms the traditional sorting model of "person-to-goods" into the mode of "goods-to-person" by moving the robots to transfer goods to the preset worker positions, breaking the traditional goods sorting model and effectively improving the work efficiency.

Since most warehouses do not operate continuously for <NUM> hours a day, the robots need to be turned on and off every day. However, the robots may be randomly distributed in the warehouse. During turning on and off, there is a need to search the robots everywhere in the site or manually schedule the robots to the designated positions through a control terminal, that is, select a robot by the control terminal and determine the designated position corresponding to this robot, schedule this robot to the designated position, then select a next robot that needs to be scheduled, and repeat the above operations until all the robots in the site are scheduled to the designated positions. However, these two methods undoubtedly increase the usage cost and reduce the work efficiency of the staff.

In addition, many warehouse resources, such as robots, shelves, and two-dimensional codes on the warehouse floor, also require the irregular maintenance. Before the robot based sorting system is maintained, it is necessary to manually schedule the robots to the designated area to prevent the robots from blocking the two-dimensional codes on the floor or the shelves to be maintained, to facilitate the maintenance personnel for inspection and repair. However, the robots need to be manually scheduled before each time of maintenance, which will increase the operation and maintenance cost of the staff.

Patent application <CIT> discloses a conventional robot scheduling method. When a workstation needs a certain kind of goods, select corresponding robots from multiple robots in the warehouse environment to transport goods. The selection is based on whether there are goods needed on the AGV, whether the AGV is idle, and the distance from the workstation.

The present application provides a robot scheduling method a server and a storage medium, so as to solve the above problems.

Embodiments of the present application provide a robot scheduling method. The method includes: receiving a scheduling instruction for robot collection; determining a working state and a current position of a robot in a working area in response to the scheduling instruction; wherein the working state includes an idle state and a non-idle state; when the working state of the robot is the idle state and the current position is outside a preset target range, scheduling the robot from the current position into the target range; wherein the target range refers to an idle area, and the idle area is an area closer to work station; wherein the scheduling the robot from the current position into the target range includes: determining a target position of the robot within the target range; wherein the operation of determining a target position of the robot within the target range includes: determining a planned position of the robot within the target range; determining whether the planned position of the robot satisfies a preset scheduling condition, and determining the planned position of the robot as the target position of the robot in response to determining that the planned position of the robot satisfies the scheduling condition; wherein the preset scheduling condition is not affecting the operations of other robots when the robot stays at the planned position; when the robot is required to run, there is no need to adjust positions of other robots.

Embodiments of the present application further provide a server. The server includes: at least one processor and a memory communicatively connected to the at least one processor. The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method described in any one of the foregoing embodiments.

Embodiments of the present application further provide a storage medium storing the computer-executable instructions, where the computer-executable instructions are used to perform the method described in any one of the foregoing embodiments.

The embodiments of the present application propose a robot scheduling method, a server and a storage medium. At first, the working state of the robot and the current position of the robot are determined; where the working state includes: the idle state and the non-idle state; and when the working state of the robot is idle and the current position is outside the preset target range, the robot can be scheduled from the current position into the target range; wherein the target range refers to an idle area, and the idle area is an area closer to work station; wherein the scheduling the robot from the current position into the target range includes: determining a target position of the robot within the target range; wherein the operation of determining a target position of the robot within the target range includes: determining a planned position of the robot within the target range; determining whether the planned position of the robot satisfies a preset scheduling condition, and determining the planned position of the robot as the target position of the robot in response to determining that the planned position of the robot satisfies the scheduling condition; wherein the preset scheduling condition is not affecting the operations of other robots when the robot stays at the planned position; when the robot is required to run, there is no need to adjust positions of other robots. That is, in the technical solution proposed by the embodiments of the present application, when the working state of the robot is idle and the current position is outside the preset target range, the robot can be scheduled into the designated area for collection, and the robot can be automatically scheduled to the designated area, thereby reducing the operation and maintenance cost and improving the work efficiency.

The present application will be described below with reference to the drawings and embodiments. It can be understood that the specific embodiments described here are only used to explain the present application, but not to limit the present application. In addition, it should be noted that, for ease of description, the drawings only show a part of the structures related to the present application instead of all the structures.

An embodiment of the present application provides a robot scheduling method, which is applied to a robot scheduling system. <FIG> is a structural schematic diagram of a robot scheduling system in an embodiment. As shown in <FIG>, the robot scheduling system generally includes: an operating terminal <NUM>, a server <NUM> and at least one robot <NUM>. The server <NUM> establishes the communication links with the operating terminal <NUM> and the robot <NUM> respectively. The operating terminal <NUM> is configured to receive the operation information input by the staff. For example, a user can input the operation information at the operating terminal through a human-computer interaction interface to realize the scheduling control of the robot <NUM> in the warehouse. The server <NUM> is configured to generate and send a work instruction to the robot <NUM> according to the operation information received by the operating terminal <NUM> and the actual situation in the warehouse, and the robot <NUM> is configured to complete the work task corresponding to the work instruction according to the received work instruction.

<FIG> is a flowchart of a robot scheduling method in an embodiment. This embodiment is applicable to the case of scheduling robots, and this method can be performed by a robot scheduling device. As shown in <FIG>, the robot scheduling method can include The following operations.

Operation <NUM>: determining the working state and current position of a robot, where the working state includes: the idle state and the non-idle state.

In some embodiment, before determining the working state and current position of the robot, the method further includes: receiving a scheduling instruction; and the operation of determining the working state and current position of the robot includes: determining the working state and current position of the robot in the working area in response to the scheduling instruction.

In some embodiments, the robot refers to a target robot. The target robot refers to any robot in the warehouse but not in the target area. The target robot can be a robot with a serial number entered by a staff at the operating terminal. When the staff enters the collection command (scheduling instruction) at the operating terminal, the server traverses all the robots in the warehouse, and the robot currently inquired by the server is determined as the target robot.

In the embodiments, the determination of the working state of the robot can be achieved by the following method: determining whether the robot has a task to be performed or a task in progress; determining that the working state of the robot is the idle state in response to determining that the robot has neither task to be performed nor task in progress; and determining that the working state of the robot is the non-idle state in response to determining that the robot has the task to be performed or task in progress.

The task to be performed refers to the task corresponding to a work instruction that cannot be performed immediately after receiving the work instruction sent by the server because the robot is performing a task and that will be performed after the task currently being performed is completed; or the robot receives the work instruction sent by the server and is on the way to perform the task.

The method for determining the current position of the robot may adopt different technical solutions according to the working environment of the robot or the main work of the robot.

Embodiments of the present application provide a method for determining the current position of the robot according to a two-dimensional code. Two-dimensional codes with different coordinate values are used for covering the robot work area in advance, that is, the robot work area is evenly divided into cells with the same side length, and the cells are covered by two-dimensional codes with different coordinate values in sequence. The coordinate value corresponding to each two-dimensional code corresponds to the position of the two-dimensional code on the ground. The robot obtains the two-dimensional code corresponding to the position where it is currently located, and then the current position of the robot is determined according to the coordinate value corresponding to the obtained two-dimensional code.

Operation <NUM>: in response to that the working state of the robot is idle and the current position is outside a preset target range, scheduling the robot from the current position into the target range.

In some embodiments, the shape of the target range is a rectangle, and the target range is determined by a preset starting position, a preset width and a preset height.

The preset target range refers to an idle area on the warehouse floor, and the idle area can be set at any time according to the position of the robot in the warehouse. That is, when the staff enters the collection command at the operating terminal, the server searches for an idle area in the warehouse. In one embodiment, the idle area is preferentially an area closer to the work station of the staff. Exemplarily, the selection of the preset target range is realized by the following command.

When the current position of the robot is outside the preset target range, the working state of the robot is determined, and when the working state of the robot is the idle state, the robot is scheduled from the current position into the target range.

When the current position of the robot is outside the preset target range, the working state of the robot is determined, and when the working state of the robot is the non-idle state, the non-idle robot is skipped and it is continued to inquire the work state and current position of the next robot, where nothing is done for the robot in the non-idle state.

When the current position of the robot is within the preset target range, the robot in the preset target range is skipped, and it is continued to inquire the working state and current position of the next robot, where nothing is done for the robot in the preset target range.

When the number of robots is greater than the number of robots that can be accommodated in the target range, a new target range is re-determined, and when the working state of the robot is idle and the current position is outside the preset target range, the robot is scheduled from the current position into the new target range.

The embodiments of the present application provide a robot scheduling method. In the method, the working state of the robot and the current position of the robot are determined at first, the working state including the idle state and the non-idle state. When the working state of the robot is idle and the current position is outside the preset target range, the robot can be scheduled from the current position into the target range. That is, in the technical solution proposed by the embodiments of the present application, when the working state of the robot is idle and the current position is outside the preset target range, the robot target can be scheduled into the designated area for collection, and the robot can be automatically scheduled to the designated area, thereby reducing the operation and maintenance cost and improving the work efficiency.

<FIG> is a flowchart of another robot scheduling method in some embodiments. On the basis of the above embodiments, this embodiment describes the operation of "scheduling the robot from the current position into the target range". As shown in <FIG>, the robot scheduling method may include the following operations.

Operation S210: determining the working state and current position of a robot, where the working state includes: the idle state and the non-idle state.

Operation S220: when the working state of the robot is idle and the current position is outside a preset target range, determining the target position of the robot in the target range.

In this embodiment, the target range is divided into at least one cell, and the target position of the robot is determined in units of cells. The target range is determined by the starting position of the target range and the scheduling condition. When the current position of the robot is outside the preset target range, the working state of the robot is determined, and when the working state of the robot is the idle state, the target position of the target robot is determined in the target range.

In this embodiment, the target position refers to the position where the robot stays within the target range. This embodiment provides a method for distributing positions of robots when they gather within a target range. <FIG> is a schematic diagram of the distribution of robots within the target range in an embodiment. As shown in <FIG>, the circles <NUM> represent the positions where robots stay when gathering in the target range, the dotted rectangles <NUM> represent the positions of shelves in the warehouse, and the blank cells <NUM> represent the empty channels in the warehouse yard for robots to run.

This embodiment only shows one case, and does not limit the positions of items in the warehouse. Passages must be formed between the blank cells <NUM> to facilitate the provision of a running channel for the robots. The circles <NUM> may be arranged horizontally or vertically, and the shape of the target area is not limited as long as the robots in the idle state are collected in an idle area.

The operation of determining the target position of the robot within the target range includes: determining a planned position of the robot within the target range; determining whether the planned position of the robot satisfies a preset scheduling condition, and determining the planned position of the robot as the target position of the robot in response to determining that the planned position of the robot satisfies the scheduling condition.

The planned position of the robot refers to a position selected by the server arbitrarily within the target range, or may be a position selected as required based on the starting point of the target range. The preset scheduling condition is not affecting the operations of other robots when the robot stays at the planned position. When a robot is required to run, there is no need to adjust positions of other robots, and this robot can come out quickly. In some embodiments, the preset scheduling condition includes: when the robot is arranged vertically, the cells adjacent horizontally to the planned position of the robot are idle; when the robot is arranged horizontally, the cells adjacent vertically to the planned position of the robot are idle. In the case when the planned position of the robot meets the scheduling condition, the planned position of the robot is determined as the target position of the robot. The target positions of the robots meeting the scheduling condition are all separated by one position, that is, the target positions of the robots meeting the scheduling condition are separated by one cell.

Exemplarily, as shown in <FIG>, the coordinates of the cells in <FIG> from left to right are marked as (<NUM>,<NUM>), (<NUM>,<NUM>), (<NUM>,<NUM>), (<NUM>,<NUM>), (<NUM>,<NUM>), (<NUM>,<NUM>), (<NUM>,<NUM>), (<NUM>,<NUM>), (<NUM>,<NUM>), (<NUM>,<NUM>), and the coordinates of the cells in <FIG> from bottom to top are marked as (<NUM>,<NUM>), (<NUM>,<NUM>), (<NUM>,<NUM>), (<NUM>,<NUM>), (<NUM>,<NUM>), (<NUM>,<NUM>), (<NUM>,<NUM>), (<NUM>,<NUM>), (<NUM>,<NUM>), (<NUM>,<NUM>), (<NUM>,<NUM>). Taking the cell with the coordinate values (<NUM>,<NUM>) as the starting point of the target range and taking the cell with the coordinate values (<NUM>,<NUM>) as the planned position, determining whether the cell with the coordinate values (<NUM>,<NUM>) is the target position of robots other than the current robot. When the cell with the coordinate values (<NUM>,<NUM>) is not the target position of robots other than the current robot, determining whether the cell with the coordinate values (<NUM>,<NUM>) is the path cell that other robots need to pass when running. When the cell with the coordinate values (<NUM>,<NUM>) is not the path cell that other robots need to pass when running, the cell with the coordinate values (<NUM>,<NUM>) is taken as the target position of the current robot. When the cell with the coordinate values (<NUM>,<NUM>) is the path cell that other robots need to pass when running, it means that the current planned position is unreasonable, and another position in the site is reselected as the planned position.

In some embodiments, when the cell with the coordinate values (<NUM>,<NUM>) is taken as the target position of the robot, the planned position corresponding to the next robot can be selected as the position apart by one cell from the cell with the coordinate values (<NUM>,<NUM>), that is, the cell with the coordinate values (<NUM>,<NUM>) or (<NUM>,<NUM>) is taken as the planned position.

All the robots in the warehouse are traversed until no robots in the idle state are outside the target range, that is, all the robots in the idle state are collected within the target range. Or there is no target position that meets the scheduling condition within the target range.

Operation S230: calculating the best path from the current position to the target position.

In this embodiment, it is necessary to establish an initialized path diagram in advance, where the initialized path is designed for the condition of no goods. The initialized path diagram consists of many horizontal and vertical line segments, which form the sequence of robot walking. The robot can walk arbitrarily back and forth along the left-right or up-down direction on the ground with no obstacle.

After determining the current position and target position of the robot, all possible paths from the current position to the target position are calculated, and the shortest path between the current position and the target position is determined as the planned path of the robot. It is determined whether the running paths of other robots except the current robot have cells that overlap with the planned path of the current robot. When the running paths of other robots except the current robot have no cell that overlaps with the planned path of the current robot, the shortest path between the current position and the target position is taken as the best path of the current robot.

When the running paths of other robots except the current robot have cells that overlap with the planned path of the current robot, the time durations for the current robot to reach the overlapped cells and the time durations for other robots to reach the overlapped cells are calculated. When the time duration for the current robot to reach each overlapped cell is different from the time duration for other robots to reach the corresponding overlapping cell, the shortest path between the current position and the target position is taken as the best path of the current robot.

When the time duration for the current robot to reach any overlapping cell is the same as the time duration for another robot to reach the corresponding overlapping cell, other path between the current position and the target position is reselected as the planned path of the current robot. And whether the planned path can be taken as the best path is recalculated according to the above operations.

Operation S240: scheduling the robot from the current position to the target position according to the best path.

After calculating the best path from the current position to the target position, the solution of the best path is sent to the robot, so that the robot drives from the current position to the target position according to the best path to complete the collection of robots.

The embodiment of the present application proposes a robot scheduling method, in which the working state of the robot and the current position of the robot are determined at first, the working state including the idle state and the non-idle state. When the current position of the robot is outside the preset target range and the working state is idle, the target position of the robot is determined within the target range; the best path from the current position to the target position is calculated; and the robot is scheduled from the current position to the target position according to the best path. That is, in the technical solution proposed by the embodiment of the present application, when the current position of the robot is outside the preset target range and the working state is idle, the robot can be scheduled into the designated area for collection, and the robot can be automatically scheduled to the designated area, thereby reducing the operation and maintenance cost and improving the work efficiency.

<FIG> is a structural schematic diagram of a robot scheduling device in an embodiment. This embodiment is applicable to the case of scheduling robots. As shown in <FIG>, the robot scheduling device may include the following parts: a determining module <NUM> and a scheduling module <NUM>.

The determining module <NUM> is configured to determine the working state and current position of a robot; where the working state includes: the idle state and the non-idle state.

In some embodiments, the above-mentioned device further includes a receiving module configured to receive a scheduling instruction. The determining module <NUM> is configured to determine the working state and current position of the robot in the working area in response to the scheduling instruction.

The scheduling module <NUM> is configured to: when the working state of the robot is idle and the current position is outside a preset target range, schedule the robot from the current position into the target range.

In some embodiments, the determining module <NUM> includes: a judgment sub-module (not shown in <FIG>) and a determining sub-module (not shown in <FIG>). The judgment sub-module is configured to determine whether the robot has a task to be performed or a task in progress. The determining sub-module <NUM> is configured to determine that the working state of the robot is the idle state in response to determining that the robot has neither task to be performed nor task in progress; and determine that the working state of the robot is the non-idle state in response to determining that the robot has task to be performed or task in progress.

In some embodiments, the scheduling module <NUM> includes: a calculation sub-module (not shown in <FIG>) and a scheduling sub-module (not shown in <FIG>). The calculation sub-module <NUM> is configured to determine the target position of the robot in the target range when the working state of the robot is idle and the current position is outside the preset target range; and calculate the best path from the current position to the target position. The scheduling sub-module <NUM> is configured to schedule the robot from the current position to the target position according to the best path.

In some embodiments, the calculation sub-module is configured to determine the target position of the robot within the target range by way of: determining a planned position of the robot within the target range; determining whether the planned position of the robot satisfies a preset scheduling condition, and determining the planned position of the robot as the target position of the robot when the planned position of the robot satisfies the scheduling condition.

In some embodiments, the target range is divided into at least one cell, and the target position of the robot is determined in units of cells; where the target range is determined by the starting position of the target range and the scheduling condition.

In some embodiments, the preset scheduling condition includes: when the robot is arranged vertically, the cells adjacent horizontally to the planned position of the robot are idle; when the robot is arranged horizontally, the cells adjacent vertically to the planned position of the robot are idle.

In some embodiments, the device is further configured to: when the number of robots is greater than the number of robots that can be accommodated in the target range, re-determine a new target range, and when the working state of the robot is idle and the current position is outside the preset target range, schedule the robot from the current position into the new target range.

Embodiments of the present application provides a robot scheduling device. The robot scheduling device is configured to perform the following operations: the working state of the robot and the current position of the robot are determined at first; where the working state includes: the idle state and the non-idle state; and when the working state of the robot is idle and the current position is outside the preset target range, the robot can be scheduled from the current position into the target range. That is, in the technical solution proposed by the embodiments of the present application, when the working state of the robot is idle and the current position is outside the preset target range, the robot can be scheduled into the designated area for collection, and the robot can be automatically scheduled to the designated area, thereby reducing the operation and maintenance cost and improving the work efficiency.

The robot scheduling device provided in the embodiment of the present application can perform the robot scheduling method provided in any embodiment of the present application, and has the corresponding functional modules performing the method and beneficial effects.

<FIG> is a structural schematic diagram of a server provided by an embodiment. <FIG> shows a block diagram of an exemplary server <NUM> suitable for implementing the embodiments of the present application. The server <NUM> shown in <FIG> is only one example, and should not bring any limitation to the functions and usage scope of the embodiments of the present application.

As shown in <FIG>, the server <NUM> is represented in the form of a general-purpose device. The components of the server <NUM> may include but not limited to: one or more processors or a processor <NUM>, a system memory <NUM>, and a bus <NUM> connecting different system components (including the system memory <NUM> and the processor <NUM>).

The bus <NUM> represents one or more of several types of bus structures, including a memory bus or a memory controller, a peripheral bus, a graphics acceleration port, a processor, or a local bus using any of multiple bus structures. For example, these architectures include but not limited to: Industry Standard Architecture (ISA) bus, MicroChannel Architecture (MCA) bus, enhanced ISA bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus.

In some embodiments, the server <NUM> includes a variety of computer system readable media. These media can be any available media that can be accessed by the server <NUM>, including volatile and non-volatile media, removable and non-removable media.

The system memory <NUM> may include a computer system readable medium in the form of volatile memory, such as a Random Access Memory (RAM) <NUM> and/or a cache memory <NUM>. The server <NUM> may include other removable/non-removable, volatile/nonvolatile computer system storage media. Merely as an example, the storage system <NUM> may be used to read from and write to the non-removable and non-volatile magnetic media (not shown in <FIG>, and commonly referred to as "hard drives"). Although not shown in <FIG>, a magnetic disk drive for reading from and writing to a removable and non-volatile magnetic disk (such as "floppy disk") and an optical disk drive for reading from and writing to a removable and non-volatile optical disk (such as Compact Disc Read-Only Memory (CD-ROM), Digital Video Disc-Read Only Memory (DVD-ROM) or other optical media) may be provided. In these cases, each drive may be connected to the bus <NUM> through one or more data medium interfaces. The system memory <NUM> may include at least one program product that has a set of (for example, at least one) program modules configured to perform the functions of any embodiment of the present application.

A program/utility tool <NUM> having a set of (at least one) program modules <NUM> can be stored in, for example, the system memory <NUM>. Such program module <NUM> includes but not limited to: operating system, one or more application programs, other program modules and program data. Each or a combination of these examples may include the realization of a network environment. The program module <NUM> generally executes the functions and/or methods in the described embodiments of the present invention.

The server <NUM> may also communicate with one or more external devices <NUM> (such as keyboard, pointing device, display <NUM>, etc.), and may also communicate with one or more devices that enable users to interact with the server <NUM>, and/or communicate with any device (e.g., network card, modem, etc.) that enables the server <NUM> to communicate with one or more other computing devices. Such communication may be performed through an input/output (I/O) interface <NUM>. In addition, the server <NUM> may also communicate with one or more networks (for example, Local Area Network (LAN), Wide Area Network (WAN) and/or public network such as Internet) through a network adapter <NUM>. As shown in <FIG>, the network adapter <NUM> communicates with other modules of the server <NUM> through the bus <NUM>. It should be understood that, although not shown in <FIG>, other hardware and/or software modules can be used in conjunction with the server <NUM>, including but not limited to: microcode, device driver, redundant processing unit, external disk drive array, Redundant Arrays of Independent Drives (RAID) system, tape drive, and data backup storage system, etc..

The processor <NUM> executes a variety of functional applications and data processing by running the programs stored in the system memory <NUM>, for example, to implement the robot scheduling method provided in the embodiments of the present application: determining the working state and the current position of the robot; wherein the working state includes: the idle state and the non-idle state; and when the working state of the robot is idle and the current position is outside the preset target range, scheduling the robot from the current position into the target range.

Embodiments of the present application provide a server. This server determines the working state and the current position of the robot at first; wherein the working state includes: the idle state and the non-idle state; and can schedule the robot from the current position into the target range when the working state of the target robot is idle and the current position is outside the preset target range. That is, in the technical solution proposed by the embodiments of the present application, when the working state of the robot is idle and the current position is outside the preset target range, the robot can be scheduled into the designated area for collection, and the robot can be automatically scheduled to the designated area, thereby reducing the operation and maintenance cost and improving the work efficiency.

Embodiments of the present application further provide a computer-readable storage medium on which a computer program is stored, where the program, when executed by a processor, implements the robot scheduling method as provided in all the embodiments of the present application: determining the working state and the current position of the robot; wherein the working state includes: the idle state and the non-idle state; and when the working state of the robot is idle and the current position is outside the preset target range, scheduling the robot from the current position into the target range.

The computer storage media of the embodiment of the present application may adopt any combination of one or more computer-readable media. The computer-readable medium may be a computer-readable signal medium or a computer-readable storage medium. The computer-readable storage medium may be, for example but not limited to, electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus or device, or any combination thereof. Examples of the computer-readable storage media (non-exhaustive list) include: electrical connection with one or more wires, portable computer disk, hard disk, RAM, Read-Only Memory (ROM), Erasable Programmable Read Only Memory (EPROM) or flash memory, optical fiber, portable CD-ROM, optical storage device, magnetic storage device, or any suitable combination thereof. In this document, the computer-readable storage medium can be any tangible medium that contains or stores a program, where the program can be used by or used in combination with the instruction execution system, apparatus or device.

The computer-readable signal medium may include data signals propagated in the baseband or as a part of carrier waves, and the computer-readable signal medium bears the computer-readable program codes. Such propagated data signals can be in many forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. The computer-readable signal medium may also be any computer-readable medium other than the computer-readable storage medium, and the computer-readable medium may send, propagate or transmit the programs used by or used in combination with the instruction execution system, apparatus or device.

The program codes contained on the computer-readable medium can be transmitted by any suitable medium, including but not limited to wireless, wire, optical cable, Radio Frequency (RF), etc., or any suitable combination thereof.

Claim 1:
A robot scheduling method, comprising:
receiving a scheduling instruction for robot collection;
determining a working state and a current position of a robot in a working area in response to the scheduling instruction, wherein the working state comprises an idle state and a non-idle state;
in response to the working state of the robot being the idle state and the current position being outside a preset target range, scheduling the robot from the current position into the target range,
wherein the target range refers to an idle area, and the idle area is an area closer to work station;
wherein the scheduling the robot from the current position into the target range includes: determining a target position of the robot within the target range;
characterised in that the operation of determining a target position of the robot within the target range includes: determining a planned position of the robot within the target range; determining whether the planned position of the robot satisfies a preset scheduling condition, and determining the planned position of the robot as the target position of the robot in response to determining that the planned position of the robot satisfies the scheduling condition;
wherein the preset scheduling condition is not affecting the operations of other robots when the robot stays at the planned position; when the robot is required to run, there is no need to adjust positions of other robots.