A time optimization method for mechanical action of a two-armed two-finger structure Rubik's robot

CN120095817BActive Publication Date: 2026-10-13UNIV OF ELECTRONICS SCI & TECH OF CHINA
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510319832.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-03-18
Publication Date
2026-10-13
Estimated Expiration
2045-03-18

AI Technical Summary

Technical Problem

诸如此类,公开的DFS步骤寻优算法文献很多,它们的主要优点是,能够以较小的代价,在有约束条件下,找到机械步骤最少的解法;但缺点在于,不同的双臂二指魔方机器人,因驱动机构、驱动能力、机械负载各不相同,每种机械动作所耗时间并不相同,所以,机械步骤最少的解法,往往并不是时间最少的解法

Benefits of technology

[0026]本发明基于机械步骤最优不一定时间最优的事实,没有去追求魔方解法最小步,也没有去追求每种解法的机械最小步,而是选择快速地一次生成多种还原解法,对每种还原解法进行机械步骤的时间寻优;最终,从多个寻优后的机械步骤中筛选出时间最优方案来还原。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120095817B_ABST
    Figure CN120095817B_ABST
Patent Text Reader

Abstract

The application discloses a time optimization method for mechanical action of a two-arm two-finger structure Rubik's cube robot, and belongs to the field of mechanical control algorithm. The method can solve the mechanical action time optimization problem of the two-arm two-finger structure robot in the Rubik's cube restoration process. The method firstly generates a plurality of solutions for a disordered Rubik's cube, and according to the symmetry principle of the Rubik's cube, each solution is further split into a plurality of solutions; for each solution, a local mechanical step time optimization is performed by using a greedy algorithm with different depths, and in the plurality of optimized mechanical steps, the Rubik's cube is restored by taking the time-optimal one. For a given Rubik's cube solution sequence, the method can quickly find the time-optimized mechanical step. Practice proves that the method can use a smaller time cost to improve the average speed of the mechanical action for solving the Rubik's cube, and can also reduce the time variance of the restoration of various Rubik's cube solution sequences.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of mechanical control, and in particular to a time optimization method for the mechanical movements of a Rubik's Cube robot with a two-arm, two-finger structure. Background Technology

[0002] The article "A Two-Finger Dual-Arm Rubik's Cube Robot Based on DFS" (first author: Cui Junwen), published in the 24th issue of "Computer Knowledge and Technology" in 2019, proposed a constrained depth-first search algorithm for mechanical steps. Many similar DFS step optimization algorithms are publicly available. Their main advantage is that they can find the solution with the fewest mechanical steps under constrained conditions at a relatively low cost. However, their disadvantage is that different dual-arm two-finger Rubik's Cube robots have different drive mechanisms, drive capabilities, and mechanical loads, resulting in different times consumed for each mechanical action. Therefore, the solution with the fewest mechanical steps is often not the solution with the fewest time steps. Summary of the Invention

[0003] Given that the basic movement speeds of various two-armed two-finger Rubik's Cube robots are already determined, this invention can find a time-optimized solution among different mechanical solutions with a relatively small time cost.

[0004] The technical solution of this invention is: a time optimization method for the mechanical movements of a two-arm, two-finger Rubik's Cube robot. The robot has two rotatable robotic arms, each with two fingers that can open and close. These fingers grip the Rubik's Cube, and the rotation of the robotic arms causes the cube to rotate. The two robotic arms are positioned perpendicularly at 90 degrees, gripping the middle position of two adjacent faces of the Rubik's Cube. Each robotic arm can rotate. The two robotic arms have three postures: posture 0 is the initial position, posture 1 is a 90-degree rotation of the right robotic arm from the initial posture, and posture 2 is a 90-degree rotation of the left robotic arm from the initial posture.

[0005] Define the six faces of the Rubik's Cube as U, D, R, L, F, and B; collect the opening and closing time of the mechanical fingers, the time required for the mechanical arm to rotate 90 degrees in idle mode, the time required for the mechanical arm to rotate 90 degrees and 180 degrees with the mechanical arm, and the time required for the mechanical arm to twist 90 degrees and 180 degrees with the mechanical arm. Rotating with the mechanical arm means rotating the Rubik's Cube with the mechanical arm, and twisting means twisting one face of the Rubik's Cube to rotate.

[0006] The steps of this method are as follows:

[0007] Step 1: Scan the shape of the Rubik's Cube and calculate the steps to solve it. Each step is an operation on one face. List the operation sequence for each face.

