A method for concurrent preparation of multiple beverages by a dual robotic arm exchange station and pre-order task

By decomposing the beverage production process and managing state functions, the problems of task scheduling conflicts and deadlocks in multi-robotic arm collaboration were solved, enabling efficient concurrent production by two robotic arms in complex task queues, thus improving equipment utilization and overall efficiency.

CN121018558BActive Publication Date: 2026-04-28北京智元成科技有限公司
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
北京智元成科技有限公司
Filing Date
2025-09-08
Publication Date
2026-04-28

AI Technical Summary

Technical Problem

Existing technologies lack effective top-level task scheduling logic in the field of multi-robotic arm collaboration, resulting in task scheduling conflicts, logic deadlocks, low equipment utilization, and failure to make full use of the idle time slices of robotic arms after collaborative task handover.

Method used

By breaking down the process of making beverages into tasks that can be completed independently by a single robotic arm or collaboratively by two robotic arms, and by introducing the principle of mutual exclusion of swap positions, a state function is used to describe the current task state, scheduled task state, and task priority of the robotic arm, thereby achieving stable and efficient task scheduling.

Benefits of technology

It effectively avoids path planning conflicts and task deadlocks caused by robotic arms scheduling or competing for positions, improves the overall efficiency of concurrent beverage production, reduces the idle waiting time of robotic arms, and ensures the flexibility and robustness of task scheduling.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121018558B_ABST
    Figure CN121018558B_ABST
Patent Text Reader

Abstract

The application relates to the technical field of machine arms and discloses a multi-drink concurrent manufacturing method for exchanging positions and reserving tasks of double machine arms, which comprises the following steps: defining current task states CT and reserving task states RT for each machine arm; after obtaining to-be-manufactured drinks, whether the exchange position is used according to a manufacturing process is determined, the manufacturing process is decomposed into one or more process stages, and the to-be-manufactured drinks are determined to be single-machine-arm independent tasks or double-machine-arm cooperative tasks; when scheduling, for the single-arm task, whether the execution arm CT is empty and whether the RT is not the immediately-needed reserving task ready state are judged; for the cooperative task starting stage, whether the execution arm CT is empty and whether the opposite arm RT is empty are judged to avoid scheduling deadlock; and for the cooperative task subsequent stage, whether the opposite arm RT is the reserving task ready state is judged to perform scheduling. Through accurate state definition and multistage judgment logic, efficient, conflict-free concurrent scheduling in a complex manufacturing scene is realized, and the equipment utilization and overall manufacturing efficiency are improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of robotic arm technology, specifically to a method for concurrently preparing multiple beverages by switching positions between two robotic arms and scheduling tasks. Background Technology

[0002] With the development of automation technology, automated beverage vending machines that use multiple robotic arms to work together have become an important development direction in the field of unmanned retail.

[0003] In a typical dual-arm beverage preparation scenario, the tasks are complex and diverse. Some beverage preparation processes can be completed independently from start to finish by a single robotic arm, allowing both arms to prepare different beverages in parallel. However, other more complex beverages or specific serving requirements must rely on the collaborative operation of both arms, using pre-set exchange points to transfer semi-finished or finished products.

[0004] Current research in multi-robotic arm collaboration primarily focuses on low-level physical path planning and collision detection. These technologies aim to optimize the robotic arm's trajectory from point A to point B by adding virtual obstacle points or using visual and mechanical sensors to ensure the robotic arm can safely and efficiently avoid physical interference during movement. Some technologies also involve optimizing the sequencing of process steps within a single task to shorten its execution time. However, these existing technologies generally lack a clear and efficient top-level task scheduling logic. When faced with a complex task queue consisting of multiple independent tasks that need to be executed in parallel and multiple tasks that need to be coordinated and have dependencies, they fail to provide an effective decision-making mechanism to determine which task should be initiated and which task must wait at any given time. In particular, existing technologies do not explicitly address how to prevent logical deadlocks caused by mutual reservations and waiting between the robotic arms, nor do they fully utilize the idle time slices of the robotic arms after the handover of collaborative tasks. Summary of the Invention

[0005] To address the shortcomings of existing technologies, this invention provides a method for concurrent production of multiple beverages by switching positions between two robotic arms and scheduling tasks. This method solves the problem that existing technologies, due to the lack of effective top-level task scheduling logic, are prone to task scheduling conflicts and logical deadlocks when handling complex orders containing both independent and collaborative tasks, ultimately leading to low equipment utilization and overall low production efficiency.

[0006] To achieve the above objectives, the present invention provides the following technical solution: a method for concurrently preparing multiple beverages by switching positions between two robotic arms and scheduling tasks, comprising the following steps:

[0007] S1. Obtain a set of beverages to be made, and generate a production process for each beverage in the set of beverages to be made according to a preset recipe;

[0008] S2. Based on the manufacturing process generated in step S1, and depending on whether the manufacturing process uses swapping bits, each manufacturing process is decomposed into one or more process stages, and it is determined whether the beverage is a task completed independently by a single robotic arm or a task completed collaboratively by two robotic arms. The ordered set of process stages constitutes the manufacturing process for each beverage. In this step, the processes and equipment within the system can be predefined. Let the set of equipment process segments be S = {s1, s2, s3, ..., s...} n}, s i Let a represent the i-th process segment, and n be the total number of segments; define the set of robotic arms as A = {a1, a2}, where a j Let j represent the j-th robotic arm (j∈{1,2}), and let the other robotic arm corresponding to it be denoted as .

[0009] S3. Based on the production process determined in step S2, obtain the current task status, scheduled task status, and scheduled task ready status of each of the two robotic arms. This information is used to verify the current process stage and required robotic arm that meet the execution conditions from the set of drinks to be produced. The statuses include:

[0010] Current task status CT(a) j ): Represents robotic arm a j Is a beverage production task (d) currently in progress?

[0011]

[0012] Scheduled task status RT(a j ): Represents robotic arm a j Is it reserved for beverage preparation? (d)

[0013]

[0014] Phase completion marker SC(d,s) i ): This indicates that beverage d is in the process stage s. i Should it be swapped?

[0015]

[0016] Task priority PR(d1,d2): Indicates whether the task of beverage d1 takes precedence over beverage d2 in the event of a conflict.

[0017]

[0018] S4. When step S3 verifies that there is a process stage that currently meets the execution conditions, schedule the robotic arm required for the process stage to execute the process stage, and update the state of the two robotic arms at different nodes of the process stage execution. Then return to step S3 to continue verification until the set of beverages to be made is empty.

[0019] Preferably, in step S2, the decomposition operation of the manufacturing process includes: identifying nodes in the manufacturing process where exchange positions are used for transfer between robotic arms, and decomposing the manufacturing process at the nodes into one or more process stages.

