Rubik cube solving robot control method based on two arms and four fingers

By refining the steps during the Rubik's Cube recovery process, using search algorithms and symmetry optimization paths, combined with pruning functions, the problem of many mechanical steps in Rubik's Cube recovery is solved, and the rapid, stable and efficient completion of Rubik's Cube recovery is achieved.

CN119238503AActive Publication Date: 2025-01-03UNIV OF ELECTRONICS SCI & TECH OF CHINA

Patent Information

Application Number
CN202411393215.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-08
Publication Date
2025-01-03
Estimated Expiration
2044-10-08

AI Technical Summary

Technical Problem

The prior art failed to optimize the mechanical steps from a global perspective during the recovery process of the Rubik's Cube, resulting in more mechanical steps and failed to effectively reduce unnecessary mechanical actions, affecting efficiency.

Method used

Using the two-arm four-finger structure robot control method, the Rubik's Cube restore steps are refined into adjustment, execution and reset stages, and the optimization path is identified using search algorithms and symmetry, combined with recursive optimization algorithms and pruning functions, reduce the number of mechanical steps, and select The optimal path with the least number of mechanical steps is performed.

Benefits of technology

The rapid and stable completion of the Rubik's Cube recovery task is achieved, mechanical actions are reduced, overall execution efficiency and operational consistency are improved, and operational accuracy and safety are ensured.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119238503A_ABST
    Figure CN119238503A_ABST
Patent Text Reader

Abstract

The invention discloses a control method for a magic cube solving robot based on two arms and four fingers, and relates to the field of robot control. According to the method, the step optimization problem of mechanical action recovery of the robot with the two-arm and four-finger structure in the magic cube recovery task can be solved, and the robot can be allowed to perform the mechanical action recovery task on any magic cube in a disordered state. When a task is completed, firstly, a key operation surface and an operation stage are defined, then conversion logic from the magic cube restoration step to the mechanical execution step is constructed, and an optimal restoration path is explored by integrating reset and adjustment stages of adjacent steps and utilizing symmetric plane conversion and selection of an execution strategy. Thirdly, a pruning function is introduced, future step cost is predicted based on historical data, and search space complexity is reduced; and finally, the optimization function is integrated into a search algorithm, a reduction sequence with the least mechanical step number is searched, and the reduction sequence is accurately executed by a controller so as to efficiently and accurately complete the magic cube recovery task.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of robot control. Background Art

[0002] At present, the method of Rubik's Cube settlement generally performs mechanical actions and coordinate transformations in sequence directly after calculating the Rubik's Cube restoration steps. The optimization processing is also for the existing Rubik's Cube restoration steps without optimizing the search process of the Rubik's Cube restoration steps. Although this method can achieve the Rubik's Cube restoration task, it will result in more mechanical steps and does not consider the optimization of mechanical steps from a global perspective and the perspective of searching the Rubik's Cube restoration step sequence. Summary of the invention

[0003] The present invention provides a control method for a dual-arm four-finger structure robot for Rubik's Cube restoration, which can effectively solve the Rubik's Cube restoration step optimization problem based on various dual-arm four-finger structure robots, thereby fully tapping the potential of the mechanism and enabling it to complete the Rubik's Cube restoration task quickly and stably.

[0004] The technical solution of the present invention is a control method based on a two-arm four-finger Rubik's Cube solving robot, and the specific steps of the method include:

[0005] Step 1: Concept definition and step division;

[0006] In the Rubik's Cube restoration task, the Rubik's Cube consists of 6 faces, namely: the top face (U), the bottom face (D), the right face (R), the left face (L), the front face (F), and the back face (B). In order to optimize the execution process, the restoration steps are refined into three stages: the adjustment stage, i.e. adjusting the target operation face to an operable position, the execution stage, i.e. actually performing the rotation operation, and the reset stage, i.e. returning the robot arm to its initial state, in order to avoid mechanical collisions and ensure operational continuity.

[0007] Step 2: Use a search algorithm to calculate all possible Rubik's Cube restoration step sequences based on the initial state of the Rubik's Cube. Whenever a restoration path is calculated, the adjacent reset phase and adjustment phase of the restoration path are first integrated to reduce unnecessary mechanical movements and optimize overall execution efficiency.

[0008] Step 3: Based on the symmetry of the Rubik's Cube structure, identify and use pairs of symmetric face operations that can be interchanged without affecting the final restoration result. Each interchange generates a new restoration path. All possible restoration path combinations are explored through exhaustive method. The restoration path combination includes the original restoration path and the newly generated restoration path.