[0008] Step 2: Split the solution steps of each Rubik's Cube into coaxial opposite combinations; in the operation sequence of each face, if the operation steps of two opposite faces are adjacent, then swap the operation sequence of these two faces to achieve one split of the solution steps; split all coaxial opposite combinations in the above way to obtain all the solution paths;

[0009] Step 3: Based on the total action time of the robotic arm, calculate the time consumption of all restoration paths and select the path with the shortest time;

[0010] Step 4: Set the opening and closing times of the robotic arm, as well as the time for the robotic arm to idle, rotate, and twist 90 degrees and 180 degrees according to the selected path, and then solve the Rubik's Cube.

[0011] Furthermore, the method for calculating the time in step 3 is as follows: a greedy algorithm is used to find the optimal time for each restoration path. The optimization constraints of the greedy algorithm include:

[0012] The optimal solution cannot be found when two robotic arms are facing each other on the same axis or adjacent to each other within two steps.

[0013] Can two adjacent robotic fingers remain motionless and only the robotic arm rotate? If so, then rotate the robotic arm directly.

[0014] If the robotic arm cannot be rotated directly, if one robotic arm is rotating, the other robotic arm will be idling in the subsequent steps; if one robotic arm is idling, the other robotic arm will be rotating in the subsequent steps.

[0015] Complete the same preparatory actions before turning. If it can rotate freely, do not turn it with the wheel; if it can rotate 90 degrees, do not rotate it 180 degrees.

[0016] Furthermore, the path optimization method involves the robotic arm optimizing every two steps.

[0017] A1: The first step in each optimization process involves twisting any one of the six faces of the Rubik's Cube, and the second step involves twisting any one of the remaining five faces; the arrangement resulting from the six faces of the Rubik's Cube is P6. 2 = 30 ways. Considering the symmetry of the robotic arm and the Rubik's Cube, the mathematical description of the optimized path is a mirror image relationship. In reality, 30 / 2 = 15 ways need to be calculated.

[0018] A2: Considering that there is no optimal arrangement for two robotic arms facing each other and no optimal arrangement for three coaxial facing arms, there are only 15-1-3=11 possible variations with optimization potential.

[0019] A3: The Rubik's Cube can be rotated at angles of 90° and 180° on each face. For each initial posture of the robotic arm, there are actually 4*11=44 possible changes.

[0020] A4: Since the robot's posture 1 and posture 2 are symmetrical, there are only 44*2=88 possible variations with room for optimization.

[0021] A4: Based on the robot's motion time, calculate the time required for these 88 variations. The action with the shortest time is the optimal action. The robot then performs the next two operations and repeats step A1.

[0022] Furthermore, the operation process is defined as follows when recording the robotic arm's operation steps:

[0023] U, D, R, L, F, B indicate a 90-degree clockwise rotation of the corresponding face;

[0024] U2, D2, R2, L2, F2, B2 represent rotating the corresponding face by 180 degrees;

[0025] U', D', R', L', F', B' indicate a 90-degree counterclockwise rotation of the corresponding face.

[0026] This invention is based on the fact that optimal mechanical steps are not necessarily optimal in time. Instead of pursuing the minimum number of steps to solve the Rubik's Cube, or the minimum number of mechanical steps for each solution, it chooses to quickly generate multiple solutions at once, optimize the time of mechanical steps for each solution, and finally select the time-optimized solution from the multiple optimized mechanical steps to solve the cube.

[0027] This solution is widely applicable and can be used by various Rubik's Cube robots; the calculation is controllable and low-cost, and it can selectively calculate several Rubik's Cube solutions with relatively low time consumption; it performs well even for Rubik's Cubes with only 20 moves to solve; the solution time can be accurately calculated before the Rubik's Cube is solved. Attached Figure Description

[0028] Figure 1 This is the initial position of the robotic arm.

[0029] Figure 2 This is the position of the robotic arm's pose 1.

[0030] Figure 3 This is the position 2 of the robotic arm's posture.

[0031] Figure 4 This is a schematic diagram illustrating the spatial orientation of each face of the Rubik's Cube in a specific implementation.

[0032] Figure 5 The initial state of the Rubik's Cube is shown in the example optimization method in a specific implementation.

[0033] Figure 6 This is the original definition diagram of each face for the Kociemba two-phase algorithm.

[0034] Figure 7 To optimize the main process flowchart.

