A robot scheduling method and device, electronic equipment and storage medium

By determining the master node and synchronization time in a multi-robot system, and optimizing task information acquisition and execution, the complexity and low efficiency of multi-robot scheduling are solved, and efficient multi-robot collaborative scheduling is achieved.

CN115502975BActive Publication Date: 2026-02-06SHANGHAI JIEKA ROBOT TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211227140.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-10-09
Publication Date
2026-02-06
Estimated Expiration
2042-10-09

AI Technical Summary

Technical Problem

Existing multi-robot scheduling concepts and logics are complex and difficult to operate without the aid of offline simulation tools. At the same time, the limitations of single-controller multi-robot control are significant, resulting in high scheduling difficulty and low efficiency.

Method used

The master node is determined from the controller nodes corresponding to each associated robot, and the information processing time and synchronization activation time are determined based on the master node. At the information processing time, the remote node task information is obtained, and at the synchronization activation time, the target task is executed by the local scheduler. The task execution is optimized by using the local scheduler and resource manager.

Benefits of technology

It reduces the difficulty of multi-robot scheduling, improves the efficiency of multi-robot scheduling, and achieves the effectiveness and real-time performance of multi-robot synchronous scheduling.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115502975B_ABST
    Figure CN115502975B_ABST
Patent Text Reader

Abstract

The application discloses a kind of robot scheduling method, device, electronic equipment and storage medium.The method comprises: determining master node from each controller node corresponding to each associated robot, and determining the information processing time and the synchronization effective time of each controller node according to master node;At information processing time, each controller node obtains remote node task information associated with controller node;At synchronization effective time, through the local scheduler of each associated robot, execute the target task of each associated robot according to remote node task information.Through the technical scheme provided by the embodiment of the application, the problem that the concept and logic of the existing multi-robot scheduling are relatively complex, and it is difficult to operate without the help of offline simulation tools, and the limitation of single-controller multi-robot control is also very large can be solved, and the beneficial effects of reducing the difficulty of multi-robot scheduling and improving the efficiency of multi-robot scheduling are achieved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of robots, in particular to a robot scheduling method and device, an electronic device and a storage medium. BACKGROUND

[0002] The operation program of the existing robot is mostly composed of scripts, and the script syntax is mostly in line with the characteristics of high-level programming languages such as Python and Pascal. The operation script is placed in the storage medium of the controller, and when the controller needs to execute the program, the script string is read in the form of text and parsed and executed. Some controllers process the script string into intermediate code through lexical and syntax analysis, and then execute the intermediate code through a virtual machine module to sequentially run the actions expressed by the script.

[0003] The solution for the sequential single-task operation script of a single robot is a relatively mature technology. However, for multi-robot operation programs, most robot controllers do not have joint programming of multi-robot actions, and are basically coordinated and controlled by third parties such as PLCs, IPCs, and other upper computers. For example, the MultiTasking and MultiMove modules of ABB robots can be used to conveniently synchronize the control of multiple robots, but they must require multiple robot arms to be connected to the same controller, and only allow up to four. For a larger working range, even for multi-robot operation scripts on a mobile robot operation platform, it is impossible to work together, and the synchronization function of MultiTasking needs to be used to realize semi-linkage and linkage synchronization. ABB is available for multi-robot scheduling, but from the perspective of user usability, its concept and logic are relatively complex, and it is difficult to operate without the help of an offline simulation tool. At the same time, the limitations of single-controller multi-robot control are also great. SUMMARY

[0004] The present application provides a robot scheduling method, device, electronic device and storage medium to reduce the difficulty of multi-robot scheduling and improve the efficiency of multi-robot scheduling.

[0005] According to an aspect of the present application, a robot scheduling method is provided, which comprises:

[0006] determining a master node from each controller node corresponding to each associated robot, and determining an information processing time and a synchronization effective time of each controller node according to the master node;

[0007] at the information processing time, each controller node acquires remote node task information associated with the controller node;

[0008] At the synchronization effective moment, a local scheduler of each of the associated robots executes a target task of each of the associated robots according to the remote node task information.

[0009] According to another aspect of the present application, there is provided a robot scheduling apparatus, comprising:

[0010] a moment determination module configured to determine a master node from each of the controller nodes corresponding to each of the associated robots, and determine an information processing moment and a synchronization effective moment of each of the controller nodes according to the master node;

[0011] a task information acquisition module configured to acquire, at the information processing moment, remote node task information associated with each of the controller nodes by each of the controller nodes;

[0012] a target task execution module configured to execute, at the synchronization effective moment, a target task of each of the associated robots according to the remote node task information by a local scheduler of each of the associated robots.