[0020] Preferably, the use of the exchange position follows a mutual exclusion principle, which specifically means that after one of the two robotic arms stores a semi-finished beverage in the exchange position, the other robotic arm can only take the semi-finished beverage from the exchange position.

[0021] Preferably, in step S3, for a process stage determined to be completed independently by a single robotic arm, the execution condition is: when either of the two robotic arms has no current task state and there is no scheduled task ready state that needs to be executed immediately, the above-mentioned process stage is verified as a process stage that currently meets the execution condition. The waiting condition can be expressed by the formula:

[0022]

[0023] Where: a j Let j represent the j-th robotic arm (j∈{1,2}); Represented as another robotic arm; CT(a j ) represents robotic arm a j The task currently being executed; RT(a j ) represents robotic arm a j Has it already been booked for another task? This indicates that the robotic arm has no task or has not been scheduled; ∨ represents logical OR; ∧ represents logical AND. The 'wait' signifies a deductive relationship, indicating that if the condition on the left is true, the conclusion on the right can be derived; the 'wait' signifies waiting, indicating that the robotic arm must pause and cannot start a new task. "s" is an existential quantifier, indicating the existence of at least one; i d represents the process stage; d represents the beverage; S represents the set of all process stages of a beverage; SC(d,s) i The state is the completion status of a stage, used to determine whether beverage d has been completed. i And place it in the swap bit; PR(d1,d2) is the task priority, used to determine the priority of the two drinks d1 and d2.

[0024] The waiting condition formula indicates that if robotic arm a... j There is a current task, or robotic arm A j If a scheduled task is ready and has a higher priority than a new task that has started, the robotic arm will perform a waiting operation.

[0025] Preferably, in step S3, for the first process stage determined to be a collaborative task completed by two robotic arms, the execution condition is: when either of the two robotic arms has no current task state and the reserved task states of each of the two robotic arms are empty, the first process stage is verified as the process stage that currently meets the execution conditions. The conflict detection logic here ensures that when a new collaborative task is initiated, the other robotic arm is not reserved by other tasks. The conflict detection logic, created from scratch, can be expressed as:

[0026]

[0027] Where: a j Represents the j-th robotic arm (j∈{1,2}); CT(a j ) represents robotic arm a j The task currently being performed; d represents the beverage; RT(a j ) represents robotic arm a j Has it already been booked for another task? "wait" indicates that the robotic arm has no task or has not been scheduled; "wait" means to wait.

[0028] The conflict detection logic formula states that if robotic arm a... j If a scheduled task already exists, then the current robotic arm a... j New collaborative tasks starting from scratch will require waiting.

[0029] Preferably, in step S4, the step of updating the state of each of the two robotic arms includes: for a beverage determined to be a task to be completed collaboratively by the two robotic arms, one robotic arm a... j During the first process stage of the beverage, another robotic arm is used. Set the reservation task status. After completing the first process stage, place the semi-finished beverage in the exchange position and clear the robotic arm a. j The current task status, and simultaneously the other robotic arm The reservation task status is updated to "Reservation Task Ready". The reservation mechanism for two-arm collaboration can be represented as:

[0030]

[0031] The reservation mechanism formula indicates that in robotic arm a j Completion Phase s iSubsequent processing (AfterProcess(a)) j ,s i For example, after placing a semi-finished product in the swap position, its current task state CT(a) j ) was cleared to At the same time, the collaborative arm Reservation task status The beverage identifier d is updated to a special ready state, which explicitly indicates that the physical handover conditions have been met.

[0032] Preferably, in step S3, when the other robotic arm When there is no current task state and the scheduled task is ready, the process stage corresponding to the scheduled task ready state is verified as the process stage that currently meets the execution conditions; and, in step S4, when the other robotic arm When the semi-finished beverage is taken from the exchange position and the process stage corresponding to the pre-arranged task ready state is executed, the other robotic arm is cleared. The scheduled tasks are in a ready state. The scheduled task clearing rule can be expressed as:

[0033]

[0034] The scheduled task clearing rules stipulate that when robotic arm a... j When it takes drink d from the swap position to start its work, its own scheduled task state RT(a) j ) was immediately cleared as This action indicates that the reservation has been responded to and consumed. (robotic arm a) j It is no longer in a reservation status.

[0035] Preferably, in step S4, when the other robotic arm After completing the process stage corresponding to the pre-arranged task ready state, and if the process stage is not the last process stage of the beverage, the other robotic arm... The semi-finished beverage is placed at the exchange position, which is where the robotic arm a is located. j Set the scheduled task status and clear the other robotic arm. The current task status, and simultaneously the robotic arm a j The scheduled task status is updated to "Scheduled Task Ready". This step follows the aforementioned two-arm collaborative scheduling mechanism, realizing the further transfer of tasks between the two arms.

[0036] Preferably, in step S2, the step of determining that the beverage is a task to be completed collaboratively by two robotic arms further includes: when the target dispensing port of a beverage is inconsistent with the dispensing port of the robotic arm that mainly performs the production according to the production process, the beverage is determined to be a task to be completed collaboratively by the two robotic arms, and the beverage is transferred to the robotic arm corresponding to the target dispensing port through the exchange position.

[0037] Preferably, in step S4, when the executed process stage is the last process stage, after the last process stage is completed, the finished beverage is removed from the beverage set to be made, and the current task state of the robotic arm that executed the last process stage is cleared. The completion condition of the final stage can be expressed as:

[0038] when The drink is ready;

[0039] This rule indicates that when robotic arm a j In the final process stage of beverage d, s i When it completes this stage of processing (a j ,s i After that, its current task status CT(a) j ) was cleared to And mark the beverage d as complete.

[0040] This invention provides a method for concurrently preparing multiple beverages using dual robotic arms that exchange positions and schedule tasks. It offers the following advantages:

[0041] 1. This invention effectively avoids path planning conflicts and task deadlocks caused by mutual reservations or simultaneous competition for swapping positions between the two arms by pre-detecting and ensuring that the reservation status of each of the two arms is empty before initiating a new dual-arm collaborative task, thus achieving stable scheduling of concurrent production of multiple beverages and multiple tasks.

[0042] 2. By distinguishing between the pre-arranged task of collaborative intention and the pre-arranged task of material arrival, this invention allows one robotic arm to continue performing other independent production tasks without waiting for the other robotic arm to complete the handover preparation. This greatly reduces the idle waiting time of the robotic arms and improves the overall efficiency of producing multiple beverages in parallel with two arms.

[0043] 3. This invention enables one robotic arm to place a semi-finished product at the exchange position, immediately clear its current task state, and set a scheduled task ready state for another robotic arm. This achieves effective decoupling of the task flows of the two robotic arms, making the task handover process asynchronous. This allows for flexible support of complex collaborative tasks in multiple stages and ensures high flexibility and robustness in task scheduling. Attached Figure Description