[0035] Figure 8 This is a flowchart of a two-step greedy algorithm. Detailed Implementation

[0036] Various acceleration and deceleration curves (FT curves) of the robotic arm rotation are pre-stored in the FLASH chip. By selecting different curves, the acceleration and deceleration of the robotic arm will be different, so the time required to rotate the same angle will be different.

[0037] The voltage control multi-segment line for the robotic arm's closure is also stored in the FLASH chip and can be manually set; based on the inherent characteristics of the machine, the robotic arm's opening time is set in advance with a margin.

[0038] With the rotation and opening / closing times of the robotic arm and hand pre-selected and determined, the solution time is also predetermined once the mechanical steps for solving the Rubik's Cube are set. By calculating the expected times of multiple mechanical steps, the optimal solution time can be selected through comparison.

[0039] In this case, a standard closed-loop stepper motor and a standard electromagnet are used. The approximate time for each mechanical action is as follows:

[0040]

[0041] Rubik's Cube Solving String:

[0042] Kociemba defines the six faces of the Rubik's Cube as U, D, R, L, F, and B. See the Rubik's Cube definition diagram for each face and each colored block.

[0043] A Rubik's Cube solving string is used to express the steps for solving a scrambled Rubik's Cube, such as "U2 BU2 L2 DL'B'D'L'B2 D'B U D'F2 U'L2 U'F2 U F2". Here, "U2" represents the first step of rotating face U by 180 degrees, "B" represents the second step of rotating face B clockwise by 90 degrees, and so on, until the final step "F2" rotates face F by 180 degrees to complete the solution. Note that when rotating one face, the other faces must remain stationary.

[0044] Based on placing the scrambled Rubik's Cube in the initial position of the robotic arm, the spatial orientations are: U-side 4, D-side 5, F-side 0, B-side 1, L-side 2, and R-side 3; (e.g.) Figure 4 As shown.

[0045] Clearly, spatial orientations 0 and 3 correspond to the robot arm's orientations, allowing for direct turning. Other orientations must be rotated to 0 and 3 before turning is possible.

[0046] A robotic arm in the 0-position is defined as Lh (left robotic arm), and a robotic arm in the 3-position is defined as Rh (right robotic arm).

[0047] For any scrambled Rubik's Cube, find A, B, C, D... series of solutions. For each series, use a greedy algorithm to optimize every 2 steps.

[0048] For each of the two optimization steps, the robotic arm has three initial postures.

[0049] There are three possible twists for each step: 90 degrees clockwise, 90 degrees counterclockwise, and 180 degrees counterclockwise. Due to the symmetrical coupling between the Rubik's Cube and the robotic arm, although the directions of 90 degrees clockwise and 90 degrees counterclockwise are different, the time consumption of the mechanical steps is the same, and they can be treated as a single branch.

[0050] The first step in each optimization process involves twisting any one of the six faces of the Rubik's Cube, and the second step involves twisting any one of the remaining five faces. These two optimization steps result in the following arrangement of the six faces of the Rubik's Cube: Considering the symmetry of the Rubik's Cube, the mathematical description of the optimized path is a mirror image, which can actually be 30 / 2 = 15 ways; further considering that the arrangement of the two robot hands cannot be optimized, and the arrangement of the three coaxial opposite faces cannot be optimized, the only variations with optimization space are 15-1-3 = 11 ways.

[0051] Given that each face of the Rubik's Cube can rotate at angles of 90° and 180°, there are 4 * 11 = 44 possible variations for each initial pose of the robotic arm. Since pose 1 and pose 2 are symmetrical, the actual number of variations with optimization potential is only 44 * 2 = 88. These 88 variations can be completely enumerated.

[0052] Under the optimization constraints described above, the variations are limited, and two-step or three-step time optimization can be achieved directly using table lookup or branch + conditional statement.

[0053] In theory, increasing the base number of steps in the greedy algorithm from 2 to 20 (the entire solving process) will yield the time-optimal solution; the larger the base number, the closer the solution is to the optimal solution. However, more base steps result in greater computational cost, making it impractical for quickly solving a Rubik's Cube.

[0054] For a two-armed, two-finger Rubik's Cube robot, only two robotic arms can solve the cube. Even with a base move count of 4, the faces to be solved still need to be continuously "fed" to the two robotic arms in sequence. Greedy algorithms with a base move count exceeding 3 or 4 no longer offer much benefit. Therefore, we only consider 2 or 3 moves as the base move count for discussion. This achieves a better balance between computational cost and final benefit.

