Control method, apparatus, device, medium, and program product
Patent Information
- Application Number
- CN202611486885.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-09-23
- Publication Date
- 2026-11-03
AI Technical Summary
Existing robot control systems lack unified state switching logic when performing precision assembly tasks. This results in the switching between operations relying on a fixed sequence set manually. They cannot automatically determine whether to proceed to the next operation based on the actual execution status. Furthermore, they lack effective handling mechanisms for force control abnormalities and assembly abnormalities, which can easily lead to damage to the workpiece or equipment.
A precision assembly robot is configured using finite state machine logic. By parsing the task into a standardized sequence, the operation stage is automatically switched according to the actual execution state using the state transition rules of the finite state machine, and corresponding processing and recovery are performed when force control abnormalities and assembly abnormalities occur.
It enables automatic operation switching based on the actual execution status, avoids operation execution under erroneous conditions, improves assembly compliance, avoids damage in abnormal situations, and provides a basis for recovery.
Smart Images

Figure CN123025302A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of robotics technology, and more specifically to a control method, device, equipment, medium, and program product for a precision assembly robot. Background Technology
[0002] Precision assembly tasks (such as electronic component assembly, aerospace component docking, etc.) usually require dual-arm robots to work together to complete actions such as grasping, alignment, and insertion. At the same time, the dexterous hand needs to adjust its posture in real time according to the contact force to achieve compliant assembly.
[0003] Existing robot control systems, when performing precision assembly tasks, typically pre-program operations such as grasping, alignment, insertion, and release into fixed sequence of actions, which are then executed sequentially by the controller. However, this fixed-sequence control method has the following problems:
[0004] First, the switching between operations during the assembly process relies on a fixed timing set manually. When the actual execution status of an operation does not match the expectation (such as unsuccessful grabbing or alignment deviation), the system cannot automatically determine whether to proceed to the next operation, which can easily lead to subsequent operations being executed in an incorrect state.
[0005] Second, when the contact force exceeds the safe range during assembly, the existing system lacks a unified state management mechanism and cannot switch orderly between force control adjustment and abnormal handling, which may lead to workpiece damage or equipment damage.
[0006] Third, after an anomaly occurs, the system lacks a mechanism to determine the recovery strategy based on the assembly progress, usually requiring manual restart of the entire assembly process, which is inefficient.
[0007] Therefore, how to establish a unified state switching logic for precision assembly tasks, so that the switching between each operation stage can be automatically determined according to the actual execution state, and perform corresponding processing and recovery when force control abnormalities and assembly abnormalities occur, has become a technical problem that urgently needs to be solved by those skilled in the art. Summary of the Invention
[0008] In view of the above problems, this application provides a control method, device, equipment, medium and program product for a precision assembly robot.
[0009] According to the first aspect of this application, a control method for a precision assembly robot is provided. The precision assembly robot is a dual-arm robot, with dexterous hands installed at the ends of its left and right arms. The control system of the precision assembly robot is configured with finite state machine logic, which includes multiple states and transition rules between states. The multiple states are used to control the operation of the precision assembly task at different assembly stages. The multiple states include a dual-arm coordination state, a dexterous hand coordination state, a force control adjustment state, and an exception handling state. The control method includes: parsing the acquired precision assembly task into a standardized task sequence, which includes multiple operation types and target poses and force control parameters corresponding to each operation type. The force control parameters include an upper limit of contact force, a desired contact force, and an impedance parameter; and, according to the order of operation types in the standardized task sequence, using the current operation type, the current state, and the execution state signal fed back after executing the previous operation type as query conditions, adjusting the state transitions of the finite state machine. The rules are used to perform a matching query to determine the target state. When the target state is a dual-arm coordinated state, the left and right arm end-effector trajectories are generated based on the target pose. These trajectories are synchronized in time, and the left and right arms are controlled to move to the assembly positions of the first and second assembly components, respectively. Force control parameters are used to control the two dexterous hands to close and grasp the first and second assembly components. When the target state is an arm-hand coordinated state, arm movement trajectories and hand finger trajectories are generated based on the target pose. The left or right arm is controlled to move the first assembly component to the assembly position of the second assembly component. Simultaneously, the corresponding dexterous hand adjusts its posture during assembly and adjusts the contact force in real-time based on the desired contact force and impedance parameters. When the target state is a force-controlled adjustment state, the desired contact force is adjusted based on the deviation between the actual and desired contact force. When the target state is an abnormal handling state, a deceleration and stop operation is performed, and abnormal information is reported.
[0010] According to an embodiment of this application, the step of determining the target state by matching the current operation type, current state, and execution state signal fed back after executing the previous operation type in the state transition rules of the finite state machine according to the order of operation types in the task standardization sequence, and using these as query conditions, includes: obtaining a state transition rule table of the finite state machine, the state transition rule table including multiple state transition entries, each state transition entry recording the correspondence between the previous state, operation type conditions, execution state signal conditions, and target state; using the current state as the previous state, current operation type, and execution state signal as query conditions, performing a matching query in the state transition rule table; and when the query condition successfully matches any entry in the state transition rule table, determining the target state recorded in that entry as the target state.
[0011] According to embodiments of this application, the state transition rule table includes at least two of the following entries: When the previous state is the initial state, the operation type condition is a grasping operation, and the execution state signal condition is a self-test completion signal, the target state is a dual-arm coordination state; when the previous state is a dual-arm coordination state, the operation type condition is an alignment operation, and the execution state signal condition is a grasping success signal, the target state is a dual-arm coordination state; when the previous state is a dual-arm coordination state, the operation type condition is an insertion operation, and the execution state signal condition is an alignment completion signal, the target state is an arm-hand coordination state; when the previous state is an arm-hand coordination state, the operation type condition is an insertion operation, and the execution state signal condition is the deviation between the actual contact force and the expected contact force. When the deviation threshold is exceeded, the target state is the force control adjustment state; when the previous state was the force control adjustment state, the operation type condition was the insertion operation, and the execution state signal condition was the force control convergence signal, the target state is the arm-hand coordination state; when the previous state was the arm-hand coordination state, the operation type condition was the release operation, and the execution state signal condition was the insertion completion signal, the target state is the arm-hand coordination state; when the previous state was the arm-hand coordination state, the operation type condition was the release operation, and the execution state signal condition was the release completion signal, the target state is the end state; when the previous state was the dual-arm coordination state or the arm-hand coordination state, and the execution state signal condition was the abnormal triggering condition that triggered the entry into the abnormal handling state, the target state is the abnormal handling state.
[0012] According to an embodiment of this application, the step of adjusting the desired contact force based on the deviation between the actual contact force and the desired contact force includes: calculating the deviation between the actual contact force and the desired contact force; when the actual contact force is greater than the desired contact force, lowering the desired contact force by a first adjustment amount so that the adjusted desired contact force is less than the original desired contact force; when the actual contact force is less than the desired contact force, raising the desired contact force by a second adjustment amount so that the adjusted desired contact force is greater than the original desired contact force, wherein the first adjustment amount and the second adjustment amount are determined according to the magnitude of the deviation, and the larger the deviation, the larger the first adjustment amount or the second adjustment amount; issuing the adjusted desired contact force to re-execute contact force adjustment according to the adjusted desired contact force; obtaining a new deviation between the adjusted actual contact force and the adjusted desired contact force; when the new deviation is less than a deviation threshold, determining force control convergence and switching the target state from the force control adjustment state back to the arm-hand coordination state; when the new deviation is greater than or equal to the deviation threshold, maintaining the force control adjustment state and continuing to adjust the desired contact force.
[0013] According to an embodiment of this application, the abnormal triggering conditions include at least one of the following: actual contact force exceeding the upper limit of contact force, joint torque exceeding the upper limit threshold of torque, contact force change rate exceeding the change rate threshold, deviation between actual position and expected position exceeding the position deviation threshold, deviation between actual angle and expected angle of dexterous hand finger joint exceeding the angle deviation threshold, and communication timeout. When the target state is an abnormal handling state, the steps of performing a deceleration and stopping operation and reporting abnormal information include: determining the abnormal level based on the abnormal triggering conditions; if the abnormal level is level one, reducing the movement speed of the left arm, right arm, and dexterous hand to zero according to a preset deceleration, stopping the movement of the left arm, right arm, and dexterous hand, and maintaining the joint position at the time of stopping; if the abnormal level is level two, immediately cutting off the drive output of the left arm, right arm, and dexterous hand, maintaining the current joint position; after stopping the movement, generating abnormal information, including the abnormal type, abnormal trigger time, joint angle at the time of triggering, joint speed, and actual contact force; outputting the abnormal information through a human-machine interface and writing it to an abnormal log.
[0014] According to an embodiment of this application, when the target state is an abnormal handling state, after performing the deceleration and stop operation and reporting the abnormal information, the control method further includes: in response to the abnormal elimination signal, obtaining the assembly progress that has been completed when the abnormality was triggered; if the assembly progress is lower than a first progress threshold, switching to the initial state and re-executing; if the assembly progress reaches or exceeds the first progress threshold, restoring to the state before the abnormality was triggered and continuing to execute.
[0015] The second aspect of this application provides a control device for a precision assembly robot, comprising: a parsing module, configured to parse an acquired precision assembly task into a standardized task sequence, the standardized task sequence including multiple operation types and target poses and force control parameters corresponding to each operation type, the force control parameters including an upper limit of contact force, a desired contact force, and an impedance parameter; a determination module, configured to determine a target state by matching and querying the state transition rules of a finite state machine according to the order of operation types in the standardized task sequence, using the current operation type, the current state, and the execution state signal fed back after executing the previous operation type as query conditions; and a first execution module, configured to generate the end-effector trajectory of the left arm and the end-effector trajectory of the right arm according to the target pose when the target state is a dual-arm cooperative state, and to synchronize the end-effector trajectory of the left arm and the end-effector trajectory of the right arm in time, and control... The system is divided into four modules: a first module and a second module. The first module controls the left and right arms to move to the assembly positions of the first and second assembly components, respectively, and controls the two dexterous hands to close and grasp the first and second assembly components according to force control parameters. The second module generates arm movement trajectories and hand finger trajectories based on the target pose when the target state is an arm-hand coordination state. It controls the left or right arm to move the first assembly component to the assembly position of the second assembly component, and simultaneously controls the corresponding dexterous hand to adjust its posture during the assembly process and adjusts the contact force in real time according to the desired contact force and impedance parameters. The third module adjusts the desired contact force according to the deviation between the actual contact force and the desired contact force when the target state is a force control adjustment state. The fourth module performs a deceleration and stop operation and reports the abnormal information when the target state is an abnormal handling state.
[0016] According to a third aspect of this application, an electronic device is provided, comprising: one or more processors; and a memory for storing one or more computer programs, wherein the one or more processors execute the one or more computer programs to implement the steps of the method described above.
[0017] According to a fourth aspect of this application, a computer-readable storage medium is also provided, on which a computer program or instructions are stored, wherein the computer program or instructions, when executed by a processor, implement the steps of the above-described method.
[0018] According to a fifth aspect of this application, a computer program product is also provided, including a computer program or instructions that, when executed by a processor, implement the steps of the above-described method.
[0019] According to some embodiments of this application, by configuring finite state machine logic for precision assembly tasks, the assembly task is parsed into a standardized sequence of tasks containing multiple operation types. The current operation type, current state, and the execution state signal fed back after executing the previous operation type are used as query conditions. The target state is determined by matching the query in the state transition rules, thus achieving automatic switching between assembly stages. Compared with existing fixed sequence control methods, this application no longer relies on manually set fixed timing sequences. It can determine whether to enter the next operation based on the actual execution state, avoiding subsequent operations from being executed in an incorrect state. In dual-arm coordination mode, this application generates the end-effector trajectories of the left and right arms through time synchronization, enabling both arms to reach their respective target positions simultaneously, ensuring coordinated grasping actions. In arm-hand coordination mode, this application synchronously generates arm motion trajectories and hand finger trajectories, enabling the arm and hand to coordinate movements during assembly. The contact force is adjusted in real time according to the desired contact force and impedance parameters, improving assembly compliance. In force-controlled adjustment mode, this application adjusts the desired contact force based on the deviation between the actual contact force and the desired contact force, gradually converging the contact force to a safe range. In abnormal handling conditions, this application performs a deceleration and stop operation and reports abnormal information to avoid damage to the workpiece or equipment and to provide a basis for subsequent recovery. Attached Figure Description
[0020] The above-mentioned contents, other objects, features and advantages of this application will become clearer from the following description of embodiments with reference to the accompanying drawings, in which:
[0021] Figure 1 A flowchart illustrating a control method for a precision assembly robot according to an embodiment of this application is shown.
[0022] Figure 2 A schematic block diagram of the control device for a precision assembly robot according to an embodiment of this application is shown.
[0023] Figure 3 A block diagram schematically illustrates an electronic device suitable for implementing a control method for a precision assembly robot according to an embodiment of this application. Detailed Implementation
[0024] The embodiments of this application will now be described with reference to the accompanying drawings. However, it should be understood that these descriptions are exemplary only and are not intended to limit the scope of this application. In the following detailed description, numerous specific details are set forth to provide a thorough understanding of the embodiments of this application for ease of explanation. However, it will be apparent that one or more embodiments may be implemented without these specific details. Furthermore, descriptions of well-known structures and technologies are omitted in the following description to avoid unnecessarily obscuring the concepts of this application.
[0025] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit the scope of this application. The terms “comprising,” “including,” etc., as used herein indicate the presence of the stated features, steps, operations, and / or components, but do not exclude the presence or addition of one or more other features, steps, operations, or components.
[0026] All terms used herein (including technical and scientific terms) have the meanings commonly understood by those skilled in the art, unless otherwise defined. It should be noted that the terms used herein are to be interpreted in a manner consistent with the context of this specification, and not in an idealized or overly rigid way.
[0027] Figure 1 A flowchart illustrating a control method for a precision assembly robot according to an embodiment of this application is shown schematically. Figure 1 As shown, the control method for a precision assembly robot according to an embodiment of this application may include steps S210 to S260. The precision assembly robot is a dual-arm robot, with dexterous hands installed at the ends of its left and right arms. The control system of the precision assembly robot is configured with finite state machine logic, which includes multiple states and transition rules between states. The multiple states are used to control the operation of the precision assembly task at different assembly stages. The multiple states include dual-arm coordination state, arm-hand coordination state, force control adjustment state, and exception handling state.
[0028] In step S210, the acquired precision assembly task is parsed into a task standardization sequence. The task standardization sequence includes multiple operation types and target pose and force control parameters corresponding to each operation type. The force control parameters include the upper limit of contact force, the desired contact force, and the impedance parameter.
[0029] In some embodiments, a standardized task sequence refers to a sequence of information about each stage of an assembly task organized according to a unified data structure, wherein each element corresponds to an operation to be performed, and the element records the operation type, target pose, and force control parameters in fixed fields.
[0030] In some embodiments, the operation type refers to the classification identifier of the assembly action, and its value covers the main stages of the assembly process, such as gripping operation, alignment operation, insertion operation and release operation. Its function is to participate in the matching as the operation type condition in the state transition rule. The operation type does not describe the execution details of the action, but only indicates the type of action that the element is to complete.
[0031] For example, an assembly task may consist of four steps: clamping the part to be inserted, moving the part to be inserted above the part to be inserted and aligning it, pressing the part to be inserted into the part to be inserted, and releasing the clamps to exit. After parsing, a sequence containing four elements is obtained.
[0032] In step S220, the target state is determined by matching and querying the state transition rules of the finite state machine according to the order of operation types in the task standardization sequence, using the current operation type, the current state, and the execution state signal fed back after executing the previous operation type as query conditions.
[0033] In some embodiments, a finite state machine is a logical model consisting of a finite number of states and transition rules between states. States are used to represent the current stage of the assembly process. Execution state signals correspond to operation types. The same operation type may generate different execution state signals under different conditions, thus reflecting whether the operation is completed normally, partially completed, or failed to be completed.
[0034] In some embodiments, the execution status signal refers to the result signal fed back by the actuator or sensing unit after the previous operation type has been completed, such as the self-test completion signal, the grab success signal, the alignment completion signal, the insertion completion signal, and the release completion signal, which are used to reflect whether the operation is completed normally, partially completed, or failed to be completed.
[0035] In some embodiments, state transition rules refer to the criteria for determining how states transition between each other in a finite state machine. They are organized in the form of a state transition rule table, where each entry records the correspondence between the previous state, operation type conditions, execution state signal conditions, and the target state.
[0036] In some embodiments, the query conditions refer to the criteria used to locate the target entry in the state transition rule table, including the current operation type, the current state, and the execution status signal fed back after executing the previous operation type. The transition rules are stored centrally in the form of a table, so that the maintenance and query of the rules are independent of each other: adding or modifying a certain transition relationship only requires changing the corresponding entry in the table, and the matching query process remains unchanged. The three conditions come from the task standardization sequence, the status register, and the feedback from the actuator or sensing unit, respectively, and the value sets of the three are all finite.
[0037] For example, after the robot completes its self-check, it reports a self-check completion signal. The operation type of the first element is grasping operation, the current state is the initial state, and the combination of the three conditions hits an entry. The target state is the dual-arm collaborative state.
[0038] In step S230, when the target state is a dual-arm cooperative state, the end-effector trajectory of the left arm and the end-effector trajectory of the right arm are generated according to the target pose. The end-effector trajectory of the left arm and the end-effector trajectory of the right arm are synchronized in time. The left arm and the right arm are controlled to move to the assembly position of the first assembly component and the fixed position of the second assembly component, respectively. The two dexterous hands are controlled to close according to the force control parameters to grasp the first assembly component and the second assembly component.
[0039] In some embodiments, the dual-arm cooperative state refers to the state in a finite state machine used to control the left and right arms to jointly complete the picking and positioning actions on the same time base.
[0040] In some embodiments, time synchronization refers to aligning two trajectories in terms of time parameters. This can be achieved by using a unified time reference, or by using the longer trajectory as the reference and scaling the shorter trajectory according to the time ratio.
[0041] For example, if the left arm's movement distance is longer than that of the right arm's movement distance, after the two trajectories are generated, the trajectory of the left arm's movement distance, which takes longer, is used as the reference, and the trajectory of the right arm's movement distance is scaled up according to the time ratio so that both sides reach their respective target positions at the same time.
[0042] In step S240, when the target state is the arm-hand coordination state, the arm motion trajectory and hand finger trajectory are generated according to the target pose. The left arm or right arm is controlled to move the first assembly component to the assembly position of the second assembly component. At the same time, the corresponding dexterous hand is controlled to adjust its posture during the assembly process and the contact force is adjusted in real time according to the desired contact force and impedance parameters.
[0043] In some embodiments, the arm-hand coordination state refers to the state in a finite state machine used to control the joint movement of a single arm and its end-effector during insertion; the arm undertakes the macroscopic pose movement of the assembly component, and the end-effector undertakes the local pose fine-tuning of the assembly component, with the two levels of motion driven by the same set of planning results.
[0044] In some embodiments, adjusting the posture of the dexterous hand during assembly refers to changing the wrist posture or finger shape of the dexterous hand while moving the assembly component with the arm, so that the axis of the assembly component tends to be collinear with the axis of the assembly entry.
[0045] For example, the left arm holds the first assembly component and slowly moves it downwards vertically from above the assembly position, while the dexterous hand adjusts the wrist posture by following the finger trajectory, so that the axis of the first assembly component gradually becomes collinear with the axis of the assembly entrance of the second assembly component.
[0046] In step S250, when the target state is the force control adjustment state, the desired contact force is adjusted according to the deviation between the actual contact force and the desired contact force.
[0047] In some embodiments, the force control adjustment state refers to the state in a finite state machine used to correct the desired contact force online. It is triggered when the actual contact force deviates from the desired contact force by more than a deviation threshold during the insertion process. Its task is to adjust the desired contact force to a level that is compatible with the actual contact state without interrupting the assembly process.
[0048] In some embodiments, adjusting the desired contact force means changing the value of the desired contact force. The direction of adjustment is determined by the direction of the deviation, and the magnitude of adjustment is determined by the magnitude of the deviation. The deviation includes positive and negative directions. When the actual contact force is greater than the desired contact force, the deviation is positive, indicating that the degree of compression is higher than expected. When the actual contact force is less than the desired contact force, the deviation is negative, indicating that the contact pressure is insufficient.
[0049] For example, if the actual contact force collected during a certain control cycle of the insertion process is greater than the expected contact force and the deviation exceeds the deviation threshold, the finite state machine switches from the arm-hand coordination state to the force control adjustment state, and the expected contact force is reduced according to the magnitude of the deviation.
[0050] In step S260, if the target state is in an abnormal handling state, a deceleration and stop operation is performed and the abnormal information is reported.
[0051] In some embodiments, the abnormal handling state refers to the state in the finite state machine used to control the left arm, right arm and dexterous hand to transition from the motion state to the controlled stop state and record the abnormal scene information. It is entered when the abnormal triggering condition is met, and after entering, normal assembly actions such as insertion or alignment are no longer performed.
[0052] In some embodiments, abnormal information refers to a set of data used to record the on-site state at the time of the abnormality, including the abnormality type, the abnormality trigger time, the joint angle, the joint speed and the actual contact force at the time of triggering; during the deceleration and stopping process, each joint is still under closed-loop control, the joint motion trajectory remains continuous, and the end effector will not be impacted by sudden speed changes.
[0053] For example, if the actual contact force returned by the force sensing unit during insertion is greater than the upper limit of the contact force in the force control parameters, the abnormal trigger condition is met, and the finite state machine enters the abnormal handling state.
[0054] According to the control method of the precision assembly robot in this application, by configuring finite state machine logic for the precision assembly task, the assembly task is parsed into a standardized sequence of tasks containing multiple operation types. The current operation type, current state, and the execution state signal fed back after executing the previous operation type are used as query conditions. The target state is determined by matching the query in the state transition rules, thus achieving automatic switching between assembly stages. Compared with existing fixed sequence control methods, this application no longer relies on manually set fixed timing sequences and can determine whether to enter the next operation based on the actual execution state, avoiding subsequent operations from being executed in an incorrect state. In dual-arm collaborative mode, this application generates the end-effector trajectories of the left and right arms through time synchronization, enabling both arms to reach their respective target positions simultaneously, ensuring coordinated grasping actions. In arm-hand collaborative mode, this application synchronously generates arm motion trajectories and hand finger trajectories, enabling the arm and hand to coordinate actions during assembly. The contact force is adjusted in real time according to the desired contact force and impedance parameters, improving assembly compliance. In force-controlled adjustment mode, this application adjusts the desired contact force according to the deviation between the actual contact force and the desired contact force, gradually converging the contact force to a safe range. In abnormal handling conditions, this application performs a deceleration and stop operation and reports abnormal information to avoid damage to the workpiece or equipment and to provide a basis for subsequent recovery.
[0055] According to some embodiments of this application, the steps of matching and querying in the state transition rules of the finite state machine to determine the target state, according to the order of operation types in the task standardization sequence, using the current operation type, the current state, and the execution state signal fed back after executing the previous operation type as query conditions, include steps S221 to S223.
[0056] In step S221, the state transition rule table of the finite state machine is obtained. The state transition rule table includes multiple state transition entries. Each state transition entry records the correspondence between the previous state, operation type conditions, execution state signal conditions and target state.
[0057] In some embodiments, a state transition entry refers to a record in the state transition rule table, whose fields include the previous state, operation type condition, execution state signal condition, and target state. The previous state is used to limit the starting state to which the entry applies, the operation type condition is used to limit which type of action in the assembly process the entry corresponds to, the execution state signal condition is used to limit the entry to take effect under what execution result, and the target state is used to give the state that the finite state machine should enter when the conditions are met simultaneously.
[0058] In some embodiments, the state transition rule table can be created and loaded into the storage unit of the control system once before the assembly task begins. During the assembly process, it is only read and not modified, so that the reading process of the rule table does not generate additional write operations and consistency maintenance overhead.
[0059] For example, an entry in the rule table records that the previous state is the initial state, the operation type condition is the grabbing operation, the execution status signal condition is the self-check completion signal, and the target state is the dual-arm collaborative state.
[0060] In step S222, the current state is used as the previous state, the current operation type, and the execution status signal as query conditions to perform a matching query in the state transition rule table.
[0061] In some embodiments, using the current state as the previous state means first locating the group or set of entries in the rule table that have the same value as the current state, and then continuing to compare the operation type conditions and execution status signal conditions within that range.
[0062] In some embodiments, the matching query can compare items sequentially by field, that is, first compare the previous state, then compare the operation type condition, and finally compare the execution status signal condition; if any item does not match, the current entry is abandoned and the query moves to the next entry; this progressively narrowing query method reduces the number of comparisons for each query from the total number of entries in the rule table to the number of entries corresponding to the current state; when comparing by field, the number of execution status signals that need to be read in a single query is no greater than the number of entries corresponding to the current state.
[0063] For example, if the current state is a two-arm cooperative state, the current operation type is an insertion operation, and the execution status signal is an alignment completion signal, the query first locates the set of entries whose previous state was a two-arm cooperative state, then compares the entries whose operation type condition is an insertion operation, and finally compares whether their execution status signal condition is an alignment completion signal. The entries that match all three conditions are the entries that the query has found.
[0064] In step S223, when the query condition matches any entry in the state transition rule table, the target state recorded in that entry is determined as the target state.
[0065] In some embodiments, a successful match means that the three query conditions match one by one with the previous state, operation type, and execution status signal conditions of a certain entry.
[0066] In some embodiments, when a query fails, the finite state machine maintains its current state and records the failure event in the runtime log; when a match is found, the target state recorded in the entry is written into the state register as the current state for the next matching query, and the query ends and no further comparisons are made with subsequent entries.
[0067] For example, when performing an insertion operation in a coordinated arm-hand state, if the reported execution status signal is that the deviation between the actual contact force and the expected contact force exceeds the deviation threshold, then the entry for the recorded target state as force control adjustment state is hit; if the reported execution status signal is an alignment completion signal, then the entry for the recorded target state as a coordinated arm-hand state is hit.
[0068] As some feasible approaches, the state transition rule table can be stored in the storage unit of the control system as an array, with each element in the array corresponding to a state transition entry. During a query, the values of each field are read at a fixed offset. Alternatively, entries corresponding to the same previous state can be organized into an index range, so that the starting position of the query is directly determined by the current state.
[0069] This embodiment uses three conditions—current state, current operation type, and execution status signal—to perform a matching query in the state transition rule table, so that the determination of state switching does not need to rely on location arrival flags or fixed waiting time. The previous state field narrows the comparison range of each query from all entries in the rule table to the entry corresponding to the current state, reducing the number of comparisons and intermediate data volume generated by scanning all entries one by one.
[0070] According to some embodiments of this application, the state transition rule table includes at least two of the following entries.
[0071] When the previous state is the initial state, the operation type condition is the grasping operation, and the execution status signal condition is the self-check completion signal, the target state is the dual-arm collaborative state.
[0072] When the previous state was a dual-arm collaborative state, the operation type condition was an alignment operation, and the execution status signal condition was a successful grab signal, the target state is a dual-arm collaborative state.
[0073] When the previous state was a two-arm coordinated state, the operation type condition was an insertion operation, and the execution state signal condition was an alignment completion signal, the target state is a two-arm coordinated state.
[0074] The previous state was the arm-hand coordination state, the operation type condition was the insertion operation, and the execution state signal condition was that the deviation between the actual contact force and the expected contact force exceeded the deviation threshold. The target state is the force control adjustment state.
[0075] When the previous state was force control adjustment state, the operation type condition was insertion operation, and the execution state signal condition was force control convergence signal, the target state is arm-hand coordination state.
[0076] In some embodiments, force control convergence means that the deviation between the actual contact force and the desired contact force falls back to within the deviation threshold, and therefore it is no longer necessary to continue adjusting the state of the desired contact force; the adjustment amount refers to the value changed each time the desired contact force is adjusted, which is divided into a first adjustment amount when adjusting downward and a second adjustment amount when adjusting upward, and the values of both increase with the increase of the deviation; the deviation threshold is determined according to the allowable contact stress of the workpiece material, the assembly accuracy requirements, and the noise level of the force sensing unit.
[0077] When the previous state was the arm-hand coordination state, the operation type condition was the release operation, and the execution status signal condition was the insertion completion signal, the target state is the arm-hand coordination state.
[0078] When the previous state was the arm-hand coordination state, the operation type condition was the release operation, and the execution state signal condition was the release completion signal, the target state is the end state.
[0079] The previous state is the two-arm coordination state or the arm-hand coordination state. The execution state signal condition is the abnormal trigger condition that triggers the entry into the abnormal handling state. The target state is the abnormal handling state.
[0080] This embodiment records the correspondence of four fields in the form of entries in the state transition rule table, so that all state transition paths of the assembly process are stored in one place. When a new assembly stage is added, only an entry needs to be added, without inserting new judgment logic in the condition judgment branch, which reduces the state transition errors caused by overlapping or omission of judgment branches. The abnormal triggering condition participates in the matching with a single entry that does not limit the operation type, so that the number of entries in the rule table does not increase with the increase of abnormal types.
[0081] According to some embodiments of this application, the step of adjusting the desired contact force based on the deviation between the actual contact force and the desired contact force includes steps S251 to S257.
[0082] In step S251, the deviation between the actual contact force and the expected contact force is calculated.
[0083] In some embodiments, calculating the deviation means subtracting the actual contact force collected in the current control cycle from the currently effective expected contact force to obtain a signed difference, and temporarily storing the difference as an intermediate variable in the control process.
[0084] For example, if the actual contact force is greater than the expected contact force in a certain control cycle, the calculated deviation is positive; if the workpieces have not yet formed effective contact in another control cycle, the actual contact force is less than the expected contact force, and the calculated deviation is negative.
[0085] In step S252, when the actual contact force is greater than the expected contact force, the expected contact force is reduced by a first adjustment amount so that the adjusted expected contact force is less than the unadjusted expected contact force.
[0086] In some embodiments, an actual contact force greater than the expected contact force indicates that the degree of compression between the two assembled parts is higher than expected, which typically occurs when the insertion resistance increases with the insertion depth.
[0087] For example, if the actual contact force is greater than the expected contact force, the expected contact force is reduced by the first adjustment amount. The value after the reduction is less than the value before the adjustment, and the contact force adjustment in the next control cycle is executed according to the new value.
[0088] In step S253, when the actual contact force is less than the expected contact force, the expected contact force is increased by a second adjustment amount so that the adjusted expected contact force is greater than the unadjusted expected contact force. The first adjustment amount and the second adjustment amount are determined according to the magnitude of the deviation. The larger the deviation, the larger the first adjustment amount or the second adjustment amount.
[0089] In some embodiments, the actual contact force being less than the expected contact force indicates insufficient contact pressure, which typically occurs when the assembly component has not yet formed a stable contact with the assembly inlet or when the insertion action is halted due to excessive resistance.
[0090] In some embodiments, the first adjustment amount and the second adjustment amount are determined according to the magnitude of the deviation. The larger the deviation, the larger the adjustment amount, so that the adjustment range is adapted to the actual degree of deviation.
[0091] For example, when the deviation is large, the contact force is expected to be increased by a larger adjustment amount, and when the deviation is small, it is expected to be increased by a smaller adjustment amount, so that the contact force adjustment has convergence conditions in the next execution.
[0092] In step S254, the adjusted desired contact force is issued to re-execute the contact force adjustment according to the adjusted desired contact force.
[0093] In some embodiments, "downloading" means writing the adjusted desired contact force into the parameter position read by the contact force adjustment, so that the contact force adjustment in the next control cycle is based on the new value as a comparison benchmark.
[0094] For example, after the adjusted desired contact force is written to the parameter position, the contact force adjustment is re-executed according to the new comparison benchmark, and the actual contact force approaches the new value as the insertion process progresses.
[0095] In step S255, a new deviation between the adjusted actual contact force and the adjusted desired contact force is obtained.
[0096] In some embodiments, the new deviation refers to the difference between the actual contact force and the adjusted expected contact force after the expected contact force adjustment has been completed and the contact force adjustment has been re-executed.
[0097] For example, after the expected contact force is lowered, the difference between the actual contact force collected in subsequent control cycles and the adjusted expected contact force is the new deviation, which is used for subsequent convergence determination.
[0098] In step S256, when the new deviation is less than the deviation threshold, force control convergence is determined, and the target state is switched from force control adjustment state back to arm-hand coordination state.
[0099] In some embodiments, determining force control convergence means that after an adjustment, the absolute value of the new deviation falls within the deviation threshold, indicating that the actual contact force has followed the adjusted expected contact force.
[0100] For example, when the new deviation is less than the deviation threshold, the finite state machine switches from the force-controlled adjustment state back to the arm-hand coordination state, and the insertion action continues to proceed under the adjusted desired contact force.
[0101] In step S257, when the new deviation is greater than or equal to the deviation threshold, the force control adjustment state is maintained and the desired contact force is adjusted.
[0102] In some embodiments, a new deviation greater than or equal to a deviation threshold indicates that an adjustment has not yet brought the contact force into the allowable fluctuation range, and the control process remains in force-controlled adjustment state and readjusts the desired contact force according to the same rules.
[0103] For example, if the new deviation is still greater than the deviation threshold, the finite state machine maintains the force control adjustment state, expecting the contact force to continue to adjust according to the adjustment amount corresponding to the new deviation, until the new deviation is less than the deviation threshold or the abnormal triggering condition is met.
[0104] As some feasible approaches, the first and second adjustment amounts can be values proportional to the magnitude of the deviation, so that a single adjustment can correct the desired contact force to a level close to the actual contact force; alternatively, the deviation can be divided into several intervals, each interval corresponding to a fixed adjustment amount, and the control process can directly take the value according to the interval in which the deviation is located.
[0105] This embodiment calculates the deviation between the actual contact force and the desired contact force and adjusts the desired contact force according to the direction and magnitude of the deviation. This allows the force control target value to be updated online with the actual contact state without pausing the assembly process or requiring manual recalibration. The adjustment process only rewrites the comparison reference of the force control loop without rewriting the gain of the position tracking loop, ensuring that the pose tracking accuracy remains consistent before and after the adjustment. This reduces contact force overshoot and oscillation caused by large jumps in the target value.
[0106] According to some embodiments of this application, the abnormal triggering conditions include at least one of the following: actual contact force exceeding the upper limit of contact force, joint torque exceeding the upper limit of torque threshold, contact force change rate exceeding the change rate threshold, deviation between actual position and expected position exceeding the position deviation threshold, deviation between actual angle and expected angle of dexterous hand finger joint exceeding the angle deviation threshold, and communication timeout.
[0107] In some embodiments, an abnormal triggering condition refers to a condition that determines the assembly process needs to enter an abnormal handling state; the determination criteria for the two types of conditions are the collected values of the force sensing unit and the torque feedback values of the drive unit, respectively; a contact force change rate exceeding the change rate threshold indicates that the change amplitude of the contact force per unit time is too large, usually caused by a collision between two assembly parts or slippage of the dexterous hand; a communication timeout indicates that the data interaction between the control system and the servo drive unit, force sensing unit, or upper system has not been completed within a specified time.
[0108] In some embodiments, a contact force change rate exceeding a change rate threshold indicates that the change in contact force per unit time is too large, which is usually caused by a collision between two assembled parts or slippage of a dexterous hand.
[0109] When the target state is an abnormal handling state, the steps of performing deceleration and stopping operation and reporting abnormal information include steps S261 to S265.
[0110] In step S261, the abnormality level is determined based on the abnormality triggering conditions.
[0111] In some embodiments, the anomaly level refers to the severity level of an established anomaly triggering condition, used to determine how to stop the movement.
[0112] In step S262, when the abnormality level is the first level, the movement speed of the left arm, right arm and dexterous hand is reduced to zero according to the preset deceleration, so that the left arm, right arm and dexterous hand stop moving and maintain the joint position at the time of stopping.
[0113] In some embodiments, the preset deceleration refers to the deceleration value on which the movement speed of each joint decreases under the first level, and its value is determined according to the maximum allowable acceleration of the joint, the maximum allowable impact force at the end, and the contact state between the workpieces.
[0114] For example, once the abnormality level is determined to be Level 1, the movement speed of the left arm, right arm, and dexterous hand decreases cyclically according to a preset deceleration rate. After several control cycles, the speed decreases to zero, and each joint remains in the position it was at the moment of stopping.
[0115] In step S263, if the abnormality level is level 2, the drive output of the left arm, right arm and dexterous hand is immediately cut off to maintain the current joint position.
[0116] In some embodiments, immediately cutting off the drive output means that after the abnormality level is determined to be the second level, the control process stops outputting active torque commands to the servo drive unit, so that each joint no longer generates active movement.
[0117] For example, once the anomaly level is determined to be level two, the control process stops outputting torque commands to the servo drive units of the left arm, right arm, and dexterous hand within the same control cycle, and each joint remains at the position at the moment of cutoff.
[0118] In step S264, after the movement stops, abnormal information is generated. The abnormal information includes the abnormal type, the abnormal trigger time, the joint angle at the time of triggering, the joint speed, and the actual contact force.
[0119] In some embodiments, generating anomaly information refers to reading and recording the on-site data at the moment the anomaly occurred after the movement has stopped.
[0120] For example, after the movement stops, the angles and velocities of each joint are read, and the actual contact force at the moment of stopping is read. These, along with the abnormality type and the time of abnormality triggering, are combined to form an abnormality information record.
[0121] In step S265, the exception information is output through the human-computer interaction interface and written to the exception log.
[0122] In some embodiments, the human-machine interface refers to an interface that allows operators to view the assembly process status and abnormal records. Abnormal information is output through this interface and presented in the form of a prompt.
[0123] For example, after the abnormal information is output through the human-machine interface, the operator can check the actual status of the workpiece; at the same time, the abnormal information is written to the abnormal log, and during subsequent analysis, the abnormal type, joint angle, joint speed and actual contact force at the time of triggering can be read from the log.
[0124] As some feasible methods, the classification of anomaly levels can be based on the degree to which the conditions exceed the corresponding thresholds. If the excess ratio is less than a set ratio, it is determined as the first level, and if it is greater than or equal to the set ratio, it is determined as the second level. Alternatively, the level can be determined based on the number of anomaly conditions that are met simultaneously.
[0125] This embodiment triggers an abnormal handling state when the actual contact force, joint torque, contact force change rate, position deviation, finger angle deviation, or communication status exceeds the allowable range, so that all kinds of abnormalities are handled uniformly by a single state transition path, reducing the overlap and omission of judgment logic; the abnormalities are divided into two levels according to their severity and correspond to two methods respectively: stopping by preset deceleration and immediately cutting off the drive output, so that the stopping method is adapted to the urgency of the abnormality.
[0126] According to some embodiments of this application, when the target state is an abnormal handling state, after performing the deceleration and stop operation and reporting the abnormal information, the control method further includes steps S271 to S273.
[0127] In step S271, in response to the exception cancellation signal, the assembly progress that was completed when the exception was triggered is obtained.
[0128] In some embodiments, responding to an anomaly elimination signal means using the arrival of the signal as the trigger condition for this step.
[0129] For example, a standardized sequence of assembly tasks contains four elements. An exception is triggered during the execution of the third element, i.e., the insertion operation. When the exception is triggered, the recorded assembly progress is the completion of two elements, with a value of one-half.
[0130] In step S272, if the assembly progress is lower than the first progress threshold, switch to the initial state and re-execute.
[0131] In some embodiments, an assembly progress below a first progress threshold indicates that an anomaly occurred in the early stages of the assembly process. At this point, the pose relationship between the two assembled components has not yet been stably established, and continuing to use the pose relationship before the anomaly was triggered has limited significance.
[0132] For example, if an exception is triggered during the execution of the first element, i.e. the gripping operation, and the assembly progress is lower than the first progress threshold, the control process switches to the initial state and restarts the entire assembly task. The two dexterous hands re-execute the clamping according to the force control parameters corresponding to the first element.
[0133] In step S273, if the assembly progress reaches or exceeds the first progress threshold, the process is restored to the state before the abnormality was triggered and execution continues.
[0134] In some embodiments, the assembly progress reaching or exceeding a first progress threshold indicates that the abnormality occurred in the middle or later stages of the assembly process, at which point the workpiece has entered the assembly entry point or a stable contact relationship has been established between the two assembly components.
[0135] For example, if an exception is triggered when the third element, i.e., the insertion operation, is halfway through, the assembly progress reaches the first progress threshold, the control process maintains the joint position at the time of stopping, the state values of the finite state machine are reset to the arm-hand coordination state, and the remaining part of the insertion operation is continued according to the actual contact force re-acquired after the exception is eliminated.
[0136] As some feasible approaches, the first progress threshold can be determined by the number of elements in the task standardization sequence, or by whether the assembly component has entered the assembly entry point. When the latter is adopted, the determination degenerates into the operation type of the element being processed when the read exception is triggered, and the control process does not need to calculate the progress ratio.
[0137] This embodiment selects to re-execute or continue execution according to the assembly progress after the anomaly is eliminated, so that the direction of state recovery is adapted to the already completed assembly degree. Early anomalies avoid the continued superposition of actions on unstable pose relationships by switching to the initial state. Mid-to-late stage anomalies avoid the repeated actions of re-picking and re-aligning by using the joint position and contact relationship at the time of stop. The assembly progress is recorded along with the anomaly information when the anomaly is triggered, and only one value retrieval operation is needed to complete the judgment during recovery.
[0138] Based on the above-described control method for a precision assembly robot, this application also provides a control device for a precision assembly robot. The following will be combined with... Figure 2 The device is described in detail.
[0139] Figure 2 A schematic block diagram of the control device for a precision assembly robot according to an embodiment of this application is shown.
[0140] like Figure 2 As shown, the control device 10 of the precision assembly robot according to an embodiment of this application includes a parsing module 1, a determining module 2, a first execution module 3, a second execution module 4, a third execution module 5, and a fourth execution module 6. The precision assembly robot is a dual-arm robot, with dexterous hands installed at the ends of its left and right arms. The control system of the precision assembly robot is configured with finite state machine logic. The finite state machine includes multiple states and transition rules between each state. The multiple states are used to control the operation of the precision assembly task at different assembly stages. The multiple states include dual-arm coordination state, arm-hand coordination state, force control adjustment state, and abnormal handling state.
[0141] The parsing module 1 is used to parse the acquired precision assembly task into a standardized task sequence. The standardized task sequence includes multiple operation types and target pose and force control parameters corresponding to each operation type. The force control parameters include the upper limit of contact force, the desired contact force, and the impedance parameter.
[0142] Module 2 is used to determine the target state by matching and querying the state transition rules of the finite state machine according to the order of operation types in the task standardization sequence, using the current operation type, current state, and execution status signal fed back after the execution of the previous operation type as query conditions.
[0143] The first execution module 3 is used to generate the end-effector trajectory of the left arm and the end-effector trajectory of the right arm according to the target pose when the target state is a dual-arm collaborative state, synchronize the end-effector trajectory of the left arm and the end-effector trajectory of the right arm in time, control the left arm and the right arm to move to the assembly position of the first assembly component and the fixed position of the second assembly component respectively, and control the two dexterous hands to close to grasp the first assembly component and the second assembly component according to the force control parameters.
[0144] The second execution module 4 is used to generate arm motion trajectory and hand finger trajectory according to the target pose when the target state is the arm-hand coordination state, control the left arm or right arm to move the first assembly component to the assembly position of the second assembly component, and control the corresponding dexterous hand to adjust the posture during the assembly process, and adjust the contact force in real time according to the desired contact force and impedance parameters.
[0145] The third execution module 5 is used to adjust the desired contact force according to the deviation between the actual contact force and the desired contact force when the target state is the force control adjustment state.
[0146] The fourth execution module 6 is used to perform a deceleration and stop operation and report the abnormal information when the target state is in an abnormal handling state.
[0147] The beneficial effects of the real-time communication device 10 of the robot control system according to the embodiments of this application are the same as those of the real-time communication method of the robot control system according to the embodiments of this application, and will not be repeated here.
[0148] According to embodiments of this application, any multiple modules among the parsing module 1, determining module 2, first execution module 3, second execution module 4, third execution module 5, and fourth execution module 6 can be combined into one module, or any one of these modules can be split into multiple modules. Alternatively, at least some of the functions of one or more of these modules can be combined with at least some of the functions of other modules and implemented in one module. According to embodiments of this application, at least one module among the parsing module 1, determining module 2, first execution module 3, second execution module 4, third execution module 5, and fourth execution module 6 can be at least partially implemented as hardware circuits, such as any one or more combinations of field-programmable gate arrays, programmable logic arrays, systems-on-a-chip, systems-on-a-substrate, systems-on-package, and application-specific integrated circuits, or can be implemented as software, firmware, or a combination of software and firmware. It should be noted that the names of the above modules do not necessarily constitute a limitation on the module itself in certain circumstances.
[0149] Figure 3 A block diagram schematically illustrates an electronic device suitable for implementing the above-described method according to an embodiment of this application.
[0150] like Figure 3 As shown, an electronic device 900 according to an embodiment of this application includes a processor 901, which can perform various appropriate actions and processes according to a program stored in a read-only memory 902 or a program loaded from a storage portion 908 into a random access memory 903. The processor 901 may include, for example, a general-purpose microprocessor, an instruction set processor and / or an associated chipset and / or a dedicated microprocessor. The processor 901 may also include onboard memory for caching purposes. The processor 901 may include a single processing unit or multiple processing units for executing different steps of the method flow according to an embodiment of this application.
[0151] Random access memory 903 stores various programs and data required for the operation of electronic device 900. Processor 901, read-only memory 902, and random access memory 903 are interconnected via bus 904. Processor 901 executes various steps of the method flow according to embodiments of this application by executing programs stored in read-only memory 902 and / or random access memory 903. It should be noted that the programs may also be stored in one or more memories other than read-only memory 902 and random access memory 903. Processor 901 may also execute various steps of the method flow according to embodiments of this application by executing programs stored in said one or more memories.
[0152] According to embodiments of this application, the electronic device 900 may further include an input / output interface 905, which is also connected to a bus 904. The electronic device 900 may also include one or more of the following components connected to the input / output interface 905: an input section 906 including a keyboard, mouse, etc.; an output section 907 including a cathode ray tube, liquid crystal display, etc., and a speaker, etc.; a storage section 908 including a hard disk, etc.; and a communication section 909 including a network interface card, such as a local area network card, modem, etc. The communication section 909 performs communication processing via a network such as the Internet. A drive 910 is also connected to the input / output interface 905 as needed. A removable medium 911, such as a disk, optical disk, magneto-optical disk, semiconductor memory, etc., is installed on the drive 910 as needed so that computer programs read from it can be installed into the storage section 908 as needed.
[0153] Embodiments of this application also provide a computer-readable storage medium, which may be included in the device / apparatus / system described in the above embodiments; or it may exist independently and not assembled into the device / apparatus / system. The computer-readable storage medium carries one or more programs, which, when executed, implement the method according to the embodiments of this application.
[0154] According to embodiments of this application, the computer-readable storage medium can be a non-volatile computer-readable storage medium, such as including but not limited to: portable computer disks, hard disks, random access memory, read-only memory, erasable programmable read-only memory, portable compact disk read-only memory, optical storage devices, magnetic storage devices, or any suitable combination thereof. In embodiments of this application, the computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. For example, according to embodiments of this application, the computer-readable storage medium may include the read-only memory 902 described above, and / or random access memory 903, and / or one or more memories other than read-only memory 902 and random access memory 903.
[0155] Embodiments of this application also include a computer program product comprising a computer program containing program code for performing the methods shown in the flowchart. When the computer program product is run on a computer system, the program code is used to cause the computer system to implement the methods provided in the embodiments of this application.
[0156] In one embodiment, the computer program may rely on a tangible storage medium such as an optical storage device or a magnetic storage device. In another embodiment, the computer program may also be transmitted and distributed in the form of signals over a network medium, and downloaded and installed via the communication section 909, and / or installed from a removable medium 911. The program code contained in the computer program can be transmitted using any suitable network medium, including but not limited to: wireless, wired, etc., or any suitable combination thereof.
[0157] In embodiments of this application, the computer program can be downloaded and installed from a network via communication section 909, and / or installed from removable medium 911. When the computer program is executed by processor 901, it performs the functions defined in the system of embodiments of this application. According to embodiments of this application, the systems, devices, apparatuses, modules, units, etc., described above can be implemented by computer program modules.
[0158] According to embodiments of this application, program code for executing the computer programs provided in the embodiments of this application can be written in any combination of one or more programming languages. Specifically, these computational programs can be implemented using high-level procedural and / or object-oriented programming languages, and / or assembly / machine languages. The program code can be executed entirely on the user's computing device, partially on the user's device, partially on a remote computing device, or entirely on a remote computing device or server. In cases involving remote computing devices, the remote computing device can be connected to the user's computing device via any type of network, including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computing device (e.g., via the Internet using an Internet service provider).
[0159] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in a block diagram or flowchart, and combinations of blocks in a block diagram or flowchart, may be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.
[0160] Those skilled in the art will understand that the features described in the various embodiments of this application can be combined and / or combined in various ways, even if such combinations or combinations are not explicitly described in this application. In particular, the features described in the various embodiments of this application can be combined and / or combined in various ways without departing from the spirit and teachings of this application. All such combinations and / or combinations fall within the scope of this application.
Claims
1. A control method for a precision assembly robot, characterized in that, The precision assembly robot is a dual-arm robot, with dexterous hands attached to the ends of its left and right arms. The control system of the precision assembly robot is configured with finite state machine logic, which includes multiple states and transition rules between these states. These multiple states are used to control the operation of the precision assembly task at different assembly stages. The multiple states include a dual-arm coordination state, an arm-hand coordination state, a force control adjustment state, and an anomaly handling state. The control method includes: The acquired precision assembly task is parsed into a task standardization sequence, which includes multiple operation types and target pose and force control parameters corresponding to each operation type. The force control parameters include the upper limit of contact force, the desired contact force, and the impedance parameter. According to the order of operation types in the task standardization sequence, the current operation type, the current state, and the execution state signal fed back after the previous operation type are used as query conditions to perform a matching query in the state transition rules of the finite state machine to determine the target state. When the target state is the dual-arm cooperative state, the left arm end trajectory and the right arm end trajectory are generated according to the target pose. The left arm end trajectory and the right arm end trajectory are synchronized in time. The left arm and the right arm are controlled to move to the assembly position of the first assembly component and the fixed position of the second assembly component, respectively. The two dexterous hands are controlled to close to grasp the first assembly component and the second assembly component according to the force control parameters. When the target state is the arm-hand coordination state, the arm motion trajectory and hand finger trajectory are generated according to the target pose. The left arm or right arm is controlled to move the first assembly component to the assembly position of the second assembly component. At the same time, the corresponding dexterous hand is controlled to adjust its posture during the assembly process, and the contact force is adjusted in real time according to the desired contact force and the impedance parameter. When the target state is the force control adjustment state, the desired contact force is adjusted according to the deviation between the actual contact force and the desired contact force. If the target state is the abnormal handling state, perform a deceleration and stop operation and report the abnormal information.
2. The control method for the precision assembly robot according to claim 1, characterized in that, The steps for determining the target state by matching and querying the state transition rules of the finite state machine according to the order of operation types in the standardized task sequence, using the current operation type, current state, and execution state signal fed back after executing the previous operation type as query conditions, include: Obtain the state transition rule table of the finite state machine. The state transition rule table includes multiple state transition entries. Each state transition entry records the correspondence between the previous state, operation type conditions, execution state signal conditions, and target state. Using the current state as the previous state, the current operation type, and the execution state signal as query conditions, a matching query is performed in the state transition rule table; When the query condition matches any entry in the state transition rule table, the target state recorded in that entry is determined as the target state.
3. The control method for the precision assembly robot according to claim 2, characterized in that, The state transition rule table includes at least two of the following entries: When the previous state is the initial state, the operation type condition is the grasping operation, and the execution status signal condition is the self-test completion signal, the target state is the dual-arm collaborative state. When the previous state is the dual-arm collaborative state, the operation type condition is alignment operation, and the execution status signal condition is grasping success signal, the target state is the dual-arm collaborative state. When the previous state is the dual-arm coordination state, the operation type condition is insertion operation, and the execution status signal condition is alignment completion signal, the target state is the arm-hand coordination state. The previous state was the arm-hand coordination state, the operation type condition was insertion operation, and the execution state signal condition was that the deviation between the actual contact force and the expected contact force exceeded the deviation threshold. The target state is the force control adjustment state. When the previous state is the force control adjustment state, the operation type condition is the insertion operation, and the execution state signal condition is the force control convergence signal, the target state is the arm-hand coordination state. When the previous state is the arm-hand coordination state, the operation type condition is the release operation, and the execution status signal condition is the insertion completion signal, the target state is the arm-hand coordination state. When the previous state is the arm-hand coordination state, the operation type condition is the release operation, and the execution state signal condition is the release completion signal, the target state is the end state. The previous state is the dual-arm coordination state or the arm-hand coordination state, the execution state signal condition is the abnormal triggering condition that triggers entry into the abnormal handling state, and the target state is the abnormal handling state.
4. The control method for the precision assembly robot according to claim 3, characterized in that, The step of adjusting the desired contact force based on the deviation between the actual contact force and the desired contact force includes: Calculate the deviation between the actual contact force and the expected contact force; When the actual contact force is greater than the expected contact force, the expected contact force is reduced by a first adjustment amount so that the adjusted expected contact force is less than the unadjusted expected contact force. When the actual contact force is less than the expected contact force, the expected contact force is increased by a second adjustment amount so that the adjusted expected contact force is greater than the unadjusted expected contact force. The first adjustment amount and the second adjustment amount are determined according to the magnitude of the deviation. The larger the deviation, the larger the first adjustment amount or the second adjustment amount. The adjusted expected contact force is issued so that the contact force adjustment can be re-executed according to the adjusted expected contact force; Obtain the new deviation between the adjusted actual contact force and the adjusted expected contact force; When the new deviation is less than the deviation threshold, force control convergence is determined, and the target state is switched from the force control adjustment state back to the arm-hand coordination state. When the new deviation is greater than or equal to the deviation threshold, maintain the force control adjustment state and continue to adjust the desired contact force.
5. The control method for the precision assembly robot according to claim 3, characterized in that, The abnormal triggering conditions include at least one of the following: actual contact force exceeding the upper limit of contact force, joint torque exceeding the upper limit threshold of torque, contact force change rate exceeding the change rate threshold, deviation between actual position and expected position exceeding the position deviation threshold, deviation between actual angle and expected angle of dexterous hand finger joint exceeding the angle deviation threshold, and communication timeout. When the target state is the abnormal handling state, the steps of performing a deceleration and stopping operation and reporting the abnormal information include: The anomaly level is determined based on the aforementioned anomaly triggering conditions; When the abnormality level is the first level, the movement speed of the left arm, right arm and dexterous hand is reduced to zero according to the preset deceleration, so that the left arm, right arm and dexterous hand stop moving and maintain the joint position at the time of stopping; If the abnormality level is level two, immediately cut off the drive output of the left arm, right arm and dexterous hand, and maintain the current joint position; After the movement stops, abnormal information is generated, including the abnormality type, abnormality trigger time, joint angle at the time of triggering, joint speed and actual contact force; The abnormal information is output through the human-computer interaction interface and written to the abnormal log.
6. The control method for the precision assembly robot according to claim 5, characterized in that, When the target state is the abnormal handling state, after performing the deceleration and stopping operation and reporting the abnormal information, the control method further includes: In response to the exception cancellation signal, obtain the assembly progress that was completed when the exception was triggered; If the assembly progress is lower than the first progress threshold, switch back to the initial state and re-execute; If the assembly progress reaches or exceeds the first progress threshold, the process will resume from the state before the exception was triggered.
7. A control device for a precision assembly robot, characterized in that, The precision assembly robot is a dual-arm robot, with dexterous hands attached to the ends of its left and right arms. The control system of the precision assembly robot is configured with finite state machine logic, which includes multiple states and transition rules between states. These multiple states are used to control the operation of the precision assembly task at different assembly stages. The multiple states include a dual-arm coordination state, an arm-hand coordination state, a force control adjustment state, and an anomaly handling state. The control device includes: The parsing module is used to parse the acquired precision assembly task into a standardized task sequence. The standardized task sequence includes multiple operation types and target pose and force control parameters corresponding to each operation type. The force control parameters include the upper limit of contact force, the desired contact force, and the impedance parameter. The determination module is used to perform a matching query in the state transition rules of the finite state machine according to the order of operation types in the task standardization sequence, using the current operation type, the current state, and the execution state signal fed back after executing the previous operation type as query conditions, to determine the target state. The first execution module is used to generate the end-effector trajectory of the left arm and the end-effector trajectory of the right arm according to the target pose when the target state is the dual-arm cooperative state, synchronize the end-effector trajectory of the left arm and the end-effector trajectory of the right arm in time, control the left arm and the right arm to move to the assembly position of the first assembly component and the fixed position of the second assembly component respectively, and control the two dexterous hands to close to grasp the first assembly component and the second assembly component according to the force control parameters. The second execution module is used to generate an arm motion trajectory and a hand finger trajectory according to the target pose when the target state is the arm-hand coordination state, control the left arm or right arm to move the first assembly component to the assembly position of the second assembly component, and control the corresponding dexterous hand to adjust its posture during the assembly process, and adjust the contact force in real time according to the desired contact force and the impedance parameter. The third execution module is used to adjust the desired contact force according to the deviation between the actual contact force and the desired contact force when the target state is the force control adjustment state; The fourth execution module is used to perform a deceleration and stop operation and report the abnormal information when the target state is the abnormal handling state.
8. An electronic device, comprising: One or more processors; Memory, used to store one or more computer programs. The characteristic feature is that the one or more processors execute the one or more computer programs to implement the steps of the method according to any one of claims 1 to 6.
9. A computer-readable storage medium having a computer program or instructions stored thereon, characterized in that, When the computer program or instructions are executed by a processor, they implement the steps of the method according to any one of claims 1 to 6.
10. A computer program product, comprising a computer program or instructions, characterized in that, When the computer program or instructions are executed by a processor, they implement the steps of the method according to any one of claims 1 to 6.
