RoboCuber_21

RoboCuber is a cube solving robot, it can solve the Rubik's Cube using servos and arduino. Simply just input the current state of the scrambled cube and within ten to fifteen minutes it will result in a completely solved cube.


Project maintained by Saksham-Dhuria Hosted on GitHub Pages — Theme by mattgraham

RoboCuber

RoboCuber is a cube solving robot, it can solve the Rubik’s Cube using servos and arduino. Simply just input the current state of the scrambled cube and within ten to fifteen minutes it will result in a completely solved cube.

Engineer School Area of Interest Grade
Saksham Dhuria Irvington High School Robotics Incoming Junior

Demo Night Presentation

Sample Video

Example Solve:

Sample Video

Final Milestone

After several weeks of writing the program and building the robot, I did the first test and after 10 minutes of servo moving constantly it stopped and when I entered the room I was delighted to see that the cube was solved.

From my second milestone to the final, I worked on and updated two things: recreating the holding tray and entire Rubik’s Cube solving code.

During testing time, the cube seem to be positioning itself out of claw’s reach, so in order to overcome this I recreated a tray with less than a cm moving space after the cube is put inside. By decreasing the area, cube always stayed perfectly at same position after the turns.

Lastly it was time to write the code; I decided to write my own code, with inspiration from online algorithms related to the similar topic. After many trial and error testing with different angles, I was finally able to write 12 methods for different notations of Rubik’s Cube.

Milestone 3 Video

Final Milestone

Second Milestone

My second milestone was adding both servos and creating the hand/claw that will be attached to the second servo(Push Servo). When I was attaching the Rotate Servo to the rotate slab, I realised that the space was too large so I had to add an additional box below. With this problem solved; it was time to glue the push servo which was easy.

However creating the claw was a challenge: firstly, my initial model for the claw was incorrect as I had stuck the joint together while not realising that its necessary for the popsicle to be free to move. Moving onto the next part(body) of the claw, using drill and patience I added a skewer size hole on the popsicle sticks in order for them to be able to stay connected without glue. Next it was time to create the hand, that will push and hold the cube. Initially it was challenging to stick the popsicle sticks at an angle, but with additional supporting sticks on the back the claw was finally finished.

Milestone 2 Video

Second Milestone

First Milestone

My first milestone was building the wooden part of the RoboCuber including the cube-holding tray. First step towards reaching that point was planning and calculating the measurements. I knew that the calculation had to be precise because such a heavy piece of wood resting on an angled wood with minimal support will be difficult. It was fun applying trignometry and geometry concepts, that I learnt in school, in calculating the length and angles of the contraption.

After the measurement were ready, I straightaway started to attach the push slab(#2) to the base (#1) and quickly realised due to the angle of the wood it wont be able to stand with one edge. In order to overcome that, I added a support piece(#3) which formed a triangle. Afterwards, I added a supporting veritcal piece(middle piece #4), next I added the rotate slab(#5) and used sticks to support it.

After building the main structure, I made the cube-holding tray using popsicle sticks and a box that was just a bit larger than the Rubik’s Cube. This tray will be glued to one of the servos(which I called “Rotate Servo” thats on top of #5) and will move the layers.

image

Milestone 1 Video

First Milestone