[0055] Examples of optimization methods:

[0056] Step 1: Use the two-stage solution algorithm for the Rubik's Cube to obtain at least one or more solution strings.

[0057] Example: For example Figure 5 Find two solutions by scrambling the Rubik's Cube.

[0058] "F L2(U D2)L'(F'B')D'F2 DBRU F2 U2 F'D2 B2 R2"

[0059] "L F2 D2(R'L2)D R'U2 R'B2 U B'L'U2 F(U2 D2)R2"

[0060] Step 2: In a certain Rubik's Cube solving string, if two opposite faces have adjacent strings, such as U D', F2 B, or RL2, then these two faces can be swapped to solve the cube. If a certain string appears once, it can be split into 2^1 = 2 strings; if it appears twice, it can be split into 2^2 = 4 strings; and so on, if it appears N times, it can be split into 2^N strings.

[0061] The two strings mentioned above can be split into a total of eight strings.

[0062] "F L2(U D2)L'(F'B')D'F2 DBRU F2 U2 F'D2 B2 R2"

[0063] "F L2(D2 U)L'(F'B')D'F2 DBRU F2 U2 F'D2 B2 R2"

[0064] "F L2(U D2)L'(B'F')D'F2 DBRU F2 U2 F'D2 B2 R2"

[0065] "F L2(D2 U)L'(B'F')D'F2 DBRU F2 U2 F'D2 B2 R2"

[0066] "L F2 D2(R'L2)D R'U2 R'B2 U B'L'U2 F(U2 D2)R2"

[0067] "L F2 D2(R'L2)D R'U2 R'B2 U B'L'U2 F(D2 U2)R2"

[0068] "L F2 D2(L2 R')D R'U2 R'B2 U B'L'U2 F(U2 D2)R2"

[0069] "L F2 D2(L2 R')D R'U2 R'B2 U B'L'U2 F(D2 U2)R2"

[0070] Step 3: Optimization

[0071] A. Optimization constraints:

[0072] Optimization constraint 1: Optimization is not possible when two robotic arms are on opposite sides of the same axis or two adjacent arms are facing each other.

[0073] Optimization constraint 2: If it can be tightened directly, tighten it directly.

[0074] Optimization Constraint 3: Time Reuse. If a robot cannot be directly turned in a given mechanical step, and if one robot is currently rotating, consider simultaneously performing the idle rotation of another robot in a subsequent step; conversely, if one robot is currently idling, consider simultaneously performing the rotation of another robot in a subsequent step. This time reuse for idling and rotation ensures that, since rotation is always slower than idling, idling does not incur additional time consumption, and it also reduces the number of robot opening and closing operations.

[0075] Optimization constraint 4: Complete the same preparatory actions before turning. If it can rotate freely, do not turn it. If it can rotate 90 degrees, do not rotate it 180 degrees.

[0076] B. Optimization calculation:

[0077] For each of the eight Rubik's Cube strings in step 2, a greedy algorithm of depth 2 is used to optimize the time of the mechanical steps, i.e., the time is optimal for every two steps.

[0078] We will use the first 6 steps of optimization to explain the following Rubik's Cube string:

[0079] "F L2(D2 U)L'(F'B')D'F2 DBRU F2 U2 F'D2 B2 R2"

[0080] Robotic arm initial posture 0

[0081] If each mechanical step only considers one tightening step:

[0082] Turn Lh clockwise 90 degrees, 65ms

[0083] Lh open, Lh rotates 90 degrees, Lh closes, Rh open, Lh rotates 180 degrees, Rh closes, Rh rotates 180 degrees (considering only step 1, if the spatial orientation is on plane 4 or 5, Rh twist or Lh twist can be used to generate different step branches, generating a binary tree, and finally comparing the final results to take the optimal one). (30+22)*2+65+184+107=460ms

[0084] Rh open, Rh rotates 90 degrees, Rh closes, Lh open, Rh rotates 90 degrees counterclockwise, Lh closes, Lh rotates 180 degrees, (30+22)*2+65+166+107=442ms

[0085] When Lh is open, Rh rotates 180 degrees; when Lh is closed, Lh rotates 90 degrees clockwise. 30 + 22 + 184 + 65 = 301 ms.