[0044] Figure 1 This is a schematic diagram of the overall scheduling process for beverage preparation according to an embodiment of the present invention;

[0045] Figure 2 This is a flowchart illustrating the process of verifying the execution conditions of the production task according to an embodiment of the present invention.

[0046] Figure 3 This is a positional diagram of the robotic arm according to an embodiment of the present invention;

[0047] Figure 4 This is a schematic diagram of the independent parallel workflow of the two arms according to an embodiment of the present invention;

[0048] Figure 5 This is a schematic diagram of the single-beverage dual-arm collaborative workflow according to an embodiment of the present invention;

[0049] Figure 6 This is a schematic diagram of the collaborative workflow for retrieving beverages from a designated cup opening (II) according to an embodiment of the present invention;

[0050] Figure 7 This is a schematic diagram of the collaborative workflow for retrieving beverages from a designated cup opening (a) according to an embodiment of the present invention;

[0051] Figure 8 This is a schematic diagram illustrating the process of avoiding conflict when two arms work together to make a beverage, according to an embodiment of the present invention.

[0052] Figure 9 This is a schematic diagram illustrating the states of two concurrent production scenarios according to an embodiment of the present invention;

[0053] Figure 10 This is a schematic diagram illustrating the state of another scenario of concurrent production of two tasks according to an embodiment of the present invention;

[0054] Figure 11 This is a schematic diagram illustrating the state of single-arm and dual-arm collaborative tasks in a concurrent production scenario according to an embodiment of the present invention.

[0055] Figure 12 This is a schematic diagram illustrating the concurrent production scenario of three beverages according to an embodiment of the present invention.

[0056] Figure 13 This is a state diagram illustrating three beverages in an embodiment of the present invention, involving a complex concurrent scenario of bidirectional and multiple collaborations.

[0057] Figure 14 This is a schematic diagram of the dual-arm task flow process for making multiple beverages according to an embodiment of the present invention. Detailed Implementation

[0058] The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0059] This invention provides a method for concurrently preparing multiple beverages by switching positions between two robotic arms and scheduling tasks.

[0060] See attached document Figure 3 This invention provides a concurrent production method applied to an automated beverage production system comprising two robotic arms. The automated beverage production system, according to the method of this invention, is scheduled to include two independent robotic arms capable of moving within a preset workspace. These two robotic arms are defined as robotic arm 1 and robotic arm 2. In formal representation, the set of robotic arms is defined as A = {a1, a2}, a... j Let j be the j-th robotic arm (j∈{1,2}). For any robotic arm a j The corresponding other robotic arm can be represented as The relationship is defined as follows:

[0061] Within the workspace of the dual robotic arms, various peripheral devices for beverage preparation are configured. Some devices are positioned close to specific robotic arms based on their function and frequency of use. For example, coffee machines and toner dispensers are located within the main operating range of robotic arm #1; ice makers and beverage dispensers are located within the main operating range of robotic arm #2. Additionally, the system includes general-purpose devices such as cup dispensers and lid dispensers, whose locations can be accessed by one or both robotic arms.

[0062] The system also includes one or more exchange stations. An exchange station is a physically pre-defined, fixed location for temporarily placing semi-finished beverages. Its key physical characteristic is that its location lies within the intersection of the working ranges accessible to both robotic arms 1 and 2. The exchange station serves as the sole medium for transferring the task carrier (i.e., the cup containing the semi-finished product) between the robotic arms.

[0063] The use of the exchange slot follows a mutual exclusion principle. Specifically, once one robotic arm has placed a semi-finished beverage into the exchange slot, another robotic arm can only remove the semi-finished beverage from the same exchange slot. The reverse is also true. At any given time, two robotic arms are prohibited from simultaneously performing a place-in or place-out operation on the same exchange slot.

[0064] The system also has cup dispensing ports corresponding to the robotic arms, such as cup dispensing port 1 and cup dispensing port 2. The system's dispensing rules are preset as follows: beverages whose final cup storage is completed by robotic arm 1 are dispensed from cup dispensing port 1; beverages whose final cup storage is completed by robotic arm 2 are dispensed from cup dispensing port 2.

[0065] To execute a complex production process, the complete production process of any beverage can be broken down into one or more process stages. The set of all involved process stages is defined as S = {s1, s2, s3, ..., s...} n}, s i Let represent the i-th process segment, and n be the total number of segments.

[0066] Based on the above definitions, this method first divides the beverage production tasks into two categories. The first category involves a single robotic arm completing the task independently, where the entire beverage production process is defined as a single process stage (i.e., the number of elements in the process stage set |S| = 1). The second category involves two robotic arms collaboratively completing the task, where the beverage production process is decomposed into two or more ordered process stages (i.e., |S| > 1), and these stages need to be transferred and relayed between the two robotic arms through one or more swap points.

[0067] To achieve conflict-free and concurrent execution of the two types of tasks on dual robotic arms, this method establishes a set of state functions to accurately describe and track the real-time state of each robotic arm.

[0068] The state function includes the current task state CT(a) j ), used to represent robotic arm a j The occupancy status. When robotic arm a j When the robot arm is performing the task of making beverage d, its state value is d; when the robot arm a... j When in an idle state, its state value is an empty set. The mathematical expression for the current task state is as follows:

[0069]

[0070] The state function also includes the scheduled task state RT(a j This is used to manage collaboration requests between the two arms. The scheduled task status indicates the status of robotic arm a. j Does there exist a pending state change, specifically defined as follows:

[0071]

[0072] In the specific scheduling logic, the state changes related to beverage d are further divided into two specific technical states. The first is the reserved state, at which point RT(a jThe value of ) is set to the beverage identifier d, indicating another robotic arm. In the course of performing its current task, robotic arm a has already been... j The subsequent process stage for beverage d has been assigned. This state is used to declare in advance the assignment of robotic arm a. j The intention to use, in order to prevent a from being used in the scheduling algorithm. j Accept other new, potentially conflicting collaborative tasks.

[0073] The second type is the scheduled task ready state, which can be identified using a specific flag in the scheduling logic. This state is indicated in RT(a). j Updated in ) indicates another robotic arm Not only has it been a j The task has been assigned, and its assigned process stage has been completed. The semi-finished beverage has been placed in the exchange position, awaiting a... j Take it. The scheduled task is ready when the robotic arm A is triggered. j A high-priority signal for executing the handover action. By distinguishing between the two sub-states of "reserved" and "reserved task ready," the separation of task intention declaration and actual material arrival is achieved, enabling robotic arm A... j While waiting for materials to arrive, other independent tasks that do not conflict can be performed, thereby reducing unnecessary waiting time.

[0074] To support scheduling decisions, auxiliary state functions are also defined. The stage completion flag SC(d,s) is used. i Used to determine the beverage's stage d in the processing s i Whether to place it in the swap bit, its value is true or false.

