Robot scheduling method, device, equipment, medium and product
By querying the current status of the robot in the target scenario, determining and sending tasks to the target robot, the problem of low robot scheduling efficiency in the existing technology is solved, and a more efficient scheduling process is achieved.
Patent Information
- Application Number
- CN202411523587.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-30
- Publication Date
- 2025-02-07
AI Technical Summary
The existing robot scheduling methods have the problem of low scheduling efficiency, especially when rescheduling is suspended, it requires human intervention, resulting in delays.
By responding to the scheduling request sent by the controller, query the current status of all robots in the target scenario, determine the target robot, and send target tasks to it to realize robot scheduling. After obtaining the execution results, update the robot status to improve the efficiency of the next scheduling.
It effectively improves the efficiency of robot scheduling, reduces manpower intervention, and shortens the time for task rescheduling.
Smart Images

Figure CN119396099A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of robot control technology, and in particular to a robot scheduling method, device, equipment, medium and product. Background Art
[0002] The common way to control a robot is for the user to send relevant instructions through the controller for the robot to execute. This method is suitable for point-to-point control, that is, the controller selects a robot and then sends instructions to the selected robot to enable the robot to perform the set task. As robots are now used in more and more scenarios, in order to ensure that the robot is rescheduled after completing a task or pausing a task, it is sometimes necessary to allocate manpower to monitor the robot's workflow. However, this monitoring method has a delay, resulting in low robot scheduling efficiency. Therefore, there is an urgent need for a solution that can effectively improve scheduling efficiency. Summary of the invention
[0003] In view of the above-mentioned defects or deficiencies in the related art, the purpose of this application is to provide a robot scheduling method, device, equipment, medium and product, which can effectively improve the scheduling efficiency of the robot.
[0004] To achieve the above objectives, this application provides the following solutions:
[0005] In a first aspect, the present application provides a robot scheduling method, which includes: in response to a scheduling request sent by a controller, querying the current status of all robots in a target scene; the scheduling request includes a target task and the target scene; the current state of the robot includes a first state or a second state; if the current state of the robot is the first state, determining that the robot is a target robot, and sending the target task to the target robot; obtaining an execution result of the target robot executing the target task, and updating the current state of the target robot according to the execution result to respond to the next scheduling.
[0006] Optionally, in response to a scheduling request sent by the controller, querying the current status of all robots in the target scene includes: in response to the scheduling request sent by the controller, sending a status query request to all robots in the target scene; receiving a status code sent by all robots in the target scene; the status code includes a first status code, a second status code and / or a third status code; identifying the status code, if the status code is the first status code, the current status of the robot is the first status; if the status code is the second status code or the third status code, the current status of the robot is the second status.
[0007] Optionally, if the current state of the robot is the first state, determining that the robot is the target robot, and sending the target task to the target robot, includes: if the current state of the robot is the first state, determining that the robot is the target robot; and sending calling parameters to the target robot when processing conditions are met, to control the target robot to perform the target task in the target scene.
[0008] Optionally, obtaining the execution result of the target robot executing the target task, and updating the current state of the target robot according to the execution result to respond to the next scheduling, includes: monitoring the progress of the target robot executing the target task in the target scenario, and obtaining the execution result of the target robot; the execution result includes task success or task interruption; if the execution result of the target robot is task success, updating the current state of the target robot to an idle state; if the execution result of the target robot is task interruption, updating the current state of the target robot to an abnormal state.
[0009] Optionally, after querying the current status of all robots in the target scene in response to the scheduling request sent by the controller, the method also includes: if the current state of the robot is the second state and cannot be scheduled, sending scheduling exception information to the controller; or; if the current state of the robot is the second state and can be scheduled, generating current scheduling request information, and sending the current scheduling request information to a pre-established request queue in the target scene; when the current state of the robot is the first state, responding to the current scheduling request information in the request queue in the target scene according to preset rules, determining that the robot is a target robot, and sending the target task to the target robot; when the current state of the robot is the second state, clearing the request queue in the target scene.
[0010] Optionally, the method further includes: when the target robot performs the target task in the target scenario, in response to a task processing request sent by the controller, controlling the target robot to cancel the target task, pause the target task or restart the target task.
[0011] In a second aspect, the present application provides a robot scheduling device, the robot scheduling device comprising:
[0012] A query module, configured to query the current status of all robots in a target scene in response to a scheduling request sent by the controller; the scheduling request includes a target task and the target scene; the current status of the robot includes a first state or a second state;
[0013] a task assignment module, configured to determine that the robot is a target robot if the current state of the robot is the first state, and send the target task to the target robot;
[0014] The task execution module is used to obtain the execution result of the target robot executing the target task, and update the current state of the target robot according to the execution result to respond to the next scheduling.
[0015] In a third aspect, the present application provides a computer device, comprising: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the steps of any one of the robot scheduling methods described above.
[0016] In a fourth aspect, the present application provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of any one of the robot scheduling methods described above.
[0017] In a fifth aspect, the present application provides a computer program product, including a computer program, which, when executed by a processor, implements the steps of any one of the robot scheduling methods described above.
[0018] According to the specific embodiments provided in this application, this application discloses the following technical effects:
[0019] The present application provides a robot scheduling method, apparatus, equipment, medium and product, which queries the current status of all robots in a target scene by responding to a scheduling request sent by a controller; determines the target robot by obtaining the current status of all robots in the target scene; controls the robot to execute the target task and realizes robot scheduling by sending the target task to the target robot; and updates the current status of the target robot by obtaining the execution result of the target robot executing the target task, so as to facilitate querying the current status of all robots in the target scene when scheduling next time, and effectively improve the scheduling efficiency of the robot. BRIEF DESCRIPTION OF THE DRAWINGS
[0020] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0021] Figure 1 A schematic diagram of a flow chart of a robot scheduling method provided in one embodiment of the present application;
[0022] Figure 2 A schematic diagram of functional modules of a robot scheduling device provided in one embodiment of the present application;
[0023] Figure 3 A schematic diagram of the structure of a computer device provided in one embodiment of the present application. DETAILED DESCRIPTION
[0024] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
[0025] In order to make the above-mentioned objects, features and advantages of the present application more obvious and easy to understand, the present application is further described in detail below with reference to the accompanying drawings and specific implementation methods.
[0026] In an exemplary embodiment, Figure 1 As shown, a robot scheduling method is provided, which is executed by a computer device, and can be executed by a computer device such as a terminal or a server alone, or by a terminal and a server together. In the embodiment of the present application, the robot scheduling method includes the following steps S110 to S130. Among them:
[0027] Step S110, in response to the scheduling request sent by the controller, query the current status of all robots in the target scene.
[0028] In an example embodiment, the scheduling request includes a target scenario and a target task. The target scenario is a set of environments or conditions in which the robot needs to work, for example, working environments such as warehouses, factory workshops, hospital corridors, restaurants or hotel delivery, etc.; working conditions such as obstacle distribution, movable areas, access control locations, etc. in the working area. The target task is the specific work content that the robot needs to complete, for example, in a warehouse working environment, moving goods from location A to location B; in a factory workshop working environment, regularly patrolling to check the safety of a certain area or monitoring the status of equipment; in a restaurant or hotel delivery working environment, providing tasks such as delivering meals and guiding customers.
[0029] It should be noted that in the embodiment of the present application, the current state of the robot includes a first state or a second state, wherein the first state is a normal state, i.e., the state in which the robot can receive instructions and perform target tasks, and the second state is an abnormal state, i.e., the state in which the robot cannot receive instructions or is performing other target tasks.
[0030] Also, in an embodiment of the present application, a staff member sends a scheduling instruction to the controller of the robot process automation control system through a terminal device, and then the controller of the robot process automation control system generates a scheduling request according to the scheduling instruction, and sends the scheduling request to a computer device. The computer device receives the scheduling request to query the current status of all robots that have a communication connection with the computer device, and then controls the robot to perform the target task in the target scenario according to the current status of the robot.
[0031] In a specific embodiment, the above step S110 may include steps S1101 to S1103, specifically:
[0032] Step S1101, in response to a scheduling request sent by the controller, sending a status query request to all robots in the target scene;
[0033] Step S1102, receiving status codes sent by all robots in the target scene; the status codes include a first status code, a second status code and / or a third status code;
[0034] Step S1103, identifying the status code, if the status code is the first status code, the current status of the robot is the first status; if the status code is the second status code or the third status code, the current status of the robot is the second status.
[0035] As can be understood from the above embodiments, the communication between the computer device and the robot and the controller is implemented based on the MQTT (Message Queuing Telemetry Transport) protocol. MQTT is a lightweight message protocol suitable for networks with high latency or limited bandwidth, and is very suitable for information reporting and control command transmission between the robot and the computer device. Through the MQTT protocol, the robot can publish its status information to the server for subscription by the computer device or application. At the same time, the computer device can also send control instructions to the robot through the MQTT protocol to achieve real-time control.
[0036] Specifically, first, the robot needs to establish a connection with the computer device. As a client, the robot will send a CONNECT packet to the computer device and provide the necessary authentication information (such as client ID, username and password, etc.). Secondly, in order to receive status query requests from the computer device, the robot and the computer device need to subscribe to a specific topic; for example, the robot and the computer device can subscribe to a topic called status_requests; when the computer device wants to query the status of the robot, it publishes a request message (status query request) to the status_requests topic. This request message can contain some specific information, such as the request ID or other identifiers, for subsequent tracking; the robot listens to the status_requests topic and receives the status request message from the computer device. The robot parses the request message, obtains the request ID and request type, then queries its own status information according to the request type, and constructs a response message (including the status code). This response message usually contains the current status information of the robot, such as power status, location, task progress, etc. Finally, the computer device receives and parses the response message from the robot, and updates the status database stored on the computer device or performs further operations based on the response information.
[0037] It should be noted that the status query request in this example embodiment may include a request ID and a request type, and the request type may be a predefined string used to describe the specific content or purpose of the request. For example, status_request: request the current status of the robot. In other embodiments, the computer device may also send other request types to the robot, for example, command_request: request to execute a specific command or action; configuration_request: request to obtain or change configuration information.
[0038] Also, the status code sent by the robot to the computer device, that is, the response message is a predefined string, for example, Ready: normal state, waiting to execute the task; Disconnected: abnormal state, unable to connect; Running: abnormal state, executing the task.
[0039] Step S120: If the current state of the robot is the first state, determine that the robot is a target robot, and send a target task to the target robot.
[0040] As can be understood from the above embodiments, the computer device receives the response message sent by the robot by listening to the same topic subscribed by the robot, and obtains the status code by parsing the response message. If the verification code sent by the robot is Ready, the current state of the robot is the first state, that is, the normal state, and can receive and execute the target task issued by the computer device. After that, the robot is determined as the target robot.
[0041] In a specific embodiment, the above step S120 may include: if the current state of the robot is the first state, determining that the robot is a target robot; sending call parameters to the target robot when the processing conditions are met, and controlling the target robot to perform the target task in the target scene.
[0042] In the example embodiment, satisfying the processing conditions means that various prerequisites required for the robot to perform the task have been met, which may include technical conditions, material conditions, tool and equipment conditions, environmental conditions, etc.; among them, technical conditions, for example, the robot has sufficient power and all components operate normally; material conditions, for example, the raw materials and semi-finished products required for processing are ready and placed in the designated location, and the material quality meets the requirements without damage or defects; tool and equipment conditions, for example, the tools needed by the robot (such as fixtures, cutting tools, etc.) have been installed correctly, and other equipment that cooperates with the robot (such as conveyor belts, processing machine tools, etc.) are in normal working condition; environmental conditions, for example, the processing environment maintains a certain degree of cleanliness and meets the temperature and humidity requirements for processing.
[0043] The call parameters are the parameters required for the robot to perform the target task in the target scene, which may include task type parameters, action parameters, processing parameters, time parameters, sensor parameters, communication parameters, safety parameters and other parameters. Among them, the task type parameters may include task ID, task name, task content (for example, moving to a specified location, grabbing an object, detecting the environment, etc.); action parameters may include position coordinates, angles (rotation angles, grabbing angles), moving speed, etc.; processing parameters may include: the processing depth of tasks such as drilling and cutting, the feed speed of materials, etc.; time parameters may include the time when the task starts, the length of time for task execution, the interval between two periodic tasks, etc.; sensor parameters include sensor thresholds (for tasks that rely on sensor input, the threshold of sensor readings needs to be set), sampling frequency, etc.; communication parameters may include message format, communication frequency, synchronization mechanism, etc.; safety parameters may include the minimum safe distance between the robot and other equipment or personnel, emergency stop conditions, etc.; other parameters may include the priority of the task, the number of times to re-execute if the task fails, and the status callback mechanism after the task is completed.
[0044] It can be understood that, for example, the target scenario is cargo handling, and the target task is to transport the cargo from location A to location B, then the computer device queries all robots with communication connections and obtains that there are two robots suitable for the target scenario. After that, the current states of the two robots are determined, where the state of robot 1 is the first state and the state of robot 2 is the second state. Then, robot 1 is determined to be the target robot, and a task of transporting the cargo from location A to location B is sent to robot 1 to control robot 1 to transport the cargo from location A to location B.
[0045] Step S130, obtaining the execution result of the target robot executing the target task, and updating the current state of the target robot according to the execution result to respond to the next scheduling.
[0046] In combination with the above embodiments, it can be understood that the computer device uses Topics to monitor the execution results and current status of each robot. For example, under a Topic, / robot1 / status is created to receive the execution results and current status of robot 1. Similarly, / robot2 / status can be created under the same Topic to monitor the status of robot 2.
[0047] In a specific embodiment, the above step S130 may include the following steps S1301 to S1303, specifically:
[0048] Step S1301, monitoring the progress of the target robot in executing the target task in the target scenario, and obtaining the execution result of the target robot; the execution result includes task success or task interruption.
[0049] Step S1302, if the execution result of the target robot is that the task is successful, the current state of the target robot is updated to an idle state;
[0050] Step S1303: if the execution result of the target robot is task interruption, the current state of the target robot is updated to an abnormal state.
[0051] It should be noted that the computer device can timely update the status of the robot by monitoring the progress of the target task in the robot's target scenario, so as to determine whether the robot is online and whether it can be scheduled.
[0052] In another exemplary embodiment of the present application, in order to further improve scheduling efficiency, the method may also include: if the task execution result returned by the robot is received within a preset time, the result is fed back to the controller; if no result is received, task timeout information is fed back.
[0053] In the example embodiment, the preset time refers to the time between the computer device sending the call parameters to the robot and the robot feeding back the task execution result to the computer device. Because the preset time is different for different target tasks, the preset time is not limited in the embodiment of the present application.
[0054] It should be noted that the time limit for the robot to return the task execution result is mainly to receive the status information reported by each robot and update it to the data repository in real time, so as to determine whether the robot is online and whether it can be scheduled.
[0055] By implementing the above-mentioned steps S110 to S130, the current status of all robots in the target scene is queried by responding to the scheduling request sent by the controller; the target robot is determined by obtaining the current status of all robots in the target scene; the robot can be controlled to perform the target task and robot scheduling can be achieved by sending the target task to the target robot; the current status of the target robot can be updated by obtaining the execution result of the target robot performing the target task, so as to facilitate the query of the current status of all robots in the target scene during the next scheduling, which can effectively improve the scheduling efficiency of the robot.
[0056] In another exemplary embodiment of the present application, in order to further facilitate the scheduling of the robot and improve the scheduling efficiency, after the above step S110, the method also includes: if the current state of the robot is the second state and cannot be scheduled, sending scheduling exception information to the controller.
[0057] In another exemplary embodiment of the present application, in order to further facilitate the scheduling of the robot and improve the scheduling efficiency, after the above step S110, the method further includes steps S210 to S230, specifically:
[0058] Step S210: if the current state of the robot is the second state and can be scheduled, generate current scheduling request information, and send the current scheduling request information to the request queue under the pre-established target scenario;
[0059] Step S220, when the current state of the robot is the first state, respond to the current scheduling request information in the request queue under the target scenario according to a preset rule, determine that the robot is a target robot, and send a target task to the target robot;
[0060] Step S230, when the current state of the robot is the second state, clear the request queue under the target scene.
[0061] It should be noted that when the current state of the robot is the second state, it means that there is no suitable robot. If it can be scheduled, the current scheduling request information can be placed in the request queue of the target scene, waiting for the appropriate robot to appear. Among them, once an online and schedulable robot appears in the target scene, the scheduling request that needs to be processed is determined according to the predetermined rules, and the next step is executed. If the request currently being processed is not the current scheduling request, continue to wait. If it cannot be scheduled, all robots in the target scene become offline, and the scheduling exception information is returned to the controller, and the request queue in the scene is cleared.
[0062] In addition, the embodiment of the present application can also receive a queue cancellation request sent by the user through the controller to actively cancel the scheduling request in the queue state.
[0063] In another exemplary embodiment of the present application, in order to further improve the scheduling efficiency, the above method also includes: when the target robot performs the target task in the target scenario, in response to the task processing request sent by the controller, controlling the target robot to cancel the target task, pause the target task or restart the target task.
[0064] It should be noted that the computer device receives the task processing request (such as task cancellation, pause or restart) initiated by the controller for the current scheduling request, and controls the robot to cancel the target task, pause the target task or restart the target task according to the task processing request, and then feeds back the processing result to the controller.
[0065] Based on the same inventive concept, the embodiment of the present application also provides a robot scheduling device for implementing the robot scheduling method involved above. The implementation solution provided by the device to solve the problem is similar to the implementation solution recorded in the above method, so the specific limitations in one or more robot scheduling device embodiments provided below can refer to the limitations of the robot scheduling method above, and will not be repeated here.
[0066] In an exemplary embodiment, Figure 2 As shown, a robot scheduling device is provided, wherein the robot scheduling device 200 comprises:
[0067] The query module 210 is used to query the current status of all robots in the target scene in response to the scheduling request sent by the controller; the scheduling request includes the target task and the target scene; the current status of the robot includes the first state or the second state;
[0068] The task assignment module 220 is used to determine that the robot is a target robot if the current state of the robot is the first state, and send a target task to the target robot;
[0069] The task execution module 230 is used to obtain the execution result of the target robot executing the target task, and update the current state of the target robot according to the execution result to respond to the next scheduling.
[0070] As an optional implementation, the query module 210 is also used to send a status query request to all robots in the target scene in response to a scheduling request sent by the controller; receive status codes sent by all robots in the target scene; the status code includes a first status code, a second status code and / or a third status code; identify the status code, if the status code is the first status code, the current state of the robot is the first state; if the status code is the second status code or the third status code, the current state of the robot is the second state.
[0071] As an optional implementation, the task assignment module 220 is also used to determine that the robot is a target robot if the current state of the robot is the first state; send call parameters to the target robot when the processing conditions are met, and control the target robot to perform the target task in the target scene.
[0072] As an optional implementation, the task execution module 230 is also used to monitor the progress of the target robot executing the target task in the target scenario and obtain the execution result of the target robot; the execution result includes task success or task interruption; if the execution result of the target robot is task success, the current state of the target robot is updated to an idle state; if the execution result of the target robot is task interruption, the current state of the target robot is updated to an abnormal state.
[0073] As an optional implementation, the robot scheduling device 200 is also used to send scheduling exception information to the controller if the current state of the robot is the second state and cannot be scheduled; or; if the current state of the robot is the second state and can be scheduled, generate current scheduling request information, and send the current scheduling request information to a request queue under a pre-established target scenario; when the current state of the robot is the first state, respond to the current scheduling request information in the request queue under the target scenario according to preset rules, determine that the robot is a target robot, and send a target task to the target robot; when the current state of the robot is the second state, clear the request queue under the target scenario.
[0074] As an optional embodiment, the above-mentioned robot scheduling device 200 is also used to control the target robot to cancel the target task, pause the target task or restart the target task in response to a task processing request sent by the controller when the target robot performs the target task in the target scenario.
[0075] Among them, this implementation method is implemented by responding to the scheduling request sent by the controller to query the current status of all robots in the target scene; by obtaining the current status of all robots in the target scene, the target robot is determined; by sending the target task to the target robot, the robot can be controlled to perform the target task and realize robot scheduling; by obtaining the execution result of the target robot performing the target task, the current status of the target robot can be updated, so that the current status of all robots in the target scene can be queried when scheduling next time, which can effectively improve the scheduling efficiency of the robot.
[0076] In an exemplary embodiment, a computer device is provided. The computer device may be a server or a terminal. The internal structure diagram thereof may be as follows: Figure 3 As shown. The computer device includes a processor, a memory, an input / output interface (Input / Output, referred to as I / O) and a communication interface. Among them, the processor, the memory and the input / output interface are connected through a system bus, and the communication interface is connected to the system bus through the input / output interface. Among them, the processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program and a database. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The database of the computer device is used to store video tag processing data. The input / output interface of the computer device is used to exchange information between the processor and an external device. The communication interface of the computer device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, a robot scheduling method is implemented.
[0077] Those skilled in the art will understand that Figure 3 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.
[0078] In an exemplary embodiment, a computer device is further provided, including a memory and a processor, wherein a computer program is stored in the memory, and the processor implements the steps in the above-mentioned method embodiments when executing the computer program.
[0079] In an exemplary embodiment, a computer-readable storage medium is provided, storing a computer program, and when the computer program is executed by a processor, the steps in the above method embodiments are implemented.
[0080] In an exemplary embodiment, a computer program product is provided, including a computer program, and when the computer program is executed by a processor, the steps in the above method embodiments are implemented.
[0081] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with relevant regulations.
[0082] Those of ordinary skill in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to the memory, database or other medium used in the embodiments provided in the present application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM may be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM).
[0083] The database involved in each embodiment provided in this application may include at least one of a relational database and a non-relational database. The non-relational database may include a distributed database based on blockchain, etc., but is not limited thereto. The processor involved in each embodiment provided in this application may be a general-purpose processor, a central processing unit, a graphics processor, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, etc., but is not limited thereto.
[0084] The technical features of the above embodiments may be arbitrarily combined. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0085] This article uses specific examples to illustrate the principles and implementation methods of this application. The description of the above embodiments is only used to help understand the method and core ideas of this application. At the same time, for those skilled in the art, according to the ideas of this application, there will be changes in the specific implementation methods and application scope. In summary, the content of this specification should not be understood as limiting this application.
Claims
1. A robot scheduling method, characterized in that: The robot scheduling method comprises: In response to a scheduling request sent by a controller, query the current status of all robots in a target scene; the scheduling request includes a target task and the target scene; the current status of the robot includes a first state or a second state; If the current state of the robot is the first state, determining that the robot is a target robot, and sending the target task to the target robot; The execution result of the target robot executing the target task is obtained, and the current state of the target robot is updated according to the execution result to respond to the next scheduling.
2. The robot scheduling method according to claim 1, characterized in that: In response to the dispatch request sent by the controller, query the current status of all robots in the target scene, including: In response to the scheduling request sent by the controller, sending a status query request to all robots in the target scene; Receiving status codes sent by all robots in the target scene; the status codes include a first status code, a second status code and / or a third status code; The status code is identified. If the status code is the first status code, the current status of the robot is the first status; if the status code is the second status code or the third status code, the current status of the robot is the second status.
3. The robot scheduling method according to claim 1, characterized in that: If the current state of the robot is the first state, determining that the robot is a target robot, and sending the target task to the target robot, comprises: If the current state of the robot is the first state, determining that the robot is the target robot; When the processing conditions are met, a calling parameter is sent to the target robot to control the target robot to perform the target task in the target scene.
4. The robot scheduling method according to claim 1, characterized in that: The obtaining the execution result of the target robot executing the target task, and updating the current state of the target robot according to the execution result to respond to the next scheduling, includes: Monitoring the progress of the target robot in executing the target task in the target scenario, and obtaining the execution result of the target robot; the execution result includes task success or task interruption; If the execution result of the target robot is that the task is successful, the current state of the target robot is updated to an idle state; If the execution result of the target robot is task interruption, the current state of the target robot is updated to an abnormal state.
5. The robot scheduling method according to any one of claims 1 to 4, characterized in that: After querying the current status of all robots in the target scene in response to the scheduling request sent by the controller, the method further includes: If the current state of the robot is the second state and cannot be scheduled, sending scheduling exception information to the controller; or; If the current state of the robot is the second state and can be scheduled, generate current scheduling request information, and send the current scheduling request information to the pre-established request queue under the target scenario; When the current state of the robot is the first state, respond to the current scheduling request information in the request queue under the target scenario according to a preset rule, determine that the robot is a target robot, and send the target task to the target robot; When the current state of the robot is the second state, clear the request queue in the target scenario.
6. The robot scheduling method according to claim 1, characterized in that: The method further comprises: When the target robot executes the target task in the target scenario, in response to a task processing request sent by the controller, the target robot is controlled to cancel, pause or restart the target task.
7. A robot scheduling device, characterized in that: The robot scheduling device comprises: A query module, configured to query the current status of all robots in a target scene in response to a scheduling request sent by the controller; the scheduling request includes a target task and the target scene; the current status of the robot includes a first state or a second state; a task assignment module, configured to determine that the robot is a target robot if the current state of the robot is the first state, and send the target task to the target robot; The task execution module is used to obtain the execution result of the target robot executing the target task, and update the current state of the target robot according to the execution result to respond to the next scheduling.
8. A computer device comprising: A memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the steps of the robot scheduling method according to any one of claims 1 to 6.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the robot scheduling method described in any one of claims 1 to 6 are implemented.
10. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the robot scheduling method described in any one of claims 1 to 6 are implemented.
Citation Information
Cited By
Humanoid robot task scheduling method and related equipment
CN121132649A