A control method for a Rubik's Cube-solving robot based on two arms and four fingers

By applying search algorithms, stage integration, symmetry plane transformation and pruning functions in the control method of a dual-arm four-finger structure robot, the mechanical steps in the Rubik's Cube solving process are optimized, solving the problem of too many mechanical steps in the existing technology, and achieving more efficient and accurate Rubik's Cube solving.

CN119238503BActive Publication Date: 2025-09-19UNIV OF ELECTRONICS SCI & TECH OF CHINA
View PDF 2 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

The existing technology fails to optimize the search process during the Rubik's Cube solving process, resulting in a large number of mechanical steps and failing to consider the optimization of the mechanical steps from a global perspective.

Method used

A control method based on a dual-arm four-finger robot is adopted. The sequence of Rubik's Cube solving steps is calculated through a search algorithm. Stage integration, symmetry plane transformation and pruning function are used to optimize path selection and reduce unnecessary mechanical movements.

Benefits of technology

It effectively optimizes the Rubik's Cube restoration steps, reduces the number of mechanical movements, and improves the efficiency and accuracy of Rubik's Cube restoration.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119238503B_ABST
    Figure CN119238503B_ABST
Patent Text Reader

Abstract

The present invention discloses a control method for a two-arm four-finger Rubik's Cube-solving robot, which relates to the field of robot control. The method of the present invention can solve the problem of optimizing the steps of mechanical action restoration of a two-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, the key operation surfaces and operation stages are first defined, and then the conversion logic from the Rubik's Cube restoration steps to the mechanical execution steps is constructed. The optimal restoration path is explored by integrating the reset and adjustment stages of adjacent steps, utilizing symmetry plane transformations and the selection of execution strategies. Next, a pruning function is introduced to predict future step costs based on historical data to reduce the complexity of the search space. Finally, the optimization function is integrated into the search algorithm to find the restoration sequence with the least number of mechanical steps, and it is accurately executed by the controller to complete the Rubik's Cube restoration task efficiently and accurately.
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 solving the Rubik's Cube is generally to directly perform mechanical actions and coordinate transformations in sequence after calculating the Rubik's Cube solving steps. The optimization processing is also targeted at the existing Rubik's Cube solving steps without optimizing the search process of the Rubik's Cube solving steps. Although this method can achieve the Rubik's Cube restoration task, it will result in more mechanical steps. The optimization of the mechanical steps is not considered from a global perspective and the perspective of searching the Rubik's Cube solving step sequence. Summary of the Invention

[0003] The present invention provides a control method for a dual-arm, four-finger robot for Rubik's Cube restoration. The method can effectively solve the problem of optimizing the Rubik's Cube restoration steps based on various dual-arm, four-finger 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, the specific steps of the method include:

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

[0006] In the Rubik's Cube solving task, the Rubik's Cube consists of six faces: 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). To optimize the execution process, the solving steps are divided into three stages: the adjustment stage, which is to adjust the target operation face to the operable position; the execution stage, which is to actually perform the rotation operation; and the reset stage, which is to return 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 sequences of Rubik's Cube solving steps based on the initial state of the Rubik's Cube. Whenever a path is calculated, the adjacent reset and adjustment stages of the 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 utilize pairs of symmetric face operations that can be interchanged without affecting the final solution. Each interchange generates a new restoration path. An exhaustive search is performed to explore all possible restoration path combinations, which include 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 or L surface, two new restoration paths are generated: rotating the R or L surface to the D surface or rotating the R or L surface to the B surface. New restoration paths are 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 using the method of Step 2 to reduce unnecessary mechanical movements. 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 optimal paths, compare the total number of mechanical steps of all recovery paths, and select the path with the least number of steps as the final optimal recovery path;

[0011] Step 6: The obtained optimal restoration path is sent to the controller. The controller parses the instruction and controls the power unit to realize the movement of the robotic arm and mechanical finger.

[0012] Furthermore, in step 1, given the dynamic changes in the coordinate states of each face of the Rubik's Cube after robot operation, coordinate transformation needs to be implemented to maintain operational accuracy; given 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 considered 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 no subsequent optimization calculation is performed on the path, and another path is 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 restoration path is added during the execution of the method from step 2 to step 5, record the minimum mechanical cost of each new restoration path and the old restoration path. The mechanical cost is all necessary rotation and movement operations of the robot arm.

