Task scheduling method and apparatus for gantry robot, and gantry sorting system
By acquiring the position of the parts to be transferred and the range of motion of the robotic arm of the gantry robot, the initial scheduling information is determined and the task information is updated. The target scheduling result with the smaller expected task cost is selected, which solves the problem of unstable task scheduling of traditional gantry robots and improves the scheduling effect and efficiency.
Patent Information
- Application Number
- PCT/CN2024/087683
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-04-09
- Filing Date
- 2024-04-15
- Publication Date
- 2025-10-16
AI Technical Summary
Traditional gantry robot task scheduling relies on historical scheduling data, which leads to unstable scheduling results and poor task scheduling performance.
By acquiring the position of the parts to be transferred and the range of motion of the robotic arm of the gantry robot, the initial scheduling information is determined, the task information is updated, the target scheduling information with the relatively small expected task cost is selected, and the task scheduling result is determined.
It improves the stability and effectiveness of task scheduling, reduces the task cost of transmitting tasks, and enhances the accuracy and efficiency of task scheduling.
Smart Images

Figure CN2024087683_16102025_PF_FP_ABST
Abstract
Description
Truss robot task scheduling method and device and truss sorting system
[0001] Cross-reference to Related Applications
[0002] The present application claims priority to the Chinese patent application No. 2024104200335, filed on April 9, 2024, and entitled "Truss robot task scheduling method and device and truss sorting system", the content of which is incorporated herein by reference in its entirety. TECHNICAL FIELD
[0003] The present application relates to the technical field of robot control, and in particular to a truss robot task scheduling method and device, a truss sorting system, a computer device, a computer readable storage medium and a computer program product. BACKGROUND
[0004] The truss robot, also known as a gantry robot, is a mechanical arm established on the basis of a rectangular system and connected by multiple joints, which is widely used in scenarios such as carrying and feeding.
[0005] In the conventional technology, the task scheduling result for the current part to be conveyed is determined according to the historical task scheduling data, and the task scheduling effect depends on the scheduling effect of the historical task scheduling, which has great instability. Therefore, the conventional technology has the disadvantage of poor task scheduling effect when used for task scheduling of the truss robot.
[0006] SUMMARY
[0007] According to various embodiments of the present application, a truss robot task scheduling method, device, truss sorting system, computer device, computer readable storage medium and computer program product are provided.
[0008] In a first aspect, the present application provides a truss robot task scheduling method. The method comprises:
[0009] obtaining the part positions of a plurality of parts to be conveyed of a truss robot, and determining the activity ranges of a plurality of mechanical arms included in the truss robot;
[0010] determining, from each mechanical arm, a respective expected conveying arm for each part to be conveyed, to obtain initial scheduling information of the truss robot; the part position of the part to be conveyed is covered by the activity range of the expected conveying arm of the part to be conveyed;
[0011] performing task information updating processing on at least part of the parts to be conveyed to obtain updated scheduling information of the truss robot; the task information includes at least one of the expected conveying arm or the conveying task execution order; and
[0012] The target scheduling information with a relatively small expected task cost is determined from the updated scheduling information and the initial scheduling information, and the task scheduling result of the gantry robot is determined based on the target scheduling information.
[0013] In a second aspect, the present application further provides a gantry robot task scheduling device. The device comprises:
[0014] The acquisition module is configured to acquire the part positions of the plurality of parts to be conveyed of the gantry robot, and determine the activity ranges of the plurality of mechanical arms included in the gantry robot.
[0015] The initial scheduling module is configured to determine, from the plurality of mechanical arms, the expected conveying arm for each part to be conveyed, respectively, to obtain the initial scheduling information of the gantry robot; the part position of the part to be conveyed is covered by the activity range of the expected conveying arm of the part to be conveyed.
[0016] The scheduling information updating module is configured to perform task information updating processing on at least part of the plurality of parts to be conveyed to obtain the updated scheduling information of the gantry robot; the task information comprises at least one of the expected conveying arm or the conveying task execution sequence; and
[0017] The scheduling result determination module is configured to determine, from the updated scheduling information and the initial scheduling information, the target scheduling information with a relatively small expected task cost, and determine the task scheduling result of the gantry robot based on the target scheduling information.
[0018] In a third aspect, the present application further provides a gantry sorting system. The system comprises a roller line, a controller, and a collection device and a gantry robot connected to the controller; the gantry robot comprises a plurality of mechanical arms; the mechanical arms are connected to end effectors for grabbing parts; the roller line is used for conveying parts to be conveyed; the collection device is used for acquiring the part positions of the plurality of parts to be conveyed on the roller line; the controller is used to implement the above method to determine the task scheduling result for each mechanical arm in the gantry robot; and the gantry robot is used to convey each part to be conveyed according to the task scheduling result.
[0019] In a fourth aspect, the present application further provides a computer device. The computer device comprises a memory and a processor, the memory stores computer readable instructions, and the processor implements the steps of the above method when executing the computer readable instructions.
[0020] In a fifth aspect, the present application further provides a computer readable storage medium. The computer readable storage medium stores computer readable instructions, and the computer readable instructions are executed by a processor to implement the steps of the above method.
[0021] In a sixth aspect, the present application provides a computer program product. The computer program product comprises computer readable instructions, which, when executed by a processor, implement the steps of the above method.
[0022] The details of one or more embodiments of the application are set forth in the accompanying drawings and the description below. Other features, objects, and advantages of the application will be apparent from the description and drawings, and from the claims. BRIEF DESCRIPTION OF DRAWINGS
[0023] In order to more clearly illustrate the technical solutions in the embodiments of the present application or in the prior art, the drawings needed to be used in the embodiments or the prior art description will be briefly introduced as follows. Obviously, the drawings in the following description only constitute the embodiments of the present application, and other drawings can be obtained by those skilled in the art without any creative effort on the basis of the disclosed drawings.
[0024] Fig. 1 is a diagram of an application environment of a truss robot task scheduling method in an embodiment;
[0025] Fig. 2 is a schematic diagram of the working principle of a truss robot in an embodiment;
[0026] Fig. 3 is a schematic diagram of the flow of a truss robot task scheduling method in an embodiment;
[0027] Fig. 4 is a schematic diagram of the determination principle of an expected task cost in an embodiment;
[0028] Fig. 5 is a schematic diagram of the flow of a truss robot task scheduling method in another embodiment;
[0029] Fig. 6 is a schematic diagram of the composition of a truss sorting system in an embodiment;
[0030] Fig. 7 is a schematic diagram of the structure of an end gripper in an embodiment;
[0031] Fig. 8 is a schematic diagram of the partial structure of an end gripper in an embodiment;
[0032] Fig. 9 is a schematic diagram of the structure of a collision detection assembly in an embodiment;
[0033] Fig. 10 is a block diagram of the structure of a truss robot task scheduling device in an embodiment;
[0034] Fig. 11 is a diagram of the internal structure of a computer device in an embodiment. DETAILED DESCRIPTION
[0035] With reference to the drawings of the embodiments of the present application, the technical solutions in the embodiments of the present application will be clearly and completely described. Obviously, the described embodiments are only a part of the embodiments of the present application, but not all the embodiments of the present application. Based on the embodiments of the present application, all the other embodiments obtained by those of ordinary skill in the art without creative work fall within the scope of the present application.
[0036] In order to make the purposes, technical solutions and advantages of the present application clearer, the present application will be further described in detail below with reference to the drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application, but not to limit the present application.
[0037] In one embodiment, the truss robot task scheduling method provided by the present application can be applied to the application environment as shown in FIG. 1. Among them, the acquisition device 101 can collect the respective part positions of the plurality of parts to be conveyed of the truss robot 102; the controller 103 can schedule tasks for the truss robot 102 by interacting with the acquisition device 101. Among them, the connection mode between the controller 103 and the acquisition device 101, and the connection mode between the controller 103 and the truss robot 102 can be wired connection or wireless connection. The wireless connection can be, for example, Bluetooth, WIFI and the like, which is not limited here. Further, the truss robot 102 can include a plurality of mechanical arms, such as R1, R2, R3 and R4 in FIG. 2. Each mechanical arm can move along the fixed rod 2 and can move along the truss 1 under the drive of the fixed rod 2, so as to move each part 4 on the roller line 3 to the corresponding part placement area 5. Among them, the number of mechanical arms can be N, and the number of part placement areas 5 can be K. In one specific embodiment, the part placement area 5 can place a material frame so as to carry the placed parts.
[0038] As shown in FIG. 2, the part conveying process can include three stages of grabbing, moving and placing: grabbing corresponds to the process from G to G' in FIG. 2, which is used to take out the part to be conveyed 4 from the roller line 3; moving corresponds to the process from G' to B' in FIG. 2, which is used to move the part to be conveyed 4 from above the roller line 3 to above the part placement area 5; placing corresponds to the process from B' to B in FIG. 2, which is used to place the part to be conveyed 4 in the part placement area 5. It should be noted that in actual application, grabbing and moving can be performed synchronously, or moving and placing can be performed synchronously, which is not limited here. Further, the end of the mechanical arm can include an end effector for completing part grabbing.
[0039] Further, the acquisition device 101 is a device with information acquisition function, which can include a camera or an infrared scanner, etc. The controller 103 can be a hardware module with logic operation function, which includes various processing chips and their peripheral circuits. The processing chip can be a single-chip microcomputer, a DSP (Digital Signal Process) chip, or an FPGA (Field Programmable Gate Array) chip, etc. In the process of executing the truss robot task scheduling method, the controller 103: obtains the part positions of the plurality of to-be-conveyed parts of the truss robot respectively, and determines the activity ranges of the plurality of mechanical arms included in the truss robot respectively; determines the expected conveying arm of each to-be-conveyed part from each mechanical arm respectively to obtain the initial scheduling information of the truss robot; performs task information update processing on at least part of the to-be-conveyed parts to obtain the updated scheduling information of the truss robot; determines the target scheduling information with a relatively small expected task cost from the updated scheduling information and the initial scheduling information, and determines the task scheduling result of the truss robot based on the target scheduling information. The part position of the to-be-conveyed part is within the activity range of the expected conveying arm of the to-be-conveyed part. The task information includes at least one of the expected conveying arm or the conveying task execution sequence.
[0040] In one embodiment, as shown in FIG. 3, a truss robot task scheduling method is provided. Taking the controller 103 in FIG. 1 as an example, the method includes the following steps:
[0041] Step S302, obtaining the part positions of the plurality of to-be-conveyed parts of the truss robot respectively, and determining the activity ranges of the plurality of mechanical arms included in the truss robot respectively.
[0042] The to-be-conveyed part can refer to the plurality of parts on the roller line of the truss sorting system where the truss robot is located. The part position can refer to the position of the to-be-conveyed part on the roller line. The part can be a machine component or a cut workpiece, and the specific type of the part is not limited in the present application. Specifically, a collection device can be arranged to collect the position information of each to-be-conveyed part, so that the controller can obtain the part positions of the plurality of to-be-conveyed parts of the truss robot respectively from the collection device. The activity range of the mechanical arm can be used to represent the conveying capability of the mechanical arm. Specifically, in the case where the activity range of the mechanical arm covers the part position, the mechanical arm can complete the pick-and-place operation for the part.
[0043] As shown in FIG. 2, the truss robot can include a plurality of mechanical arms, and each mechanical arm can move along a corresponding fixed rod 2 and move along the truss 1 under the drive of the fixed rod 2. Based on this, the controller 103 can determine the respective activity range of each mechanical arm according to the structure of the truss robot, and can also obtain the respective activity range of each mechanical arm by communicating with the processor of the truss robot.
[0044] Step S304: From each mechanical arm, the expected conveying arm of each part to be conveyed is determined respectively, to obtain initial scheduling information of the truss robot.
[0045] Wherein, the part position of the part to be conveyed is covered by the activity range of the expected conveying arm of the part to be conveyed. The activity range covering the part position can mean that the part position is within the activity range, or that the activity capability represented by the activity range can realize the part picking and placing for the part position. That is, for each mechanical arm, if the activity range of the mechanical arm can cover the part position of the part to be conveyed, it means that the mechanical arm can grasp the part to be conveyed and participate in the conveying task of the part to be conveyed.
[0046] Based on this, the controller can determine the region type of the region where each part position is located according to the covering relationship between each part position and each activity range. The region type can include, for example, an exclusive region covered only by the activity range of one mechanical arm, and a shared region covered by the activity range of two adjacent mechanical arms. Therefore, the controller can determine the expected conveying arm of each part to be conveyed from each mechanical arm, so as to realize the allocation of the conveying task of each part to be conveyed, and obtain the initial scheduling information of the truss robot. Specifically, in the exclusive region, the conveying task of the part to be conveyed has only one schedulable mechanical arm, which can be determined as the expected conveying arm; and in the shared region, the conveying task of the part to be conveyed has two schedulable mechanical arms, and one of the two schedulable mechanical arms can be selected as the expected conveying arm of the part to be conveyed.
[0047] Further, the determination process of the expected conveying arm of different parts to be conveyed can be performed synchronously or sequentially. It should be noted that in the case of sequentially determining the expected conveying arm of each part to be conveyed, the controller can also consider the balance of task allocation, and select the one with the least allocated task from the schedulable mechanical arms as the expected conveying arm.
[0048] Step S306: Task information update processing is performed on at least part of the parts to be conveyed, to obtain updated scheduling information of the truss robot.
[0049] The task information includes at least one of an expected transfer arm or a transfer task execution sequence.
[0050] Specifically, the controller can update the task information for the transfer task of at least part of the parts to be transferred, to obtain updated scheduling information of the gantry robot. Optionally, the controller can sequentially traverse each robot arm of the gantry robot, and randomly select a transfer task corresponding to the shared region from the task queue of each adjacent robot arm to exchange, so as to update the expected transfer arm for the parts to be transferred in the shared region. Optionally, the controller can randomly select a task of the exclusive region and insert it into a random position in the arm task queue, so as to update the task execution sequence. Randomly exchanging tasks of the shared region between adjacent gantry arms and changing the task execution sequence of the exclusive region can generate as many possibilities as possible, thereby improving the probability of obtaining an optimal solution with the minimum expected task cost, while ensuring that all tasks can be executed.
[0051] It should be noted that the number of parts to be transferred for updating the expected transfer arm and the number of parts to be transferred for updating the transfer task execution sequence are not limited in the embodiment. That is, the controller can perform multiple rounds of iterative updates on the scheduling information by changing the parts to be updated for task updating and the type of task information to be specifically updated, to obtain multiple updated scheduling information.
[0052] In step S308, target scheduling information with a relatively small expected task cost is determined from the updated scheduling information and the initial scheduling information, and a task scheduling result of the gantry robot is determined based on the target scheduling information.
[0053] The task cost can include a time cost and a resource cost, etc. The time cost can include a transfer time of each transfer task and a waiting time caused by arm motion trajectory conflicts during execution of each transfer task. The resource cost can be represented by the number of robot arms used for the task.
[0054] Specifically, the controller can determine the expected task cost corresponding to the initial scheduling information and the updated scheduling information, respectively. Then, by comparison, the target scheduling information with a relatively small expected task cost is determined from the initial scheduling information and the updated scheduling information, and a task scheduling result of the gantry robot is determined based on the target scheduling information. Optionally, the controller can determine the target scheduling information as the task scheduling result of the gantry robot; or further iteratively update the scheduling information based on the target scheduling information to further reduce the expected task cost.
[0055] The truss robot task scheduling method has the following advantages. On the one hand, since the positions of the parts to be conveyed are within the activity range of the expected conveying arm of the part to be conveyed, the initial scheduling information or the updated scheduling information can ensure that each part to be conveyed can be grasped, thereby providing a basis for smooth conveying of the parts. On the other hand, the expected task cost of the initial scheduling information is updated by updating at least one of the expected conveying arm or the conveying task execution sequence, and the task scheduling result of the truss robot is determined based on the target scheduling information with a relatively small expected task cost in the initial scheduling information and the updated scheduling information. In other words, the expected task cost of multiple task scheduling modes can be compared, and the task scheduling result is determined by selecting the mode with a smaller expected task cost, thereby reducing the task cost of the conveying task and improving the task scheduling effect.
[0056] In a specific embodiment, determining the task scheduling result of the truss robot based on the target scheduling information includes: taking the target scheduling information as new initial scheduling information, and returning to step S306 for the next round of update iteration; and in the case where the iteration end condition is met, determining the target scheduling information of the current round as the task scheduling result of the truss robot.
[0057] The iteration end condition can refer to that the number of consecutive invalid updates reaches a set number, or that various task information update modes have been tried, or that the operation time of the iteration process exceeds a set time threshold. Invalid update refers to that the expected task cost of the updated scheduling information is greater than the expected task cost of the initial scheduling information. The updated scheduling information obtained in different iteration rounds is different. Specifically, the controller can perform multiple rounds of iteration updates to obtain the final task scheduling result, and in each round of iteration update, different parts to be conveyed can be selected for task information update, or the same part to be conveyed can be selected for different task information update.
[0058] Specifically, after the controller determines the target scheduling information, the controller can take the target scheduling information as new initial scheduling information, return to the step of updating the task information of at least part of the parts to be conveyed to obtain the updated scheduling information of the truss robot, and perform the next round of update iteration. This process is repeated until the iteration end condition is met, and in the case where the iteration end condition is met, the target scheduling information of the current round is determined as the task scheduling result of the truss robot. Through multiple rounds of iteration of the scheduling information to determine the final task scheduling result, the task cost of the conveying task can be further reduced, and the task scheduling effect can be improved.
[0059] In one embodiment, the step S304 comprises: determining, from the mechanical arms, a respective expected transfer arm for each part to be transferred; sorting, for each expected transfer arm, the transfer tasks of the expected transfer arm to obtain an initial task queue of the expected transfer arm; and determining initial scheduling information comprising the initial task queue of each expected transfer arm.
[0060] The sorting of the transfer tasks of the expected transfer arm can be random sorting, or can be sorting according to the allocation order of the transfer tasks, or can be sorting according to the length of the expected transfer trajectory of each part to be transferred. The expected transfer trajectory refers to the transfer trajectory between the part position and the placement position. Specifically, the controller can determine, from the mechanical arms, a respective expected transfer arm for each part to be transferred according to the coverage relationship between the part positions and the active ranges. Then, for each expected transfer arm, the transfer tasks of the expected transfer arm are sorted to obtain an initial task queue of the expected transfer arm, and then initial scheduling information comprising the initial task queue of each expected transfer arm is determined.
[0061] In the above embodiment, after the expected transfer arm is determined, the transfer tasks of the expected transfer arm are sorted to obtain the initial scheduling information comprising the initial task queue of each expected transfer arm, which can ensure the integrity of the initial scheduling information and provide a basis for subsequent scheduling information updating.
[0062] In one specific embodiment, for each expected transfer arm, the transfer tasks of the expected transfer arm are sorted to obtain an initial task queue of the expected transfer arm, which comprises: for each expected transfer arm, determining a respective expected transfer trajectory for each part to be transferred of the expected transfer arm; and sorting the transfer tasks according to the length of each expected transfer trajectory to obtain the initial task queue of the expected transfer arm.
[0063] The expected transfer trajectory is a transfer trajectory from the part position to the placement position. Specifically, the controller can determine the placement position of each part to be transferred. After determining the placement position, the controller can determine, for each part to be transferred, a transfer trajectory between the part position and the placement position of the part to be transferred as the expected transfer trajectory of the part to be transferred. Then, the controller can determine, for each expected transfer arm, the expected transfer trajectory of each part to be transferred of the expected transfer arm, and sort the transfer tasks of the expected transfer arm according to the lengths of the expected transfer trajectories to obtain an initial task queue of the expected transfer arm. In a specific implementation, the transfer task with a shorter trajectory length can be executed first, that is, the transfer tasks of the expected transfer arm are sorted according to the lengths of the trajectories in ascending order to obtain the initial task queue of the expected transfer arm.
[0064] In the above embodiments, the transfer tasks are sorted according to the lengths of the expected transfer trajectories to obtain the initial task queue of the expected transfer arm, which can improve the scientificity of the initial scheduling information, and further improve the scientificity of the task scheduling result determined by further optimizing the initial scheduling information.
[0065] In a specific embodiment, the truss robot task scheduling method further includes determining the placement position of each part to be transferred. In this embodiment, determining, from the mechanical arms, the expected transfer arm of each part to be transferred respectively includes: for each part to be transferred, determining, from the mechanical arms, a candidate mechanical arm covering the part position and the placement position of the part to be transferred in the activity range; if the number of candidate mechanical arms is one, the candidate mechanical arm is determined as the expected transfer arm of the part to be transferred; if the number of candidate mechanical arms is more than one, any one of the candidate mechanical arms is determined as the expected transfer arm of the part to be transferred.
[0066] The placement position refers to an expected placement position of the part to be conveyed in the part placement area. It can be understood that, in the case where no classification distinction is required between the parts to be conveyed, the controller can determine the placement position based on the principle of the closest distance; in the case where classification distinction is required between the parts to be conveyed, the controller can determine the placement position of each part to be conveyed according to the matching relationship between the category to which each part to be conveyed belongs and the part placement area. After determining the part position and the placement position of each part to be conveyed, the controller can determine, for each part to be conveyed, a candidate mechanical arm whose activity range covers the part position and the placement position of the part to be conveyed from the mechanical arms of the gantry robot, and determine the expected conveying arm of the part to be conveyed from the candidate mechanical arms. Specifically, if the number of candidate mechanical arms is one, the candidate mechanical arm is determined as the expected conveying arm of the part to be conveyed; if the number of candidate mechanical arms is more than one, any one of the candidate mechanical arms is determined as the expected conveying arm of the part to be conveyed, or the candidate mechanical arm with less conveying task is determined as the expected conveying arm of the part to be conveyed.
[0067] In the above embodiment, the allocation of the expected conveying arm is performed for the exclusive task with only one candidate mechanical arm and the shared task with multiple candidate mechanical arms, which can ensure that the part conveying task can be accurately performed, and is beneficial to further ensure the accuracy of task scheduling and improve the task scheduling effect.
[0068] In actual application, there can also be a conveying task that requires the cooperation of multiple mechanical arms to complete. That is, the part position of the part to be conveyed is covered by the activity range of one mechanical arm, and the placement position of the part to be conveyed is covered by the activity range of another mechanical arm. In this case, there will be no candidate mechanical arm corresponding to the part to be conveyed in the mechanical arms of the gantry robot, and the conveying task of the part to be conveyed is referred to as a cooperative task.
[0069] In one specific embodiment, the task scheduling method of the gantry robot further comprises: if there is no candidate mechanical arm corresponding to the part to be conveyed in the mechanical arms, dividing the expected conveying trajectory of the part to be conveyed into multiple sub-trajectories according to the activity ranges; and determining the mechanical arm corresponding to each activity range of each sub-trajectory as the expected conveying arm of the part to be conveyed.
[0070] The expected transfer trajectory refers to a transfer trajectory from a part position to a placement position. Specifically, for a cooperative task, the expected transfer trajectory of a part to be transferred can be divided into a plurality of sub-trajectories according to the respective activity ranges, and each sub-trajectory is covered by an activity range. Thus, the controller can determine the mechanical arm corresponding to the activity range to which each sub-trajectory belongs as the expected transfer arm of the part to be transferred. That is, for a cooperative task, a plurality of expected transfer arms can be configured for the cooperative task. In this case, in the process of sequencing the transfer tasks to obtain the task queue, the matching of the task order between different mechanical arms needs to be considered. Specifically, the sub-transfer tasks corresponding to each sub-trajectory are sequenced according to the arrangement order of each sub-trajectory in the transfer trajectory, to determine the order of each sub-transfer task in the task queue to which it belongs in the cooperative task. Further, other non-cooperative tasks are sequenced to obtain the initial task queue of each expected transfer arm.
[0071] In the above embodiment, the allocation of the expected transfer arm for the cooperative task requiring the cooperation of multiple mechanical arms to complete the transfer can ensure that all parts to be transferred can be accurately transferred, which is beneficial to further ensure the accuracy of task scheduling and improve the task scheduling effect.
[0072] The specific determination process of the expected task cost is described below.
[0073] In one embodiment, the truss robot task scheduling method further comprises: determining the task queue of each expected transfer arm under the candidate scheduling information; determining the task start position and the task end position of each transfer task based on the arrangement order of the transfer task in the task queue; for each transfer task, determining the expected transfer time of the transfer task according to the task path between the task start position and the task end position of the transfer task; determining the expected waiting time caused by the conflict of the motion trajectory of the arm according to the expected motion trajectory of each expected transfer arm in the transfer task execution process; superimposing each expected transfer time and each expected waiting time to determine the expected task cost of the truss robot under the candidate scheduling information.
[0074] The task queue includes at least one conveying task of a part to be conveyed, and the candidate scheduling information includes initial scheduling information and updated scheduling information. Specifically, the controller can determine the respective task queue of each expected conveying arm under the candidate scheduling information. Then, based on the arrangement order of each conveying task in the respective task queue, the controller can determine the respective task start position and task end position of each conveying task, and further determine the task path between the task start position and the task end position. It can be understood that the task start position of the first conveying task in the task queue of the robotic arm is the initial position of the robotic arm, and the task start position of each conveying task other than the first conveying task in the task queue is the task end position of the previous conveying task of the conveying task.
[0075] Optionally, the controller can split the conveying task based on the part position or the placement position. For example, the controller can determine the task end position of the conveying task as the placement position of the part to be conveyed by the conveying task, or the controller can determine the task end position of the conveying task as the part position of the part to be conveyed by the next conveying task. That is, the task path includes two parts: the expected conveying trajectory between the part position and the placement position of the part to be conveyed, and the movement trajectory of the robotic arm after placing the part.
[0076] Specifically, the controller can determine the expected conveying time of each conveying task according to the respective task path of each conveying task, and determine the expected waiting time caused by the arm movement trajectory conflict according to the expected movement trajectory of each expected conveying arm during the execution of the conveying task, and finally superimpose the expected conveying time and the expected waiting time to determine the expected task cost of the gantry robot under the candidate scheduling information. The expected movement trajectory can be used to represent the position of the fixed rod of the expected conveying arm on the gantry. According to the respective task path of each conveying task and the movement speed of the fixed rod, the controller can determine the expected movement trajectory of each expected conveying arm, and further determine the distance information between adjacent robotic arms. The distance information is used to represent the change of the arm distance between adjacent arms over time. Thus, the controller can determine whether there is an arm movement trajectory conflict and the number of times of the arm movement trajectory conflict according to the distance information, and further determine the expected waiting time positively correlated with the number of times of the conflict. Further, the way in which the controller superimposes the expected conveying time and the expected waiting time is not unique, for example, it can be directly added, or different weights can be assigned to the expected conveying time and the expected waiting time, and then weighted sum is performed, which is not limited in the present application.
[0077] In the above embodiment, the superimposition of the expected transmission duration and the expected waiting duration determines the expected task cost, which is equivalent to considering the cost of the mechanical arm of the gantry robot transferring to the next task and the waiting cost caused by the intersection of the motion in the process of task scheduling, which can ensure the accuracy of the expected task cost, thereby improving the expected work efficiency of the transmission task and improving the task scheduling effect.
[0078] In one specific embodiment, for each transmission task, the transmission duration of each transmission task is determined according to the task path between the task start position and the task end position of the transmission task, including: for each transmission task, determining the task path between the task start position and the task end position of the transmission task; discretely processing the task path according to a set step length to obtain the step number of the transmission task; determining the expected transmission duration positively correlated with the step number.
[0079] Specifically, as shown in FIG. 4, the controller can determine the task path between the task start position and the task end position of each transmission task, then discretely process the task path according to a set step length to obtain the step number of the transmission task, and further determine the expected transmission duration positively correlated with the step number. In this embodiment, the controller determines the expected transmission duration according to the path length to improve the work efficiency of the task scheduling process.
[0080] In one specific embodiment, for each transmission task, the transmission duration of each transmission task is determined according to the task path between the task start position and the task end position of the transmission task, including: for each transmission task, determining the task path between the task start position and the task end position of the transmission task; determining the expected transmission duration of the transmission task based on the path length and the path type of the task path.
[0081] The path type may, for example, be a straight line, a broken line, or a curve. As shown in FIG. 2, when the three stages of grabbing, moving, and placing are not synchronized, the path type is a broken line; when the grabbing and moving are synchronized, and the moving and placing are synchronized, the path type can be a curve.
[0082] It can be understood that the moving speed of the expected transfer arm is different under different path types, and the corresponding transfer speed is also different. Based on this, the controller can determine the moving speed of the expected transfer arm according to the path type, and then determine the expected transfer duration in combination with the path length and the moving speed. For example, in the case of a path type being a polyline, each turning point faces a large change in the moving direction, and therefore deceleration processing is required; in the case of a path type being a curve, the moving direction continuously changes, and therefore deceleration processing is not required, and the moving speed is relatively faster. Specifically, the controller can determine, for each transfer task, a task path between a task start position and a task end position of the transfer task, and determine, according to a path type of the task path, a change of the moving speed of the expected transfer arm with time in an execution process of the transfer task, and then determine the expected transfer duration of the transfer task in combination with the path length and the change of the moving speed with time.
[0083] In this embodiment, the expected transfer duration of the transfer task is determined in combination with the path length and the path type of the task path, which can ensure the accuracy of the expected transfer duration, and further ensure the accuracy of the expected task cost.
[0084] In one specific embodiment, the expected waiting duration caused by the arm motion trajectory conflict is determined according to the expected motion trajectory of each expected transfer arm in the execution process of the transfer task, including: determining distance information between adjacent expected transfer arms according to the expected motion trajectory of each expected transfer arm in the execution process of the transfer task; and determining the expected waiting duration caused by the arm motion trajectory conflict based on the number of arm distances in the distance information that meet the trajectory conflict condition.
[0085] The distance information includes arm distances corresponding to a plurality of time nodes respectively; and the expected waiting duration is positively correlated with the number of time nodes. The trajectory conflict condition can be that the arm distance is less than or equal to a safety distance. Specifically, the controller can determine the change of the arm distance with time between adjacent expected transfer arms according to the expected motion trajectory of each expected transfer arm in the execution process of the transfer task, and determine the expected waiting duration caused by the arm motion trajectory conflict based on the number of arm distances that meet the trajectory conflict condition.
[0086] In one specific implementation, as shown in FIG. 4, the controller can determine, for each transfer task, a task path between a task start position and a task end position of the transfer task, and then discretize the task path according to a set step length to obtain a plurality of path points. The path point can be a start point, an end point or an intermediate point of a step. Further, the controller can determine the expected waiting duration that is positively correlated with the number of path points in conflict. As shown in FIG. 4, path point 0, path point 1 and path point 6 are path points in conflict.
[0087] In one specific implementation, the controller can determine the expected waiting time caused by the arm movement trajectory conflict, based on the number of time intervals in which the trajectory conflict condition is met in the arm distances, and the conflict duration of each existing conflict, by summing the conflict durations.
[0088] In the above embodiment, the expected waiting time caused by the arm movement trajectory conflict can be determined based on the number of arm distances in which the trajectory conflict condition is met, to ensure the accuracy of the expected waiting time, and thus the accuracy of the expected task cost.
[0089] In one specific embodiment, the task information update process is performed on at least part of each part to be conveyed, to obtain the updated scheduling information of the gantry robot, including: determining candidate tasks from each conveying task, in which the expected conveying time is greater than or equal to the time threshold, or there is an arm movement trajectory conflict; performing task information update process on at least part of each candidate task to obtain the updated scheduling information of the gantry robot.
[0090] Specifically, the conveying task with a longer expected conveying time may be due to the large distance between the task termination position of the previous conveying task and the task start position of the current conveying task. Therefore, by updating the task information of the conveying task with a longer expected conveying time, the previous conveying task of the conveying task can be changed, and the expected conveying time of the conveying task can be shortened. Similarly, updating the task information of the candidate task with an arm movement trajectory conflict can change other tasks executed at the same time as the candidate conveying task, and thus the arm movement trajectory conflict can be avoided.
[0091] In this embodiment, the task information of the conveying task with a longer expected conveying time or the conveying task with an arm movement trajectory conflict is updated to increase the probability of reducing the expected task cost by updating, and further improve the task scheduling effect.
[0092] In one embodiment, as shown in FIG. 5, a gantry robot task scheduling method is provided, which includes the following steps:
[0093] Step S501, obtaining the part position and placement position of each part to be conveyed of the gantry robot, and determining the activity range of each mechanical arm included in the gantry robot;
[0094] Step S502, for each part to be conveyed, determining a candidate mechanical arm from each mechanical arm whose activity range covers the part position and placement position of the part to be conveyed;
[0095] Step S503, if the number of candidate robot arms is one, the candidate robot arm is determined as the expected conveying arm of the part to be conveyed;
[0096] Step S504, if the number of candidate robot arms is more than one, any one of the candidate robot arms is determined as the expected conveying arm of the part to be conveyed;
[0097] Step S505, if there is no candidate robot arm corresponding to the part to be conveyed in each robot arm, the expected conveying trajectory of the part to be conveyed is divided into a plurality of sub-trajectories according to the activity ranges, and the robot arm corresponding to each activity range to which each sub-trajectory belongs is determined as the expected conveying arm of the part to be conveyed;
[0098] Wherein, the expected conveying trajectory refers to the conveying trajectory between the part position and the placement position;
[0099] Step S506, for each expected conveying arm, the expected conveying trajectory of each part to be conveyed of the expected conveying arm is determined;
[0100] Step S507, according to the length of each expected conveying trajectory, the conveying tasks are sorted in order of length from small to large, and the initial task queue of the expected conveying arm is obtained;
[0101] Step S508, the initial scheduling information containing the initial task queue of each expected conveying arm is determined;
[0102] Step S509, the expected conveying time of each conveying task under the initial scheduling information, and the expected waiting time of each expected conveying arm caused by arm motion trajectory conflict in the conveying task execution process are superimposed, and the expected task cost of the gantry robot under the initial scheduling information is determined;
[0103] Step S510, from each conveying task, a candidate task with an expected conveying time greater than or equal to a time threshold or an arm motion trajectory conflict is determined;
[0104] Step S511, at least part of each candidate task is subjected to task information updating processing, and the updating scheduling information of the gantry robot is obtained;
[0105] Wherein, the task information includes at least one of the expected conveying arm or the conveying task execution order;
[0106] Step S512, the expected conveying time of each conveying task under the updating scheduling information, and the expected waiting time of each expected conveying arm caused by arm motion trajectory conflict in the conveying task execution process are superimposed, and the expected task cost of the gantry robot under the updating scheduling information is determined;
[0107] Step S513, determining target scheduling information with relatively small expected task cost from the updated scheduling information and the initial scheduling information;
[0108] Step S514, in the case where the iteration end condition is not met, taking the target scheduling information as new initial scheduling information, and returning to step S510;
[0109] Step S515, in the case where the iteration end condition is met, determining the target scheduling information of the current round as the task scheduling result of the gantry robot.
[0110] It should be understood that, although each step in the flowchart involved in each of the above embodiments is displayed in sequence according to the arrow, these steps are not necessarily executed in the order indicated by the arrow. Unless otherwise specified herein, the execution of these steps is not strictly limited in sequence, and these steps can be executed in other orders. Moreover, at least part of the steps in the flowchart involved in each of the above embodiments can include multiple steps or stages, which are not necessarily executed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily sequential, but can be alternately executed with at least part of other steps or stages or steps or stages in other steps.
[0111] Based on the same inventive concept, the embodiments of the present application also provide a gantry sorting system for implementing the above-described task scheduling method for a gantry robot. The implementation scheme for solving the problem provided by the system is similar to the implementation scheme described in the above method, and therefore the specific limitations in one or more gantry sorting system embodiments provided below can refer to the limitations of the task scheduling method for a gantry robot described above, which will not be repeated here.
[0112] In one embodiment, the present application also provides a gantry sorting system, as shown in FIG. 6, which includes a roller line 3, a controller (not shown in the figure), and a collection device and a gantry robot connected to the controller; the gantry robot includes a plurality of mechanical arms R, the end of the mechanical arm R is connected to an end effector 6 for grabbing parts; the roller line 3 is used to transport parts to be conveyed; the collection device is used to collect the respective part positions of a plurality of parts to be conveyed on the roller line 3; the controller is used to implement the above-described task scheduling method for a gantry robot to determine the task scheduling result for each mechanical arm R in the gantry robot; and the gantry robot is used to convey each part to be conveyed according to the task scheduling result.
[0113] Wherein, see above for specific limitations of the truss robot task scheduling method, which will not be repeated here. The roller line 3 is composed of a plurality of ball type rollers, powered and automatic, which can save a lot of manpower in factory production, and can transport from one process to another. In the present application, the roller line 3 is used to transport the parts to be conveyed. The acquisition device refers to a device with information acquisition function, which can include a camera or an infrared scanner, etc. In a specific implementation, the acquisition device is used to position and identify the parts to be conveyed on the roller line. In practical applications, a light source can also be configured to provide stable and consistent lighting conditions, thereby improving the imaging quality of the camera.
[0114] The working process of the truss sorting system will be introduced below taking the acquisition device as a camera. Among them, the mechanical arm R is fixed on the truss 1, and the end of the mechanical arm R is provided with an end picker 6 for realizing part grabbing. Specifically, the controller can first calibrate the truss 1 and the camera, calculate the calibration parameters of the camera, and establish the geometric relationship between the truss coordinate system and the camera coordinate system. Then, the nesting drawing is analyzed, and the workpiece shape and process, weight and other attribute information of the parts to be conveyed are extracted and stored in the database. Next, the controller can control the roller line to transport the cut workpieces (i.e. the parts to be conveyed) to the field of view of the camera, and the camera can position and identify each part to be conveyed. The controller calculates the pose and position of each part to be conveyed. The controller combines the poses and positions of the parts to be conveyed, calculates the grabbing pose and position of the parts to be conveyed through the end picker 6 grabbing planning algorithm, calculates the placement position and pose of the parts to be conveyed through the stacking planning algorithm, and determines the task scheduling result for each mechanical arm in the truss robot by using the truss robot task scheduling method described above. Finally, the controller controls the end picker at the end of the truss robot mechanical arm to complete the grabbing of the parts to be conveyed according to the planned grabbing pose and position, and places the parts to be conveyed in the corresponding placement position. The placement position may be, for example, the frame 7 in FIG. 6.
[0115] The above truss sorting system, on the one hand, due to the part position of the to-be-conveyed part being within the active range of the expected conveying arm of the to-be-conveyed part, so whether it is initial scheduling information or updated scheduling information, it can ensure that each to-be-conveyed part can be grabbed, providing a basis for the smooth conveying of the part; on the other hand, by updating at least one of the expected conveying arm or the conveying task execution sequence, the initial scheduling information is updated, and based on the target scheduling information in which the expected task cost is relatively small in the initial scheduling information and the updated scheduling information, the task scheduling result of the truss robot is determined, which is equivalent to comparing the expected task costs of multiple task scheduling modes and selecting the one with a smaller expected task cost to determine the task scheduling result, which can reduce the task cost of the conveying task and ensure that a better task scheduling effect is obtained. Therefore, the above truss sorting system can improve the sorting work efficiency.
[0116] In one embodiment, as shown in FIG. 7, the end effector 3 includes an end effector body 31, a grabbing mechanism 32, and a collision detection assembly 33. Among them, the end effector body 31 is connected with the mechanical arm; the grabbing mechanism 32 is connected with the end effector body 31 and is used for grabbing the object; the collision detection assembly 33 is connected with the grabbing mechanism 32 and is used for detecting the collision state between the grabbing mechanism 32 and the object when the grabbing mechanism 32 grabs the object, and sending a collision detection signal according to the collision state.
[0117] Specifically, as shown in FIG. 7, the end picker mainly realizes the grasping of the object to be grasped by the action force acting vertically on the object to be grasped. In the present application, the object to be grasped can be a part to be conveyed. For example, for a suction cup end picker, the grasping mechanism 32 adopts a suction cup structure, and the suction cup establishes negative pressure on the surface of the object to be grasped to generate suction force acting vertically on the object to be grasped, and then the object to be grasped is lifted by the suction force to realize the grasping and conveying of the object to be grasped. In actual grasping, due to the uneven surface of the object to be grasped, there can be protrusions or burrs, etc. If the end picker still directly grasps the object to be grasped, it is easy to cause the end picker to collide, so that the sorting system triggers an alarm, causing the production line to stop. To avoid the problem of frequent collision of the end picker, the present application adds a collision detection assembly 33 to the end picker. When the grasping mechanism 32 grasps the object to be grasped, the collision detection assembly 33 detects the collision state between the grasping mechanism 32 and the object to be grasped in real time to determine whether the end picker 800 collides, realizes the detection function of the collision of the end picker when grasping the object to be grasped, and the collision detection assembly 33 sends a collision detection signal to the sorting system controller according to the collision state. The controller determines whether the end picker collides according to the collision detection signal, and controls whether the grasping mechanism 32 of the end picker continues to grasp the object to be grasped. Thus, when it is determined that the end picker collides, the end picker can be stopped from pressing down in time to prevent the problem of frequent collision of the end picker due to the existence of protrusions, slag or waste on the surface of the object to be grasped, which causes the end picker to be damaged. Also, it avoids the situation that the end picker collides, which causes the truss sorting system to trigger an alarm and causes the production line to stop, thereby improving the production efficiency.
[0118] In one embodiment, the grasping mechanism 32 comprises a plurality of grasping assemblies 324. As shown in FIG. 8, each grasping assembly 324 comprises a support 321, a grasping suction cup 322 and an elastic connecting piece 323. The support 321 is provided with a through hole, and the collision detection assembly 33 is arranged on the support 321. The grasping suction cup 322 comprises an adsorption side, and the grasping suction cup 322 grasps the object to be grasped through the adsorption side. The elastic connecting piece 323 is connected to the side of the grasping suction cup 322 away from the adsorption side and passes through the through hole. In the first state, the end of the elastic connecting piece 323 away from the grasping suction cup 322 abuts against the upper surface of the support 321, and in the second state, the end of the elastic connecting piece 323 away from the grasping suction cup 322 can extend out of the upper surface of the support 321 along the positive direction of the support 321.
[0119] The first state can be understood as a natural state, i.e., the state in which the elastic connecting piece 323 does not elastically deform. Specifically, when the end picker is in an idle state, i.e., does not grasp the object to be grasped, the part of the elastic connecting piece 323 connected to the support piece 321 is just clamped in the through hole, so that the elastic connecting piece 323 will not fall off. The second state can be understood as the state in which the elastic connecting piece 323 elastically deforms. When the end picker is in a working state, i.e., grasps the object to be grasped, the mechanical arm drives the end picker to move in the reverse direction of the forward direction, i.e., controls the end picker to press down, so as to grasp the object to be grasped through the suction side of the grasping suction plate 322. In this process, after the suction side of the grasping suction plate 322 contacts the surface of the object to be grasped, if the end picker continues to press down, the object to be grasped will generate a reaction force on the grasping suction plate 322, and under the influence of the reaction force, the elastic connecting piece 323 will elastically deform. Under the action of the elastic force, the part of the elastic connecting piece 323 connected to the support piece 321 can protrude out of the upper surface of the support piece 321 in the forward direction, and then the collision detection assembly 33 arranged on the upper surface of the support piece 321 detects the protrusion height of the elastic connecting piece 323, so as to realize the detection of the collision state between the grasping assembly 324 and the object to be grasped.
[0120] In some embodiments, as shown in FIG. 9, the collision detection assembly 33 includes a light emitter 331 and a light receiver 332. The light emitter 331 is arranged at the first end of the support piece 321, and the light emitter 331 and the support piece 321 have a preset height therebetween for emitting light signals. The light receiver 332 is arranged at the second end of the support piece 321, and the light receiver 332 is arranged opposite to the light emitter 331 and has a preset height therebetween for receiving light signals. The through hole is arranged between the light emitter 331 and the light receiver 332. When the protrusion height of the elastic connecting piece 323 protruding out of the upper surface of the support piece 321 reaches the preset height, the light receiver 332 sends a collision detection signal.
[0121] The preset height can be an empirical height value. When the protrusion height of the elastic connecting piece 323 protruding out of the upper surface of the support piece 321 does not reach the preset height, it indicates that the end picker does not collide, and the end picker works normally. When the protrusion height of the elastic connecting piece 323 protruding out of the upper surface of the support piece 321 reaches the preset height, it indicates that the end picker collides.
[0122] Specifically, the embodiment adopts a reflection type laser photoelectric sensor to constitute the collision detection assembly 33 to realize detection of the end effector collision. In actual application, the mechanical arm drives the end effector to move in the reverse direction of the forward direction, that is, to control the end effector to press down. After the suction cup 322 contacts the object to be grabbed, the end effector continues to press down. At this time, the object to be grabbed will generate a reaction force on the suction cup 322, and under the influence of the reaction force, the elastic connecting piece 323 will elastically deform. Under the action of the elastic force, the part of the elastic connecting piece 323 connected with the support piece 321 will protrude out of the upper surface of the support piece 321 in the forward direction. If the protruding height of the elastic connecting piece 323 protruding out of the upper surface of the support piece 321 does not reach the preset height, it indicates that the end effector does not collide with the object to be grabbed in the current situation, and will not cause damage to the grabbing mechanism 32. In addition, after the elastic connecting piece 323 protrudes out of the upper surface of the support piece 321, it does not block the light signal emitted by the light emitter 331, so the light receiver 332 can receive the light signal emitted by the light emitter 331. At this time, the light receiver 332 sends a collision detection signal to the sorting system controller, and the controller can determine that the grabbing mechanism 32 does not collide according to the collision detection signal, and can continue to control the end effector to work. If the protruding height of the elastic connecting piece 323 protruding out of the upper surface of the support piece 321 reaches the preset height, it indicates that the end effector collides with the object to be grabbed in the current situation, which is easy to cause damage to the grabbing mechanism 32. In addition, the elastic connecting piece 323 blocks the light signal emitted by the light emitter 331, so that the light receiver 332 cannot receive the light signal emitted by the light emitter 331. At this time, the light receiver 332 sends a collision detection signal to the sorting system controller, and the controller can determine that the grabbing mechanism 32 collides according to the collision detection signal. Therefore, in order to prevent the sorting system from triggering an alarm due to the collision of the end effector, the controller controls the end effector to stop pressing down, thereby effectively avoiding the problem of damage to the end effector caused by frequent collision of the end effector.
[0123] In a specific embodiment, as shown in FIG. 9, the collision detection assembly 33 further includes a first fixed seat 333 and a second fixed seat 334. The first fixed seat 333 includes a first connecting part 3330 and a second connecting part 3331. The first fixed seat 333 is connected with the first end of the support piece 321 through the first connecting part 3330, and is connected with the mechanical arm of the truss robot through the second connecting part 3331. The second fixed seat 334 includes a third connecting part 3340 and a fourth connecting part 3341. The second fixed seat 334 is connected with the second end of the support piece 321 through the third connecting part 3340, and is connected with the end effector body 31 through the fourth connecting part 3341.
[0124] In a specific embodiment, as shown in FIG. 8, the elastic connecting member 323 comprises a screw rod 3230 and a spring member 3231. The screw rod 3230 is connected to the side of the suction cup 322 away from the suction side and passes through the through hole; the spring member 3231 is located on the side of the upper surface of the support member 321 away from the suction cup 322 and is sleeved on the screw rod 3230; when the spring member 3231 is in the first state, the end of the screw rod 3230 away from the suction cup 322 abuts against the upper surface of the support member 321, and when the spring member 3231 is in the second state, the end of the screw rod 3230 away from the suction cup 322 can extend out of the upper surface of the support member 321 along the positive direction of the support member 321.
[0125] In a specific embodiment, as shown in FIG. 8, the through hole is a plurality of, the suction cup 322 is a plurality of, and the elastic connecting member 323 is a plurality of.
[0126] In a specific embodiment, the collision detection assembly 33 comprises a plurality of trigger switches. The plurality of trigger switches are located on the side close to the upper surface of the support member 321 and are respectively arranged opposite to each elastic connecting member 323, and each trigger switch has a preset height from the support member 321.
[0127] Based on the same inventive concept, the embodiments of the present application also provide a truss robot task scheduling device for implementing the above-mentioned truss robot task scheduling method. The implementation scheme for solving the problem provided by the device is similar to the implementation scheme described in the above method, so the specific limitations in one or more truss robot task scheduling device embodiments provided below can be referred to the limitations of the truss robot task scheduling method in the above, which will not be repeated here.
[0128] In one embodiment, as shown in FIG. 10, a truss robot task scheduling apparatus is provided, comprising: an acquisition module 1001, an initial scheduling module 1002, a scheduling information updating module 1003, and a scheduling result determining module 1004, wherein: the acquisition module 1001 is configured to acquire positions of a plurality of parts to be conveyed of a truss robot, and determine a range of motion of each of a plurality of arms included in the truss robot; the initial scheduling module 1002 is configured to determine, from each of the arms, a desired conveying arm for each of the parts to be conveyed, to obtain initial scheduling information of the truss robot; the position of each of the parts to be conveyed is covered by the range of motion of the desired conveying arm of the part to be conveyed; the scheduling information updating module 1003 is configured to perform task information updating processing on at least part of the parts to be conveyed, to obtain updated scheduling information of the truss robot; the task information includes at least one of the desired conveying arm or a conveying task execution order; and the scheduling result determining module 1004 is configured to determine, from the updated scheduling information and the initial scheduling information, target scheduling information with a relatively small expected task cost, and determine a task scheduling result of the truss robot based on the target scheduling information.
[0129] In one embodiment, the initial scheduling module 1002 comprises: a desired conveying arm determining unit configured to determine, from each of the arms, a desired conveying arm for each of the parts to be conveyed; a task ordering unit configured to order, for each of the desired conveying arms, conveying tasks of the desired conveying arm, to obtain an initial task queue of the desired conveying arm; and an initial scheduling information determining unit configured to determine initial scheduling information comprising the initial task queue of each of the desired conveying arms.
[0130] In one embodiment, the truss robot task scheduling apparatus further comprises a placement position determining module configured to determine a placement position of each of the parts to be conveyed. In this embodiment, the desired conveying arm determining unit is configured to: for each of the parts to be conveyed, determine, from each of the arms, a candidate arm whose range of motion covers the position of the part to be conveyed and the placement position; if the number of the candidate arms is one, determine the candidate arm as the desired conveying arm of the part to be conveyed; and if the number of the candidate arms is more than one, determine one of the candidate arms as the desired conveying arm of the part to be conveyed.
[0131] In one embodiment, the desired conveying arm determining unit is further configured to: if there is no candidate arm corresponding to the part to be conveyed in each of the arms, divide a desired conveying trajectory of the part to be conveyed into a plurality of sub-trajectories according to the ranges of motion; the desired conveying trajectory refers to a conveying trajectory between the position of the part to be conveyed and the placement position; and determine, as the desired conveying arm of the part to be conveyed, an arm corresponding to each of the sub-trajectories.
[0132] In one of the embodiments, the task sequencing unit is specifically configured to: for each expected transfer arm, determine a respective expected transfer trajectory of each part to be transferred of the expected transfer arm; and sequence the transfer tasks according to a respective trajectory length of each expected transfer trajectory to obtain an initial task queue of the expected transfer arm.
[0133] In one of the embodiments, the truss robot task scheduling device further comprises: a task queue determination module configured to determine a respective task queue of each expected transfer arm under candidate scheduling information; the task queue comprises at least one transfer task of a part to be transferred; the candidate scheduling information comprises initial scheduling information and updated scheduling information; a start and end position determination module configured to determine a respective task start position and a task end position of each transfer task based on an arrangement order of each transfer task in the task queue to which the transfer task belongs; an expected transfer time determination module configured to determine an expected transfer time of each transfer task according to a task path between the task start position and the task end position of the transfer task; an expected waiting time determination module configured to determine an expected waiting time caused by arm motion trajectory conflicts according to an expected motion trajectory of each expected transfer arm in the process of executing the transfer task; and an expected task cost determination module configured to superimpose each expected transfer time and each expected waiting time to determine a corresponding expected task cost of the truss robot under the candidate scheduling information.
[0134] In one of the embodiments, the expected transfer time determination module is specifically configured to: for each transfer task, determine a task path between the task start position and the task end position of the transfer task; discretize the task path according to a set step length to obtain a step number of the transfer task; and determine the expected transfer time positively correlated with the step number.
[0135] In one of the embodiments, the expected transfer time determination module is specifically configured to: for each transfer task, determine a task path between the task start position and the task end position of the transfer task; and determine the expected transfer time of the transfer task based on a path length and a path type of the task path.
[0136] In one of the embodiments, the expected waiting time determination module is specifically configured to: determine distance information between adjacent expected transfer arms according to an expected motion trajectory of each expected transfer arm in the process of executing the transfer task; the distance information comprises arm distances corresponding to a plurality of time nodes respectively; and determine the expected waiting time caused by arm motion trajectory conflicts based on a number of time nodes in the distance information satisfying a trajectory conflict condition; the expected waiting time is positively correlated with the number of time nodes.
[0137] In one of the embodiments, the scheduling information updating module 1003 is specifically configured to: from the transmission tasks, determine candidate tasks with an expected transmission duration greater than or equal to a duration threshold or with arm motion trajectory conflicts; and perform task information updating processing on at least part of the candidate tasks to obtain the updated scheduling information of the gantry robot.
[0138] In one of the embodiments, the scheduling result determining module 1004 is specifically configured to: take the target scheduling information as new initial scheduling information, and return the step of performing task information updating processing on at least part of the to-be-transmitted parts to obtain the updated scheduling information of the gantry robot, for the next round of updating iteration; and in the case where the iteration end condition is met, determine the target scheduling information of the current round as the task scheduling result of the gantry robot.
[0139] The above modules in the gantry robot task scheduling apparatus can be all or part realized by software, hardware, and combinations thereof. The above modules can be embedded in or independent of a processor in a computer device in hardware form, or can be stored in a memory in a computer device in software form, so as to be called and executed by the processor to perform the operations corresponding to the above modules.
[0140] In one embodiment, a computer device is provided, which can be a terminal, and the internal structure diagram thereof can be as shown in FIG. 11. The computer device includes a processor, a memory, an input / output interface, a communication interface, a display unit, and an input device. The processor, the memory, and the input / output interface are connected through a system bus, and the communication interface, the display unit, and the input device are connected to the system bus through the input / output interface. The processor of the computer device is configured 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 and computer readable instructions. The internal memory provides an environment for the operating system and the computer readable instructions in the non-volatile storage medium to run. The input / output interface of the computer device is configured to exchange information between the processor and external devices. The communication interface of the computer device is configured to perform wired or wireless communication with external terminals, and the wireless communication can be achieved through WIFI, mobile cellular network, NFC (near field communication), or other technologies. The computer readable instructions are executed by the processor to implement a tube plate workpiece welding method or an object classification method. The display unit of the computer device is configured to form a visually visible picture, which can be a display screen, a projection device, or a virtual reality imaging device. The display screen can be a liquid crystal display screen or an electronic ink display screen. The input device of the computer device can be a touch layer overlaid on the display screen, or can be a key, trackball, or touchpad arranged on the shell of the computer device. In addition, the input device can be an external keyboard, touchpad, or mouse, etc.
[0141] Those skilled in the art can understand that the structure shown in FIG. 11 is only a block diagram of part of the structure related to the scheme of the present application, and does not constitute a limitation on the computer device to which the scheme of the present application is applied. The specific computer device can include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.
[0142] In one embodiment, a computer device is also provided, including a memory and a processor, the memory storing computer readable instructions, and the processor implementing the steps in the above method embodiments when executing the computer readable instructions.
[0143] In one embodiment, a computer readable storage medium is provided, storing computer readable instructions, and the processor implementing the steps in the above method embodiments when executing the computer readable instructions.
[0144] In one embodiment, a computer program product is provided, including computer readable instructions, and the processor implementing the steps in the above method embodiments when executing the computer readable instructions.
[0145] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through computer readable instructions, and the computer readable instructions can be stored in a non-volatile computer readable storage medium. When the computer readable instructions are executed, the processes of the above-mentioned embodiments of the methods can be included. Any reference to 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. The non-volatile memory can include read-only memory (Read-Only Memory, ROM), magnetic tape, floppy disk, flash memory, optical storage, high-density embedded non-volatile memory, resistive memory (ReRAM), magnetoresistive random access memory (Magnetoresistive Random Access Memory, MRAM), ferroelectric memory (Ferroelectric Random Access Memory, FRAM), phase change memory (Phase Change Memory, PCM), graphene memory, etc. The volatile memory can include random access memory (Random Access Memory, RAM) or external cache memory, etc. As an illustration but not limitation, the RAM can be in various forms, such as static random access memory (Static Random Access Memory, SRAM) or dynamic random access memory (Dynamic Random Access Memory, DRAM), etc. The database involved in the embodiments provided in the present application can include at least one of a relational database and a non-relational database. The non-relational database can include a distributed database based on a block chain, etc., without being limited thereto. The processor involved in the embodiments provided in the present application can be a general-purpose processor, a central processing unit, a graphics processing unit, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, etc., without being limited thereto.
[0146] Any combination of the technical features of the above embodiments can be made. In order to make the description simple, all possible combinations of the technical features in the above embodiments are not described, however, as long as the combination of the technical features does not exist contradictory, it should be considered as the scope of the present application.
[0147] The above embodiments only express several implementation manners of the present application, and the description is more specific and detailed, but it should not be understood as a limitation on the scope of the patent of the present application. It should be pointed out that for ordinary skilled in the art, without departing from the concept of the present application, a number of modifications and improvements can be made, which are within the scope of protection of the present application. Therefore, the protection scope of the present application should be subject to the appended claims.
Claims
1. A truss robot task scheduling method, characterized in that: The method comprises: Obtaining the respective part positions of a plurality of parts to be transferred by the truss robot, and determining the respective ranges of motion of a plurality of robotic arms included in the truss robot; Determining the desired transfer arm for each of the parts to be transferred from each of the robotic arms to obtain initial scheduling information for the truss robot; the part position of the part to be transferred is covered by the range of movement of the desired transfer arm for the part to be transferred; Performing task information update processing on at least a portion of the parts to be transferred to obtain updated scheduling information of the truss robot; the task information includes at least one of a desired transfer arm or a transfer task execution order; and Target scheduling information with a relatively small expected task cost is determined from the updated scheduling information and the initial scheduling information, and a task scheduling result of the truss robot is determined based on the target scheduling information.
2. The method according to claim 1, characterized in that The step of determining the desired transfer arm for each of the parts to be transferred from each of the robotic arms to obtain initial scheduling information for the truss robot includes: Determining the desired transfer arm for each of the parts to be transferred from each of the robotic arms; For each of the desired transmission arms, sorting the transmission tasks of the desired transmission arm to obtain an initial task queue of the desired transmission arm; and Determine initial scheduling information including initial task queues for each of the desired transmission arms.
3. The method according to claim 2, characterized in that The method further comprises: Determining the placement positions of the parts to be transferred; Determining the desired transfer arm for each of the parts to be transferred from each of the robotic arms includes: For each of the parts to be transferred, determining, from the various robotic arms, a candidate robotic arm whose range of movement covers the part position and placement position of the part to be transferred; If the number of the candidate robot arm is one, determining the candidate robot arm as the desired transfer arm for the part to be transferred; and If there are multiple candidate robotic arms, one of the candidate robotic arms is determined as the desired conveying arm for the part to be conveyed.
4. The method according to claim 3, characterized in that The method further comprises: If there is no candidate robot arm corresponding to the part to be transferred among the robot arms, dividing the expected transfer trajectory of the part to be transferred into a plurality of sub-trajectories according to the range of movement; the expected transfer trajectory refers to the transfer trajectory from the part position to the placement position; and The robotic arms corresponding to the respective activity ranges of the sub-trajectories are determined as the desired conveying arms for the parts to be conveyed.
5. The method according to claim 2, characterized in that For each of the desired transmission arms, sorting the transmission tasks of the desired transmission arm to obtain an initial task queue of the desired transmission arm includes: For each of the desired transfer arms, determining a desired transfer trajectory for each part to be transferred by the desired transfer arm; and The transport tasks are sorted according to the respective trajectory lengths of the expected transport trajectories to obtain an initial task queue of the expected transport arm.
6. The method according to claim 1, characterized in that The method further comprises: Determine a task queue for each of the desired transfer arms under candidate scheduling information; the task queue includes at least one transfer task for a part to be transferred; the candidate scheduling information includes the initial scheduling information and the updated scheduling information; Determining the task start position and task end position of each of the transmission tasks based on the arrangement order of each of the transmission tasks in the corresponding task queue; For each of the transmission tasks, according to any position between the task start position and the task end position of the transmission task, service path, and determining the expected transmission time of the transmission task; Determining the expected waiting time due to the conflict of arm motion trajectories according to the expected motion trajectories of each of the desired transmission arms during the transmission task execution; and The expected transmission times and the expected waiting times are superimposed to determine the expected task cost corresponding to the truss robot under the candidate scheduling information.
7. The method according to claim 6, characterized in that The step of determining, for each of the transmission tasks, an expected transmission duration of the transmission task according to a task path between a task start position and a task end position of the transmission task, includes: For each of the transmission tasks, determining a task path between a task start position and a task end position of the transmission task; Discretize the task path according to the set step length to obtain the number of steps of the transmission task; and An expected transmission duration is determined that is positively correlated with the number of steps.
8. The method according to claim 6, characterized in that The step of determining, for each of the transmission tasks, an expected transmission duration of the transmission task according to a task path between a task start position and a task end position of the transmission task, includes: For each of the transmission tasks, determining a task path between a task start position and a task end position of the transmission task; and An expected transmission duration of the transmission task is determined based on the path length and path type of the task path.
9. The method according to claim 6, characterized in that The step of determining the expected waiting time caused by the conflict of arm motion trajectories according to the expected motion trajectories of the desired transmission arms during the transmission task execution includes: Determining distance information between adjacent expected transmission arms according to the expected motion trajectory of each of the expected transmission arms during the transmission task execution process; the distance information includes arm distances corresponding to multiple time nodes respectively; and Based on the number of time nodes that meet the trajectory conflict condition in the distance information, an expected waiting time caused by the arm movement trajectory conflict is determined; the expected waiting time is positively correlated with the number of time nodes.
10. The method according to claim 6, characterized in that The performing task information updating processing on at least a portion of the parts to be transferred to obtain updated scheduling information of the truss robot includes: Determine, from the transmission tasks, candidate tasks whose expected transmission duration is greater than or equal to a duration threshold, or whose arm motion trajectory conflicts; and Task information updating processing is performed on at least a portion of the candidate tasks to obtain updated scheduling information of the truss robot.
11. The method according to any one of claims 1 to 10, characterized in that The determining of the task scheduling result of the truss robot based on the target scheduling information includes: Using the target scheduling information as new initial scheduling information, returning to the step of performing task information update processing on at least a portion of the parts to be transferred to obtain updated scheduling information of the truss robot, and performing the next round of update iteration; and When the iteration end condition is met, the target scheduling information of the current round is determined as the task scheduling result of the truss robot.
12. A truss robot task scheduling device, characterized in that: The device comprises: an acquisition module, configured to acquire the position of each of the plurality of parts to be transferred by the truss robot and determine the range of motion of each of the plurality of robotic arms included in the truss robot; An initial scheduling module is configured to determine the desired transfer arm for each of the parts to be transferred from each of the robotic arms, and obtain initial scheduling information for the truss robot; the part position of the part to be transferred is covered by the range of movement of the desired transfer arm for the part to be transferred; The scheduling information updating module is used to update the task information of at least a part of each of the parts to be transferred to obtain the updated scheduling information of the truss robot; the task information includes the expected transfer arm or the transfer task execution sequence. At least one item in the sequence; and The scheduling result determination module is used to determine target scheduling information with relatively small expected task cost from the updated scheduling information and the initial scheduling information, and determine the task scheduling result of the truss robot based on the target scheduling information.
13. A truss sorting system, characterized in that: The system includes a roller conveyor, a controller, a collection device connected to the controller, and a truss robot; the truss robot includes multiple robotic arms; the ends of the robotic arms are connected to end pickers for grabbing parts; The roller conveyor is used to transport the parts to be conveyed; The collecting device is used to collect the position of each of the multiple parts to be conveyed on the roller line; The controller is configured to implement the method according to any one of claims 1 to 11 to determine a task scheduling result for each of the robotic arms in the truss robot; and The truss robot is used to transport the parts to be transported according to the task scheduling result.
14. The system according to claim 13, wherein: The end effector comprises: An end effector body connected to the end of the robotic arm; A gripping mechanism connected to the end picker body and used to grip objects; and A collision detection component is connected to the gripping mechanism and is used to detect a collision state between the gripping mechanism and the object when the gripping mechanism grips the object, and to send a collision detection signal according to the collision state.
15. The system according to claim 14, wherein: The grabbing mechanism includes a plurality of grabbing components, each of which includes a support member, a grabbing suction cup and an elastic connecting member; The support member is connected to the collision detection component; the grabbing suction cup grabs the object through the adsorption side; the support member is provided with a through hole; the elastic connecting member is connected to the side of the grabbing suction cup away from the adsorption side and passes through the through hole; and When the elastic connector is in a first state, one end of the elastic connector facing away from the grabbing suction cup abuts against the upper surface of the support member; and when the elastic connector is in a second state, one end of the elastic connector facing away from the grabbing suction cup extends out of the upper surface of the support member along the positive direction of the support member.
16. The system according to claim 15, wherein: The collision detection component includes a light transmitter and a light receiver: The light receiver is arranged opposite to the light emitter, and there is a preset height between the light receiver and the support member for receiving the light signal; the light emitter and the light receiver are arranged on both sides of the through hole, and when the height of the elastic connecting member extending out of the upper surface of the support member reaches the preset height, the light receiver sends the collision detection signal.
17. The system according to claim 16, wherein: The collision detection assembly further includes a first fixing seat and a second fixing seat; the light transmitter is arranged on the first fixing seat, and the light receiver is arranged on the second fixing seat; The first fixing seat is connected to the first end of the support member through a first connecting portion, and the first fixing seat is connected to the end tool body through a second connecting portion; and The second fixing seat is connected to the second end of the support member through a third connecting portion, and the second fixing seat is connected to the end tool body through a fourth connecting portion.
18. A computer device comprising a memory and a processor, wherein the memory stores computer-readable instructions, wherein: When the processor executes the computer-readable instructions, the steps of the method according to any one of claims 1 to 11 are implemented.
19. A computer-readable storage medium having computer-readable instructions stored thereon, characterized in that: When the computer-readable instructions are executed by a processor, the steps of the method according to any one of claims 1 to 11 are implemented.
20. A computer program product comprising computer-readable instructions, characterized in that When the computer-readable instructions are executed by a processor, the steps of the method according to any one of claims 1 to 11 are implemented.
Citation Information
Patent Citations
Telescopic mechanical arm type information storage entity piece management robot and method
CN108436893A
Goods sorting device and method for multiple stations
CN110860488A
Truss robot and track planning method and device thereof
CN115431276A
Steel plate waste frame cutting and sorting method and system
CN117709641A
Balancing structure of annular axial flow fan
CN201836125U
Cited By
Industrial robot automatic grabbing system based on industrial vision
CN121973240A