[0086] When Lh is open, Lh rotates 90 degrees in idle mode. When Lh is closed, Rh rotates 90 degrees counterclockwise. 30 + 22 + 65 + 65 = 182 ms.

[0087] When Lh is open, Rh rotates 90 degrees counterclockwise; when Lh is closed, Lh rotates 90 degrees counterclockwise. 30 + 22 + 166 + 65 = 283 ms.

[0088] Total time: 65 + 460 + 442 + 301 + 182 + 283 = 1733 ms

[0089] Two-step optimization: Whenever the screw cannot be turned directly, and the screw is spinning freely or with the rotor rotating, consider reusing the time of the next step with the current step.

[0090] Turn Lh clockwise 90 degrees, 65ms

[0091] Rh open, Lh rotates counterclockwise 90 degrees (while Rh rotates clockwise 90 degrees), Rh closes, Lh open, Rh rotates clockwise 90 degrees, Lh closes, Lh rotates 180 degrees, Rh rotates 180 degrees. (30+22)*2+166*2+107=543ms, 543+107=650ms. Rh open, Lh rotates 180 degrees (while Rh rotates 90 degrees), Rh closes, Rh rotates clockwise 90 degrees, Lh rotates counterclockwise 90 degrees. 30+22+184+65=301ms, 301+65=366ms.