[0009] Step 4: For each restoration path, when the restoration path includes an operation on the R surface or the L surface, two new restoration paths are generated, namely, rotating the R surface or the L surface to the D surface or rotating the R surface or the L surface to the B surface, and a new restoration path is also generated at this time; for each adjustment scheme, the optimization algorithm is recursively called to process the remaining operation sequence, that is, the reset phase of the current step is integrated with the adjustment phase of the subsequent step by the method of step 2 to reduce unnecessary mechanical actions; after the recursive optimization is completed, the number of mechanical steps after the conversion of the two adjustment schemes is compared, and the scheme with fewer steps is selected as the optimal choice for the current step;

[0010] Step 5: Use the methods from step 2 to step 4 to calculate all the optimal paths, compare the total number of mechanical steps of all recovery paths; select the path with the least number of steps as the final optimal recovery path;

[0011] Step 6: The obtained optimal recovery path is sent to the controller, which parses the instruction and controls the power unit to realize the movement of the robot arm and the robot finger.

[0012] Furthermore, in step 1, in view of the dynamic change characteristics of the coordinate states of each face of the Rubik's Cube after the robot operation, coordinate transformation needs to be implemented to maintain the accuracy of the operation; in view of the fact that a single operation of the robotic arm is limited to affecting only two specific faces, which are defined as "robotic arm operating faces"; and the face to be rotated is the "target operating face"; when both robotic arms firmly clamp the operating face, it is regarded as the "initial state".

[0013] Furthermore, in step 2, if the robot arm is in the same position during the reset phase and the adjustment phase, the two phases are integrated together.

[0014] Furthermore, new paths will be generated in both step 3 and step 4. When a new path is generated, the pruning function is first used to calculate the mechanical cost of the current new path. If the mechanical cost is greater than the threshold, the path is directly deleted, and the path is not subsequently optimized and calculated, and other paths are selected for calculation.

[0015] Furthermore, the construction method of the pruning function is:

[0016] S1: Generate samples: First, randomly generate or select more than ten different Rubik's Cube solving step sequences as samples;

[0017] S2: Optimize each sample in step S1 using the method from step 2 to step 5. When a new recovery path is added during the execution of the method from step 2 to step 5, record the minimum mechanical cost of each new recovery path and the old recovery path. The mechanical cost is all necessary rotation and movement operations of the robot arm.

[0018] S3: Using the number of Rubik's Cube steps as the independent variable and the current minimum mechanical cost as the dependent variable, a linear function is established for each sequence; these linear functions show how the mechanical cost changes as the number of steps increases;

[0019] S4: Data processing: Statistical processing is performed on the slopes and intercepts of the linear functions generated by various sequences; first, outliers are identified and removed, and then the average of the remaining slopes and intercepts is calculated;

[0020] S6: A general linear pruning function is defined using the average of the residual slopes and intercepts; this linear pruning function is used during the search process to predict and evaluate the mechanical cost of the Rubik's Cube solving sequence for any given number of steps.

[0021] The method of the present invention can solve the problem of optimizing the steps of mechanical action restoration of a dual-arm four-finger structure robot in a Rubik's Cube restoration task. The method can allow the robot to perform mechanical action restoration tasks on a Rubik's Cube in any scrambled state. When completing the task, first define the key operating surfaces and operating stages, then construct the conversion logic from the Rubik's Cube restoration steps to the mechanical execution steps, and explore the optimal restoration path by integrating the reset and adjustment stages of adjacent steps, utilizing symmetry plane transformations and the selection of execution strategies. Next, introduce a pruning function to predict future step costs based on historical data and reduce the complexity of the search space. Finally, integrate the optimization function into the search algorithm to find the restoration sequence with the least number of mechanical steps, and execute it accurately by the controller to complete the Rubik's Cube restoration task efficiently and accurately. BRIEF DESCRIPTION OF THE DRAWINGS

[0022] Figure 1 Define a schematic diagram for the Rubik's Cube coordinate planes. DETAILED DESCRIPTION

[0023] The specific implementation of the method of the present invention is described as follows in conjunction with the accompanying drawings:

[0024] The logical steps of this method can be summarized as follows: first, establish a function that converts the Rubik's Cube solving step into the mechanical execution step, then establish a pruning function that will be used in the search process, and then apply these two functions to the existing two-stage search algorithm for optimization. The steps are further described in detail as follows:

[0025] S1, concept definition and step division. When a standard three-dimensional Rubik's cube is placed on the robot, the coordinates of each face of the Rubik's cube are defined as follows: Figure 1As shown. Since the coordinate states of the various faces of the Rubik's Cube will change after the robot completes a Rubik's Cube restoration step, the coordinate transformation after each operation is shown in Table 1. Since the robot arm can only affect the states of the D and B faces in the current state when performing a rotation operation each time, these two faces are defined as the robot arm operation faces, and the Rubik's Cube face to be rotated is defined as the target operation face. When both robot arms are holding the robot arm operation face, this state is defined as the initial state. The robot hand execution steps corresponding to each instruction of the Rubik's Cube restoration step are divided into three stages: adjustment stage, execution stage and reset stage. The definitions of each stage are as follows: In order to avoid collision between the two robot arms during the operation of the machine, it is assumed that both robot arms must be in the initial state before each Rubik's Cube restoration step starts to execute. The adjustment stage refers to the mechanical steps required to adjust the target operation face to the robot arm operation face, the execution stage refers to the mechanical steps of the robot arm actually rotating the target operation face, and the reset stage refers to adjusting the robot arms back to the initial state. The three stages of mechanical restoration steps corresponding to each Rubik's Cube restoration step are shown in Table 3. The specific meanings of the instructions involved in Table 3 are shown in Table 2.

[0026] S2: Construct a function that converts the Rubik's Cube solving steps into mechanical execution steps.

[0027] S2-1, stage integration. Since the execution stage directly involves the key rotation of the Rubik's Cube, it is usually impossible to optimize it directly (i.e. it cannot be omitted or simplified). What can be optimized are the adjustment stage and the reset stage. Try to combine the reset stage of the previous step with the adjustment stage of the next step. The purpose of this is to reduce the total number of mechanical steps and improve the efficiency of the restoration. Table 4 shows all possible combinations. These combinations can significantly reduce the redundant steps in the Rubik's Cube restoration process through reasonable arrangement.

[0028] S2-2, symmetry plane transformation. In the process of restoring the Rubik's Cube, some steps involve operation planes that are relative or symmetrical. These symmetry planes include: top (U) and bottom (D), right (R) and left (L), front (F) and back (B). When it is found that the planes operated by two consecutive steps are symmetry planes, you can try to swap the order of these two steps. Since the Rubik's Cube is symmetrical, this swap will not affect the final restoration result, but it may bring about optimization in the order of steps, making the entire restoration process smoother or with fewer steps. Considering that the number of transformation pairs involved in a Rubik's Cube restoration sequence of about 20 steps is limited, an exhaustive method can be used to try all possible combinations of symmetry plane transformations to generate multiple different restoration paths. Some of these paths may have fewer steps or be more efficient in execution, so they can be selected according to actual needs.

[0029] S2-3, path selection. In the path selection stage, a key decision point is that when the target operation surface is the R surface (right surface) or the L surface (left surface) of the Rubik's Cube, there are two different strategies to adjust the target operation surface to a position suitable for the robot to execute, usually the D surface (bottom surface) or the B surface (back surface). This flexibility stems from the symmetry of the Rubik's Cube structure, which allows the same target position to be reached by rotating different surfaces. Specifically, for each restoration step containing an 'L' or 'R' operation, we need to evaluate two possible adjustment schemes: one is to rotate the target operation surface (L or R) to the D surface, and the other is to rotate it to the B surface. Both schemes will result in different transformations of the subsequent Rubik's Cube coordinate surfaces, which in turn affects the number of mechanical execution steps for the remaining steps in the entire restoration process. In order to determine the optimal path, the following steps are taken:

[0030] S2-3-1 Traversing the restoration path: First, we traverse all the restoration paths generated in the S2-2 stage. Each path consists of a series of restoration steps, which may contain multiple steps that need to be adjusted for the L or R surface.

[0031] S2-3-2 Try different adjustment schemes: For each step in the path involving the L or R surface, we try two schemes to adjust it to the D and B surfaces. This means that at each such step point, we create two branch paths, each representing an adjustment scheme.

[0032] S2-3-3 Recursive Optimization: Next, for each adjustment scenario, we recursively call the optimization algorithm to process the remaining operation sequence. This includes applying the phase integration strategy (S2-1), which attempts to integrate the reset phase of the current step with the adjustment phase of the subsequent step to reduce unnecessary mechanical actions.

[0033] S2-3-4 Comparison of mechanical step numbers: After the recursive optimization is completed, we compare the number of mechanical steps after the two adjustment schemes are converted, and select the scheme with fewer steps as the optimal choice for the current step.

[0034] S2-3-5 Select the optimal recovery path: Finally, we compare the total number of mechanical steps of all recovery paths (including branch paths generated by different adjustment schemes). The path with the least number of steps is selected as the final optimal recovery path, and its number of mechanical steps is regarded as the minimum cost of the Rubik's Cube restoration step sequence.

