Rubik Cube Solving Robot Prototype - First Camera Generated Solve

Rubik Cube Solving Robot Prototype - First Camera Generated Solve

I'm currently building a prototype Rubik's cube solver, it was something I put on my bucket list about a year and a half ago after starting to learn arduino basic and coming across hexapods and pen plotters; I decided to start working on it just over 5 months ago. My aim is that the finished prototype should include the following features - . A manual interface where moves can be selected by button press, and after the desired number of presses, the user can choose to execute a solve. A colour picker for inputting the colours of each face of a scrambled cube; the cube can be solved once all faces have been correctly configured. A camera feature to capture an image of each face of a scrambled cube, interpreting the colour data of each facet (the individual pieces on each face) and then solving the scrambled cube. An orientation feature which will allow the user to place the cube into the robot without needing to orient the cube manually before placing the cube. The robot will correctly position the cube for solving. A 2D interface is included where, user can either input the scrambled cube manually by using a colour picker, or check that the face capture via the camera correctly represents the scrambled cube. User can choose to remove the cube from the grippers and follow along with the on-screen 3D cube while the solve is being executed. These videos are to show the progress of the project. This is the first solve of a cube using the camera to capture images of the scrambled cube. I'm not ready to release the code yet, and may not do so for quite a while after the prototype is complete since I need to do a lot of refactoring to make the code more readable. This is mainly a showcase video. Chapters: 00:00 intro, scrambling and positioning the cube. 00:22 image capturing of the scrambled cube 00:53 finding a solve algorithm 01:08 beginning solve - regular speed 01:19 4x speed 03:43 slowing down for PLL stage 04:43 cube COMPLETE! 04:49 next iteration sneak peak Programming Languages, Libraries, and markup used in this project: JavaScript p5js ThreeJS NodeJS ExpressJS Arduino library C++ (for arduino) Adafruit PWM servo library PlatformIO (for writing and uploading micro controller code) HTML and CSS (for 2D interface) Hardware: ESP32 micro controller ESP32S NodeMcu Wroom 32 Development Board (Expansion board for ESP32) PCA9685 servo motor driver DiyMore metal gear 15kg, 180 degree SERVO (x8) Jesverty 30v/10a desktop power supply 2020 aluminium extrusion, 200mm in length (x4) Straight Line Connector with grub screws to link extrusion at center. 8mm x 8mm wooden dowels; approximately 90mm long for cube grippers. Other solve attempts (long form vids) First ever solve:    • Rubik's Cube prototype Solver's first solv...   Music : [No Copyright Music] Dj Quads - Blushes [Lo-fi] [Non Copyrighted Music] Dj Quads - The News [Lofi] MUSIC CREDITS: 🔻 Music powered by BreakingCopyright: 🔊 License: "Dj Quads - Blushes" is under a Free To Use YouTube license    • Video   "Dj Quads - The News" is under a Free To Use YouTube license    • [Non Copyrighted Music] Dj Quads - The New...     / aka-dj-quad   🔺 For mobile, easily copy and paste the text directly from our website: https://breakingcopyright.com/song/dj... If you can't or don't want to give credits contact with Dj Quads ⛔ Remember that it is forbidden to register this song on any distribution platform (Spotify, iTunes, etc or any copyright detection system) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 🔊 Artist: Dj Quads   / aka-dj-quads