[0013] According to another aspect of the present application, there is provided an electronic device, comprising:

[0014] at least one processor; and

[0015] a memory communicatively connected to the at least one processor; wherein

[0016] the memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor to enable the at least one processor to execute the robot scheduling method according to any one of the embodiments of the present application.

[0017] According to another aspect of the present application, there is provided a computer readable storage medium storing computer instructions for causing a processor to implement the robot scheduling method according to any one of the embodiments of the present application when executed.

[0018] The technical scheme of the embodiment of the present application determines a master node from each controller node corresponding to each associated robot, and determines an information processing time and a synchronous effective time of each controller node according to the master node; at the information processing time, each controller node acquires remote node task information associated with the controller node; at the synchronous effective time, a local scheduler of each associated robot executes a target task of each associated robot according to the remote node task information. The problems of complex concept and logic of the existing multi-robot scheduling, and great limitation of single-controller multi-robot control if not with the help of offline simulation tools, are solved, and the beneficial effects of reducing the difficulty of multi-robot scheduling and improving the efficiency of multi-robot scheduling are achieved.

[0019] It should be understood that the content described in this part is not intended to identify key or important features of the embodiments of the present application, nor is it used to limit the scope of the present application. Other features of the present application will become apparent from the following description. BRIEF DESCRIPTION OF DRAWINGS

[0020] Figure 1 A flowchart of a robot scheduling method provided for the first embodiment of the present application;

[0021] Figure 2 A flowchart of a robot scheduling method provided for the second embodiment of the present application;

[0022] Figure 3 A flowchart of a robot scheduling method provided for the third embodiment of the present application;

[0023] Figure 4 A schematic diagram of a task graphical interface provided for the third embodiment of the present application;

[0024] Figure 5 A structural schematic diagram of a robot scheduling device provided for the fourth embodiment of the present application;

[0025] Figure 6 A structural schematic diagram of an electronic device for implementing the embodiments of the present application. DETAILED DESCRIPTION

[0026] In order for those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be described clearly and completely below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, not all. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative labor should be within the scope of protection of the present application.

[0027] It should be noted that the terms "first", "second", "target", etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and do not necessarily describe a specific order or sequence. It should be understood that the data thus used can be interchanged under appropriate circumstances, so that the embodiments of the application described herein can be implemented in an order other than that illustrated or described herein. In addition, the terms "include" and "have" and any variations thereof are intended to cover non-exclusive inclusion, for example, a process, method, system, product or device including a series of steps or units does not necessarily have to be limited to those steps or units clearly listed, but can include other steps or units not clearly listed or inherent to these processes, methods, products or devices.

[0028] Embodiment one

[0029] Figure 1 A flowchart of a robot scheduling method provided for the first embodiment of the present application, the present embodiment can be applicable to multiple robot scheduling situations, and the method can be executed by a robot scheduling device provided by the embodiments of the present application, which can be implemented in software and / or hardware. Referring to Figure 1 , the robot scheduling method provided by the present embodiment includes:

[0030] Step 110, determining a master node from each controller node corresponding to each associated robot, and determining the information processing time and the synchronization effective time of each controller node according to the master node.

[0031] Among them, the associated robot is a robot with an association relationship, for example, a robot in the same local area network, which is not limited by the present embodiment.

[0032] Each associated robot corresponds to its own controller node, which can use the Data Distribution Service (DDS) standard scheme to open the status and operation port of the local scheduler and local resource management unit of each associated robot to the trusted multi-robot local area network, so that each controller node is connected to each other. Among them, the local scheduler is responsible for driving the single local task scheduling or the cooperative scheduling of multiple local tasks according to the task attributes in the local area. Each task can be an independent unit, which is bound to one or more physical CPUs of the operating system according to the task attributes, and fully utilizes the advantages of multi-core parallel computing. The local resource management unit is responsible for managing the operable objects of the local system module, such as local physical IO, mechanical arm, communication port, etc., which is managed by the local scheduler. The local scheduler allocates suitable local system resources to suitable task units according to the needs of the task.

[0033] A controller node can be selected as the master node randomly or by a preset selection method, and the embodiment is not limited in this regard. When a controller node is the master node, the other controller nodes are slave nodes.

[0034] The information processing time is the time at which the controller nodes receive and send information, and the synchronization effective time is the time at which the robot activates the information obtained and starts the corresponding processing flow. The information processing time corresponding to each controller node is the same as the synchronization effective time.

