Sie sind auf Seite 1von 11

TECHNICAL REPORT ON

RUBIK CUBE SOLVER ROBOT

BY

TER KUMATER PETER 13/ENG05/016

OGAKWU CHINONSO MICHAEL 13/ENG05/011

MUBARAK SADIQ GEGELE 13/ENGO2/015

NWODO TOCHUKWU ABIDEMI 13/ENGO5/010

SUBMITTED TO MR. BANKOLE

FOR MCT 413

INTRODUCTION TO ROBOTICS

DEPARTMENT OF MECHANICAL & MECHATRONICS

ENGINEERING

COLLEGE OF ENGINEERING, AFE BABALOLA UNIVERSITY,

ADO-EKITI, NIGERIA

DECEMBER, 2016.
TABLE OF CONTENTS
1.0 ABSTRACT ..................................................................................................................................... 3
2.0 INTRODUCTION........................................................................................................................... 3
3.0 METHODOLOGY ......................................................................................................................... 4
3.1 Assembling of Mechanical Components ................................................................................... 4
3.1.1 Selection of Components ..................................................................................................... 4
3.1.2 Shafts and connectors .......................................................................................................... 4
3.1.3 Gear components.................................................................................................................. 4
3.1.4 Motors ................................................................................................................................... 5
Infrared Sensor ............................................................................................................................. 8
Brick ............................................................................................................................................... 9
Programming Of The Brick ............................................................................................................. 9
RGB colour block installation...................................................................................................... 9
Operating program installation ................................................................................................. 10
Algorithm installation ................................................................................................................. 10
Solver installation........................................................................................................................ 10
Final steps .................................................................................................................................... 10
OPERATION ...................................................................................................................................... 10
CHALLENGES ENCOUNTERED ................................................................................................... 11
CONCLUSION ................................................................................................................................... 11
REFERENCES .................................................................................................................................... 11

2
1.0 ABSTRACT
The design of the robot from the beginning to when it actually solved a Rubic cube can be divided into two
sections, namely the assembling of the lego components, and the programming aspect. This article deals with both
aspects in detail. For the assembling of the lego aspect, this article given a detailed explanation of each major
component of the robot and their distinct function to the robot as a whole.

On the aspect of the programming, the is also a detailed explanation of each step of the process. Beginning with
the algorithm, to the programming blocks in the Mindstorm application to the configuration of the EV3 block.

2.0 INTRODUCTION
Rubik's Cube is a 3-D combination puzzle invented by Ern Rubik who was an architect.

A standard Rubik cube is made of six faces which each face comprising of nine squares each one of six solid
colours: white, blue, red, orange, yellow and green. For most arrangements, white is opposite yellow, orange
opposite red, blue opposite green also the red white and blue are arranged next to each other in a clockwise manner.
The cubes are connected to each other internally by the use of pivot mechanisms in such a manner that each side
to move independently to make it possible for the cube to be scrambled and arranged.

The concept of this project is to design a robot that if given a scrambled Rubik Cube no matter how complex, will
scan the cube and proceed to solve the cube in the short period of time (an average of 25 seconds, minus the scan
time). The structure is designed using the LEGO MINDSTORMS EV3 home set (31313).

3
3.0 METHODOLOGY
The production of the Rubik cube solver took several processes as it requires major hardware and software
designs. These steps are defined in detail below.

3.1 Assembling of Mechanical Components


3.1.1 Selection of Components
The Rubik cube solver can be built from the EV3 LEGO MINDSTORMS EV3 home set (31313) or from EV3
Education Core and Expansion sets (45544+45560), but in this robot, home set was used. During the period of
assembling component, the first step taken was to put together all the components that were required for the robot
a snapshot of these components is given below with a description given on the on the major components

3.1.2 Shafts and connectors


The very small components serve mainly as connectors for the larger components and also provide support the
structure of the robot, and although small, these components are very important and their importance cannot be
overemphasised as the removal of one of such components may cause the whole robot to malfunction

These components include the 3cm cross shaped rod, 5cm cross shaped rod and the 7cm cross shaped rod. These
rods are designed in such a way that they can be used as stationary connectors or as shafts to transmit power
between power components such as motors, gears, etc.