[0075]

[0076] The task priority PR(d1,d2) is used to determine whether the task of beverage d1 takes precedence over the task of beverage d2 when scheduling conflicts occur. Its value is true or false.

[0077]

[0078] Reference Figure 1 and attached Figure 2 The method provided by this invention uses a cyclically executed scheduling algorithm to produce one or more beverages in an orderly and concurrent manner.

[0079] The execution of the inventive method begins with obtaining a set of beverages to be made. This set is generated based on input from an external system (such as an order list placed by a customer). The main body of the method is a continuously running scheduling loop. In each loop iteration, it iterates through each beverage in the set that has not yet started or been completed, and performs a series of checks, scheduling, and status update operations on it.

[0080] For any beverage to be made in the set, the method first generates a production process based on the pre-stored recipe data and the designated dispensing spout information. Based on the generated steps, each operation in the beverage recipe (such as dispensing coffee or adding ice) is mapped to a specific physical device in the system, and the robotic arm required to perform the operation is determined.

[0081] Next, the generated production process is broken down. This step is crucial for distinguishing task types. The method detects whether there are nodes in the production process that require transfer between the two robotic arms. A typical transfer node is placing the semi-finished product at the exchange position. If the entire production process does not contain any transfer nodes, the beverage's task type is determined to be a single robotic arm completing the task independently, and its entire process is considered a single process stage. Conversely, if the process contains one or more transfer nodes, the beverage's task type is determined to be a two-robotic-arm collaborative task, and its process is divided at each transfer node, forming an ordered sequence containing two or more process stages.

[0082] In the core step of the scheduling loop, the method performs a manufacturing condition check for each process stage to be executed. This check is performed by reading the previously defined dual-arm state function (CT(a)). j ) and RT(a j This is done by [the process described in the original text]. The validation logic varies depending on the task type.

[0083] For a single robotic arm to complete a task independently, the execution condition is: the robotic arm a required to perform the task. j Current task status CT(a) j ) must be And its scheduled task status RT(a j This condition prevents the start of a new, independent task from being ready for immediate execution. This dual condition ensures that starting a new, independent task will not interrupt a higher-priority, collaborative task that is ready for handover.

[0084] For the first stage of a task where two robotic arms work together to complete a task, the execution conditions are more stringent: robotic arm a performing the process stage... j Current task status CT(a) j ) must be Meanwhile, another robotic arm that was scheduled to collaborate... Reservation task status It must also be empty or no. This condition is designed to prevent circular dependencies or conflicts in dual-arm tasks from the outset.

[0085] For a non-first process stage of a collaborative task (i.e., the stage starting from retrieving the cup from the exchange position), the execution condition is: the robotic arm a executing the process stage... j Current task status CT(a) j )for And its scheduled task status RT(a j This is exactly the state where the reservation task for beverages is ready.

[0086] Once a certain stage of the beverage's processing passes the aforementioned checks, the scheduler sends an execution command to the corresponding robotic arm. Simultaneously with the commencement of that processing stage, the system immediately updates the relevant state functions.

[0087] When a process stage is completed, the system updates its status again. If the process stage is the final stage for a beverage, the beverage is removed from the beverage set to be made, and the CT(a) of the execution arm is updated. j Reset to If the process stage is an intermediate stage of a collaborative task (i.e., ending with placement to the swap position), then the CT (a) of the execution arm will be... j Reset to And at the same time, the opponent's arm Updated to the scheduled task ready status.

[0088] If all stages of a beverage's production process fail validation in the current scheduling loop, it will remain in the beverage waiting list, awaiting re-validation in the next scheduling loop. This process repeats until the beverage waiting list is empty.

[0089] The method provided by this invention performs a deterministic decomposition operation on the complete production process of any beverage to be made before making a scheduling decision, so as to transform the complex production process into a structured task unit that can be handled by the scheduler.

[0090] The input to the decomposition operation is an ordered sequence of operations. The operation sequence is generated based on the preset recipe data of the beverage and the specified dispensing information. It contains all the atomic-level operation steps required to complete the beverage, such as: performing cup placement, moving to the coffee machine, performing coffee extraction, moving to the exchange position, etc., and a main robotic arm is pre-assigned to perform each atomic-level operation.

[0091] The core of the decomposition operation lies in scanning an ordered sequence of operations to identify one or more process stage boundary points. A process stage boundary point is precisely defined as an atomic-level operation where a robotic arm places a cup carrying a semi-finished product at a pre-defined exchange position, and the immediately following related operation in the original process flow is another robotic arm removing the cup from the exchange position. This specific combination of placement and retrieval operations constitutes a task handover event for the two robotic arms, and the point where this event occurs is the boundary of the process stage.

[0092] Specifically, this method starts from the beginning of the operation sequence and sequentially traverses each atomic-level operation. When the first process stage boundary point is detected (i.e., the first occurrence of an operation placing a cup at the swap position for the other arm to retrieve), all consecutive operations from the beginning of the sequence to the boundary point (including the placement operation at the boundary point) are aggregated to form the first process stage. Subsequently, the method continues to traverse from the operations after the boundary point (i.e., the operation of the other arm retrieving the cup from the swap position) to find the next process stage boundary point. All operations between the previous boundary point and the newly discovered boundary point (including the initial cup-retrieval operation and the final cup-placement operation) are aggregated to form the next successive process stage. This process is repeated until the entire operation sequence has been traversed.

[0093] The final output of the decomposition operation is an ordered set S = {s1, s2, s3, ..., s...} consisting of one or more process stages. n Each process stage s in the set i The task is itself an indivisible sequence of atomic operations executed continuously by a single robotic arm. If no process stage boundary points are detected in the complete operation sequence, the entire operation sequence is considered a single process stage (i.e., the number of elements in set S is n = 1), and the type of the beverage task is thus determined to be a task completed independently by a single robotic arm. Conversely, if the number of elements in set S, n, is greater than 1, the task type is determined to be a task completed collaboratively by two robotic arms. This decomposition provides a structured input for subsequent task scheduling and state transition logic.

[0094] When the set S of process stages for a beverage task contains only one process stage (i.e., |S| = 1), the task is identified by the scheduler as a task to be completed independently by a single robotic arm. For such tasks, the method provided by this invention employs a precise scheduling logic to determine whether execution can begin.

[0095] Within a scheduling cycle, for a single-arm independent task assigned to be performed by a robotic arm, the scheduler first evaluates the real-time state of the robotic arm to determine whether the execution conditions are met. A sufficient condition for an independent task to be started immediately is that the robotic arm a performing the task... j Current task status CT(a) j )for Furthermore, robotic arm a j The status of the scheduled task RT(a) j The task is not in a ready state for a scheduled task that needs to be executed immediately. This combination of conditions ensures that starting a new, independent, and time-consuming task will not conflict with a collaborative task that has already completed its preliminary preparations and is in a high-priority pending state.

