Beruflich Dokumente
Kultur Dokumente
BY
INTRODUCTION TO ROBOTICS
ENGINEERING
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.
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.
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
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.
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.
7
Figure 1.8 Colour sensor connection with Medium motor
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.
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.
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.
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.
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.
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.
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.
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