3.1.3 Gear components


Next up are the two gear component which transmit power from the motor connected to portX to the seat of the
Rubik cube which is primarily is a stationary component that is connected to the gear in such a way that it rotates

4
in both clockwise and anti-clockwise directions depending on which direction is specified by the controlling
program.

3.1.4 Motors
The robot makes use of a couple of motors

3.1.4.1 Large motor


The first large motor is controlled by the Large Motor block. You can turn a motor on or off, control its power
level, or turn the motor on for a specified amount of time or rotation.

Figure1.1 Large Motor Figure 1.2 Large Motor block

For the Rubik cube solver, the large motor supplies power to the seat which holds the Rubik cube. This power is
connected to the seat by the use of 1 large gear and a 7cm shaft cross shaped rod. This motor has 1 degree of
freedom, and can move only in one plane but in clockwise and anticlockwise directions

5
Figure1.3 Large motor controlling the Rubik cube seat

The second large motor controls turning/holding tool which serves two functions.

The first is to hold the Rubik cube in place while the seat rotates the cubes at the base, while its second function
is to flip the Rubik cube on its face.

Figure1.4 The turning tool Figure 1.5 Large motor connected to the
turning tool

This motor is connected to the turning tool using a 7cm cross shaped shaft. The turning tool is then attached to a
fixed point on the rigid structure to restrict its movement. The resulting motion is one in which the turning tool
carries out translational motion, with the large motor supplying the rotational motion power.

3.1.4.2 Medium motor


The medium motor is controlled by the the Medium Motor block. the motor can be turned on/off, its power level
controlled and the motor turned on for specific amounts of time or rotations.

6
Figure 1.6 Medium motor

The medium motor is used to control the motion of the colour sensor that is used to check scan the colours of the
Rubik cube to determine the pattern on it.

The medium motor is connected to a 3cm cross shaped shaft, which is then connected to a small gear which then
meshed with a larger gear which is then connected to the colour sensor and provides it with a forward, backward,
left and right direction motions. The point of this four motions is to provide enough freedom for the colour sensor
to read the colours on each of the 9 square on the face of a Rubik cube.

Figure 1.7 Medium Gear

7
Figure 1.8 Colour sensor connection with Medium motor

3.1.5 Infrared Sensor


The Infrared Sensor sends data to the the Infrared Sensor block. You can measure sensor data in the Proximity,
Beacon, and Remote modes and get Numeric output. You can also compare sensor data to an input value and get
a Logic (True or False) output.

Figure 1.9 Infrared Sensor

The job of the infrared sensor on the Rubik cube solver is to check whether or not a Rubik cube is present on the
Rubik cube seat. This information is then sent to the infrared sensor block which is part of the operational
programming of the robot.

8
3.1.6 Brick
The brick serves as the controller for the whole robot. Each of the motors and components are connected to the
brick by the use of network cables. A USB cable is used to connect the brick to the computer through which the
program is transferred to the brick. It runs on six AA batteries each supplying 1.5volts, totalling 9volts.

Figure 2.0 EV3 Brick

3.2 Programming Of The Brick


MindCub3r software consists of three main parts:

1. A project file: MindCub3r-v2p1.ev3 containing the motor and sensor control program created using the
standard LEGO MINDSTORMS EV3 graphical programming environment.
2. An executable program: mc3solver-v2p1.rtf, compiled from C++ that implements an efficient solving
algorithm that can find much shorter solutions than the NXT MindCuber variants.
3. An EV3 application: "MC3 Solver v2p1", that is used to launch the mc3solver-v2p1.rtf program

The main program and mc3solver-v2p1.rtf executable program communicate with each other via shared files on
the EV3.

The Rubik cube solver uses the colour sensor in RGB mode to sense colours that otherwise cannot read by the
default EV3 software. Therefore, this RGB colour block must be imported into the LEGO MINDSTORMS EV3
software to support this mode.

3.2.1 RGB colour block installation


The steps in installing the RGB colour block to the brick are given below