[0035] The information processing time and the synchronization effective time of each controller node are determined according to the master node, that is, the time of the master node is used as the reference for synchronization. For example, the IEEE1588 synchronization mechanism is used to synchronize the time of the slave node with the master node, so as to determine the corresponding information processing time and synchronization effective time. The information processing time and the synchronization effective time can be fixed times, and the embodiment is not limited in this regard.

[0036] In the embodiment, the information processing time and the synchronization effective time of each controller node are determined according to the master node, including:

[0037] The synchronization start time is determined according to the master node, and the information processing time is determined according to the synchronization start time and a preset synchronization period.

[0038] The synchronization effective time is determined according to the information processing time and a preset time interval of each controller node.

[0039] The synchronization start time is the time at which the synchronization state of each controller node is started, denoted as Tstart. The synchronization start time is determined according to the master node, that is, the master node determines the synchronization start time and sends it to the other slave nodes, so that the clocks of the controller nodes all enter the synchronization state when reaching Tstart.

[0040] The information processing time is determined according to the synchronization start time and a preset synchronization period, and the synchronization period of each controller node is denoted as Tcycle. The synchronization period is the period for executing the synchronization flow. The information processing time can be Tstart+n*Tcycle, where n≥1.

[0041] The preset time interval can be a synchronization effective offset time, denoted as Toff. The synchronization effective offset time corresponding to each controller node can be different, and can be determined according to the actual information transmission condition. For example, if the speed of a controller node for obtaining information is slow, the Toff of the controller node can be set to be longer, so that all controller nodes can completely receive the information. The synchronization effective time Tsync can be Tstart+n*Tcycle+Toff, where n≥1.

[0042] By synchronizing the controller nodes and configuring appropriate preset time intervals according to actual transmission conditions, the local schedulers of each distributed controller node have complete and simultaneous task data, avoiding the situation that if each controller node sets the same synchronization effective time, the controller node starts to process the target task before completely receiving the information, resulting in failure of the target task processing. The effectiveness, real-time performance and synchronization of information transmission are improved, and the success rate of target task processing is improved.

[0043] Step 120, at the information processing time, each controller node obtains remote node task information associated with the controller node.

[0044] At the information processing time, each controller node respectively obtains remote node task information associated with the controller node, and the remote node task information is task information related to the current controller node sent by the remote node. For example, controller node A sends remote node task information to controller node B, and controller node B needs to start moving when controller node A corresponds to robot A moving to point C.

[0045] The remote node task information is sent to the local area network by other controller nodes except the current controller node by using data distribution technologies such as DDS or OPCUA, and is obtained by subscription by the current controller node; at the same time, the current controller node can also send and publish the local scheduler and resource management unit state and operation command to other controller nodes in the local area network by using the data distribution technology, so that other controller nodes obtain the remote node task information. In order to further improve the real-time performance of the controller node, different parameters can be set for the QOS of DDS to obtain higher and more reliable strategies, and technologies such as EtherCAT EOE and TSN can be used to improve the synchronization performance at the physical or link layer.

[0046] Step 130, at the synchronization effective time, the target task of each associated robot is executed by the local scheduler of each associated robot according to the remote node task information.

[0047] The target task is a task that needs to be executed by the associated robot, which can be a single task or multiple tasks, and the embodiment does not limit this.

[0048] Each associated robot adds the remote node task information to the task total information corresponding to the target task according to the remote node task information obtained by itself, and the corresponding target task is executed by the local scheduler of each associated robot at the synchronization effective time according to the task total information, so as to achieve the effect of multiple robots working together to execute the task. Optionally, after the target task of the current controller node is executed, the scheduling instructions and output data to be published to other controller nodes are updated to improve the efficiency of the linkage scheduling.

[0049] The technical solution provided in this embodiment determines the master node from each controller node corresponding to each associated robot, and determines the information processing time and synchronization activation time of each controller node based on the master node, thereby unifying the key moments of each controller node, which facilitates the subsequent synchronous scheduling of multiple robots.

[0050] At the moment of synchronization, each associated robot's local scheduler executes its target task based on the task information from the remote node. This avoids the problems of complex logic in controlling multiple robots simultaneously with a single controller, which increases control difficulty and limits the number of robots that can be controlled. By leveraging the simultaneously effective task information and scheduling time available to each controller node, synchronous scheduling of multiple robots is achieved, reducing the difficulty and improving the efficiency of multi-robot scheduling.

[0051] Example 2

[0052] Figure 2 This is a flowchart of a robot scheduling method provided in Embodiment 2 of the present invention. This technical solution provides supplementary explanation of the process by which the local schedulers of each associated robot execute the target tasks of each associated robot according to the task information of the remote node. Compared with the above solution, this solution is specifically optimized as follows: the local schedulers of each associated robot execute the target tasks of each associated robot according to the task information of the remote node, including:

[0053] By synchronizing the remote node task information to the local scheduler, remote task information associated with remote tasks can be obtained;

[0054] Obtain task execution resources from the local resource manager based on the remote task information;

[0055] Based on the task execution resources and the local scheduler, the target task is executed according to the local scheduling process. Specifically, the flowchart of the robot scheduling method is as follows: Figure 2 As shown:

[0056] Step 210: Determine the master node from each controller node corresponding to each associated robot, and determine the information processing time and synchronization activation time of each controller node based on the master node.

[0057] Step 220: During the information processing time, each controller node acquires remote node task information associated with the controller node.

[0058] Step 230: At the time when the synchronization takes effect, the remote task information of the associated remote task is obtained by synchronizing the remote node task information to the local scheduler.

[0059] By synchronizing the remote node task information to the local scheduler, i.e., synchronizing the scheduling information of other controller nodes to the local scheduler, the local scheduling information is combined with the remote scheduling information to obtain remote task information of the associated remote task.

[0060] The associated remote task is a remote task related to the current associated robot, and the remote task information can include a synchronization state, a task request, output data, etc. of the associated remote task. For example, the associated robot B performs a target task B, the associated robot B sends remote node task information related to the target task B to the associated robot A to make the associated robot A perform a target task A, and for the associated robot A, the target task B is an associated remote task of the associated robot A.

[0061] In step 240, a task execution resource is obtained from the local resource manager according to the remote task information.

[0062] According to the remote task information, the task execution resource is obtained from the resource manager, i.e., the corresponding resource is requested from the local resource manager according to the remote task information or according to the remote task information and the local task information, the local resource manager allocates the task execution resource according to the request, and the target task is executed according to the task execution resource and the local scheduling process subsequently. For example, the task synchronization state and the resource state of the target task are obtained from the remote task information and the local task information by the local scheduler, and according to the task synchronization state and the resource state and the task demand, the local resource manager allocates the appropriate local system resource to the target task executor of the target task, such as CPU. The task synchronization state can be the task execution state of the target task in the previous task execution period, and the resource state can be the resource condition obtained by the target task in the previous task period.

[0063] In step 250, the target task is executed according to the local scheduling process according to the task execution resource and the local scheduler.

[0064] According to the task execution resource and the local scheduler, the target task is executed according to the local scheduling process, which can be that the local scheduler updates the input information source of the target task executor in the current task execution period, i.e., updates the data source, and the target task executor obtains the transmission position of the output information generated when the target task is executed. The local scheduler drives the target task executor to execute the target task in the task execution period according to the task execution resource, and the current target task executor returns the output information to the transmission position for subsequent processing.

[0065] In this embodiment, according to the task execution resource and the local scheduler, the target task is executed according to the local scheduling process, which includes:

[0066] If the target task contains a high-priority task, a first execution resource of the task execution resource is allocated to a high-priority task executor, and the high-priority task executor is driven to execute the high-priority task according to a preset instruction cycle.

[0067] If the target task contains a low-priority task, a second execution resource of the task execution resource is allocated to a low-priority task executor, and the low-priority task executor is driven to execute the low-priority task in the target task according to a preset instruction cycle.

[0068] The high-priority task is a task that needs to be processed in priority, and the high-priority task executor is used to process the high-priority task. If the target task contains a high-priority task, the local scheduler requests corresponding resources associated with the high-priority task from the local resource manager, and the local resource manager allocates a first execution resource of the task execution resource to the high-priority task executor according to the request. The local scheduler can update the input information source of the current preset instruction cycle for the high-priority task executor, that is, update the data source; the high-priority task executor obtains the transfer location of the output information generated when executing the high-priority task. The local scheduler drives the high-priority task executor to execute the high-priority task of the preset instruction cycle according to the first task execution resource, and the high-priority task executor returns the output information to the transfer location.

[0069] The low-priority task is a task that needs to be processed later, which can be a task processed after the high-priority task is processed or completed, and the embodiment does not limit this. The low-priority task executor is used to process the low-priority task, which can be a CPU different from the high-priority task executor. If the target task contains a low-priority task, the local scheduler requests corresponding resources associated with the low-priority task from the local resource manager, and the local resource manager allocates a second execution resource of the task execution resource to the low-priority task executor according to the request. The local scheduler can update the input information source of the current preset instruction cycle for the low-priority task executor, that is, update the data source; the low-priority task executor obtains the transfer location of the output information generated when executing the low-priority task. The local scheduler drives the low-priority task executor to execute the low-priority task of the preset instruction cycle according to the second task execution resource, and the low-priority task executor returns the output information to the transfer location.