[0092] Rh opens, Lh rotates 90 degrees clockwise (if Rh is simultaneously idling, it can create a branch, changing the robot's posture after this step, thus altering subsequent steps), Rh closes, Rh rotates 90 degrees counterclockwise, 30 + 22 + 166 + 65 = 283ms

[0093] Total time: 65 + 650 + 366 + 283 = 1364 ms

[0094] The three-step optimization process involves considering the time reuse of the last two steps with the current step whenever the screw cannot be directly turned while the screw is idling or rotating. The three steps can be broken down into a 1+2 step optimization and a 2-step optimization + 1 step optimization.

[0095] "F L2(D2 U)L'(F'B')D'F2 DBRU F2 U2 F'D2 B2 R2"

[0096] Turn Lh clockwise 90 degrees, 65ms

[0097] Since there is no optimization space between the two faces in the last two steps of L2(D2 U), only the first two steps can be optimized in these three steps.

[0098] Rh open, Lh rotates counterclockwise 90 degrees (while Rh rotates clockwise 90 degrees), Rh closes, Lh open, Rh rotates clockwise 90 degrees, Lh closes, Lh rotates 180 degrees, Rh rotates 180 degrees. (30+22)*2+166*2+107=543ms, 543+107=650ms

[0099] In this example, the following three steps, U L'F', do not demonstrate the advantage of a three-step optimization. In some special cases, such as UB R, one could consider placing R at position Rh, bringing both U and B to Lh to solve the problem, potentially reducing one iteration. Further examples will not be provided.

[0100] Rh opens, Lh rotates 180 degrees (while Rh idles 90 degrees), Rh closes, Rh rotates 90 degrees clockwise, Lh rotates 90 degrees counterclockwise. 30 + 22 + 184 + 65 = 301 ms, 301 + 65 = 366 ms

[0101] Rh opens, Lh rotates 90 degrees clockwise (if Rh is simultaneously idling, it can create a branch, changing the robot's posture after this step, thus altering subsequent steps), Rh closes, Rh rotates 90 degrees counterclockwise, 30 + 22 + 166 + 65 = 283ms

[0102] Total time: 65 + 650 + 366 + 283 = 1364 ms

[0103] C. Calculation method:

[0104] Because the combinations of robotic arm posture and the two or three faces of the Rubik's Cube to be solved are limited, this invention actually uses branch conditional statements to calculate the total time of each mechanical step. Generally, the optimization time fluctuates between tens of milliseconds and hundreds of milliseconds.

[0105] You can also create a table query to speed up the calculation.

[0106] D. Optimization and comparison:

[0107] Using method B, calculate all possible mechanical steps for solving the Rubik's Cube string and select the one with the optimal time.

[0108] Based on the mechanical motion times described in this article, and after thousands of tests, the vast majority of Rubik's Cubes, even those intentionally scrambled, can be solved within 4.0-4.5 seconds. If the cube is simply scrambled randomly, and can be solved in 15-17 moves, many can be solved in under 4 seconds.

Claims

1. A time optimization method for the mechanical movements of a two-armed, two-finger Rubik's Cube robot, wherein the two-armed, two-finger Rubik's Cube robot has two rotatable robotic arms, each with two fingers that can open and close, gripping the Rubik's Cube with the two fingers, and rotating the robotic arm to rotate the Rubik's Cube; the two robotic arms are set perpendicularly at 90 degrees, gripping the middle position of two adjacent faces of the Rubik's Cube, and each robotic arm can rotate; the two robotic arms include 3 postures, posture 0 is the initial position, posture 1 is the right robotic arm rotating 90 degrees from the initial posture, and posture 2 is the left robotic arm rotating 90 degrees from the initial posture; Define the six faces of the Rubik's Cube as U, D, R, L, F, and B; collect the opening and closing time of the mechanical fingers, the time required for the mechanical arm to rotate 90 degrees in idle mode, the time required for the mechanical arm to rotate 90 degrees and 180 degrees with the mechanical arm, and the time required for the mechanical arm to twist 90 degrees and 180 degrees with the mechanical arm. Rotating with the mechanical arm means rotating the Rubik's Cube with the mechanical arm, and twisting means twisting one face of the Rubik's Cube to rotate. The steps of this method are as follows: Step 1: Scan the shape of the Rubik's Cube and calculate the steps to solve it. Each step is an operation on one face. List the operation sequence for each face. Step 2: Split the solution steps of each Rubik's Cube into coaxial opposite combinations; in the operation sequence of each face, if the operation steps of two opposite faces are adjacent, then swap the operation sequence of these two faces to achieve one split of the solution steps; split all coaxial opposite combinations in the above way to obtain all the solution paths; Step 3: Based on the total action time of the robotic arm, calculate the time consumption of all restoration paths and select the path with the shortest time; The method for calculating the time is as follows: a greedy algorithm is used to find the optimal time for each restoration path. The optimization constraints of the greedy algorithm include: The optimal solution cannot be found for two adjacent steps on the same axis or two mechanical fingers facing each other; Can two adjacent robotic fingers remain motionless and only the robotic arm rotate? If so, then rotate the robotic arm directly. If the robotic arm cannot be rotated directly, if one robotic arm is rotating, the other robotic arm will be idling in the subsequent steps; if one robotic arm is idling, the other robotic arm will be rotating in the subsequent steps. Complete the same preparatory actions before turning. If it can rotate freely, do not turn it with the wheel; if it can rotate 90 degrees, do not rotate it 180 degrees. Step 4: Set the opening and closing times of the mechanical fingers, the idle rotation time of the mechanical arm, and the rotation time of the mechanical arm at 90 degrees and 180 degrees according to the selected path, and then solve the Rubik's Cube.

2. The time optimization method for mechanical movements of a dual-arm, two-finger Rubik's Cube robot as described in claim 1, characterized in that, The operation process is defined in the following way when recording the robotic arm operation steps: U, D, R, L, F, B indicate a 90-degree clockwise rotation of the corresponding face; U2, D2, R2, L2, F2, B2 represent rotating the corresponding face by 180 degrees; U', D', R', L', F', B' indicate a 90-degree counterclockwise rotation of the corresponding face.

3. The time optimization method for mechanical movements of a dual-arm, two-finger Rubik's Cube robot as described in claim 1, characterized in that... The path optimization method involves the robotic arm performing an optimization every two steps. A1: The first step in each optimization process involves twisting any one of the six faces of the Rubik's Cube, and the second step involves twisting any one of the remaining five faces; the arrangement resulting from the six faces of the Rubik's Cube is... =30 ways. Considering the symmetry of the robotic arm and the Rubik's Cube, the mathematical description of the optimized path is a mirror image relationship. In reality, 30 / 2 = 15 ways need to be calculated. A2: Considering that there is no optimal arrangement for two robotic arms facing each other and three coaxial opposite arms, there is no optimal arrangement for three robotic arms facing each other. Therefore, there are only 15-1-3=11 possible variations with optimization potential. A3: The Rubik's Cube can rotate at angles of 90 degrees and 180 degrees on each face. For each initial posture of the robotic arm, there are actually 4*11=44 possible changes. A4: Since the robot's posture 1 and posture 2 are symmetrical, there are only 44*2=88 possible variations with room for optimization. A5: Based on the robot's motion time, calculate the time required for these 88 variations. The action with the shortest time is the optimal action. The robot then performs the next two operations and repeats step A1.

Citation Information

Patent Citations

  • Double-arm magic cube solving robot and restoring method thereof

    CN113524149A

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

    CN116117819A