Group 35
Name | NetID | Section |
---|---|---|
Jai Anchalia | jaia2 | ECE 120 |
Nitish Varma Bhupathi Raju | nbhup2 | ECE 120 |
Gabriela Hinostroza | gh14 | ECE 110 |
Statement of Purpose
The aim of our project is to design and program a robot that can essentially solve a 3 x 3 Rubik's Cube, given any initial condition.
Background Research
We wanted to work on this project because we are interested in robotics, and making a robot that can automatically solve a Rubik’s cube seems like a fun challenge. This project is similar to the previous semesters’ projects, but instead of relying on user input, we plan to use 2 USB cameras to take pictures of the cube.
Block Diagram / Flow Chart
System Overview
An unsolved Rubik's cube
2 USB Cameras: They will be used to capture the cube's surfaces and serve as sensors to detect the cube's position and its color differences.
The code that we will use is Python. All the data will be carried to the Raspberry Pi.
Raspberry Pi: Finds a solution to solve the Rubik's cube (where most of the solving process will occur).
Six Stepper Motors: Raspberry Pi sends the solution to the motors, accurately solving the cube's surfaces by rotating and matching the colors in the right areas.
Parts
Rubik's cube: $7.16
2 USB Cameras: $23.3
ECE Supply Center
6 stepper motors: $51
From Home: Raspberry Pi 3B, power supply, and SD Card
Adafruit TB6612 1.2A DC/Stepper Motor Driver Breakout Board: $29.70
3D print mechanical frame
Total: $111.16
Possible Challenges
- Using computer vision to map the cube might be too challenging
- Using a voltage convertor for the motors might not work
- Making the parts in Inventor might be challenging
Video link: https://drive.google.com/file/d/1CzZuu9_UikPYTTLVh-GDCEgl6KCLIHyn/view?usp=sharing
Report link: https://docs.google.com/document/d/1pQM2K8N6kfOfzs-SGpvH8WzqwVaKC4hguuKRGK56N_w/edit?usp=sharing
References
[1]L. Agnew, "How to use Open CV Computer vision in IoT", Medium, 2021. [Online]. Available: https://medium.com/seed-digital/lets-sort-some-m-ms-using-computer-vision-c27cb5e96d83. [Accessed: 19- Sep- 2021].
[2]F. Meinertzhagen, Solving a Rubik's Cube using an Arduino. 2021.
URL: https://www.youtube.com/watch?v=pC3sCpwuRd0
[3]Rubik's Cube Solver Robot- 3.83s. 2021.
URL: https://www.youtube.com/watch?v=tNhQUrkPYJs
[4]J. Flatland, World's Fastest Rubik's Cube Solving Robot - Now Official Record is 0.900 Seconds. 2021.
URL: https://www.youtube.com/watch?v=ixTddQQ2Hs4
[5]"GitHub - MineLT/CubeSolver: Our CubeSolver project", GitHub, 2021. [Online]. Available: https://github.com/MineLT/CubeSolver. [Accessed: 20- Sep- 2021].
[6]"GitHub - jayflatland/HighFrequencyTwister: Rubik's cube solving robot that set a world record", GitHub, 2021. [Online]. Available: https://github.com/jayflatland/HighFrequencyTwister. [Accessed: 20- Sep- 2021].
[7]"Controlling Stepper Motors using Python with a Raspberry Pi", Medium, 2021. [Online]. Available: https://keithweaverca.medium.com/controlling-stepper-motors-using-python-with-a-raspberry-pi-b3fbd482f886. [Accessed: 20- Sep- 2021].
Attachments:
example45.drawio (application/octet-stream)
example45.jpg (image/jpeg)
exaple.JPG (image/jpeg)
example24.JPG (image/jpeg)
Final Report Rubik's.docx (application/vnd.openxmlformats-officedocument.wordprocessingml.document)