1. The first step in programming the brick is to open the LEGO MINDSTORMS EV3 Home Edition
application.

9
2. Go to tools menu at the top left bar and click block imports. In the resulting dialogue box, click browse
and navigate to the file directory that contains the RGB colour block (its file extension is .ev3b) and click
open.
3. Click the file named: ColorSensorRGB-v1.00.ev3b in the LEGO MINDSTORMS EV3 dialogue box and
then import it.
4. Restart the software to complete the installation.

3.2.2 Operating program installation


The next step is to upload the motor and sensor program to the brick its file type is .ev3, and the link where the
program can be gotten is listed under references. Once the file has been downloaded the following instructions
can be followed to upload it to the brick.

1. Launch the LEGO MINDSTORMS EV3, go to the file menu and select open project.
2. Navigate the resulting window to the file directory of the program file and select the program then click
open.
3. Download the program to the brick but dont run it yet.

3.2.3 Algorithm installation


To install the algorithm to solve the Rubik cube.

1. Go to tools on the LEGO MINDSTORMS EV3 software and click memory browser.
2. Select the brick then look for MindCub3r-v2p1 and select download.
3. Navigate to the folder where the .zip files that were downloaded from the website link are located.
4. Select mc3solver-v2p1.rtf and open it to download it to the brick.
5. Select download again, navigate to the previously located folder and select the InstallMC3-v2p1.rbf file
and click open to download it to the brick.

3.2.4 Solver installation


The next steps are on how to install the solver on the brick

1. On the EV3 brick, go to the file navigation screen then select and open the MindCub3r-v2p1 folder.
2. Navigate to the InstallMC3-v2p1 and run it. You will hear a short beep.
3. Restart the EV3 brick to complete the installation.

3.2.5 Final steps


Run the MC3 Solver v2p1 application from the application screen of the brick. This only needs to be done once
when the brick is restarted.

4.0 OPERATION
Got to the file navigation page on the EV3 and run the MindCub3r.

The first action by the robot will be to reset the position of the colour sensor and tilt the turner of the Rubik cube.

10
When the MindCub3r is ready to work, the block will display Insert Cube on the screen. At this point, a
scrambled Rubik cube is placed on the Rubik Cube seat. When this is done, the brick displays SCANNING and
the colour sensor moves across the face of the cube scanning each box. When it is done with that face, the turning
arm flips the cube to the next face and the colour sensor scans all the faces. This process continues until all the
faces have been scanned.

After the scanning, if the program has identified a solvable pattern, it moves on to solve the cube using the turning
arm and the rotating cube seat to turn and flip the cube until the faces have been solved. This is usually achieved
within a short period of time within 20 to 30 seconds.

5.0 CHALLENGES ENCOUNTERED


Some of the challenges encountered include.

1. Due to the fact that the Rubik cube that was used for the robot wasnt an original. The colour sensor had
some problems reading the colours.
2. The robot was inconsistent, as there was no guarantee it would read the cube properly every time.
3. The colour sensor was easily saturated with light therefore, it could only work properly in dimly lit
conditions.

6.0 CONCLUSION
The Rubik cube solver is a great example of robotics in Mechatronics Engineering it shows the synergetic
combination of multiple engineering disciplines.

The Rubik cube solver is an integration of mechanical engineering comprising of the assembled components,
computer engineering comprising of the programming of the brick and electronics engineering which includes the
motors sensors power etc. The Rubik cube solver uses mechanical motions combined with a calibration of sensors
which in turn help the components work together in a synergetic manner which enables the machine to perform
its task which is to solve a Rubik cube.

7.0 REFERENCES
1. Bizek, Hana M. (1997). Mathematics of the Rubik's Cube Design. Pittsburgh, Pa: Dorrance Pub. Co.
ISBN 0-8059-3919-9.
2. Black, M. Razid; Taylor, Herbert (1980). Unscrambling the Cube. Burbank: Zephyr Engineering Design.
ISBN 0-940874-03-2.
3. Wikipedia: Rubik Cube available at https://en.wikipedia.org/RubikCube.com

11

Das könnte Ihnen auch gefallen