[0018] S3: Using the number of Rubik's Cube solving steps as the independent variable and the current minimum mechanical cost as the dependent variable, a linear function is constructed 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 motion restoration of a dual-arm, four-finger structure robot in the Rubik's Cube restoration task. This method can allow the robot to perform mechanical motion restoration tasks on Rubik's Cubes in any scrambled state. When completing the task, the key operation surfaces and operation stages are first defined, and then the conversion logic from the Rubik's Cube restoration steps to the mechanical execution steps is constructed. The optimal restoration path is explored by integrating the reset and adjustment stages of adjacent steps, utilizing symmetry plane transformations and the selection of execution strategies. Next, a pruning function is introduced to predict the cost of future steps based on historical data, thereby reducing the complexity of the search space. Finally, the optimization function is integrated into the search algorithm to find the restoration sequence with the least number of mechanical steps, which is accurately executed 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 with reference to the accompanying drawings:

[0024] The logical steps of this method can be summarized as follows: first, establish a function to convert the Rubik's Cube solving steps into mechanical execution steps, then establish a pruning function 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 each Rubik's Cube face change after the robot completes a Rubik's Cube solving step, the coordinate transformation after each operation is shown in Table 1. Since the robot arm can only affect the current state of face D and face B during each rotation operation, these two faces are defined as the robot arm operating faces, and the Rubik's Cube face to be rotated is defined as the target operating face. When both robot arms are gripping the robot arm operating face, this state is defined as the initial state. The robot arm execution steps corresponding to each Rubik's Cube solving step are divided into three phases: adjustment phase, execution phase, and reset phase. The definitions of each phase are as follows: To prevent collisions between the two robot arms during operation, it is assumed that both robot arms must be in the initial state before each Rubik's Cube solving step begins. The adjustment phase refers to the mechanical steps required to adjust the target operating face to the robot arm operating face, the execution phase refers to the mechanical steps required for the robot arms to actually rotate the target operating face, and the reset phase refers to returning both robot arms to their initial states. The three phases of mechanical solving steps corresponding to each Rubik's Cube solving step are shown in Table 3. The specific meanings of the instructions mentioned in Table 3 are shown in Table 2.

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

[0027] S2-1, stage integration. Since the execution stage directly involves the key moves of the Rubik's Cube, it is usually not possible to optimize it directly (i.e., it cannot be omitted or simplified). What can be optimized are the adjustment stage and the reset stage. Whenever possible, the reset stage of the previous step is combined 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 solving the Rubik's Cube. Table 4 shows all possible combinations. These combinations, through reasonable arrangement, can significantly reduce the redundant steps in the Rubik's Cube solving process.

[0028] S2-2, symmetry plane transformation. In the process of solving the Rubik's Cube, some steps involve operation surfaces 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 surfaces operated on in 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. Taking into account 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 operating 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 operating surface to a position suitable for the robot arm 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 that contains 'L' or 'R' operations, we need to evaluate two possible adjustment schemes: one is to rotate the target operating 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 side or the R side.

[0031] S2-3-2 Try different adjustment schemes: For each step in the path involving the L or R surface, we try two options for adjusting it to the D and B surfaces. This means that at each such step point, we create two branching 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 movements.