[0096] The determination of the initiation condition is implemented by evaluating a formalized waiting condition formula. The task is only initiated when the waiting condition is false. The waiting condition formula is expressed as follows:

[0097]

[0098] The above waiting condition formula contains two sub-conditions connected by a logical OR (∨). The first sub-condition: This indicates that if robotic arm a j If the current task status is not empty, meaning the robotic arm is already performing another task, then the new single-arm task must wait.

[0099] Second sub-condition: This describes a scenario where collaborative tasks are prioritized. Among them, and Together they represent robotic arm a j The reservation task has entered the ready state (i.e., the associated beverage d is in a certain stage s). i Delivery conditions have been met, such as semi-finished products being placed in the exchange location. PR(RT(a) j ),CT(a j Further, it is determined that the ready scheduled task has a higher priority than the currently pending new task. When all three conditions are true, even if CT(a) is true... j If ) is empty, then robotic arm a j We must also wait and prioritize processing the appointments that are already ready.

[0100] If the evaluation result of the above waiting condition formula is false, the scheduler determines that the single-arm independent task can be executed. The system immediately sends robotic arm a... j Current task status CT(a) j The value of ) is determined by The identifier for the beverage corresponding to the new task is updated. Subsequently, the control system drives robotic arm a... j The entire beverage production process is completed continuously according to the atomic operation sequence defined in the process stage.

[0101] After all operations in the process phase are completed, the system marks the beverage as finished and removes it from the beverage collection. Simultaneously, the system moves robotic arm A...j Current task status CT(a) j Reset to This indicates that the robotic arm has been freed up and is ready to receive subsequent scheduling commands.

[0102] For dual robotic arms that work together to complete a task when the manufacturing process is decomposed into multiple process stages (i.e., the number of elements in the process stage set S is |S|>1), the method provided by this invention schedules and controls the entire lifecycle of the robotic arm through a set of precisely defined state transition and conflict detection logic.

[0103] The scheduling logic of the method employs different judgment rules depending on whether the current process stage to be executed is the starting stage or a subsequent stage. The state transition of a process stage is defined by the following stage state transition function. For a process stage executed by robotic arm a... j The beverage task being executed, identified as d, has a current task state CT(a). j The rules for change are as follows:

[0104]

[0105] This function clarifies three core scenarios. First, when the task starts with retrieving the cup from the swap position, it directly sets CT(a) to... j Let d be the value of d. Second and third, when the task starts from scratch (i.e., the first process stage is executed), conflict detection must be performed.

[0106] The specific conflict detection logic is used to prevent both arms from simultaneously initiating tasks that require cooperation. In the first stage of the process, when the scheduler decides whether to initiate a cooperative task, it not only checks the performance of arm a... j Current task status CT(a) j Whether it is empty or not, the other party's arm must also be verified. Reservation task status like If the value is not empty (i.e., the other arm has been booked by another task), then the task currently starting from scratch must wait. This logic is formally expressed by the following conflict detection rule:

[0107]