[0035] S3, construct a pruning function that can predict and evaluate the cost of the mechanical steps required to continue to solve the Rubik's Cube along the path based on the current Rubik's Cube solving step sequence;

[0036] S3-1 Generate samples: First, randomly generate or select ten different Rubik's Cube solving step sequences as samples.

[0037] S3-2 Apply S2 function: For each sequence, apply the optimization function established in the S2 stage (including stage integration and symmetry plane transformation) to optimize the number of mechanical steps for each sequence.

[0038] S3-3 Record costs: During the run, record the mechanical minimum cost for each step in each sequence. This includes all necessary rotation and translation operations.

[0039] S3-4 Build a linear model: Based on the number of Rubik's cube steps (independent variable) and the current minimum mechanical cost (dependent variable), a linear function is built for each sequence. These linear functions attempt to capture the trend of how the mechanical cost changes as the number of steps increases.

[0040] S3-5 Data processing: The slopes and intercepts of the linear functions generated by the ten sequences were statistically processed. First, outliers (such as points that deviate significantly from other values) were identified and removed, and then the averages of the remaining slopes and intercepts were calculated.

[0041] S3-6 Determine the pruning function: Using the processed average slope and intercept, define a general linear pruning function. This function can be used in the search process to predict and evaluate the mechanical cost of the Rubik's Cube solving sequence for any given number of steps.

[0042] S4, Rubik's Cube Solving Search Optimization, integrates the functions established in stages S2 and S3 into the Rubik's Cube Solving search algorithm to optimize the search process and reduce unnecessary calculations.

[0043] S4-1 Search process: Use the two-stage or any other applicable search algorithm to explore possible sequences of steps to solve the Rubik's Cube.

[0044] S4-2 Evaluate current step: Whenever a new Rubik's cube solving step is searched, the optimization function established in S2 is used to calculate the minimum number of mechanical solving steps required for this step. This helps to immediately identify and apply optimizations such as stage integration and symmetry plane transformation.

[0045] S4-3 Pruning judgment: At the same time, the current Rubik's Cube solving step length (that is, the number of steps that have been searched) is used as input, and the pruning function established in the S3 stage is used to calculate a judgment threshold. This threshold represents the upper limit of the expected mechanical cost under the current number of steps.

[0046] S4-4 Pruning operation: If the number of mechanical restoration steps of the current step is greater than the judgment threshold, it is considered that the final cost of continuing to search along this path may be high, and it is not a better path. Therefore, the search path is pruned, that is, the path is abandoned and other more promising paths are explored instead.

[0047] S4-5 output results: Through the continuous iteration and pruning operation of the search algorithm, it is finally possible to find and output a Rubik's Cube restoration step sequence with a shorter number of mechanical restoration steps. This sequence not only restores the Rubik's Cube, but also is relatively optimized in terms of the cost of mechanical operations.

[0048] S5, the mechanical arm and mechanical finger move to restore the Rubik's Cube. The mechanical action step set corresponding to the optimal path returned at the end of step S4 is converted according to the communication protocol of the single-chip microcomputer, and then sent to the single-chip microcomputer via serial communication. After the single-chip microcomputer completes the instruction parsing, it controls the power unit of the mechanical arm and mechanical finger to make it move and complete the task of restoring the Rubik's Cube.

[0049] Table 1 shows the transformation of the Rubik's Cube coordinate plane after each Rubik's Cube restoration step is executed;

[0050]

[0051] Table 2 shows the meaning of the motor control instructions;

[0052] instruction meaning instruction meaning L0 The left mechanical claw is released R0 Right mechanical claw released L1 Left mechanical claw clamping R1 Right mechanical claw clamping LC1 The left robotic arm rotates 90° clockwise RC1 The right robotic arm rotates 90° clockwise LC2 The left robotic arm rotates 180° clockwise RC2 The right robotic arm rotates 180° clockwise LC3 The left robotic arm rotates 90° counterclockwise RC3 The right robotic arm rotates 90° counterclockwise

[0053] Table 3 shows the three-stage mechanical restoration steps corresponding to each Rubik's Cube restoration step;

[0054]

[0055]

[0056] Table 4 shows all possible combinations of Rubik's Cube solving steps that can be integrated in stages;

[0057]

Claims

