Truss robot task scheduling method and device and truss sorting system
Patent Information
- Application Number
- CN202410420033.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-04-09
- Publication Date
- 2026-09-04
- Estimated Expiration
- 2044-04-09
AI Technical Summary
因此,采用传统技术对桁架机器人进行任务调度,存在任务调度效果不佳的缺点
[0057]上述桁架机器人任务调度方法、装置、桁架分拣系统、计算机设备、计算机可读存储介质和计算机程序产品,一方面,由于待传送零件的零件位置,处于该待传送零件的期望传送手臂的活动范围内,从而无论是初始调度信息还是更新调度信息,均可以确保各待传送零件都能被抓取,为零件的顺利传送提供基础;另一方面,通过对期望传送手臂或传送任务执行顺序中的至少一项进行更新,以实现针对初始调度信息的更新,并基于初始调度信息和更新调度信息中预期任务代价相对较小的目标调度信息,确定桁架机器人的任务调度结果,相当于可以比较多种任务调度方式的预期任务代价,并选择预期任务代价较小的一项确定任务调度结果,能够降低传送任务的任务代价,确保获得较优的任务调度效果。
Smart Images

Figure CN118163110B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of robot control technology, and in particular to a gantry robot task scheduling method, apparatus, gantry sorting system, computer equipment, computer-readable storage medium, and computer program product. Background Technology
[0002] Gantry robots, also known as gantry manipulators, are robotic arms built on a right-angle system and composed of multiple joints connected together. They are widely used in scenarios such as material handling and loading / unloading.
[0003] In traditional techniques, the task scheduling result for the currently to-be-delivered part is determined based on historical task scheduling data. The scheduling effectiveness depends heavily on the historical scheduling results, leading to significant instability. Therefore, using traditional techniques for task scheduling of gantry robots suffers from poor scheduling performance. Summary of the Invention
[0004] Therefore, it is necessary to provide a gantry robot task scheduling method, apparatus, gantry sorting system, computer equipment, computer-readable storage medium, and computer program product that can improve the task scheduling effect in order to address the above-mentioned technical problems.
[0005] Firstly, this application provides a task scheduling method for a gantry robot. The method includes:
[0006] Obtain the individual positions of the multiple parts to be transferred in the gantry robot, and determine the range of motion of the multiple robotic arms contained in the gantry robot.
[0007] From each robotic arm, the desired transfer arm for each part to be transferred is determined, and the initial scheduling information of the gantry robot is obtained; the position of the part to be transferred is covered by the range of motion of the desired transfer arm of the part to be transferred.
[0008] At least a portion of the parts to be transferred are processed for task information update to obtain updated scheduling information for the gantry robot; the task information includes at least one of the desired transfer arm or the execution order of the transfer task.
[0009] From the updated scheduling information and the initial scheduling information, the target scheduling information with relatively low expected task cost is determined, and the task scheduling result of the gantry robot is determined based on the target scheduling information.
[0010] In one embodiment, the desired delivery arm for each part to be delivered is determined from each robotic arm to obtain initial scheduling information for the gantry robot, including:
[0011] From each robotic arm, determine the desired transfer arm for each part to be transferred;
[0012] For each desired transmission arm, sort the transmission tasks of the desired transmission arm to obtain the initial task queue of the desired transmission arm.
[0013] Determine the initial scheduling information, which includes the initial task queues for each desired delivery arm.
[0014] In one embodiment, the method further includes:
[0015] Determine the placement position of each part to be transferred;
[0016] From each robotic arm, determine the desired transfer arm for each part to be transferred, including:
[0017] For each part to be transferred, candidate robotic arms whose range of motion covers the part's position and placement position are determined from among the robotic arms.
[0018] If there is only one candidate robotic arm, then the candidate robotic arm is determined as the desired transfer arm for the part to be transferred.
[0019] If there are multiple candidate robotic arms, then one of the candidate robotic arms will be selected as the desired transfer arm for the part to be transferred.
[0020] In one embodiment, the method further includes:
[0021] If there is no candidate robotic arm for the part to be transferred among the robotic arms, the expected transfer trajectory of the part to be transferred is divided into multiple sub-trajectories according to each range of motion; the expected transfer trajectory refers to the transfer trajectory from the part position to the placement position.
[0022] The robotic arms corresponding to the respective activity ranges of each sub-trajectory are identified as the desired transfer arms for the parts to be transferred.
[0023] In one embodiment, for each desired transfer arm, the transfer tasks of the desired transfer arm are sorted to obtain an initial task queue for the desired transfer arm, including:
[0024] For each desired transfer arm, determine the desired transfer trajectory for each part to be transferred on that arm.
[0025] Based on the trajectory length of each desired transmission trajectory, the transmission tasks are sorted to obtain the initial task queue of the desired transmission arm.
[0026] In one embodiment, the method further includes:
[0027] Determine the task queue for each desired transfer arm under the candidate scheduling information; the task queue includes transfer tasks for at least one part to be transferred; the candidate scheduling information includes initial scheduling information and updated scheduling information;
[0028] Based on the order of each transmission task in its respective task queue, determine the start and end positions of each transmission task.
[0029] For each transmission task, the expected transmission time is determined based on the task path between the task's start and end positions.
[0030] Based on the expected movement trajectory of each desired transmission arm during the transmission task execution process, determine the expected waiting time caused by the conflict of arm movement trajectories;
[0031] By combining the expected transmission time and the expected waiting time, the expected task cost of the gantry robot under the candidate scheduling information is determined.
[0032] In one embodiment, for each transmission task, the expected transmission duration of the transmission task is determined based on the task path between the task start position and the task end position, including:
[0033] For each transmission task, determine the task path between the task start position and the task end position;
[0034] The task path is discretized according to the set step size to obtain the number of steps for the transmission task.
[0035] Determine the expected transmission time, which is positively correlated with the step size.
[0036] In one embodiment, for each transmission task, the expected transmission duration of the transmission task is determined based on the task path between the task start position and the task end position, including:
[0037] For each transmission task, determine the task path between the task start position and the task end position;
[0038] Based on the path length and path type of the task path, the expected transmission time of the transmission task is determined.
[0039] In one embodiment, the expected waiting time caused by the conflict of arm movement trajectories is determined based on the expected movement trajectories of each desired delivery arm during the delivery task execution process, including:
[0040] Based on the expected movement trajectory of each expected transmission arm during the transmission task execution process, the distance information between adjacent expected transmission arms is determined; the distance information includes the arm distance corresponding to multiple time points respectively;
[0041] Based on the number of time points in the distance information that meet the trajectory conflict conditions, the expected waiting time caused by the arm movement trajectory conflict is determined; the expected waiting time is positively correlated with the number of time points.
[0042] In one embodiment, at least a portion of the parts to be transferred undergoes task information update processing to obtain updated scheduling information for the gantry robot, including:
[0043] From each transmission task, candidate tasks are identified that have an expected transmission duration greater than or equal to the duration threshold, or that have conflicts with arm movement trajectories.
[0044] At least a portion of the candidate tasks are updated to obtain the updated scheduling information for the gantry robot.
[0045] In one embodiment, determining the task scheduling result of the gantry robot based on target scheduling information includes:
[0046] The target scheduling information is used as the new initial scheduling information, and the steps of updating the task information of at least a portion of each part to be transferred are returned to obtain the updated scheduling information of the gantry robot, and the next round of update iteration is carried out.
[0047] If the iteration termination condition is met, the target scheduling information of the current round is determined as the task scheduling result of the gantry robot.
[0048] Secondly, this application also provides a gantry robot task scheduling device. The device includes:
[0049] The acquisition module is used to acquire the position of each of the multiple parts to be transferred of the gantry robot and to determine the range of motion of each of the multiple robotic arms contained in the gantry robot.
[0050] The initial scheduling module is used to determine the desired transfer arm for each part to be transferred from each robotic arm, and obtain the initial scheduling information of the gantry robot; the position of the part to be transferred is covered by the range of motion of the desired transfer arm of the part to be transferred.
[0051] The scheduling information update module is used to update the task information of at least a portion of the parts to be transferred, so as to obtain the updated scheduling information of the gantry robot; the task information includes at least one of the expected transfer arm or the execution order of the transfer task.
[0052] The scheduling result determination module is used to determine the target scheduling information with relatively low expected task cost from the updated scheduling information and the initial scheduling information, and to determine the task scheduling result of the gantry robot based on the target scheduling information.
[0053] A third approach, this application also provides a gantry sorting system. The system includes a roller conveyor, a controller, and a collection device and a gantry robot connected to the controller. The gantry robot includes multiple robotic arms; end effectors for gripping parts are connected to the ends of the robotic arms; the roller conveyor transports parts to be transferred; the collection device is used to determine the respective positions of the multiple parts to be transferred on the roller conveyor; the controller implements the above-described method to determine the task scheduling results for each robotic arm in the gantry robot; the gantry robot transfers each part to be transferred according to the task scheduling results.
[0054] Fourthly, this application also provides a computer device. The computer device includes a memory and a processor, the memory storing a computer program, and the processor executing the computer program to implement the steps of the above-described method.
[0055] Fifthly, this application also provides a computer-readable storage medium. This computer-readable storage medium stores a computer program thereon, which, when executed by a processor, implements the steps of the above-described method.
[0056] Sixthly, this application also provides a computer program product. This computer program product includes a computer program that, when executed by a processor, implements the steps of the above-described method.
[0057] The aforementioned gantry robot task scheduling method, apparatus, gantry sorting system, computer equipment, computer-readable storage medium, and computer program product, on the one hand, ensure that each part to be transferred can be grasped, providing a foundation for smooth transfer, since the position of the part to be transferred is within the activity range of the desired transfer arm. On the other hand, by updating at least one of the desired transfer arm or the execution order of the transfer task, the initial scheduling information is updated. Based on the target scheduling information with the relatively smaller expected task cost in the initial and updated scheduling information, the task scheduling result of the gantry robot is determined. This is equivalent to comparing the expected task costs of multiple task scheduling methods and selecting the one with the smaller expected task cost to determine the task scheduling result, thereby reducing the task cost of the transfer task and ensuring a better task scheduling effect. Attached Figure Description
[0058] Figure 1 This is an application environment diagram of the gantry robot task scheduling method in one embodiment;
[0059] Figure 2 This is a schematic diagram illustrating the working principle of a gantry robot in one embodiment;
[0060] Figure 3 This is a flowchart illustrating a task scheduling method for a gantry robot in one embodiment;
[0061] Figure 4 This is a schematic diagram illustrating the principle of determining the expected task cost in one embodiment;
[0062] Figure 5 This is a flowchart illustrating the task scheduling method for a gantry robot in another embodiment;
[0063] Figure 6 This is a schematic diagram of the truss sorting system in one embodiment;
[0064] Figure 7 This is a schematic diagram of the end effector in one embodiment;
[0065] Figure 8 This is a partial structural diagram of the end effector in one embodiment;
[0066] Figure 9 This is a schematic diagram of the collision detection component in one embodiment;
[0067] Figure 10 This is a structural block diagram of a gantry robot task scheduling device in one embodiment;
[0068] Figure 11 This is an internal structural diagram of a computer device in one embodiment. Detailed Implementation
[0069] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.
[0070] In one embodiment, the gantry robot task scheduling method provided in this application can be applied to, for example... Figure 1 In the application environment shown, the data acquisition device 101 can acquire the positions of multiple parts to be transferred from the gantry robot 102; the controller 103 can interact with the data acquisition device 101 to schedule tasks for the gantry robot 102. The connection between the controller 103 and the data acquisition device 101, and between the controller 103 and the gantry robot 102, can be wired or wireless. The wireless connection can be, for example, Bluetooth, Wi-Fi, etc., and is not limited here. Furthermore, the gantry robot 102 may include multiple robotic arms, such as... Figure 2R1, R2, R3, and R4 are specified in the diagram. Each robotic arm can move along the fixed rod 2 and, driven by the fixed rod 2, can move along the truss 1 to move each part 4 on the roller conveyor 3 to the corresponding part placement area 5. The number of robotic 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 hold a material frame for handling the placed parts.
[0071] like Figure 2 As shown, the parts transfer process can include three stages: gripping, moving, and placing. Gripping corresponds to... Figure 2 The process from G to G' is used to remove the part 4 to be conveyed from the roller conveyor 3; the movement corresponds to Figure 2 The process from G' to B' is used to move the part 4 to be transferred from above the roller conveyor 3 to above the part placement area 5; the placement should be... Figure 2 The process from B' to B is used to place the part 4 to be transferred into the part placement area 5. It should be noted that in practical applications, grasping and moving can be performed simultaneously, or moving and placing can be performed simultaneously; this is not limited here. Furthermore, the end effector of the robotic arm may include an end effector for grasping the part.
[0072] Furthermore, the acquisition device 101 is a device with information acquisition function, which may include a camera or infrared scanner, etc. The controller 103 may be a hardware module containing various processing chips and their peripheral circuits, and having logic operation functions. The processing chip may be a microcontroller, a DSP (Digital Signal Processing) chip, or an FPGA (Field Programmable Gate Array) chip, etc. In the process of executing the gantry robot task scheduling method, the controller 103: acquires the position of each of the multiple parts to be transferred of the gantry robot, and determines the range of motion of each of the multiple robotic arms included in the gantry robot; from each robotic arm, determines the expected transfer arm for each part to be transferred, and obtains the initial scheduling information of the gantry robot; performs task information update processing on at least a portion of each part to be transferred, and obtains the updated scheduling information of the gantry robot; from the updated scheduling information and the initial scheduling information, determines the target scheduling information with a relatively small expected task cost, and determines the task scheduling result of the gantry robot based on the target scheduling information. The part to be transferred is located within the range of motion of the desired transfer arm; the task information includes at least one of the desired transfer arm or the execution sequence of the transfer task.
[0073] In one embodiment, such as Figure 3 As shown, a task scheduling method for a gantry robot is provided, which can be applied to... Figure 1Taking controller 103 as an example, the following steps are included:
[0074] Step S302: Obtain the position of each of the multiple parts to be transferred of the gantry robot, and determine the range of motion of each of the multiple robotic arms contained in the gantry robot.
[0075] The parts to be transferred can refer to multiple parts on the roller conveyor line of the gantry sorting system where the gantry robot is located. The part position refers to the location of the part to be transferred on the roller conveyor line. The part can be a machine component or a cut workpiece; this application does not limit the specific type of part. Specifically, a data acquisition device can be set up to collect the position information of each part to be transferred, so that the controller can obtain the individual part positions of the multiple parts to be transferred by the gantry robot from the data acquisition device. The range of motion of the robotic arm can be used to characterize the robotic arm's ability to transfer parts. Specifically, when the range of motion of the robotic arm covers the part position, the robotic arm can complete the picking and placing of parts.
[0076] like Figure 2 As shown, the gantry robot may include multiple robotic arms, each of which can move along a corresponding fixed rod 2 and can move along the gantry 1 under the action of the fixed rod 2. Based on this, the controller 103 can determine the range of motion of each robotic arm according to the structure of the gantry robot, or it can obtain the range of motion of each robotic arm by communicating with the processor of the gantry robot.
[0077] Step S304: Determine the desired transfer arm for each part to be transferred from each robotic arm to obtain the initial scheduling information of the gantry robot.
[0078] In this context, the location of the part to be transferred is covered by the range of motion of the intended transfer arm. "Range of motion covering the part location" can mean either that the part location is within the range of motion, or that the range of motion represents the capability to pick up and place the part at that location. In other words, for each robotic arm, if its range of motion covers the location of the part to be transferred, then the robotic arm can grasp the part and participate in the transfer task.
[0079] Based on this, the controller can determine the region type of each part's location according to the coverage relationship between each part's position and its range of motion. This region type can include, for example, an exclusive region covered only by the range of motion of one robotic arm, or a shared region covered by the range of motion of two adjacent robotic arms. Thus, the controller can determine the desired transfer arm for each part to be transferred from among the robotic arms, thereby allocating the transfer task for each part and obtaining the initial scheduling information for the gantry robot. Specifically, if the transfer task for a part to be transferred in an exclusive region has only one schedulable robotic arm, that schedulable robotic arm can be determined as the desired transfer arm; while if the transfer task for a part to be transferred in a shared region has two schedulable robotic arms, one of these two schedulable robotic arms can be selected as the desired transfer arm for that part.
[0080] Furthermore, the process of determining the desired transfer arm for different parts to be transferred can be performed simultaneously or sequentially. It should be noted that, when determining the desired transfer arm for each part to be transferred sequentially, the controller can also consider the balance of task allocation and select the robotic arm with the fewest currently assigned tasks from among the schedulable robotic arms as the desired transfer arm.
[0081] Step S306: Update the task information of at least a portion of each part to be transferred to obtain the updated scheduling information of the gantry robot.
[0082] The task information includes at least one of the following: the desired delivery arm or the delivery task execution sequence.
[0083] Specifically, the controller can update the task information for at least a portion of the transfer tasks of the parts to be transferred, thereby obtaining updated scheduling information for the gantry robot. Optionally, the controller can sequentially traverse each arm of the gantry robot, randomly selecting transfer tasks corresponding to the shared area from the task queues of adjacent arms for exchange, thus updating the desired transfer arm for the parts to be transferred in the shared area. Optionally, the controller can randomly select a task in an exclusive area and insert it into another random position in the task queue of that arm, thereby updating the task execution order. Randomly exchanging tasks in the shared area between adjacent gantry arms and changing the task execution order in the exclusive area can generate as many possibilities as possible, thereby increasing the probability of obtaining the optimal solution with the minimum expected task cost, while ensuring that all tasks can be executed.
[0084] It should be noted that this embodiment does not limit the number of parts to be transferred for updating the desired transfer arm, nor the number of parts to be transferred for updating the execution order of transfer tasks. In other words, the controller can iteratively update the scheduling information in multiple rounds by changing the parts to be transferred for task updates and the specific type of task information to be updated, so as to obtain various updated scheduling information.
[0085] Step S308: Determine the target scheduling information with relatively low expected task cost from the updated scheduling information and the initial scheduling information, and determine the task scheduling result of the gantry robot based on the target scheduling information.
[0086] The task cost can include time cost and resource cost. The time cost can include the transmission time of each transmission task and the waiting time caused by the conflict of arm movement trajectory during the execution of each transmission task. The resource cost can be represented by the number of robotic arms deployed for the task.
[0087] Specifically, the controller can determine the expected task cost corresponding to the initial scheduling information and the updated scheduling information, respectively. Then, by comparison, it determines the target scheduling information with the relatively smaller expected task cost from the initial and updated scheduling information, and determines the task scheduling result of the gantry robot based on the target scheduling information. Optionally, the controller can determine the target scheduling information as the task scheduling result of the gantry robot; alternatively, it can iteratively update the scheduling information based on the target scheduling information to further reduce the expected task cost.
[0088] The above-mentioned gantry robot task scheduling method, on the one hand, ensures that each part to be transferred can be grasped, providing a foundation for smooth transfer, since the position of the part to be transferred is within the activity range of the expected transfer arm. On the other hand, by updating at least one of the expected transfer arm or the execution order of the transfer task, the initial scheduling information is updated. Based on the target scheduling information with the relatively smaller expected task cost in the initial and updated scheduling information, the task scheduling result of the gantry robot is determined. This is equivalent to comparing the expected task costs of multiple task scheduling methods and selecting the one with the smaller expected task cost to determine the task scheduling result, which can reduce the task cost of the transfer task and improve the task scheduling effect.
[0089] In a specific embodiment, determining the task scheduling result of the gantry robot based on the target scheduling information includes: using the target scheduling information as new initial scheduling information and returning to step S306 to perform the next round of update iteration; and, if the iteration termination condition is met, determining the target scheduling information of the current round as the task scheduling result of the gantry robot.
[0090] The iteration termination condition can be that the number of consecutive invalid updates reaches a set number, all task information update methods have been tried, or the computation time of the iteration process has exceeded a set time threshold. An invalid update occurs when the expected task cost of updating the 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 iterative updates to obtain the final task scheduling result. During each round of iterative updates, different parts to be transferred can be selected for task information updates, or different task information of the same part to be transferred can be updated.
[0091] Specifically, after determining the target scheduling information, the controller can use this target scheduling information as the new initial scheduling information and return to the step of updating the task information of at least a portion of each part to be transferred, thus obtaining the updated scheduling information for the gantry robot. This process is repeated for the next iteration, and so on, until the iteration termination condition is met. If the iteration termination condition is met, the target scheduling information of the current round is determined as the task scheduling result for the gantry robot. Determining the final task scheduling result through multiple iterations of scheduling information can further reduce the task cost of transfer tasks and improve task scheduling efficiency.
[0092] In one embodiment, step S304 includes: determining the desired transfer arm for each part to be transferred from each robotic arm; sorting the transfer tasks of each desired transfer arm to obtain the initial task queue of the desired transfer arm; and determining initial scheduling information containing the initial task queues of each desired transfer arm.
[0093] The process of sorting the transfer tasks of the desired transfer arm can be random, or sorted according to the assignment order of the transfer tasks; alternatively, it can be sorted according to the length of the desired transfer trajectory of the part to be transferred for each transfer task. This desired transfer trajectory refers to the transfer trajectory from the part's position to its placement position. Specifically, the controller can determine the desired transfer arm for each part to be transferred from each robotic arm based on the coverage relationship between each part's position and its range of motion. Then, for each desired transfer arm, the transfer tasks of that desired transfer arm are sorted to obtain the initial task queue for that desired transfer arm, thereby determining the initial scheduling information containing the initial task queues for each desired transfer arm.
[0094] In the above embodiments, after determining the desired transmission arm, the transmission tasks of the desired transmission arm are sorted to obtain initial scheduling information containing the initial task queues of each desired transmission arm. This ensures the integrity of the initial scheduling information and provides a basis for subsequent scheduling information updates.
[0095] In one specific embodiment, for each desired transfer arm, the transfer tasks of the desired transfer arm are sorted to obtain the initial task queue of the desired transfer arm, including: for each desired transfer arm, determining the desired transfer trajectory of each part to be transferred by the desired transfer arm; and sorting the transfer tasks according to the trajectory length of each desired transfer trajectory to obtain the initial task queue of the desired transfer arm.
[0096] The desired transport trajectory refers to the transport path from the part's location to its placement location. Specifically, the controller can determine the placement location of each part to be transported. After determining the placement location, the controller can determine the desired transport trajectory for each part as the transport path between its location and the placement location. Then, for each desired transport arm, the controller can determine the desired transport trajectory for each part on that arm and sort the transport tasks according to the length of each trajectory to obtain the initial task queue for that arm. In a specific implementation, transport tasks with shorter trajectory lengths can be executed first; that is, the transport tasks for that arm are sorted in ascending order of trajectory length to obtain the initial task queue.
[0097] In the above embodiments, each transmission task is sorted according to the trajectory length of each desired transmission trajectory to obtain the initial task queue of the desired transmission arm. This can improve the scientific nature of the initial scheduling information, and further improve the scientific nature of the task scheduling result determined by further optimization based on the initial scheduling information.
[0098] In one specific embodiment, the gantry robot task scheduling method further includes: determining the placement position of each part to be transferred. In this embodiment, determining the desired transfer arm for each part to be transferred from among the robotic arms includes: for each part to be transferred, determining, from among the robotic arms, a candidate robotic arm whose range of motion covers the part position and placement position of the part to be transferred; if there is only one candidate robotic arm, then that candidate robotic arm is determined as the desired transfer arm for the part to be transferred; if there are multiple candidate robotic arms, then any one of the candidate robotic arms is determined as the desired transfer arm for the part to be transferred.
[0099] The placement position refers to the desired location of the part to be transferred within the part placement area. It can be understood that when there is no need to distinguish between the categories of the parts to be transferred, the controller can determine the placement position based on the principle of closest proximity. When there is a need to distinguish between the categories of the parts to be transferred, the controller can determine the placement position of each part based on the matching relationship between the category of each part and the part placement area. After determining the individual part position and placement position of each part to be transferred, the controller can, for each part to be transferred, identify candidate robotic arms whose activity range covers the part position and placement position of the part to be transferred from the robotic arms of the gantry robot, and determine the desired transfer arm from the candidate robotic arms. Specifically, if there is only one candidate robotic arm, that candidate robotic arm is determined as the desired transfer arm of the part to be transferred; if there are multiple candidate robotic arms, any one of the candidate robotic arms is determined as the desired transfer arm of the part to be transferred, or the candidate robotic arm with fewer transfer tasks is determined as the desired transfer arm of the part to be transferred.
[0100] In the above embodiments, the allocation of the desired transfer arm is performed separately for exclusive tasks with only one candidate robotic arm and shared tasks with multiple candidate robotic arms. This ensures that the parts transfer task can be executed accurately, which helps to further ensure the accuracy of task scheduling and improve the task scheduling effect.
[0101] In practical applications, there may be transfer tasks that require the cooperation of multiple robotic arms. That is, the location of the part to be transferred is covered by the range of motion of one robotic arm, while the placement location of the part is covered by the range of motion of another robotic arm. In this case, there will be no candidate robotic arm among the gantry robot's robotic arms corresponding to the part to be transferred, and the transfer task of this part is called a cooperative task.
[0102] In a specific embodiment, the gantry robot task scheduling method further includes: if there is no candidate robot arm corresponding to the part to be transferred among the robot arms, the expected transfer trajectory of the part to be transferred is divided into multiple sub-trajectories according to each activity range; and the robot arm corresponding to the activity range of each sub-trajectory is determined as the expected transfer arm of the part to be transferred.
[0103] The desired transport trajectory refers to the transport path from the part's location to its placement location. Specifically, for cooperative tasks, the desired transport trajectory of the part to be transported can be divided into multiple sub-trajectories based on each activity range, with each sub-trajectory covered by an activity range. Thus, the controller can determine the robotic arm corresponding to the activity range of each sub-trajectory as the desired transport arm for the part to be transported. In other words, for cooperative tasks, multiple desired transport arms can be configured. In this case, during the process of sorting the transport tasks to obtain the task queue, the matching of task orders between different robotic arms needs to be considered. Specifically, according to the arrangement order of each sub-trajectory in the transport trajectory, the sub-transport tasks corresponding to each sub-trajectory are sorted to determine the order of each sub-transport task in the cooperative task within its respective task queue. Then, other non-cooperative tasks are further sorted to obtain the initial task queue for each desired transport arm.
[0104] In the above embodiments, the allocation of the desired transfer arms for cooperative tasks that require multiple robotic arms to work together to complete the transfer can ensure that all parts to be transferred can be transferred accurately, which is beneficial to further ensure the accuracy of task scheduling and improve the task scheduling effect.
[0105] The following section describes the specific process for determining the expected cost of the task.
[0106] In one embodiment, the gantry robot task scheduling method further includes: determining the task queue for each desired delivery arm under candidate scheduling information; determining the task start position and task end position for each delivery task based on the order of each delivery task in its respective task queue; for each delivery task, determining the expected delivery time of the delivery task based on the task path between the task start position and the task end position; determining the expected waiting time caused by the conflict of arm movement trajectories based on the expected movement trajectory of each desired delivery arm during the execution of the delivery task; and superimposing the expected delivery time and the expected waiting time to determine the expected task cost of the gantry robot under the candidate scheduling information.
[0107] The task queue includes at least one transfer task for a part to be transferred; the candidate scheduling information includes initial scheduling information and updated scheduling information. Specifically, the controller can determine the task queue for each desired transfer arm under the candidate scheduling information. Then, based on the order of each transfer task in its respective task queue, the controller determines the task start position and task end position for each transfer task, and thus determines 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 transfer task in the robot arm's task queue is the initial position of the robot arm; the task start position of each transfer task in the task queue other than the first transfer task is the task end position of the previous transfer task.
[0108] Optionally, the controller can segment the transfer task based on the part's position or placement position. For example, the controller can determine the task termination position of a transfer task as the placement position of the part to be transferred in that transfer task; the controller can also determine the task termination position of a transfer task as the part position of the part to be transferred in the next transfer task. In other words, the task path includes two parts: the expected transfer trajectory between the part's position and the placement position, and the movement trajectory of the robotic arm after placing the part.
[0109] Specifically, the controller can determine the expected transmission time of each transmission task based on its respective task path, and determine the expected waiting time caused by arm movement trajectory conflicts based on the expected motion trajectory of each desired transmission arm during the execution of the transmission task. Finally, the controller sums up the expected transmission times and the expected waiting times to determine the expected task cost of the gantry robot under the candidate scheduling information. The expected motion trajectory can be used to characterize the position of the fixed rod of the desired transmission arm on the gantry. Based on the task path of each transmission task and the moving speed of the fixed rod, the controller can determine the expected motion trajectory of each desired transmission arm, and thus determine the distance information between adjacent robotic arms. This distance information represents the change in arm distance between adjacent arms over time. Therefore, the controller can determine whether arm movement trajectory conflicts exist and the number of such conflicts based on the distance information, and thus determine the expected waiting time positively correlated with the number of conflicts. Furthermore, the method by which the controller sums up the expected transmission times and the expected waiting times is not unique; for example, it can be a direct addition, or different weights can be assigned to the expected transmission times and the expected waiting times before weighted summation. This application does not limit this method.
[0110] In the above embodiments, the expected task cost is determined by superimposing the expected transmission time and the expected waiting time. This is equivalent to considering the cost of the gantry robot's robotic arm moving to the next task and the waiting cost caused by the intersection of movements during the task scheduling process. This can ensure the accuracy of the expected task cost, thereby improving the expected work efficiency of the transmission task and enhancing the task scheduling effect.
[0111] In a specific embodiment, for each transmission task, the transmission duration of each transmission task is determined based on the task path between the task start position and the task end position, including: for each transmission task, determining the task path between the task start position and the task end position; discretizing the task path according to a set step size to obtain the step size number of the transmission task; and determining the expected transmission duration that is positively correlated with the step size number.
[0112] Specifically, such as Figure 4 As shown, for each transmission task, the controller can determine the task path between the task's start and end positions. Then, it discretizes the task path according to a set step size to obtain the number of steps for the transmission task, and then determines the expected transmission time, which is positively correlated with the number of steps. In this embodiment, the controller determines the expected transmission time based on the path length to improve the efficiency of the task scheduling process.
[0113] In a 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, including: for each transmission task, determining the task path between the task start position and the task end position; and determining the expected transmission duration of the transmission task based on the path length and path type of the task path.
[0114] The path type can be, for example, a straight line, a polyline, or a curve. Figure 2 As shown, when the three stages of grabbing, moving, and placing are not synchronized, the path type is a polyline; when grabbing and moving are synchronized, and moving and placing are synchronized, the path type can be a curve.
[0115] It is understandable that the expected movement speed of the conveyor arm differs under different path types, and the corresponding conveying speeds also vary. Based on this, the controller can determine the expected movement speed of the conveyor arm according to the path type, and then determine the expected conveying time by combining the path length and the movement speed. For example, in the case of a zigzag path, each turning point involves a significant change in the direction of movement, thus requiring deceleration; in the case of a curved path, since the direction of movement changes continuously, no deceleration is needed, and the movement speed is relatively faster. Specifically, for each conveying task, the controller can determine the task path between the task's start and end positions, and based on the path type, determine the change in the expected movement speed of the conveyor arm over time during the execution of the conveying task. Then, by combining the path length and the change in movement speed over time, the expected conveying time of the task can be determined.
[0116] In this embodiment, the expected transmission time of the transmission task is determined by combining the path length and path type of the task path, which can ensure the accuracy of the expected transmission time and thus ensure the accuracy of the expected task cost.
[0117] In one specific embodiment, the waiting time caused by the conflict of arm movement trajectories is determined based on the expected movement trajectory of each expected transmission arm during the execution of the transmission task, including: determining the distance information between adjacent expected transmission arms based on the expected movement trajectory of each expected transmission arm during the execution of the transmission task; and determining the expected waiting time caused by the conflict of arm movement trajectories based on the number of arm distances that meet the trajectory conflict conditions in the distance information.
[0118] The distance information includes the arm distances corresponding to multiple time points; the expected waiting time is positively correlated with the number of time points. A trajectory conflict condition can refer to an arm distance being less than or equal to a safe distance. Specifically, the controller can determine the change in arm distance between adjacent expected transmission arms over time based on the expected movement trajectories of each expected transmission arm during the transmission task execution process, and determine the expected waiting time caused by arm movement trajectory conflicts based on the number of arm distances that meet the trajectory conflict condition.
[0119] In a specific implementation, such as Figure 4 As shown, for each transmission task, the controller can determine the task path between the task's start and end positions. Then, it discretizes the task path according to a set step size, obtaining multiple path points. Each path point can be the start, end, or intermediate point of a step. Furthermore, the controller can determine the expected waiting time, which is positively correlated with the number of conflicting path points. Figure 4In the diagram, path points 0, 1, and 6 are conflicting path points.
[0120] In a specific implementation, the controller can determine the expected waiting time caused by the arm movement trajectory conflict by summing the number of time intervals that meet the trajectory conflict conditions in each arm distance and the duration of each conflict.
[0121] In the above embodiments, the expected waiting time caused by the arm movement trajectory conflict is determined based on the number of arm distances that meet the trajectory conflict conditions in the distance information. This ensures the accuracy of the expected waiting time and, consequently, the accuracy of the expected task cost.
[0122] In one specific embodiment, at least a portion of the parts to be transferred is processed for task information update to obtain updated scheduling information for the gantry robot. This includes: identifying candidate tasks from each transfer task whose expected transfer time is greater than or equal to a time threshold or which have conflicting arm movement trajectories; and processing at least a portion of each candidate task for task information update to obtain updated scheduling information for the gantry robot.
[0123] Specifically, a long expected transmission time may be due to a large distance between the end position of the previous transmission task and the start position of the current transmission task. Therefore, by updating the task information of transmission tasks with long expected transmission times, the previous transmission task can be changed, potentially shortening the expected transmission time. Similarly, updating the task information of candidate tasks with conflicting arm movement trajectories can change other tasks executing concurrently with the candidate transmission task, potentially avoiding arm movement trajectory conflicts.
[0124] In this embodiment, task information is updated for transmission tasks with long expected transmission times or those with conflicting arm movement trajectories, in order to increase the probability of reducing the expected task cost through updates and further improve the task scheduling effect.
[0125] In one embodiment, such as Figure 5 As shown, a task scheduling method for a gantry robot is provided, which includes the following steps:
[0126] Step S501: Obtain the part position and placement position of each of the multiple parts to be transferred of the gantry robot, and determine the range of motion of each of the multiple robotic arms included in the gantry robot.
[0127] Step S502: For each part to be transferred, determine the candidate robotic arms whose activity range covers the part position and placement position of the part to be transferred from each robotic arm.
[0128] Step S503: If the number of candidate robotic arms is one, then the candidate robotic arm is determined as the desired transfer arm for the part to be transferred.
[0129] Step S504: If there are multiple candidate robotic arms, then any one of the candidate robotic arms is determined as the desired transfer arm for the part to be transferred.
[0130] Step S505: If there is no candidate robotic arm corresponding to the part to be transferred among the robotic arms, the expected transfer trajectory of the part to be transferred is divided into multiple sub-trajectories according to each activity range, and the robotic arm corresponding to the activity range of each sub-trajectory is determined as the expected transfer arm of the part to be transferred.
[0131] The desired transport trajectory refers to the transport trajectory from the part's location to its placement location.
[0132] Step S506: For each desired conveying arm, determine the desired conveying trajectory for each part to be conveyed by that desired conveying arm.
[0133] Step S507: Based on the trajectory length of each desired transmission trajectory, sort the transmission tasks in ascending order of trajectory length to obtain the initial task queue of the desired transmission arm.
[0134] Step S508: Determine the initial scheduling information containing the initial task queues for each desired delivery arm;
[0135] Step S509: Combine the expected transmission time of each transmission task under the initial scheduling information with the expected waiting time of each expected transmission arm during the execution of the transmission task due to the conflict of arm movement trajectory, and determine the expected task cost of the gantry robot under the initial scheduling information.
[0136] Step S510: From each transmission task, determine the candidate tasks whose expected transmission time is greater than or equal to the time threshold, or which have conflicting arm movement trajectories.
[0137] Step S511: Update the task information of at least a portion of each candidate task to obtain the updated scheduling information of the gantry robot.
[0138] The task information includes at least one of the following: the desired delivery arm or the delivery task execution sequence.
[0139] Step S512: Overlay the expected transmission time of each transmission task under the updated scheduling information, and the expected waiting time of each expected transmission arm during the execution of the transmission task due to the conflict of arm movement trajectory, to determine the expected task cost of the gantry robot under the updated scheduling information.
[0140] Step S513: Determine the target scheduling information with relatively low expected task cost from the updated scheduling information and the initial scheduling information;
[0141] Step S514: If the iteration termination condition is not met, use the target scheduling information as the new initial scheduling information and return to step S510.
[0142] Step S515: If the iteration termination condition is met, the target scheduling information of the current round is determined as the task scheduling result of the gantry robot.
[0143] It should be understood that although the steps in the flowcharts of the above embodiments are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the above embodiments may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages in other steps.
[0144] Based on the same inventive concept, this application also provides a gantry sorting system for implementing the gantry robot task scheduling method described above. The solution provided by this system is similar to the implementation described in the above method; therefore, the specific limitations of one or more gantry sorting system embodiments provided below can be found in the limitations of the gantry robot task scheduling method described above, and will not be repeated here.
[0145] In one embodiment, this application also provides a gantry sorting system, such as Figure 6 As shown, the system includes a roller conveyor 3, a controller (not shown), and a data acquisition device and a gantry robot connected to the controller. The gantry robot includes multiple robotic arms R, with end effectors 6 connected to the ends of the robotic arms R for gripping parts. The roller conveyor 3 is used to transport parts to be transferred. The data acquisition device is used to acquire the position of each of the multiple parts to be transferred on the roller conveyor 3. The controller is used to implement the gantry robot task scheduling method described above to determine the task scheduling result for each robotic arm R in the gantry robot. The gantry robot is used to transfer each part to be transferred according to the task scheduling result.
[0146] The specific limitations regarding the gantry robot task scheduling method are detailed above and will not be repeated here. Roller conveyor 3 is a production line composed of numerous ball-bearing rollers, with both powered and automatic operation, saving significant manpower in factory production and transporting parts from one process to another. Specifically, in this application, roller conveyor 3 is used to transport parts to be conveyed. The data acquisition device refers to a device with information acquisition capabilities, which may include cameras or infrared scanners. In a specific implementation, the data acquisition device is used to locate and identify the parts to be conveyed on the roller conveyor. In practical applications, a light source can also be configured to provide stable and consistent lighting conditions, thereby improving the camera's imaging quality.
[0147] The following describes the working process of the gantry sorting system, using a camera as the acquisition device as an example. The robotic arm R is fixed to the gantry 1, and an end effector 6 is installed at the end of the robotic arm R for gripping parts. Specifically, the controller first calibrates the gantry 1 and the camera, calculates the camera's calibration parameters, establishes the geometric relationship between the gantry coordinate system and the camera coordinate system, then analyzes the nesting diagram, extracts the workpiece shape, process, weight, and other attribute information of the parts to be transferred, and stores it in the database. Next, the controller controls the roller conveyor to transport the cut workpieces (i.e., the parts to be transferred) to the camera's field of view. The camera performs visual positioning of each part to be transferred, calculating the posture and position of each part. Combining the postures and positions, the controller uses the end effector 6 gripping planning algorithm to calculate the gripping posture and position of the parts to be transferred, uses the palletizing planning algorithm to calculate the placement position and posture of the parts to be transferred, and uses the gantry robot task scheduling method described above to determine the task scheduling results for each robotic arm in the gantry robot. Finally, based on the task scheduling results, the controller directs the end effector at the end of the gantry robot's robotic arm to grasp the part to be transferred according to the planned grasping posture and position, and then places the part to be transferred into the corresponding placement position. This placement position could be, for example,... Figure 6 In the material frame 7.
[0148] The aforementioned gantry sorting system, on the one hand, ensures that each part can be grasped and smoothly transported because the position of the parts to be transported is within the range of the desired transport arm. This is achieved through both initial and updated scheduling information. On the other hand, by updating at least one of the desired transport arm or the execution sequence of the transport task, the initial scheduling information is updated. Based on the target scheduling information with the relatively lower expected task cost in both the initial and updated scheduling information, the task scheduling result of the gantry robot is determined. This is equivalent to comparing the expected task costs of various task scheduling methods and selecting the one with the lower expected task cost to determine the task scheduling result, thereby reducing the task cost of the transport task and ensuring a better task scheduling effect. Therefore, the aforementioned gantry sorting system can improve sorting efficiency.
[0149] In one embodiment, such as Figure 7 As shown, the end effector 3 includes an end effector body 31, a gripping mechanism 32, and a collision detection component 33. The end effector body 31 is connected to the robotic arm; the gripping mechanism 32 is connected to the end effector body 31 and is used to grip objects; the collision detection component 33 is connected to the gripping mechanism 32 and is used to detect the collision state between the gripping mechanism 32 and the object when the gripping mechanism 32 grips the object, and to send a collision detection signal based on the collision state.
[0150] Specifically, such as Figure 7As shown, the end effector mainly grasps the object by applying a force perpendicular to it. In this application, the object to be grasped can be a part to be transferred. For example, for a suction cup end effector, its grasping mechanism 32 adopts a suction cup structure. The suction cup establishes a negative pressure on the surface of the object to be grasped to generate a suction force acting perpendicularly to the object. Then, the object to be grasped is lifted by the suction force to achieve the grasping and transfer of the object. During actual grasping, the surface of the object to be grasped may be uneven, with protrusions or burrs. If the end effector directly grasps the object, it is easy for the end effector to collide, triggering an alarm in the sorting system and causing the production line to stop. To avoid the problem of frequent collisions of the end effector, this application adds a collision detection component 33 to the end effector. When the grasping mechanism 32 grasps the object, the collision detection component 33 detects the collision state between the grasping mechanism 32 and the object in real time to determine whether the end effector 800 has collided, thus realizing the collision detection function when the end effector grasps the object. Furthermore, the collision detection component 33 sends a collision detection signal to the sorting system controller based on the collision status. The controller determines whether the end effector has collided based on the collision detection signal and controls whether the end effector's gripping mechanism 32 continues to grip the object to be gripped. Thus, when it is determined that the end effector has collided, it can be controlled to stop pressing down in time to prevent the end effector from being damaged due to frequent collisions caused by problems such as protrusions, slag, or waste on the surface of the object to be gripped. It also avoids the situation where the gantry sorting system triggers an alarm due to the end effector collision, causing the production line to stop, thereby improving production efficiency.
[0151] In one embodiment, the gripping mechanism 32 includes a plurality of gripping components 324. For example... Figure 8 As shown, each gripping component 324 includes a support member 321, a gripping suction cup 322, and an elastic connector 323. The support member 321 has a through hole, and a collision detection component 33 is mounted on the support member 321. The gripping suction cup 322 includes an adsorption side, through which it grips the object to be gripped. The elastic connector 323 is connected to the side of the gripping suction cup 322 away from the adsorption side and passes through the through hole. In a first state, the elastic connector 323 has one end facing away from the gripping suction cup 322 abutting against the upper surface of the support member 321. In a second state, the elastic connector 323 has one end facing away from the gripping suction cup 322 extending outward from the upper surface of the support member 321 along its forward direction.
[0152] The first state can be understood as the natural state, that is, the state in which the elastic connector 323 has not undergone elastic deformation. Specifically, when the end effector is in the non-working state, that is, when it is not grabbing the object to be grabbed, the part of the elastic connector 323 connected to the support 321 is just stuck at the through hole, so that the elastic connector 323 will not fall off. The second state can be understood as the state in which the elastic connector 323 undergoes elastic deformation. When the end effector is in working state, that is, when it is grasping the object to be grasped, the robotic arm drives the end effector to move in the opposite direction of the positive direction, that is, controls the end effector to press down so as to grasp the object to be grasped through the suction side of the gripping suction cup 322. During this process, after the suction side of the gripping suction cup 322 contacts the surface of the object to be grasped, if the end effector continues to press down, the object to be grasped will generate a reaction force on the gripping suction cup 322. Under the influence of the reaction force, the elastic connector 323 undergoes elastic deformation. Under the action of the elastic force, the part of the elastic connector 323 connected to the support member 321 can extend out of the upper surface of the support member 321 in the positive direction. Then, the collision detection component 33 provided on the upper surface of the support member 321 detects the extension height of the elastic connector 323, thereby realizing the detection of the collision state between the gripping component 324 and the object to be grasped.
[0153] In some embodiments, such as Figure 9 As shown, the collision detection component 33 includes a light emitter 331 and a light receiver 332. The light emitter 331 is disposed at the first end of the support member 321, and there is a preset height between the light emitter 331 and the support member 321, for emitting light signals. The light receiver 332 is disposed at the second end of the support member 321, and the light receiver 332 is disposed opposite to the light emitter 331, and there is a preset height between the light receiver 332 and the support member 331, for receiving light signals. A through hole is disposed between the light emitter 331 and the light receiver 332. When the elastic connector 323 extends beyond the upper surface of the support member 321 to the preset height, the light receiver 332 sends a collision detection signal.
[0154] The preset height can be an empirically set value. At this preset height, if the extension height of the elastic connector 323 beyond the upper surface of the support 321 does not reach the preset height, it indicates that the end effector has not collided and is working normally. If the extension height of the elastic connector 323 beyond the upper surface of the support 321 reaches the preset height, it indicates that the end effector has collided.
[0155] Specifically, in this embodiment, a through-beam laser photoelectric sensor is used to construct the collision detection component 33 in order to detect the collision of the end effector. In practical applications, the robotic arm drives the end effector to move in the opposite direction to the forward direction, i.e., controlling the end effector to press down. After the gripping suction cup 322 contacts the object to be gripped, the end effector continues to press down. At this time, the object to be gripped will generate a reaction force on the gripping suction cup 322. Under the influence of the reaction force, the elastic connector 323 undergoes elastic deformation. Under the action of the elastic force, the part of the elastic connector 323 connected to the support member 321 extends out of the upper surface of the support member 321 in the forward direction. If the extension height of the elastic connector 323 out of the upper surface of the support member 321 does not reach the preset height, it means that under the current situation, the end effector does not collide with the object to be gripped, and will not cause damage to the gripping mechanism 32. Also, the elastic connector 323 does not block the light signal emitted by the light transmitter 331 after extending out of the upper surface of the support member 321. Therefore, the light receiver 332 can receive the light signal emitted by the light transmitter 331. At this time, the light receiver 33... 2. A collision detection signal is sent to the sorting system controller. The controller can determine from the collision detection signal that the gripping mechanism 32 has not collided and can continue to control the end effector to work. If the extension height of the elastic connector 323 from the upper surface of the support 321 reaches the preset height, it indicates that the end effector is colliding with the object to be gripped, which may easily damage the gripping mechanism 32. Also, the elastic connector 323 blocks the light signal emitted by the light transmitter 331, so that the light receiver 332 cannot receive the light signal emitted by the light transmitter 331. At this time, the light receiver 332 sends a collision detection signal to the sorting system controller. The controller can determine from the collision detection signal that the gripping mechanism 32 has collided. Therefore, in order to prevent the sorting system from triggering an alarm due to the end effector collision and causing the production line to stop, the controller controls the end effector to stop pressing down, thereby effectively avoiding the problem of the end effector being damaged due to frequent collisions.
[0156] In a specific embodiment, such as Figure 9 As shown, the collision detection assembly 33 also includes a first fixed base 333 and a second fixed base 334. The first fixed base 333 includes a first connecting portion 3330 and a second connecting portion 3331. The first fixed base 333 is connected to the first end of the support member 321 via the first connecting portion 3330, and is connected to the robotic arm of the gantry robot via the second connecting portion 3331. The second fixed base 334 includes a third connecting portion 3340 and a fourth connecting portion 3341. The second fixed base 334 is connected to the second end of the support member 321 via the third connecting portion 3340, and is connected to the end effector body 31 via the fourth connecting portion 3341.
[0157] In a specific embodiment, such as Figure 8As shown, the elastic connector 323 includes a screw 3230 and a spring 3231. The screw 3230 is connected to the side of the gripping suction cup 322 away from the suction side and passes through a through hole. The spring 3231 is located on the side opposite to the upper surface of the support member 321 and is sleeved on the screw 3230. In a first state, the end of the screw 3230 facing away from the gripping suction cup 322 abuts against the upper surface of the support member 321. In a second state, the end of the screw 3230 facing away from the gripping suction cup 322 can extend out of the upper surface of the support member 321 along the positive direction of the support member 321.
[0158] In a specific embodiment, such as Figure 8 As shown, there are multiple through holes, multiple gripping suction cups 322, and multiple elastic connectors 323.
[0159] In one specific embodiment, the collision detection component 33 includes a plurality of trigger switches. The plurality of trigger switches are all located on one side near the upper surface of the support member 321 and are respectively disposed opposite to each elastic connector 323, and each trigger switch has a preset height between itself and the support member 321.
[0160] Based on the same inventive concept, this application also provides a gantry robot task scheduling device for implementing the gantry robot task scheduling method described above. The solution provided by this device is similar to the solution described in the above method; therefore, the specific limitations in one or more embodiments of the gantry robot task scheduling device provided below can be found in the limitations of the gantry robot task scheduling method described above, and will not be repeated here.
[0161] In one embodiment, such as Figure 10 As shown, a gantry robot task scheduling device is provided, comprising: an acquisition module 1001, an initial scheduling module 1002, a scheduling information update module 1003, and a scheduling result determination module 1004, wherein:
[0162] The acquisition module 1001 is used to acquire the position of each of the multiple parts to be transferred of the gantry robot and to determine the range of motion of each of the multiple robotic arms contained in the gantry robot.
[0163] The initial scheduling module 1002 is used to determine the desired transfer arm for each part to be transferred from each robotic arm, and obtain the initial scheduling information of the gantry robot; the position of the part to be transferred is covered by the range of motion of the desired transfer arm of the part to be transferred.
[0164] The scheduling information update module 1003 is used to update the task information of at least a portion of the parts to be transferred, so as to obtain the updated scheduling information of the gantry robot; the task information includes at least one of the expected transfer arm or the execution order of the transfer task.
[0165] The scheduling result determination module 1004 is used to determine the target scheduling information with relatively small expected task cost from the updated scheduling information and the initial scheduling information, and to determine the task scheduling result of the gantry robot based on the target scheduling information.
[0166] In one embodiment, the initial scheduling module 1002 includes: a desired transfer arm determination unit, configured to determine the desired transfer arm for each part to be transferred from each robotic arm; a task sorting unit, configured to sort the transfer tasks of each desired transfer arm to obtain the initial task queue of the desired transfer arm; and an initial scheduling information determination unit, configured to determine initial scheduling information containing the initial task queues of each desired transfer arm.
[0167] In one embodiment, the gantry robot task scheduling device further includes a placement position determination module for determining the placement position of each part to be transferred. In this embodiment, the desired transfer arm determination unit is used to: for each part to be transferred, determine, from among the robotic arms, a candidate robotic arm whose range of motion covers the part position and placement position of the part to be transferred; if there is only one candidate robotic arm, then determine the candidate robotic arm as the desired transfer arm for the part to be transferred; if there are multiple candidate robotic arms, then determine one of the candidate robotic arms as the desired transfer arm for the part to be transferred.
[0168] In one embodiment, the desired transfer arm determination unit is further configured to: if there is no candidate robotic arm corresponding to the part to be transferred among the robotic arms, divide the desired transfer trajectory of the part to be transferred into multiple sub-trajectories according to each activity range; the desired transfer trajectory refers to the transfer trajectory from the part position to the placement position; and determine the robotic arm corresponding to the activity range of each sub-trajectory as the desired transfer arm of the part to be transferred.
[0169] In one embodiment, the task sorting unit is specifically used to: for each desired transfer arm, determine the desired transfer trajectory of each part to be transferred by the desired transfer arm; and sort the transfer tasks according to the trajectory length of each desired transfer trajectory to obtain the initial task queue of the desired transfer arm.
[0170] In one embodiment, the gantry robot task scheduling device further includes: a task queue determination module, used to determine the task queue for each desired transfer arm under the candidate scheduling information; the task queue includes transfer tasks for at least one part to be transferred; the candidate scheduling information includes initial scheduling information and updated scheduling information; a start and end position determination module, used to determine the start and end positions of each transfer task based on the order of each transfer task in its respective task queue; an expected transfer duration determination module, used to determine the expected transfer duration for each transfer task based on the task path between the start and end positions of the transfer task; an expected waiting time determination module, used to determine the expected waiting time caused by the conflict of arm movement trajectories based on the expected movement trajectory of each desired transfer arm during the execution of the transfer task; and an expected task cost determination module, used to superimpose each expected transfer duration and each expected waiting time to determine the expected task cost of the gantry robot under the candidate scheduling information.
[0171] In one embodiment, the expected transmission duration determination module is specifically used to: determine the task path between the task start position and the task end position for each transmission task; discretize the task path according to a set step size to obtain the step size number of the transmission task; and determine the expected transmission duration that is positively correlated with the step size number.
[0172] In one embodiment, the expected transmission duration determination module is specifically used to: determine the task path between the task start position and the task end position for each transmission task; and determine the expected transmission duration of the transmission task based on the path length and path type of the task path.
[0173] In one embodiment, the expected waiting time determination module is specifically used to: determine the distance information between adjacent expected transmission arms based on the expected movement trajectory of each expected transmission arm during the execution of the transmission task; the distance information includes the arm distances corresponding to multiple time nodes respectively; and determine the expected waiting time caused by the conflict of arm movement trajectories based on the number of time nodes in the distance information that meet the trajectory conflict conditions; the expected waiting time is positively correlated with the number of time nodes.
[0174] In one embodiment, the scheduling information update module 1003 is specifically used to: determine candidate tasks from each transmission task whose expected transmission time is greater than or equal to a time threshold, or which have conflicting arm movement trajectories; and perform task information update processing on at least a portion of each candidate task to obtain updated scheduling information for the gantry robot.
[0175] In one embodiment, the scheduling result determination module 1004 is specifically used to: take the target scheduling information as the new initial scheduling information, and return to the step of updating the task information of at least a portion of the parts to be transferred to obtain the updated scheduling information of the gantry robot, and perform the next round of update iteration; if the iteration end condition is met, determine the target scheduling information of the current round as the task scheduling result of the gantry robot.
[0176] Each module in the aforementioned gantry robot task scheduling device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in a computer device, or stored in the memory of a computer device as software, so that the processor can call and execute the operations corresponding to each module.
[0177] In one embodiment, a computer device is provided, which may be a terminal, and its internal structure diagram may be as follows: Figure 11 As shown, the computer device includes a processor, memory, input / output interface, communication interface, display unit, and input device. The processor, memory, and input / output interface are connected via a system bus, and the communication interface, display unit, and input device are also connected to the system bus via the input / output interface. The processor provides computational and control capabilities. The memory includes a non-volatile storage medium and internal memory. The non-volatile storage medium stores the operating system and computer programs. The internal memory provides an environment for the operation of the operating system and computer programs stored in the non-volatile storage medium. The input / output interface is used for exchanging information between the processor and external devices. The communication interface is used for wired or wireless communication with external terminals; wireless communication can be achieved through Wi-Fi, mobile cellular networks, NFC (Near Field Communication), or other technologies. When the computer program is executed by the processor, it implements a gantry robot task scheduling method. The display unit of the computer device is used to form a visually visible image. It can be a display screen, a projection device, or a virtual reality imaging device. The display screen can be an LCD screen or an e-ink screen. The input device of the computer device can be a touch layer covering the display screen, or buttons, trackballs, or touchpads set on the casing of the computer device, or external keyboards, touchpads, or mice, etc.
[0178] Those skilled in the art will understand that Figure 11 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.
[0179] In one embodiment, a computer device is also provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps in the above method embodiments.
[0180] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon that, when executed by a processor, implements the steps in the above method embodiments.
[0181] In one embodiment, a computer program product is provided, including a computer program that, when executed by a processor, implements the steps in the above method embodiments.
[0182] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. This computer program can be stored in a non-volatile computer-readable storage medium. When executed, the computer program can include the processes of the embodiments of the above methods. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, etc., and are not limited to these.
[0183] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0184] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this patent application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.
Claims
1. A task scheduling method for a gantry robot, characterized in that, The method includes: The positions of the multiple parts to be transferred in the gantry robot are obtained, and the range of motion of the multiple robotic arms included in the gantry robot is determined. From each of the robotic arms, the desired transfer arm for each part to be transferred is determined to obtain the initial scheduling information of the gantry robot; the position of the part to be transferred is covered by the range of motion of the desired transfer arm of the part to be transferred. At least a portion of the parts to be transferred are processed for task information update to obtain the updated scheduling information of the gantry robot; the task information includes at least one of the desired transfer arm or the execution order of the transfer task. From the updated scheduling information and the initial scheduling information, a target scheduling information with a relatively low expected task cost is determined, and the task scheduling result of the gantry robot is determined based on the target scheduling information.
2. The method according to claim 1, characterized in that, The method further includes: Determine the placement position of each of the parts to be transferred; The step of determining the desired transfer arm for each of the robotic arms for the part to be transferred includes: For each of the parts to be transferred, a candidate robotic arm whose range of motion covers the part position and placement position of the part to be transferred is determined from each of the robotic arms. If the number of candidate robotic arms is one, then the candidate robotic arm is determined as the desired transfer arm for the part to be transferred. If there are multiple candidate robotic arms, then one of the candidate robotic arms will be selected as the desired transfer arm for the part to be transferred.
3. The method according to claim 1, characterized in that, The method further includes: Determine the task queue for each of the desired transfer arms under the candidate scheduling information; the task queue includes transfer tasks for at least one part to be transferred; the candidate scheduling information includes the initial scheduling information and the updated scheduling information; Based on the order of each transmission task in its respective task queue, determine the task start position and task end position of each transmission task. For each of the aforementioned transmission tasks, the expected transmission duration of the transmission task is determined based on the task path between the task start position and the task end position. Based on the expected movement trajectory of each of the desired transmission arms during the transmission task execution process, determine the expected waiting time caused by the conflict of arm movement trajectories; By superimposing the expected transmission time and the expected waiting time, the expected task cost of the gantry robot under the candidate scheduling information is determined.
4. The method according to claim 3, characterized in that, For each of the transmission tasks, determining the expected transmission duration of the transmission task based on the task path between the task's start and end positions includes: For each of the aforementioned transmission tasks, a task path is determined between the task start position and the task end position. The task path is discretized according to a set step size to obtain the number of steps for the transmission task. Determine the expected transmission time that is positively correlated with the number of steps.
5. The method according to claim 3, characterized in that, For each of the transmission tasks, determining the expected transmission duration of the transmission task based on the task path between the task's start and end positions includes: For each of the aforementioned transmission tasks, a task path is determined between the task start position and the task end position. Based on the path length and path type of the task path, the expected transmission time of the transmission task is determined.
6. The method according to claim 3, characterized in that, The step of determining the expected waiting time caused by the conflict of arm movement trajectories based on the expected movement trajectories of each of the expected transmission arms during the execution of the transmission task includes: Based on the expected movement trajectory of each of the expected transmission arms during the transmission task execution process, the distance information between adjacent expected transmission arms is determined; the distance information includes the arm distance corresponding to multiple time points respectively; Based on the number of time points in the distance information that meet the trajectory conflict conditions, the expected waiting time caused by the arm movement trajectory conflict is determined; the expected waiting time is positively correlated with the number of time points.
7. The method according to any one of claims 1 to 6, characterized in that, Determining the task scheduling result of the gantry robot based on the target scheduling information includes: The target scheduling information is used as the new initial scheduling information, and the step of updating the task information of at least a portion of the parts to be transferred is returned to obtain the updated scheduling information of the gantry robot, and the next round of update iteration is performed. If the iteration termination condition is met, the target scheduling information of the current round is determined as the task scheduling result of the gantry robot.
8. A task scheduling device for a gantry robot, characterized in that, The device includes: The acquisition module is used to acquire the position of each of the multiple parts to be transferred of the gantry robot and to determine the range of motion of each of the multiple robotic arms included in the gantry robot. The initial scheduling module is used to determine the desired delivery arm for each part to be delivered from each of the robotic arms, and obtain the initial scheduling information of the gantry robot; the position of the part to be delivered is covered by the range of motion of the desired delivery arm of the part to be delivered. The scheduling information update module is used to update the task information of at least a portion of the parts to be transferred, so as to obtain the updated scheduling information of the gantry robot; the task information includes at least one of the desired transfer arm or the execution order of the transfer task. The scheduling result determination module is used to determine the target scheduling information with a relatively small expected task cost from the updated scheduling information and the initial scheduling information, and to determine the task scheduling result of the gantry robot based on the target scheduling information.
9. A truss sorting system, characterized in that, The system includes a roller conveyor, a controller, and a data acquisition device and a gantry robot connected to the controller; the gantry robot includes multiple robotic arms; the ends of the robotic arms are connected to end effectors for grasping parts; The roller conveyor is used to transport parts to be conveyed. The acquisition device is used to acquire the position of each of the multiple parts to be conveyed on the roller conveyor line. The controller is configured to implement the method as described in any one of claims 1 to 7, to determine the task scheduling results for each of the robotic arms in the gantry robot; The gantry robot is used to transport each of the parts to be transported according to the task scheduling results.
10. A computer device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that, When the processor executes the computer program, it implements the steps of the method according to any one of claims 1 to 7.
Citation Information
Patent Citations
Intelligent production line scheduling system
CN110606344A
Truss robot and track planning method and device thereof
CN115431276A