[0108] Only in the execution arm a j Free time, and the other arm The first phase of the collaborative task is only allowed to start if there are no scheduled tasks. After starting, CT(a j The value is set to d, and at the same time, according to the two-arm cooperation reservation mechanism, the other arm is assigned a position. Set up a scheduled task, i.e. It is set to d.

[0109] When the robotic arm a j executes a non-final process stage s i (where i < n, and n is the total number of stages) and completes the AfterProcess(a j ,s i ) operation (i.e., places the semi-finished product at the exchange position), the system performs a status handover. This handover process is defined by the following dual-arm collaboration reservation mechanism:

[0110]

[0111] The rules of the dual-arm collaboration reservation mechanism state that after the robotic arm a j completes its stage task, its current task status CT(a j ) is immediately cleared and reset to restore its schedulable state. Meanwhile, the system updates the reservation task status of the other arm from the original drink identifier d to the ready state. This ready state is a clear signal indicating that the physical handover condition is met, and the cup-taking operation can be performed at any time.

[0112] When the robotic arm a j is scheduled to execute the process stage starting from taking the cup at the exchange position, it indicates that its reservation task has changed from waiting to execution. At this moment, the system applies the reservation task clearance rule to immediately update its status. The reservation task clearance rule is defined as follows:

[0113]

[0114] The reservation task clearance rule stipulates that when the robotic arm a j takes the drink d from the exchange position to start its work, its own reservation task status RT(a j )(which should be the ready state at this time) is immediately cleared to This operation indicates that the reservation has been responded to and consumed, and the robotic arm a j is no longer in the reserved state.

[0115] When the robotic arm a j executes and completes the last process stage s i (where i = n) of the entire collaborative task, the system triggers the final stage completion condition. The final stage completion condition is defined as:

[0116] When the drink production is completed;

[0117] This rule indicates that in the last stage Process(a j ,si After completion, the execution arm a j Current task status CT(a) j ) was reset to Simultaneously, the system marks the global status of beverage d as completed and removes it from the set of beverages to be made. This concludes the complete scheduling and execution process of the dual-robotic arm collaborative task.

[0118] Reference Figure 4 This scenario describes the concurrent processing of two independent beverage tasks, each of which could be completed by a single robotic arm. For example, the system receives a beverage d... 19 (Made by robotic arm A1) and beverage D 20 The order (made by robotic arm A2) is processed. During verification, the scheduler first evaluates beverage D. 19 The number of process stages, |S|, is 1. The scheduler detects the state CT(a1) of robotic arm a1 as follows: And since RT(a1) is negative, the execution condition is met. Therefore, CT(a1) is updated to beverage d. 19 The identifier a1 initiates its independent brewing process (e.g., 1 cup placement, coffee machine operation, 1 lid placement, 1 cup storage). In parallel, the scheduler evaluates the beverage d. 20 The number of process stages, |S|, is also 1. The detected state CT(a2) of robotic arm a2 is... Furthermore, if RT(a2) is negative, the execution condition is still met. CT(a2) is updated to beverage d. 20 The identifier a2 indicates that it begins executing its independent production process (e.g., dropping the cup, operating the ice maker, dropping the lid, and storing the cup). During this process, the RT state of both robotic arms remains negative, with no collaborative interaction, until their respective CT states are reset to negative after completing their tasks.

[0119] Reference Figure 5 This scene describes a beverage dish that requires a relay of effort using both arms. 21 The production process of beverage d. 21 The manufacturing process is broken down into two stages: s1 is executed by robotic arm a2, and s2 is executed by robotic arm a1. Initially, both arms are idle. The scheduler detects that the task is a multi-stage collaborative task, the starting condition of which is that the execution arm a2 is idle. And the opposing arm a1 has no scheduled task (RT(a1) = No). Conditions are met, task initiation begins. The system immediately updates the status: CT(a2) is set to drink d. 21 The identifier, and RT(a1) is also set to the beverage d. 21The identifier (marked as reserved). a2 executes the atomic operation sequence of phase s1 (e.g., 2 cup drops, ice maker, beverage machine), and places the semi-finished product in the swap bit after completion. This action triggers a state handover: CT(a2) is reset to Simultaneously, the status of RT(a1) is updated to "Scheduled Task Ready". At this point, a2 is released and can be used for other tasks. The scheduler detects that a1's scheduled task is ready and CT(a1) is empty, and immediately schedules a1 to execute s2. At the start of the task, RT(a1) is cleared to "No", and CT(a1) is set to "Drink d". 21 The identifier is 'a1'. a1 retrieves the cup from the swap position, completing the subsequent process (e.g., coffee machine, toner dispenser, lid removal, cup storage). Since s2 is the final stage, after completion, CT(a1) is reset to s2, and the beverage d... 21 Completed.

[0120] Reference Figure 6 and Figure 7 These two figures are schematic diagrams of a collaborative workflow for retrieving food from a designated outlet according to an embodiment of the present invention. The collaborative purpose in this scenario is path planning, but its underlying state transition mechanism is different from... Figure 5 Consistent. (Refer to) Figure 6 A beverage d primarily made by robotic arm a1 22 Because the order specifies that the cups must be retrieved from outlet #2, the process is broken down into s1 executed by a1 and s2 executed by a2 (which only includes retrieving and storing the cups). The scheduling logic is... Figure 5 The scenario is similar: a1 first executes s1 after the start conditions are met, and sets RT(a2) to reserved; after s1 is completed, a1 places the finished product in the exchange position, clears its own CT(a1), and updates RT(a2) to reserved task ready; after a2 detects the ready signal, it executes s2, takes the cup from the exchange position and moves it to the No. 2 cup storage port to complete the final cup storage action, and then clears its own state. Figure 7 The scene shown is Figure 6 The symmetrical case, where the beverage mainly made by a2 needs to be taken out from spout number 1, its state transition and scheduling logic is the same as... Figure 6 Completely identical, only the execution subject is swapped.

[0121] Reference Figure 8 This scenario demonstrates the core conflict avoidance mechanism of this method. Assume the system simultaneously receives two cooperative tasks: beverage d5 (a1→a2) and beverage d6 (a2→a1). The scheduler checks them sequentially. First, it checks beverage d5, whose activation condition is... RT(a1) = No, RT(a2) = No. Initially, the conditions are met, and the scheduler starts creating d5. The system status is immediately updated: CT(a1) is set to d5, and RT(a2) is also set to d5 (reserved). Subsequently, the scheduler checks d6, whose startup conditions are... RT(a1) = No, RT(a2) = No. When checking RT(a2), the scheduler reads its value as d5, which does not meet the no condition. Therefore, the start request for d6 is deemed a failure, and the task enters a waiting state. This mechanism ensures that task deadlocks and physical collisions will not occur due to a1 and a2 mutually scheduling each other. Only after the entire coordination process of d5 is completed and all related states are cleared will drink d6 be re-verified and given an execution opportunity in subsequent scheduling cycles.

[0122] See attached document Figure 9 Suppose the system receives an order containing a single-arm independent task (beverage d7) performed by robotic arm a1, and a two-arm collaborative task (beverage d8, process flow a2→a1) that needs to be initiated by robotic arm a2 and handed over to a1 for completion. Initially, both robotic arms are in an idle state, i.e. RT(a1) = No RT(a2) = No. Within a scheduling cycle, the scheduler first evaluates d7. This task is a single-arm independent task, and its execution conditions are: And RT(a1) = no, it is not a ready state. The initial state satisfies this condition, so the scheduler starts the production of d7, whose operation sequence is: execute the cup drop at position 1, move to the coffee machine and extract coffee, move to the powder dispenser and add powder, execute the lid drop at position 1, and finally store the finished product in the cup slot at position 1. And immediately update the system state: the value of CT(a1) is set to the identifier of d7. In parallel, the scheduler evaluates the first process stage of d8, executes the cup drop at position 2, moves to the ice maker and adds ice, moves to the beverage machine and adds beverage. This task is the initial stage of the two-arm collaborative task, placing the semi-finished product at the exchange position and triggering the state handover. Furthermore, the opposing arm RT(a1) is NOT. The initial state also satisfies this condition. Therefore, the scheduler also initiates the creation of d8 and synchronously updates the system state: CT(a2) is set to the identifier of d8. At the same time, as part of the dual-arm collaborative reservation mechanism, the reservation task state RT(a1) of the opposing arm a1 is also set to the identifier of d8, indicating that a1 has been reserved.

[0123] See attached document Figure 10 This includes a collaborative beverage d9 handed over from a1 to a2, and a beverage d made independently by a2. 10In this scenario, robotic arm a2 is a resource contention point. The scheduler evaluates d9; its starting arm a1 is idle, and the opposing arm a2 has no reservation, so it can be started. Evaluation d 10 Its execution arm a2 is also idle. Assume the scheduler, after priority or sequence determination, decides to start simultaneously. CT(a1) is set to d9, RT(a2) is set to d9; simultaneously, CT(a2) is set to d9. 10 At this point, a1 begins executing the first stage of d9, with the following operation sequence: cup placement at position 1, coffee machine operation, toner / printer operation, lid placement at position 1, followed by placing the semi-finished product at the exchange position. Simultaneously, a2 executes d... 10 The independent production process, in sequence, is as follows: Place the cup at position 2, operate the ice maker, operate the beverage machine, place the lid at position 2, and store the cup at position 2. When a2 completes d... 10 Subsequently, its CT(a2) was reset to After a1 completes the first stage of d9 and is placed in the swap bit, its CT(a1) is reset to... Then update RT(a2) to d9-ready. At this point, the idle a2 can respond to this signal, take the cup from the swap position, complete the subsequent process of d9, and finally make the two drinks.

[0124] See attached document Figure 11 The system needs to create a beverage d that can be independently completed by a1. 11 And a collaborative beverage d transferred from a2 to a1. 12 The scheduler starts two tasks concurrently. Robotic arm a1 executes task d. 11 The independent process (operation sequence: cup drop at position 1 → coffee machine → toner dispenser → lid drop at position 1 → cup storage at position 1) has its CT(a1) set to d. 11 Robotic arm a2 executes d. 12 In the first stage (operation sequence: cup drop at position 2 → ice maker → beverage machine), its CT(a2) is set to d. 12 Meanwhile, RT(a1) is set to d. 12 After a2 completes its phase task and is placed in the swap position, its CT(a2) is set. RT(a1) is updated to d 12 -ready. a1 is ready after completing d. 11 After its fabrication, its CT(a1) was also placed The ready-to-reserve tasks can then be processed. 12 Take the cup from the exchange position and complete the subsequent production.

[0125] See attached document Figure 12 This includes two separate single-arm tasks (d 13 Completed by a1, d 14 (Completed by a2), and a collaborative task d handed over from a2 to a1.15 During initial scheduling, both a1 and a2 are idle. 13 and d 14 It was started immediately, and the system status was updated to CT(a1) = d 13 Meanwhile, CT(a2) = d 14 a1 begins execution of d. 13 The independent process (dropping cup at position 1 → ... → storing cup at position 1), a2 starts executing d. 14 The independent process (cup placement at position 2 → ... → cup storage at position 2). At this point, the collaborative task d... 15 Because its initial arm a2 is d 14 It is occupied and enters a waiting state. When a2 completes d first... 14 Subsequently, its simultaneous CT(a2) was reset to In the next scheduling cycle, d 15 The start conditions are met (starting arm a2 is idle, and the opposing arm a1 is not reserved), d 15 It was initiated. Simultaneously, CT(a2) was updated to d. 15 RT(a1) is updated to d 15 a2 begins execution of d. 15 The first stage (e.g., placing the cup at position 2 → ice maker → beverage machine). The subsequent process is similar to the previous example, involving state transitions and handovers to ultimately complete the preparation of all three drinks.

[0126] See attached document Figure 13 Assume the beverage to be made includes: d 16 (a1→a2), d 17 (a2→a1), d 18 (a1→a2). During initial scheduling, according to the conflict detection rules, d 16 and d 17 A conflict arises because each party schedules the other, and only one can be initiated. Assume d... 16 If activated, then CT(a1) = d 16 RT(a2)=d 16 At this time, d 17 Because the opposing arm a1 is already occupied and a2 has been reserved, it continues to wait. 18 It is also waiting because its starting arm a1 is occupied. a1 executes d. 16 The first stage (e.g., cup drop at position 1 → coffee machine → toner dispenser → lid drop at position 1) is then placed in the exchange position to trigger the process. And RT(a2)=d 16 -ready. At this point, a1 is idle, and a2 has a ready task. a2 responds immediately and executes d. 16 In the subsequent stage, the state becomes CT(a2) = d 16 and Meanwhile, the idle a1 can start d. 18 (Initial arm a1 is idle, opposing arm a2 has no scheduled appointment), status updated to CT(a1) = d 18 RT(a2)=d 18 . d 17 Therefore, because its initial arm a2 is still d 16 The process of holding onto the deadlock and continuing to wait clearly demonstrates how this method, through precise state management, decomposes potential deadlocks into ordered, concurrent execution sequences, ensuring stable system operation under high load and complex interactions.

[0127] See attached document Figure 14 Taking a complex order containing four different types of beverages as an example, the complete execution process of the concurrent scheduling method provided by this invention is demonstrated in detail through seven consecutive scheduling judgment rounds, so as to show the precise operation of its internal state machine and its conflict management capabilities.

[0128] The initial conditions of the scenario are: the system's set of drinks to be made contains four types of drinks: drink d1 (made independently by a1), drink d2 (made independently by a2), drink d3 (handed over from a1 to a2 for collaborative completion), and drink d4 (handed over from a2 to a1 for collaborative completion). At time zero, both arms are in an idle state, i.e. RT(a1) = No RT(a2) = No.

[0129] First round of scheduling judgment: The scheduler evaluates all drinks to be made in a preset order. First, it evaluates d1. And RT(a1) = No, the single-arm task initiation condition is met, the task is initiated, and the status is updated to CT(a1) = d1. Next, d2 is evaluated. And RT(a1) = No, the single-arm task start condition is met, the task starts, and the status is updated to CT(a2) = d2. Then d3 is evaluated, which is a collaborative task with the starting arm a1, but at this time CT(a1) is already d1, which does not meet the condition that the starting arm is idle, so d3 enters the waiting state. Finally, d4 is evaluated, its starting arm is a2, but CT(a1) is already d2, which also does not meet the condition, so d4 enters the waiting state. After this round of judgment, the system status is: CT(a1) = d1, RT(a1) = No, CT(a2) = d2, RT(a2) = No.

[0130] Second round of scheduling judgment: Assume that after a period of time, the beverage d2 with a shorter production process is completed. After the robotic arm a2 completes the production of d2, its state CT(a2) is reset to... The scheduler re-evaluates d3 and d4 in the waiting queue in the new cycle. The starting arm a1 of d3 is still busy (CT(a1) = d1), so d3 continues to wait. The starting arm of d4 is a2, and its state CT(a2) is now... Furthermore, the reservation status RT(a1) of the opposing arm a1 is negative, satisfying the start condition for the collaborative task. Therefore, d4 is initiated. The system status is immediately updated to: CT(a2) = d4, and simultaneously, according to the dual-arm collaborative reservation mechanism, RT(a1) is set to d4. After this round of judgment, the system status is: CT(a1) = d1, RT(a1) = d4, CT(a2) = d4, RT(a2) = negative.

[0131] Third round of scheduling judgment: Subsequently, beverage d1 is completed, and the state CT(a1) of robotic arm a1 is reset to... The scheduler is evaluating d3, which is still pending. The starting arm of d3 is a1, and its CT(a1) is currently... Furthermore, the reservation status RT(a2) of the opposing arm a2 is negative, satisfying the startup condition. Therefore, d3 is started. The system status is updated to: CT(a1) = d3, and RT(a2) is set to d3. After this round of judgment, the system enters the state of parallel startup of dual collaborative tasks: CT(a1) = d3, RT(a1) = d4, CT(a2) = d4, RT(a2) = d3. Both robotic arms are executing the first phase of their respective collaborative tasks and have mutually reserved each other.

[0132] Fourth round of scheduling judgment: Robotic arm a2 completed the first process stage of beverage d4 and placed the semi-finished product in the exchange position. This AfterProcess operation triggers state handover: CT(a2) is reset to Meanwhile, the reservation status RT(a1) of the opposing arm a1 is updated from d4 to d4-ready. At this time, although a2 is physically idle, because its RT(a2) is d3, it cannot accept new conflicting tasks and can only wait for the handover of d3. a1 then continues to execute the first phase of d3. After this round of judgment, the system status is: CT(a1) = d3, RT(a1) = d4-ready.

[0133] RT(a2) = d3.

[0134] Fifth round of scheduling judgment: Robotic arm a1 completed the first process stage of beverage d3 and placed the semi-finished product at the exchange position. Its state CT(a1) was reset to... Simultaneously, the reservation status RT(a2) of the opposing arm a2 is updated to d3-ready. At this instant, the scheduler detects that the current task status CT of both arms is empty, and their reserved task status RT is both ready. According to the scheduling rules, tasks in the ready state have high priority. Therefore, a1 immediately begins executing the second phase of d4, and its status is updated to CT(a1) = d4, and RT(a1) is cleared to no. At the same time, a2 also begins executing the second phase of d3, and its status is updated to CT(a2) = d3, and RT(a2) is cleared to no.

[0135] Sixth round of scheduling judgment: Robotic arm a2 has completed the final stage of beverage d3. The beverage is marked as completed, and the state CT(a2) of a2 is reset to [value missing]. This allows the system to fully return to idle state. During this period, a1 is still executing the final stage of d4. After this round of judgment, the system state is: CT(a1) = d4, RT(a1) = No. RT(a2) = No.

[0136] In the seventh round of scheduling, robotic arm a1 has completed the final stage of beverage d4. The beverage is marked as finished, and the state CT(a1) of a1 is reset. At this point, all four drinks in the initial order have been prepared. The system's final state returns to its initial completely idle state. RT(a1) = No RT(a2) = No. The entire complex concurrent scheduling process has ended.

[0137] To further improve the overall production throughput of the system when handling high-density, bidirectional concurrent collaborative tasks, the method provided by this invention can be implemented in an extended hardware environment. In the implementation, multiple physically independent swap positions are pre-set within the automated system. Accordingly, the method of this invention is adaptively extended at the process decomposition and state management levels. When decomposing a dual-arm collaborative task, the system not only determines the handover point but also assigns a specific swap position from the multiple available swap positions for each handover operation. This assignment can be executed according to preset rules, and subsequently, the scheduled task state RT(a) is updated. j The definition of the task is further refined, and its ready state will include a combination of beverage identifier and specific exchange position identifier. This allows the robotic arm to be directly instructed to move to the assigned, unambiguous exchange position coordinates when the scheduler triggers the subsequent cup-retrieving action. By adding parallel physical handover paths and adjusting the state machine and scheduling logic accordingly, this implementation reduces waiting delays caused by the occupation of a single exchange position resource, directly improving the parallel processing capability and equipment utilization of the entire system.

Claims

1. A method for concurrently preparing multiple beverages using dual robotic arms that exchange positions and pre-set tasks, characterized in that, Includes the following steps: S1. Obtain a set of beverages to be made, and generate a production process for each beverage in the set of beverages to be made according to a preset recipe; S2. Based on the production process generated in step S1, and depending on whether the production process uses a swapping bit, each production process is decomposed into one or more process stages, and it is determined whether the beverage is completed independently by a single robotic arm or by two robotic arms working together. The ordered set of process stages constitutes the production process of each beverage. S3. Based on the production process determined in step S2, obtain the current task status, scheduled task status, and scheduled task ready status of each of the two robotic arms. This information is used to verify the current process stage and required robotic arm that meet the execution conditions from the set of drinks to be made. Specifically, the verification includes: When either of the two robotic arms has no current task state and no scheduled task ready state that needs to be executed immediately, a process stage that is determined to be a task that can be completed independently by a single robotic arm and needs to be executed by either robotic arm is verified as a process stage that currently meets the execution conditions. When either of the two robotic arms has no current task status and the scheduled task status of each of the two robotic arms is empty, a process stage that is determined to be the first process stage for the two robotic arms to complete the task collaboratively and that needs to be executed by either robotic arm is verified as the process stage that currently meets the execution conditions. S4. When step S3 verifies that there is a process stage that currently meets the execution conditions, schedule the robotic arm required for the process stage to execute the process stage, and update the state of the two robotic arms at different nodes of the process stage execution. Then return to step S3 to continue verification until the set of beverages to be made is empty.

2. The method for concurrently preparing multiple beverages by switching positions and scheduling tasks using dual robotic arms according to claim 1, characterized in that, In step S2, the breakdown of the manufacturing process includes: Identify the nodes in the manufacturing process where exchange points are used for transfer between robotic arms, and decompose the manufacturing process at the nodes into one or more process stages.

3. The method for concurrently preparing multiple beverages by switching positions and scheduling tasks using dual robotic arms according to claim 1, characterized in that, The use of the swapped bits follows a mutual exclusion principle, which specifically means: After one of the two robotic arms stores a semi-finished beverage at the exchange position, the other robotic arm can only take the semi-finished beverage away from the exchange position.

4. The method for concurrently preparing multiple beverages by switching positions and scheduling tasks using dual robotic arms according to claim 1, characterized in that, In step S4, the step of updating the state of each of the two robotic arms includes: For a beverage that is determined to be a task to be completed collaboratively by the two robotic arms, when one robotic arm performs the first process stage of the beverage, the scheduled task status is set for the other robotic arm. After completing the first process stage of the beverage, the semi-finished beverage is placed in the exchange position, the current task status of one robotic arm is cleared, and the scheduled task status of the other robotic arm is updated to the scheduled task ready status.

5. The method for concurrently preparing multiple beverages by switching positions and scheduling tasks using dual robotic arms according to claim 4, characterized in that, In step S3, when the other robotic arm has no current task state and the scheduled task is ready, the process stage corresponding to the scheduled task ready state is verified as the process stage that currently meets the execution conditions. Furthermore, in step S4, when the other robotic arm takes the semi-finished beverage from the exchange position and executes the process stage corresponding to the scheduled task ready state, the scheduled task ready state of the other robotic arm is cleared.

6. The method for concurrently preparing multiple beverages by switching positions and scheduling tasks using dual robotic arms according to claim 5, characterized in that, In step S4, when the other robotic arm completes the process stage corresponding to the scheduled task ready state, and the process stage is not the last process stage of the beverage, the other robotic arm places the semi-finished beverage in the exchange position, sets the scheduled task state for the first robotic arm, clears the current task state of the other robotic arm, and simultaneously updates the scheduled task state of the first robotic arm to the scheduled task ready state.

7. The method for concurrently preparing multiple beverages by switching positions and scheduling tasks using dual robotic arms according to claim 1, characterized in that, In step S2, determining that the beverage is a task completed collaboratively by two robotic arms further includes: When the target dispensing port of a beverage is inconsistent with the dispensing port of the robotic arm that performs the manufacturing process, the beverage is identified as a task to be completed collaboratively by the two robotic arms, and the beverage is transferred to the robotic arm corresponding to the target dispensing port through the exchange position.

8. The method for concurrently preparing multiple beverages by switching positions and scheduling tasks using dual robotic arms according to claim 1, characterized in that, In step S4, when the process stage being executed is the last process stage, after the last process stage is completed, the finished beverage is removed from the beverage set to be made, and the current task status of the robotic arm that executed the last process stage is cleared.

Citation Information

Patent Citations

  • Beverage making equipment and control method and device thereof

    CN116058658A

  • Beverage making method and device

    CN116636742A