1. A control method for a two-arm four-finger Rubik's Cube solving robot, the specific steps of the method include: Step 1: Concept definition and step division; In the Rubik's Cube restoration task, the Rubik's Cube consists of 6 faces, namely: the top face (U), the bottom face (D), the right face (R), the left face (L), the front face (F), and the back face (B). In order to optimize the execution process, the restoration steps are refined into three stages: the adjustment stage, i.e. adjusting the target operation face to an operable position, the execution stage, i.e. actually performing the rotation operation, and the reset stage, i.e. returning the robot arm to its initial state, in order to avoid mechanical collisions and ensure operational continuity. Step 2: Use a search algorithm to calculate all possible Rubik's Cube restoration step sequences based on the initial state of the Rubik's Cube; whenever a restoration path is calculated, first integrate the adjacent reset phases and adjustment phases of the restoration path; Step 3: Based on the symmetry of the Rubik's Cube structure, identify and use pairs of symmetric face operations that can be interchanged without affecting the final restoration result. Each interchange generates a new restoration path. All possible restoration path combinations are explored through exhaustive method. The restoration path combination includes the original restoration path and the newly generated restoration path. Step 4: For each restoration path, when the restoration path includes an operation on the R surface or the L surface, two new restoration paths are generated, namely, rotating the R surface or the L surface to the D surface or rotating the R surface or the L surface to the B surface, and a new restoration path is also generated at this time; for each adjustment scheme, the optimization algorithm is recursively called to process the remaining operation sequence, that is, the reset phase of the current step is integrated with the adjustment phase of the subsequent step by the method of step 2 to reduce unnecessary mechanical actions; after the recursive optimization is completed, the number of mechanical steps after the conversion of the two adjustment schemes is compared, and the scheme with fewer steps is selected as the optimal choice for the current step; Step 5: Use the methods from step 2 to step 4 to calculate all the optimal paths, compare the total number of mechanical steps of all recovery paths; select the path with the least number of steps as the final optimal recovery path; Step 6: The obtained optimal recovery path is sent to the controller, which parses the instruction and controls the power unit to realize the movement of the robot arm and the robot finger.

2. A control method based on a two-arm four-finger Rubik's Cube solving robot as claimed in claim 1, characterized in that: In step 1, in view of the dynamic change characteristics of the coordinate states of each face of the Rubik's Cube after the robot operation, coordinate transformation needs to be implemented to maintain the accuracy of the operation; in view of the fact that a single operation of the robot arm is limited to affecting only two specific faces, which are defined as "robot arm operation faces"; and the face to be rotated is the "target operation face"; when both robot arms firmly clamp the operation face, it is regarded as the "initial state".

3. A control method based on a dual-arm four-finger Rubik's Cube solving robot as claimed in claim 1, characterized in that: In step 2, if the robot arm is in the same position during the reset phase and the adjustment phase, the two phases are integrated together.

4. A control method based on a dual-arm four-finger Rubik's Cube solving robot as claimed in claim 1, characterized in that: New paths will be generated in both step 3 and step 4. When a new path is generated, the pruning function is first used to calculate the mechanical cost of the current new path. If the mechanical cost is greater than the threshold, the path is directly deleted, and the path is not subsequently optimized and calculated, and other paths are selected for calculation.

5. A control method based on a dual-arm four-finger Rubik's Cube solving robot as claimed in claim 4, characterized in that: The construction method of the pruning function is: S1: Generate samples: First, randomly generate or select more than ten different Rubik's Cube solving step sequences as samples; S2: Optimize each sample in step S1 using the method from step 2 to step 5. When a new recovery path is added during the execution of the method from step 2 to step 5, record the minimum mechanical cost of each new recovery path and the old recovery path. The mechanical cost is all necessary rotation and movement operations of the robot arm. S3: Using the number of Rubik's Cube steps as the independent variable and the current minimum mechanical cost as the dependent variable, a linear function is established for each sequence; these linear functions show how the mechanical cost changes as the number of steps increases; S4: Data processing: Statistical processing is performed on the slopes and intercepts of the linear functions generated by various sequences; first, outliers are identified and removed, and then the average of the remaining slopes and intercepts is calculated; S6: A general linear pruning function is defined using the average of the residual slopes and intercepts; this linear pruning function is used during the search process to predict and evaluate the mechanical cost of the Rubik's Cube solving sequence for any given number of steps.

Citation Information

Patent Citations

  • Control method of double-arm four-finger structure robot for magic cube recovery

    CN116117819A

  • Real platform of instructing of magic cube robot is separated to intelligence

    CN208196775U

  • Novel magic cube solving robot

    CN217751439U

  • Signal processing method using autonomous motion

    JP1995105181A

  • KR20200059708A

Cited By

  • Time optimization method for mechanical actions of Rubik's cube robot with two-arm and two-finger structure

    CN120095817A