[0070] In the prior art, tasks are scheduled by an operating system, so that each task runs independently. In the technical solution, the local scheduler drives the target task actually existing in the independent task executor according to the priority of the task, so that multi-task processing is realized, and when the target task is a multi-task, the order of task scheduling and execution actions is more explicit, and the orderliness of task execution is improved.

[0071] The embodiment of the present application obtains task execution resources from the local resource manager through remote task information, executes target tasks according to the task execution resources and the local scheduling flow, virtually schedules remote tasks as local tasks on the basis of remote task data synchronization, and schedules the local scheduler, thereby realizing distributed task scheduling and multi-robot synchronous scheduling.

[0072] Embodiment three

[0073] Figure 3 A flowchart of a robot scheduling method provided for the third embodiment of the present application, and the technical solution is supplemented by the process of executing target tasks of each associated robot according to remote node task information by the local scheduler of each associated robot. Compared with the above solution, the present solution is specifically optimized as follows: executing target tasks of each associated robot according to remote node task information by the local scheduler of each associated robot, including: if the local scheduler determines that a synchronization condition signal is activated, activating a synchronization trigger signal according to a preset synchronization relationship table; wherein the synchronization relationship table is used to describe the relationship between a single synchronization condition signal and at least two synchronization trigger signals.

[0074] According to the synchronization trigger signal, at least two subtasks in the target task are executed. Specifically, the flowchart of the robot scheduling method is as shown in Figure 3

[0075] Step 310: determining a master node from each controller node corresponding to each associated robot, and determining an information processing time and a synchronization effective time of each controller node according to the master node.

[0076] Step 320: at the information processing time, each controller node obtains remote node task information associated with the controller node.

[0077] Step 330: at the synchronization effective time, if the local scheduler of each associated robot determines that a synchronization condition signal is activated, a synchronization trigger signal is activated according to a preset synchronization relationship table; wherein the synchronization relationship table is used to describe the relationship between a single synchronization condition signal and at least two synchronization trigger signals.

[0078] The preset synchronization relationship table is used to describe the relationship between a single synchronization condition signal and multiple synchronization trigger signals. When the local scheduler detects that the synchronization condition signal of the task is activated, the activation state of the corresponding synchronization trigger signal in the table is updated. When the synchronization trigger signal is not activated, the target task can not be executed.

[0079] Step 340: according to the synchronization trigger signal, at least two subtasks in the target task are executed.

[0080] ​The local scheduler executes the corresponding subtasks within the instruction cycle based on the synchronization trigger signal. When the instruction cycle ends, the activation state of the corresponding synchronization trigger signal can be canceled.

[0081] In this embodiment, optionally, it also includes:

[0082] In the task's graphical interface, the synchronization condition signal is described by a first preset shape;

[0083] The synchronization condition signal is described by a second preset shape;

[0084] The synchronization relationship between the subtasks is described by the preset connection method between the first preset shape and the second preset shape.

[0085] The task graphical interface is used to describe the execution logic of the task in a graphical way. Synchronization condition signals are described using a first preset shape, which can be a vertical line or a solid dot; this embodiment does not impose any restrictions on this. Synchronization condition signals are also described using a second preset shape, which can be an arrow; this embodiment does not impose any restrictions on this either.

[0086] The synchronization relationship between subtasks can be described by the preset connection method of the first preset shape and the second preset shape. For example, the first preset shape and the second preset shape can be connected by a curve to describe the synchronization relationship between different subtasks.

[0087] Figure 4 This is a schematic diagram of a task graphical interface provided in Embodiment 3 of the present invention, as shown below. Figure 4 As shown, this describes how subtask 2 begins execution when subtask 1 finishes its 2-second wait, and the joint moves to position 1; when the joint moves to position 1, subtask 1 begins execution and waits for 4 seconds. The first preset shape is a vertical line or a solid dot, and the second preset shape is an arrow. Connecting the vertical line and the arrow curve or connecting the solid dot and the arrow curve indicates synchronous triggering, indicating the synchronization relationship between subtask 1 and subtask 2.

[0088] The synchronization relationship between multiple tasks is described by a preset connection method, which replaces the traditional synchronization semantic description in the form of variables or commands. This is more intuitive, simple, and easy to understand, and improves the effectiveness of the graphical logic description of tasks.

[0089] In this embodiment, optionally, it also includes:

[0090] If the target task meets the preset task type, then the preset condition trigger determines whether the task triggering condition is met.

[0091] If the conditions are met, then the immediate response task in the target task is executed;

[0092] The task driver is sent to activate and execute the delay response task in the target task.

[0093] The preset task type can be a conditional expression with a true or false return value to determine whether to start the response task, for example, a registered event or an interrupt task.

[0094] If the task meets the preset task type, the preset condition trigger is used to determine whether the task trigger condition is met, for example, if the preset condition trigger is the carrier of the conditional expression, the preset condition trigger is used to check the trigger condition in each scheduling loop cycle.

[0095] When the trigger condition is met, the immediate response task is executed immediately, wherein the immediate response task is a task that needs to be executed immediately when the trigger condition is met. After the immediate response task responds, a task driver can be sent to activate the execution of the delay response task, or the delay response task can not be activated if the task driver is not sent. The delay response task is a task that does not need to respond immediately when the trigger condition is met, and the task content can be different from the immediate response task. After the immediate response task is activated, the delay response task can be executed in multiple cycles by the local scheduler.

[0096] It should be noted that the specific execution mode of the immediate response task and the delay response task is the same as the execution mode of the single task described in the embodiments of the present application.

[0097] By dividing the target task into an immediate response task and a delay response task, the immediate response task is used to process actions with high response requirements, and the delay response task is used to process actions with low response requirements through the local scheduler, thereby improving the flexibility of task execution. The instantaneity of task execution is ensured, the scene requirements of high response requirements are met, and the efficiency of task execution is improved without affecting the scheduling of other tasks.

[0098] In the embodiments of the present application, a single activated synchronization condition signal is used to activate multiple synchronization trigger signals, so that at least two subtasks in the target task are executed according to the synchronization trigger signal, thereby realizing the synchronous execution of multiple tasks by sending a single signal, without the need to send an execution signal to multiple tasks respectively, and improving the efficiency of multiple task execution.

[0099] Embodiment Four

[0100] Figure 5 A structural schematic diagram of a robot scheduling device provided in Embodiment Four of the present application. The device can be realized by hardware and / or software, and can execute the robot scheduling method provided in any embodiment of the present application, and has the corresponding function modules and beneficial effects of the execution method. For example, Figure 5As shown, the device comprises:

[0101] The time determination module 510 is configured to determine a master node from each controller node corresponding to each associated robot, and determine an information processing time and a synchronization effective time of each controller node according to the master node;

[0102] The task information acquisition module 520 is configured to acquire remote node task information associated with the controller node at the information processing time.

[0103] The target task execution module 530 is configured to execute a target task of each associated robot according to the remote node task information through a local scheduler of each associated robot at the synchronization effective time.

[0104] On the basis of each of the above technical solutions, the time determination module comprises:

[0105] The information processing time determination unit is configured to determine a synchronization start time according to the master node, and determine the information processing time according to the synchronization start time and a preset synchronization period.

[0106] The synchronization effective time determination unit is configured to determine the synchronization effective time according to the information processing time and a preset time interval of each controller node.

[0107] On the basis of each of the above technical solutions, the target task execution module comprises:

[0108] The remote task information acquisition unit is configured to acquire remote task information of an associated remote task by synchronizing the remote node task information to the local scheduler.

[0109] The task execution resource acquisition unit is configured to acquire a task execution resource from a local resource manager according to the remote task information.

[0110] The target task execution unit is configured to execute the target task according to the task execution resource and the local scheduler according to a local scheduling process.

[0111] On the basis of each of the above technical solutions, the target task execution unit comprises:

[0112] The high-priority task execution subunit is configured to, if there is a high-priority task in the target task, allocate a first execution resource in the task execution resource to a high-priority task executor, and drive the high-priority task executor to execute the high-priority task according to a preset instruction period.

[0113] The low-priority task execution subunit is configured to, if there is a low-priority task in the target task, allocate a second execution resource in the task execution resource to a low-priority task executor, and drive the low-priority task executor to execute a low-priority task in the target task according to a preset instruction cycle.

[0114] On the basis of each of the technical solutions above, optionally, the device further comprises:

[0115] The trigger condition satisfaction judgment module is configured to, if the target task satisfies a preset task type, judge whether a task trigger condition is satisfied through a preset condition trigger.

[0116] The instant-response task execution module is configured to, if the trigger condition satisfaction judgment module judges that the condition is satisfied, execute an instant-response task in the target task.

[0117] The delay-response task execution module is configured to send a task driver, activate and execute a delay-response task in the target task.

[0118] On the basis of each of the technical solutions above, optionally, the target task execution module comprises:

[0119] The trigger signal activation unit is configured to, if the local scheduler determines that a synchronization condition signal is activated, activate a synchronization trigger signal according to a preset synchronization relationship table; wherein the synchronization relationship table is configured to describe a relationship between a single synchronization condition signal and at least two synchronization trigger signals.

[0120] The subtask execution unit is configured to execute at least two subtasks in the target task according to the synchronization trigger signal.

[0121] On the basis of each of the technical solutions above, optionally, the device further comprises:

[0122] The synchronization condition signal description unit is configured to describe the synchronization condition signal through a first preset shape in a task graphical interface.

[0123] The synchronization condition signal description unit is configured to describe the synchronization condition signal through a second preset shape.

[0124] The synchronization relationship description unit is configured to describe a synchronization relationship between the subtasks through a preset connection mode between the first preset shape and the second preset shape.

[0125] Embodiment five

[0126] Figure 6A structural diagram of an electronic device 10 that can be used to implement embodiments of the present application is shown. The electronic device is intended to represent various forms of digital computers, such as laptops, desktops, tablets, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers. The electronic device can also represent various forms of mobile devices, such as personal digital assistants, cellular telephones, smartphones, wearable devices (e.g., headsets, glasses, watches, etc.), and other similar computing devices. The components shown here, their connections and relationships, and their functions, are meant to be examples only, and are not meant to limit implementations of the present application described and / or claimed in this document.

[0127] As shown in Figure 6 The electronic device 10 includes at least one processor 11, and a memory, such as a read-only memory (ROM) 12, a random access memory (RAM) 13, etc., communicatively connected to the at least one processor 11, where the memory stores computer programs executable by the at least one processor. The processor 11 can perform various appropriate actions and processes according to the computer programs stored in the read-only memory (ROM) 12 or loaded into the random access memory (RAM) 13 from the storage unit 18. In the RAM 13, various programs and data required for the operation of the electronic device 10 can also be stored. The processor 11, the ROM 12, and the RAM 13 are connected to each other through a bus 14. An input / output (I / O) interface 15 is also connected to the bus 14.

[0128] Various components in the electronic device 10 are connected to the I / O interface 15, including an input unit 16, such as a keyboard, a mouse, etc., an output unit 17, such as various types of displays, speakers, etc., a storage unit 18, such as a magnetic disk, an optical disk, etc., and a communication unit 19, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 19 allows the electronic device 10 to exchange information / data with other devices through a computer network, such as the Internet, and / or various telecommunication networks.

[0129] The processor 11 can be various general and / or special purpose processing components with processing and computing capabilities. Some examples of the processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any appropriate processor, controller, microcontroller, etc. The processor 11 performs various methods and processes described above, such as the robot scheduling method.

[0130] In some embodiments, the robot scheduling method can be implemented as a computer program tangibly embodied in a computer readable storage medium, e.g., storage unit 18. In some embodiments, parts or all of the computer program can be loaded and / or installed onto electronic device 10 via, e.g., ROM 12 and / or communication unit 19. When the computer program is loaded onto RAM 13 and executed by processor 11, one or more steps of the robot scheduling method described above can be performed. Alternatively, in other embodiments, processor 11 can be configured to perform the robot scheduling method by other means, e.g., with the aid of firmware.

[0131] Various implementations of the systems and techniques described above can be realized in digital electronic circuitry, integrated circuitry, a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), a system on a chip (SOC), a programmable logic device (PLD), a computer hardware, firmware, software, and / or combinations thereof. These various implementations can include implementation in one or more computer programs that are executable and / or interpretable on a programmable system including at least one programmable processor, which can be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device.

[0132] Computer programs used to implement the methods of the present application can be written in any combination of one or more programming languages. These computer programs can be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the computer program, when executed by the processor of the machine, implements the functions / acts specified in the flowcharts and / or block diagrams. The computer program can be executed entirely on a machine, partially on a machine, partially on a machine as a stand-alone software package, partially on a machine and partially on a remote machine or entirely on a remote machine or server.

[0133] In the context of the present application, a computer-readable storage medium can be a tangible medium that can contain or store a computer program for use by or in connection with an instruction execution system, apparatus, or device. A computer-readable storage medium can include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. Alternatively, a computer-readable storage medium can be a machine-readable signal medium. More specific examples of a machine-readable storage medium will include one or more lines of a program of instructions in a transitory signal, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0134] To provide for interaction with a user, the systems and techniques described here can be implemented on an electronic device having a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user and a keyboard and a pointing device (e.g., a mouse or a trackball) by which the user can provide input to the electronic device. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form, including acoustic, speech, or tactile input.

