Partitioned robot arm collaboration method under non-real-time system
By partitioning and managing the movement trajectory of the robotic arm, the problem of low efficiency in multi-robotic arm collaborative control under a non-real-time operating system is solved, and efficient and safe multi-robotic arm collaborative control is achieved.
Patent Information
- Application Number
- CN202411312741.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-20
- Publication Date
- 2025-11-21
- Estimated Expiration
- 2044-09-20
AI Technical Summary
In non-real-time operating systems, real-time position feedback cannot be achieved when multiple robotic arms are controlled collaboratively, resulting in low control efficiency and requiring a large amount of manpower. Existing technologies generally only target the step-by-step control of a single robotic arm when it is stationary.
By partitioning the robotic arm's motion trajectory and combining it with the position query of the robotic arm's stopped state, a partitioned control method is adopted, including the management of safe and critical areas, to achieve collaborative control of multiple robotic arms.
It improves the operational efficiency and automation of robotic arms, reduces human labor input, ensures the flexibility and safety of multi-robotic arm collaboration, avoids collisions, and improves the overall operating efficiency of the system.
Smart Images

Figure CN118906062B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application belongs to the technical field of mechanical arm control, and particularly relates to a partitioned mechanical arm cooperation method under a non-real-time system. BACKGROUND
[0002] For a non-real-time operating system such as an Android system, when processing the cooperative control of multiple mechanical arms, path planning cannot be performed according to real-time position feedback. During the movement of a mechanical arm, the position is queried, and when the system processes data, a long time may have passed, and the time is not fixed. At this time, the position data has become invalid. Only when the mechanical arm is in a stopped state, the query position is valid. Therefore, the current control of a mechanical arm of a non-real-time operating system is generally only for a single mechanical arm, and the control is performed step by step when the mechanical arm is in a stopped state. The operation efficiency is low, and a large amount of manpower is consumed. SUMMARY
[0003] In view of the deficiencies in the prior art, the present application aims to provide a partitioned mechanical arm cooperation method under a non-real-time system. Through the advance partitioned planning of the movement trajectory of a mechanical arm, combined with the position query when the mechanical arm is in a stopped state, the cooperative control of multiple mechanical arms is realized, the operation efficiency of the mechanical arm is improved, the degree of automation is high, and manpower is saved.
[0004] In order to achieve the above-mentioned purpose, the present application provides a partitioned mechanical arm cooperation method under a non-real-time system, comprising the following steps:
[0005] S1: dividing the area in the preset range of the initial position of a mechanical arm into a safe area, and dividing a critical area between adjacent safe areas, wherein the critical area is separated from the safe area by a first safety distance;
[0006] S2: obtaining a next instruction;
[0007] S3: determining whether the instruction is a mechanical arm action instruction. If yes, continue with the subsequent steps, otherwise return to step S2;
[0008] S4: determining whether the target path of the mechanical arm overlaps with the safe area of an adjacent mechanical arm. If yes, a first control instruction is sent to make the control system enter a planning control mode, all the mechanical arms run according to a first control scheme, and step S6 is performed. Otherwise, step S5 is performed.
[0009] S5: determining whether the control system is in the planning control mode and whether there is at least one target path of the mechanical arm overlapping with the safe area of the adjacent mechanical arm. If yes, step S6 is performed. Otherwise, step S7 is performed.
[0010] S6: selecting the first control scheme to run the robot motion instruction, and returning to step S2;
[0011] S7: determining whether the control system is in the planning control mode and whether there is any target path of the robot overlapping with the safety zone of the adjacent robot, and if so, sending a second control instruction to make the control system exit the planning control mode, and proceeding to step S8; otherwise, directly proceeding to step S8;
[0012] S8: determining whether the target path of the robot overlaps with the critical zone, and if so, selecting a second control scheme to run the robot motion instruction, and proceeding to step S10; otherwise, proceeding to step S9;
[0013] S9: directly running the robot motion instruction, and returning to step S2;
[0014] S10: the robot requesting the use right of the critical zone;
[0015] S11: determining whether the critical zone is idle; if so, allocating the use right of the critical zone to the robot; if already occupied, the robot queuing and waiting, and after the critical zone is unoccupied and idle, the robot obtaining the use right of the critical zone;
[0016] S12: executing the robot motion instruction, and after the robot executing the robot motion instruction, the robot exiting the critical zone, notifying that the critical zone is idle, and returning to the safety zone of the robot; and returning to step S2.
[0017] As an implementation mode, the first control scheme comprises the following steps:
[0018] S41: the robot currently obtaining planning permission, and determining whether the robot currently obtaining planning permission is successful, and if so, continuing the following steps, otherwise, repeating step S41;
[0019] S42: taking the robot obtaining the planning permission as a first target robot;
[0020] S43: determining whether the target path of the first target robot overlaps with the target path of other robots adjacent thereto; if not, planning the target path and target task of the first target robot, and returning to step S2 after executing the target path and the target task; if so, taking the other robot having the overlapping part as a second target robot, and directly continuing step S44; the target path comprising a moving track from a starting position to a target position;
[0021] S44: judging whether the second target robot arm is in a planning incomplete state, and continuing the following steps after the second target robot arm is in a state of releasing the planning incomplete state;
[0022] S45: judging whether a target path of the second target robot arm causes an obstacle to the first target robot arm; if yes, performing an obstacle avoidance operation on the second target robot arm and then continuing step S46; otherwise, directly continuing step S46;
[0023] S46: planning the target path and the target task of the first target robot arm;
[0024] S47: adjusting a moving speed of the first target robot arm, and then performing the target path and the target task, and returning to step S2.
[0025] As an implementation form, the preset rule is applied to a plurality of threads that are synchronously executed.
[0026] As an implementation form, the overlapping part includes an overlapping part of the moving track of the different robot arms plus a second safety distance range outside the moving track.
[0027] As an implementation form, the step S44 further includes steps of:
[0028] S441: judging whether the second target robot arm is in a planning incomplete state; if yes, indicating that there is another thread, and then performing step S442; otherwise, directly performing step S45;
[0029] S442: setting the first target robot arm to be in a planning incomplete state, releasing the planning right, and entering a waiting state;
[0030] S443: after the second target robot arm releases the planning incomplete state in the other thread, waking up the first target robot arm, and the first target robot arm reacquires the planning right.
[0031] As an implementation form, the step S45 further includes steps of:
[0032] S451: judging whether a target path of the second target robot arm causes an obstacle to the first target robot arm; if yes, performing step S452; otherwise, directly performing step S46;
[0033] S442: inserting an obstacle avoidance moving instruction into the second target robot arm, setting the first target robot arm to be in a planning incomplete state, and releasing the planning right; the robot action instruction includes the obstacle avoidance moving instruction;
[0034] S443: the first target robot arm enters a waiting state;
[0035] S444: the second target robot arm wakes up the first target robot arm when starting to execute the obstacle avoidance movement instruction, the first target robot arm reacquires the planning permission, and step S46 is continued.
[0036] As an implementation form, whether the target path of the second target robot arm causes an obstruction to the first target robot arm is determined according to the moving direction of the first target robot arm and the second target robot arm, the start position and the target position of the target path.
[0037] As an implementation form, when the first target robot arm and the second target robot arm move in the same direction, and when the start position of the second target robot arm is located on the target path of the first target robot arm, and the target position of the second target robot arm is located on the target path of the first target robot arm; it is determined that the target path of the second target robot arm causes an obstruction to the first target robot arm.
[0038] As an implementation form, when the first target robot arm and the second target robot arm move towards each other, and when the target position of the second target robot arm is located on or passes through the target path of the first target robot arm; it is determined that the target path of the second target robot arm causes an obstruction to the first target robot arm.
[0039] As an implementation form, when the first target robot arm and the second target robot arm move towards each other or in the same direction, and the start position of the first target robot arm is located on the target path of the second target robot arm; an exception is reported.
[0040] The present application has the following beneficial effects due to the adoption of the above technical solutions:
[0041] In the present application, the mechanical arm is controlled by presetting the partitions and according to the overlapping state of the target path and each partition; in some control schemes, the control of the mechanical arm is simplified, the control efficiency of the mechanical arm is improved; the control of the multiple mechanical arms is more flexible, the efficiency of the mechanical arm in executing tasks can be effectively improved, and the operation safety and stability are stronger. By planning the entry and exit of the control mode, when there is an overlap between the target path of the mechanical arm and the safety area of the adjacent mechanical arm, the planning of the mechanical arm will not hinder the mechanical arm of other control schemes, ensuring the effectiveness of the mechanical arm planning and task execution. When the second control scheme is selected to run the mechanical arm action instruction, the mechanical arm requests the use right of the critical area, and notifies the critical area that it is idle after exiting the critical area, which can ensure that there is only one mechanical arm moving and executing tasks in the critical area, prevent the collision between the mechanical arms, and ensure the effectiveness of the mechanical arm path planning and task execution. When the first control scheme is selected to run the mechanical arm action instruction, by judging whether the target path of the current target mechanical arm overlaps with the target path of the remaining mechanical arms except the last target mechanical arm, and then transferring the right and avoiding obstacles, the collision between the mechanical arms can be effectively prevented, and the effective operation of each mechanical arm is ensured. The overlap part includes the overlapping part of the moving track of different mechanical arms plus the second safety distance range outside the moving track, which can effectively ensure that the collision between the mechanical arms will not occur. The mechanical arm cooperation method of the present application can be applied to several synchronous execution threads, and one or more threads can simultaneously execute the mechanical arm cooperation method of the first control scheme. When the target path of the second target mechanical arm hinders the first target mechanical arm, the second target mechanical arm is inserted with an obstacle avoidance moving instruction, so that the second target mechanical arm can perform the steps of the method in a new thread and perform obstacle avoidance operation. In the case of multiple mechanical arms, the adjacent mechanical arms can be judged and avoided in a diffusive manner, while the program complexity of a single thread is reduced, and the overall operation efficiency of the system is improved. In the present application, an error reporting mechanism is provided, which can report errors in time when planning errors are found, ensuring the safety and effectiveness of path planning. BRIEF DESCRIPTION OF DRAWINGS
[0042] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings needed in the embodiment description will be briefly introduced. Obviously, the drawings in the following description are only some embodiments of the present application, and other drawings can be obtained by those skilled in the art without creating labor.
[0043] Figure 1 The total flowchart of the partitioned mechanical arm cooperation method in the non-real-time system of the embodiments of the present application;
[0044] Figure 2A partition structure schematic diagram of an embodiment of the present application;
[0045] Figure 3 A flow chart of a first control scheme of an embodiment of the present application;
[0046] Figure 4 A mechanical arm target path non-overlapping state schematic diagram of a first control scheme of an embodiment of the present application;
[0047] Figures 5-6 A mechanical arm target path overlapping and same direction moving state schematic diagram of a first control scheme of an embodiment of the present application;
[0048] Figures 7-8 A mechanical arm target path overlapping and opposite direction moving state schematic diagram of a first control scheme of an embodiment of the present application;
[0049] Figure 9 A mechanical arm target path overlapping and opposite direction moving error state schematic diagram of a first control scheme of an embodiment of the present application;
[0050] BRIEF DESCRIPTION OF DRAWINGS
[0051] 1-safety area;
[0052] 2-critical area. DETAILED DESCRIPTION
[0053] The technical solutions in the embodiments of the present application will be described clearly and completely below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative work fall within the scope of protection of the present application.
[0054] In the description of the present application, it should be noted that the terms “up”, “down”, “left”, “right”, “center”, “vertical”, “horizontal”, “inner”, “outer” and the like indicate the orientation or positional relationship based on the orientation or positional relationship shown in the drawings, and are only for the convenience of describing the present application and simplifying the description, and therefore cannot be understood as indicating or implying that the devices or elements referred to must have a particular orientation, be constructed and operated in a particular orientation, and therefore cannot be understood as limiting the present application. In addition, the terms “first”, “second”, “third” and the like are only for the purpose of description and cannot be understood as indicating or implying relative importance.
[0055] In the description of the present application, it should be noted that unless otherwise explicitly specified and limited, the terms "mounting", "arrangement", "connection", "connection" and the like should be broadly understood, for example, "connection" can be fixed connection, or detachable connection, or integrally connected; can be mechanical connection, or electrical connection; can be direct connection, or indirect connection through intermediate medium, or internal communication of two elements. For those skilled in the art, the specific meaning of the above terms in the present application can be understood according to the specific circumstances.
[0056] Embodiment 1
[0057] Please refer to Figure 1 and Figure 2 , a partitioned mechanical arm cooperation method in a non-real-time system according to an embodiment of the present application is suitable for mechanical arms arranged along a linear track, and the mechanical arms need to obtain the planning permission before performing the target path planning; comprising the steps of:
[0058] S1: dividing the area in the preset range of the initial position of the mechanical arm into a safe area 1, and dividing a critical area 2 between adjacent safe areas 1, the critical area 2 being separated from the safe area 1 by a first safety distance a;
[0059] The safe area 1 is an area where the mechanical arm can move freely, and one safe area 1 corresponds to one mechanical arm.
[0060] The critical area 2 is an area where two adjacent mechanical arms need to cooperate to handle tasks, and only one mechanical arm is allowed in the area at the same time.
[0061] The first safety distance a is the minimum distance between the safe area 1 and the adjacent critical area 2, which ensures that even if there are mechanical arms on the boundaries of the safe area 1 and the critical area 2, no collision will occur.
[0062] S2: obtaining the next instruction;
[0063] S3: determining whether the instruction is a mechanical arm action instruction, if yes, continuing the subsequent steps, otherwise returning to step S2;
[0064] S4: determining whether the target path of the mechanical arm overlaps with the safe area 1 of the adjacent mechanical arm, if yes, sending a first control instruction to make the control system enter a planning control mode, and all the mechanical arms operate according to a first control scheme to perform step S6; otherwise, performing step S5;
[0065] S5: determining whether the control system is in the planning control mode and whether there is at least one target path of the mechanical arm overlapping with the safe area 1 of the adjacent mechanical arm, if yes, performing step S6; otherwise, performing step S7;
[0066] S6: selecting the first control scheme to run the robot arm action instruction, and returning to step S2;
[0067] S7: judging whether the control system is in the planning control mode and whether there is any target path of the robot arm overlapping with the safety area 1 of the adjacent robot arm, and if so, sending a second control instruction to make the control system exit the planning control mode, and proceeding to step S8; otherwise, directly proceeding to step S8;
[0068] S8: judging whether the target path of the robot arm overlaps with the critical area 2, and if so, selecting a second control scheme to run the robot arm action instruction, and proceeding to step S10; otherwise, proceeding to step S9;
[0069] S9: directly running the robot arm action instruction, and returning to step S2;
[0070] S10: the robot arm requesting the use right of the critical area 2;
[0071] S11: judging whether the critical area 2 is idle; if so, allocating the use right of the critical area 2 to the robot arm; if not, the robot arm queuing and waiting, and the robot arm obtaining the use right of the critical area 2 after the critical area 2 is unoccupied and idle;
[0072] S12: executing the robot arm action instruction, and the robot arm exiting the critical area 2 after executing the robot arm action instruction, notifying that the critical area 2 is idle, and returning to the safety area 1 of itself; and returning to step S2.
[0073] In the embodiment, different preset control schemes are used to control the robot arm according to the overlapping state of the target path and each partition by presetting partitions; some control schemes simplify the control of the robot arm, improve the control efficiency of the robot arm; the control of multiple robot arms is more flexible, which can effectively improve the efficiency of the robot arm in executing tasks, and the running safety and stability are stronger. By entering and exiting the planning control mode, it is ensured that when there is a target path of the robot arm overlapping with the safety area 1 of the adjacent robot arm, the planning of the robot arm will not hinder other control schemes of the robot arm, and the effectiveness of the robot arm planning and task execution is ensured. When the second control scheme is selected to run the robot arm action instruction, the robot arm requests the use right of the critical area 2, and notifies that the critical area 2 is idle after exiting the critical area 2, which can ensure that there is only one robot arm moving and executing tasks in the critical area 2, prevent the collision between robot arms, and ensure the effectiveness of the robot arm path planning and task execution.
[0074] For example, the partitioned mechanical arm cooperation method in a non-real-time system according to the embodiment one of the present application, when applied to a system with a first mechanical arm and a second mechanical arm, can specifically include the following steps:
[0075] S1: dividing the area in the preset range where the initial position of the mechanical arm is located into a safety area 1, and dividing a critical area 2 between adjacent safety areas 1, wherein the critical area 2 is separated from the safety area 1 by a first safety distance a;
[0076] S2: obtaining a next instruction;
[0077] S3: judging whether the instruction is a mechanical arm action instruction, if yes, continuing with the following steps, otherwise returning to step S2;
[0078] S4: judging whether the target path of the first mechanical arm overlaps with the safety area 1 of the adjacent second mechanical arm, and if there is no overlap in the embodiment, step S5 is performed;
[0079] S5: judging whether the control system is in the planning control mode and there is at least one target path of the mechanical arm overlapping with the safety area 1 of the adjacent mechanical arm, and if there is no overlap, step S7 is performed;
[0080] S7: judging whether the control system is in the planning control mode and there is no target path of any mechanical arm overlapping with the safety area 1 of the adjacent mechanical arm, and if no, step S8 is performed;
[0081] S8: judging whether the target path of the first mechanical arm overlaps with the adjacent critical area 2, and if yes in the embodiment, a second control scheme is selected to run the mechanical arm action instruction, and step S10 is performed;
[0082] S10: the first mechanical arm requests the use right of the critical area 2;
[0083] S11: judging whether the critical area 2 is idle; in the embodiment, the critical area 2 is occupied by the second mechanical arm, the first mechanical arm is queued, and the first mechanical arm obtains the use right of the critical area 2 after the critical area 2 is idle;
[0084] S12: the first mechanical arm executes the mechanical arm action instruction, the first mechanical arm exits the critical area 2 after executing the mechanical arm action instruction, notifies that the critical area 2 is idle, and returns to the safety area 1 of itself; and returning to step S2.
[0085] Embodiment 2
[0086] Please refer to Figures 1-9The embodiment two of the application is a partitioned mechanical arm cooperation method in a non-real-time system, and the steps are basically the same as those of the embodiment one, and the difference lies in that the first control scheme comprises the following steps:
[0087] S41: The current mechanical arm acquires planning permission, and it is judged whether the current mechanical arm acquires planning permission successfully, if yes, the subsequent steps are continued, otherwise, step S41 is repeated;
[0088] S42: The mechanical arm obtaining the planning permission is taken as a first target mechanical arm;
[0089] S43: It is judged whether the target path of the first target mechanical arm overlaps with the target path of other adjacent mechanical arms, if no, the target path and target task of the first target mechanical arm are planned, and after the target path and the target task are executed, step S2 is returned; if yes, the other mechanical arms having the overlapping part are taken as second target mechanical arms, and step S44 is directly continued; the target path comprises a moving track from a starting position to a target position;
[0090] S44: It is judged whether the second target mechanical arm is in a planning incomplete state, and after the second target mechanical arm is in a state of releasing the planning incomplete state, the subsequent steps are continued;
[0091] The S44 step further comprises the following steps:
[0092] S441: It is judged whether the second target mechanical arm is in a planning incomplete state, if yes, it indicates that there are other threads, and step S442 is performed; otherwise, step S45 is directly performed;
[0093] S442: The first target mechanical arm is set to be in a planning incomplete state, the planning permission is released, and the first target mechanical arm is put into waiting;
[0094] S443: After the second target mechanical arm releases the planning incomplete state in the other threads, the first target mechanical arm is awakened, and the first target mechanical arm reacquires the planning permission.
[0095] S45: It is judged whether the target path of the second target mechanical arm causes an obstacle to the first target mechanical arm; if yes, the second target mechanical arm is subjected to an obstacle avoidance operation, and step S46 is continued; otherwise, step S46 is directly continued;
[0096] The S45 step further comprises the following steps:
[0097] S451: It is judged whether the target path of the second target mechanical arm causes an obstacle to the first target mechanical arm; if yes, step S452 is performed; otherwise, step S46 is directly performed;
[0098] S442: insert an obstacle avoidance movement instruction into the second target robot arm, set the first target robot arm to a planning unfinished state, and release the planning permission; the robot arm action instruction comprises the obstacle avoidance movement instruction;
[0099] S443: the first target robot arm enters a waiting state;
[0100] S444: the second target robot arm wakes up the first target robot arm when starting to execute the obstacle avoidance movement instruction, the first target robot arm reacquires the planning permission, and continues step S46.
[0101] S46: plan the target path and the target task of the first target robot arm;
[0102] S47: execute the target path and the target task after adjusting the movement speed of the first target robot arm, and return to step S2.
[0103] In the embodiment, the preset rule is applied to a plurality of threads that are executed synchronously, and the mechanical arm cooperation method in which one or more threads execute the first control scheme simultaneously can be realized.
[0104] When the robot arm acquires the planning permission, if no other robot arm has acquired the planning permission, and the robot arm is the first one to propose the request for acquiring the planning permission, the robot arm acquires the planning permission, otherwise, the robot arm cannot acquire the planning permission.
[0105] The overlapping part comprises an overlapping part of the movement trajectories of different robot arms plus a second safety distance range outside the movement trajectories, which can effectively ensure that the robot arms do not collide with each other.
[0106] In the embodiment, the preset speeds of the robot arms are the same, and whether the target path of the second target robot arm causes an obstruction to the first target robot arm is determined according to the movement directions of the first target robot arm and the second target robot arm, and the start position and the target position of the target path.
[0107] When the first target robot arm and the second target robot arm move in the same direction, and when the start position of the second target robot arm is located on the target path of the first target robot arm, and the target position of the second target robot arm is located on the target path of the first target robot arm; it is determined that the target path of the second target robot arm causes an obstruction to the first target robot arm, as shown in Figure 6 .
[0108] When the first target robot arm moves towards the second target robot arm, and when the target position of the second target robot arm is located at or passes through the target path of the first target robot arm; it is judged whether the target path of the second target robot arm causes an obstacle to the first target robot arm, such as Figure 7 and Figure 8 as shown.
[0109] For example, the partitioned robot arm cooperation method in a non-real-time system according to Embodiment Two of the present application, when applied to a system with a first robot arm and a second robot arm, can specifically include the following steps:
[0110] S1: dividing the area in the preset range where the initial position of the robot arm is located into a safe area 1, and dividing a critical area 2 between adjacent safe areas 1, the critical area 2 being separated from the safe area 1 by a first safety distance a;
[0111] S2: obtaining a next instruction;
[0112] S3: judging whether the instruction is a robot arm action instruction, if yes, continuing with the following steps, otherwise returning to step S2;
[0113] S4: judging whether the target path of the first robot arm overlaps with the safe area 1 of the adjacent robot arm, in this embodiment, it is judged that the answer is yes, a first control instruction is sent to make the control system enter a planning control mode, all the robot arms operate according to a first control scheme, and step S6 is performed;
[0114] S6: selecting the first control scheme to operate the robot arm action instruction, and returning to step S2;
[0115] The first control scheme includes the following steps:
[0116] S41: the current robot arm obtains planning permission, and judges whether the current robot arm obtains planning permission successfully, if yes, the following steps are continued, otherwise step S41 is repeated;
[0117] S42: taking the robot arm that obtains the planning permission as a first target robot arm, in this embodiment, the first target robot arm is the first robot arm;
[0118] S43: judging whether the target path of the first robot arm overlaps with the target path of the adjacent second robot arm, in this embodiment, the target path of the second robot arm overlaps with the target path of the first robot arm, and the second robot arm is taken as a second target robot arm;
[0119] S44: judging whether the second robot arm is in a planning incomplete state, and continuing with the following steps after the second robot arm is in a state of releasing the planning incomplete state;
[0120] In the embodiment, the step S44 further comprises the steps of:
[0121] S441: judging whether the second robot arm is in a planning unfinished state, and the embodiment judges that it is, indicating that there is another thread, and step S442 is performed;
[0122] S442: setting the first robot arm to a planning unfinished state and releasing the planning permission and entering a waiting state;
[0123] S443: the second robot arm awakens the first robot arm after removing the planning unfinished state in the other thread, and the first robot arm reacquires the planning permission.
[0124] S45: judging whether the target path of the second robot arm causes an obstacle to the first robot arm; in the embodiment, the first robot arm and the second robot arm move in the same direction, and the target position of the second robot arm is located behind the target position of the first robot arm in the advancing direction, as shown in Figure 5 , by judging that the target path of the second robot arm does not cause an obstacle to the first robot arm, step S8 is directly continued;
[0125] S46: planning the target path and the target task of the first robot arm;
[0126] S47: adjusting the moving speed of the first robot arm to execute the target path and the target task, and returning to step S2.
[0127] Embodiment 3
[0128] Please refer to Figure 9 , the partition type robot arm cooperation method in a non-real-time system of the embodiment three has basically the same steps as those of the embodiment two, and the difference lies in that it further comprises the step of reporting an exception when the first target robot arm and the second target robot arm move towards each other, the target position of the first target robot arm is located behind the starting position of the second target robot arm in the advancing direction, and the target position of the second target robot arm is located behind the starting position of the first target robot arm in the advancing direction.
[0129] In the embodiment, an error reporting mechanism is provided, and an error can be reported in time after a planning error is found, so that the safety and effectiveness of path planning are ensured.
[0130] Embodiment 4
[0131] Please refer to Figures 1-9The partitioned mechanical arm cooperation method under a non-real-time system of embodiment four of the present application has basically the same steps as those of embodiment three, and the difference is that the partitioned mechanical arm cooperation method under a non-real-time system of embodiment four of the present application, when applied to a system having a first mechanical arm, a second mechanical arm and a third mechanical arm, can specifically include the following steps:
[0132] S1: dividing a region in a preset range in which an initial position of a mechanical arm is located into a safety area 1, and dividing a critical area 2 between adjacent safety areas 1, the critical area 2 being separated from the safety area 1 by a first safety distance a;
[0133] S2: obtaining a next instruction;
[0134] S3: judging whether the instruction is a mechanical arm action instruction, if yes, continuing with the following steps, otherwise returning to step S2;
[0135] S4: judging whether a target path of the first mechanical arm overlaps with the safety area 1 of an adjacent mechanical arm, in this embodiment, the judgment is yes, a first control instruction is sent to make the control system enter a planning control mode, all the mechanical arms operate according to a first control scheme, and step S6 is performed;
[0136] S6: selecting the first control scheme to operate the mechanical arm action instruction, and returning to step S2;
[0137] The first control scheme includes the following steps:
[0138] S41: a current mechanical arm obtains planning permission, and judges whether the current mechanical arm obtains planning permission successfully, if yes, the following steps are continued, otherwise step S41 is repeated;
[0139] S42: the mechanical arm obtaining the planning permission is taken as a first target mechanical arm, in this embodiment, the first target mechanical arm is the first mechanical arm;
[0140] S43: judging whether a target path of the first mechanical arm overlaps with a target path of an adjacent other mechanical arm, in this embodiment, by judging that the target path of the second mechanical arm overlaps with the target path of the first mechanical arm, the second mechanical arm having the overlap is taken as a second target mechanical arm;
[0141] S44: judging whether the second mechanical arm is in a planning incomplete state, and continuing with the following steps after the second mechanical arm is in a state of releasing the planning incomplete state;
[0142] In this embodiment, the S44 step further includes the following steps:
[0143] S441: judging whether the second robot arm is in a state of planning uncompleted, in the embodiment, the second robot arm is in a state of planning uncompleted, directly proceeding to step S45.
[0144] S45: judging whether the target path of the second robot arm causes an obstacle to the first robot arm; in the embodiment, the target path of the second robot arm causes an obstacle to the target path of the first robot arm, proceeding to step S46 after obstacle avoidance operation of the second robot arm;
[0145] In the embodiment, the step S45 further comprises steps of:
[0146] S451: judging whether the target path of the second robot arm causes an obstacle to the first robot arm; if yes, proceeding to step S452;
[0147] S452: inserting an obstacle avoidance moving instruction into the second robot arm, and setting the first robot arm to a state of planning uncompleted, releasing the planning permission;
[0148] S453: the first robot arm enters waiting;
[0149] S454: the second robot arm starts to run the steps of the method from step S1 in other threads; when running to step S5, judging that there is an overlapping part between the target path of the third robot arm and the target path of the second robot arm, then judging whether the target path of the third robot arm causes an obstacle to the target path of the second robot arm by judging that the third robot arm is in a state of planning uncompleted, in the embodiment, the third robot arm does not cause an obstacle to the target path of the second robot arm, then planning an avoidance path of the second robot arm, adjusting the moving speed of the second robot arm, and starting to execute obstacle avoidance operation, waking up the first robot arm, the first robot arm reacquiring the planning permission, and proceeding to step S46.
[0150] S46: planning the target path and the target task of the first robot arm;
[0151] S47: executing the target path and the target task after adjusting the moving speed of the first robot arm, and returning to step S2.
[0152] The above embodiment of the present application is described in detail in combination with the drawings, and those skilled in the art can make various changes to the present application according to the above description. Thus, some details in the embodiment should not constitute a limitation to the present application, and the scope of protection of the present application is defined by the appended claims.
Claims
1. A partitioned robot arm cooperation method under a non-real-time system, comprising the steps of: S1: dividing an area in a preset range in which an initial position of a robot arm is located into a safe area, and dividing a critical area between adjacent safe areas, the critical area being separated from the safe area by a first safety distance; S2: obtaining a next instruction; S3: determining whether the instruction is a robot arm action instruction, if yes, continuing the following steps, otherwise returning to step S2; S4: determining whether a target path of the robot arm overlaps with a safe area of an adjacent robot arm, if yes, sending a first control instruction to make a control system enter a planning control mode, all the robot arms operating according to a first control scheme, and proceeding to step S6; otherwise, proceeding to step S5; S5: determining whether the control system is in the planning control mode and there is at least one target path of the robot arm overlapping with the safe area of the adjacent robot arm, if yes, proceeding to step S6; otherwise, proceeding to step S7; S6: selecting the first control scheme to operate the robot arm action instruction, and returning to step S2; S7: determining whether the control system is in the planning control mode and there is no target path of any robot arm overlapping with the safe area of the adjacent robot arm, if yes, sending a second control instruction to make the control system exit the planning control mode, and proceeding to step S8; otherwise, directly proceeding to step S8; S8: determining whether the target path of the robot arm overlaps with the critical area, if yes, selecting a second control scheme to operate the robot arm action instruction, and proceeding to step S10; otherwise, proceeding to step S9; S9: directly operating the robot arm action instruction, and returning to step S2; S10: the robot arm requesting a use right of the critical area; S11: determining whether the critical area is idle, if idle, allocating the use right of the critical area to the robot arm; if already occupied, the robot arm queuing, and after the critical area is unoccupied and idle, the robot arm obtaining the use right of the critical area; S12: executing the robot arm action instruction, and after the robot arm executes the robot arm action instruction, the robot arm exiting the critical area, notifying that the critical area is idle, and returning to the safe area of the robot arm; returning to step S2; the first control scheme comprising the steps of: S41: a current robot arm obtaining planning permission, and determining whether the current robot arm obtains the planning permission successfully, if yes, continuing the following steps, otherwise repeating step S41; S42: taking the robot arm obtaining the planning permission as a first target robot arm; S43: determining whether a target path of the first target robot arm overlaps with a target path of another robot arm adjacent to the first target robot arm, if no, planning the target path and a target task of the first target robot arm, and returning to step S2 after executing the target path and the target task; if yes, taking the another robot arm having the overlap as a second target robot arm, and directly continuing step S44; the target path comprising a moving track from a starting position to a target position; S44: judging whether the second target robot arm is in a planning incomplete state, and continuing the following step after the second target robot arm is in a state of releasing the planning incomplete state; S45: judging whether the target path of the second target robot arm causes an obstacle to the first target robot arm; if yes, performing an obstacle avoidance operation on the second target robot arm and continuing step S46; otherwise, directly continuing step S46; S46: planning the target path and the target task of the first target robot arm; S47: adjusting the moving speed of the first target robot arm to execute the target path and the target task, and returning to step S2.
2. The partitioned robot collaboration method under non-real-time system according to claim 1, characterized in that, The cooperation method is applied to a plurality of threads which are executed synchronously.
3. The partitioned robot collaboration method in non-real-time system according to claim 1, wherein, The overlapping part includes an overlapping part of the moving track of the different robot arms plus a second safety distance range outside the moving track.
4. The partitioned robot collaboration method in a non-real-time system according to any one of claims 1-3, characterized in that, The S44 step further includes steps of: S441: judging whether the second target robot arm is in a planning incomplete state; if yes, indicating that there is another thread, and performing step S442; Otherwise, directly performing step S45; S442: setting the first target robot arm to a planning incomplete state, releasing the planning permission, and entering a waiting state; S443: the second target robot arm wakes up the first target robot arm after the second target robot arm releases the planning incomplete state in the other thread, and the first target robot arm reacquires the planning permission.
5. The partitioned robot collaboration method in a non-real-time system according to any one of claims 1-3, characterized in that, The S45 step further includes steps of: S451: judging whether the target path of the second target robot arm causes an obstacle to the first target robot arm; if yes, performing step S452; Otherwise, directly performing step S46; S442: inserting an obstacle avoidance moving instruction into the second target robot arm, setting the first target robot arm to a planning incomplete state, and releasing the planning permission; the robot action instruction includes the obstacle avoidance moving instruction; S443: the first target robot arm enters a waiting state; S444: the second target robot arm wakes up the first target robot arm when starting to execute the obstacle avoidance moving instruction, the first target robot arm reacquires the planning permission, and continues step S46.
6. The partitioned robot collaboration method in a non-real-time system according to any one of claims 1-3, characterized in that, The target path of the second target robot arm causes an obstacle to the first target robot arm when the first target robot arm and the second target robot arm move in the same direction, the start position of the second target robot arm is located on the target path of the first target robot arm, and the target position of the second target robot arm is located on the target path of the first target robot arm.
7. The partitioned robot collaboration method in a non-real-time system according to any one of claims 1-3, characterized in that, The target path of the second target robot arm causes an obstacle to the first target robot arm when the first target robot arm and the second target robot arm move in the same direction, the start position of the second target robot arm is located on the target path of the first target robot arm, and the target position of the second target robot arm is located on the target path of the first target robot arm.
8. The partitioned robot collaboration method in a non-real-time system according to any one of claims 1-3, characterized in that, When the first target robot arm and the second target robot arm move towards each other, and when the target position of the second target robot arm is located on or passes through the target path of the first target robot arm; it is judged that the target path of the second target robot arm causes an obstruction to the first target robot arm.
9. The partitioned robot collaboration method in a non-real-time system according to any one of claims 1-3, characterized in that, When the first target robot arm and the second target robot arm move towards each other or in the same direction, and the start position of the first target robot arm is located on the target path of the second target robot arm; an exception is reported.
Citation Information
Patent Citations
Dual-arm type device control method based on multithreaded mutual exclusion control technology
CN108340372A
Robot control method, control system, robot and storage device
CN111727414A