[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. The scheme with fewer steps is selected as the optimal choice for the current step.

[0034] S2-3-5 Select the optimal solution path: Finally, we compare the total number of mechanical steps of all solution paths (including branching paths resulting from different adjustment schemes). The path with the fewest steps is selected as the final optimal solution path, and its number of mechanical steps is considered the minimum cost of the sequence of steps for solving the Rubik's Cube.

[0035] S3, construct a pruning function that can predict and evaluate the cost of the mechanical steps required to continue solving 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 Cost: During the run, record the minimum mechanical cost for each step in each sequence. This includes all necessary rotation and movement operations.

[0039] S3-4 Build a linear model: Based on the number of Rubik's Cube solving 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: Statistical processing is performed on the slopes and intercepts of the linear functions generated by the ten sequences. First, outliers (i.e., points that significantly deviate from the other values) are identified and removed, and then the average of the remaining slopes and intercepts is 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 during the search process to predict and evaluate the mechanical cost of any given number of steps in the Rubik's Cube solving sequence.

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

[0043] S4-1 Search process: Use a 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 found, the optimization function established in S2 is used to calculate the minimum number of mechanical solving steps required for that 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 length of the Rubik's Cube solving steps (i.e., the number of steps already searched) is used as input, and the pruning function established in S3 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: If the number of mechanically restored steps in the current step exceeds the judgment threshold, it is determined that continuing along this path will result in a high cost and may not be a good path. Therefore, the search path is pruned, abandoning the path and exploring other more promising paths instead.

[0047] Output of S4-5: Through continuous iteration and pruning of the search algorithm, a Rubik's Cube solving sequence with a shorter number of mechanical steps is eventually found and output. This sequence not only solves the Rubik's Cube but also optimizes the cost of mechanical operations.

[0048] S5: The robotic arm and fingers move to solve the Rubik's Cube. The set of mechanical action steps corresponding to the optimal path returned at the end of step S4 is converted according to the MCU's communication protocol and sent to the MCU via serial communication. After the MCU parses the instructions, it controls the power units of the robotic arm and fingers to move, completing the Rubik's Cube solution.

[0049] Table 1 shows the transformation of the Rubik's Cube coordinate plane after each Rubik's Cube solving 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 stages of mechanical solving steps corresponding to each Rubik's Cube solving step;

[0054]

[0055]

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

[0057]

Claims

1. A control method for a two-arm, four-finger Rubik's Cube-solving robot, the specific steps of the method comprising: Step 1: Concept definition and step division; In the Rubik's Cube solving task, the Rubik's Cube consists of six faces: 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). To optimize the execution process, the solving steps are divided into three stages: the adjustment stage, which is to adjust the target operation face to the operable position; the execution stage, which is to actually perform the rotation operation; and the reset stage, which is to return the robot arm to its initial state. Step 2: Use a search algorithm to calculate all possible sequences of Rubik's Cube solving steps based on the initial state of the Rubik's Cube. Whenever a solution path is calculated, first integrate the adjacent reset and adjustment stages of the solution path. Step 3: Based on the symmetry of the Rubik's Cube structure, identify and utilize pairs of symmetric face operations that can be interchanged without affecting the final solution. Each interchange generates a new restoration path. An exhaustive search is performed to explore all possible restoration path combinations, which include 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 or L surface, two new restoration paths are generated: rotating the R or L surface to the D surface or rotating the R or L surface to the B surface. New restoration paths are 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 using the method of Step 2 to reduce unnecessary mechanical movements. 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 optimal paths, compare the total number of mechanical steps of all recovery paths, and select the path with the least number of steps as the final optimal recovery path; Step 6: The optimal restoration path is sent to the controller. The controller interprets the command and controls the power unit to realize the movement of the robotic arm and mechanical fingers. In both steps 3 and 4, a new path is generated. When a new path is generated, the mechanical cost of the new path is first calculated using the pruning function. If the mechanical cost is greater than a threshold, the path is directly deleted and no further optimization calculations are performed on the path. Another path is selected for calculation. 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 methods from step 2 to step 5. When a new restoration path is added during the execution of steps 2 to 5, record the minimum mechanical cost of each new restoration path and the old restoration path. The mechanical cost is the total necessary rotation and movement operations of the robot arm. S3: Using the number of Rubik's Cube solving steps as the independent variable and the current minimum mechanical cost as the dependent variable, a linear function is constructed 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.

2. A control method for a two-arm four-finger Rubik's Cube-solving robot according to claim 1, characterized in that: In step 1, given the dynamic changes in the coordinate states of each face of the Rubik's Cube after robot operation, coordinate transformation is required to maintain operational accuracy. Since a single operation by the robotic arm is limited to affecting only two specific faces, these are defined as the "robotic arm operating face." The face to be rotated is the "target operating face." When both robotic arms firmly grip the operating face, it is considered the "initial state." 3. A control method for a two-arm four-finger Rubik's Cube-solving robot according to 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.

Citation Information

Patent Citations

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

    CN208196775U

  • Signal processing method using autonomous motion

    JP1995105181A