[0135] The systems and techniques described here can be implemented in a computing system that includes a back end component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front end component (e.g., a user computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such back end, middleware, or front end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network (LAN), a wide area network (WAN), blockchain network, and the Internet.

[0136] The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. The server can be a cloud server, also known as a cloud computing server or cloud host, which is a host product in the cloud computing service system, to solve the defects of large management difficulty and weak business scalability in traditional physical host and VPS service.

[0137] It should be understood that the various forms of flow shown above can be reordered, added to, or have steps deleted. For example, the steps described in the present application can be performed in parallel, in series, or in a different order, as long as the desired results of the technical solutions of the present application can be achieved, and this is not limited herein.

[0138] The above detailed description does not constitute a limitation on the protection scope of the present application. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent replacements, and improvements made within the spirit and principles of the present application shall be included in the protection scope of the present application.

Claims

1. A robot scheduling method, characterized in that, include: The master node is determined from the controller nodes corresponding to each associated robot, and the synchronization start time is determined based on the master node. The information processing time is determined based on the synchronization start time and the preset synchronization period. The synchronization activation time is determined based on the information processing time and the preset time interval of each controller node; During the information processing time, each controller node acquires remote node task information associated with the controller node; At the time when the synchronization takes effect, the local scheduler of each associated robot executes the target task of each associated robot according to the task information of the remote node.

2. The method according to claim 1, characterized in that, The local scheduler of each associated robot executes the target task of each associated robot according to the task information of the remote node, including: By synchronizing the remote node task information to the local scheduler, remote task information associated with remote tasks can be obtained; Obtain task execution resources from the local resource manager based on the remote task information; The target task is executed according to the task execution resources and the local scheduler, following the local scheduling process.

3. The method according to claim 2, characterized in that, Based on the task execution resources and the local scheduler, the target task is executed according to the local scheduling process, including: If there is a high-priority task in the target task, the first execution resource in the task execution resources is allocated to the high-priority task executor, and the high-priority task executor is driven to execute the high-priority task according to the preset instruction cycle; If there are low-priority tasks in the target task, the second execution resource in the task execution resources is allocated to the low-priority task executor, and the low-priority task executor is driven to execute the low-priority tasks in the target task according to a preset instruction cycle.

4. The method according to claim 1, characterized in that, Also includes: If the target task meets the preset task type, then the preset condition trigger determines whether the task triggering condition is met. If the conditions are met, then the immediate response task in the target task is executed; Send a task driver to activate and execute the delayed response task in the target task.

5. The method according to claim 1, characterized in that, The local scheduler of each associated robot executes the target task of each associated robot according to the task information of the remote node, including: If the local scheduler determines that the synchronization condition signal is activated, it activates the synchronization trigger signal according to the preset synchronization relationship table; wherein the synchronization relationship table is used to describe the relationship between a single synchronization condition signal and at least two synchronization trigger signals. At least two subtasks in the target task are executed according to the synchronization trigger signal.

6. The method according to claim 5, characterized in that, Also includes: In the task's graphical interface, the synchronization condition signal is described by a first preset shape; The synchronization condition signal is described by a second preset shape; The synchronization relationship between the subtasks is described by the preset connection method between the first preset shape and the second preset shape.

7. A robot scheduling device, characterized in that, include: The timing determination module is used to determine the master node from each controller node corresponding to each associated robot, and to determine the information processing time and synchronization activation time of each controller node based on the master node; The task information acquisition module is used to acquire remote node task information associated with the controller node at the information processing time. The target task execution module is used to execute the target task of each associated robot according to the remote node task information through the local scheduler of each associated robot at the time when the synchronization takes effect. The time determination module includes: An information processing time determination unit is used to determine the synchronization start time based on the master node, and to determine the information processing time based on the synchronization start time and a preset synchronization period. The synchronization activation time determination unit is used to determine the synchronization activation time based on the information processing time and the preset time interval of each controller node.

8. An electronic device, characterized in that, The electronic device includes: At least one processor; and A memory communicatively connected to the at least one processor; wherein, The memory stores a computer program that can be executed by the at least one processor, the computer program being executed by the at least one processor to enable the at least one processor to perform the robot scheduling method according to any one of claims 1-6.

9. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions that cause a processor to execute the robot scheduling method according to any one of claims 1-6.

Citation Information

Patent Citations

  • Robot communication method and system based on industrial broadband bus

    CN112894805A

  • Internal signaling method to support clock synchronization of nodes connected via a wireless local area network

    US20030169774A1