Arduino Rubik Robot solver with 8 servo motors
HTML-код
- Опубликовано: 31 авг 2021
- This Robot is my personal project and was accomplished with an Arduino Uno with the 16 channel servo board connected. I also made an Android App to capture the cube's colors correctly and used the HC-06 module to establish the connection. The solution is figured out with CFOP method although improvements on a more efficient method might come in the future.
Source code: github.com/EmanGM/Arduino-Rub...
Super robort solved Rubiks Cube .keep it up 💪💪💪
Great project; thanks for showcasing. I like this design because it seems more approachable than others I've been looking at, and because of how 'clean and minimal' it looks. Just finished programming a solver in JavaScript, and, like yourself, I hard-coded the solution using the CFOP method; I'll eventually look at developing some type of solving algorithms; this is just for fun though and not about efficiency per se'. The app scrambles are either from user activated button rotations, online scramble generators, or a colour picking method designed for the app - where I use a color palette to select the color of each facet to match a scrambled physical cube.
Next is comuter vision; I'm looking at using P5JS for this, or OPEN CV js. Thanks for providing the cad files; they'll be of great help.
Great project! Thanks for sharing. I am about to start a similar one but i am struggling to find gears for the sg90 servos to make the linear motion. Where did you find them for your project? Thanks
Excelente!
Parabéns!
Não teria conseguido sem ti! Ajudaste-me no que eu não sabia e também trabalhaste muito nisto, o projeto também é teu.
very awesome please make a tutorial on how you build this😁
amazing
Could you please post a video on how to make this. And which app do you use
Great project.
What version of arduino to compile it because I tried different and still a lot of errors.
What version of the Adafruit_PWMServoDriver.h library should I install?
Errors for example: z_main: 279: error: array bound is not an integer constant before ']' token
C: \ Users \ SK \ Desktop \ Arduino-RubikSolver-master \ Arduino-RubikSolver-master \ arduino files \ Rubik \ Rubik.ino: In member function 'void Cubo :: Init ()':
Rubik: 18: error: 'Rubik_FaceToColorLUT' was not declared in this scope
int color = Rubik_FaceToColorLUT [face];
What a fantastic project. I just made 1 set of claw with 2 servos using 3d printing. Then now trying to install app to the smartphone. Could you give some directions to install app? App link seems to be broken.
Hi! I've started a project similar to yours. I am interested in transmitting data from smartphone's camera to arduino via bluetooth. What's the process to install that app? Can you give me a more in detail guide? If private, how can I get in touch with you? Thanks in advance, Great wok you did!!
the fact that u only have to hold the cube by and wait for servos to close on it is genius cause now u no longer need a servo on the bottom to hold it up for u, the side servos hold it, the grippy tape on the insides of those black arms keep it from slipping too, very little 3d printing required and it just requires a wooden piece for everything to be held together, the app takes away the need for a camera, the clever turning of the servos of the cube to show u each face to take a photo is lovely. i do recommend you use some of the better out there algorithms for solving the cube (there r ones better than kociemba) i see that youre not using kociemba either, youre kind of using a hardcoded method? props to u, but the good algorithms can give u 20 turn long solutions that r gonna make ur robot that much better (its already lovely). ive made several different kinds of cube solving machines from overpowered ones to simpler more afforable ones, i wanna try making urs, ill comment again if i do end up giving it time and ill post my design files if i end up improving upon it somehow
a day later and I have designed a sliding mechanism to move the servo back and forth, it looks very similar to urs since I made it based on ur design, next is the handle that lets the servo turn the cube face, it's trick, the grippy parts on the inside need to hold onto the cube just enough to prevent it from slipping when the side servos pull away from it and when it's held in the air by two horizontal servos and also must be able to pull away from the cube without dragging it with it, come to think of it, I can just make the servos press against each other to keep the cubeup when showing the faces to the phone, this way I don't have to rely on the grippiness so much.
First of all, thank for you feedback and admiration. In the alpha version a small camera was in the bottom but found the way it is now more simple and appealing, the "claw" pieces was a lot of trial and error to get the right measures and the servos press against each so that the cube doesn't fall, for the algorithm I needed one that used very low resources due to hardware limitations.
@@eman4885 2 weeks later (I just saw ur comment) and I have made a very similar installment to yours, however it is fully 3d printed, the sliders are also just 3d printed hinges included in the 3d print, yours use metal axies (like the ones found inside floppy disk readers) which are much smoother but my goal is to make something super cheap, so I know I'm compromising here, I have 3d printes TPU socks for the grippers and did the same as what you said about "the servos pressing against each other so the cube doesn't fall" and it works flawlessly, the TPU socks take a way a little bit of pressure and they're also grippier than PLA (what I had before) and today I just succeeded in making U and D turns by flipping the cube around in the same fashion as u made it do in the robot (using Left and Right servos pressing hard on it and spinning in the same direction), next step is to make the app, and here is my reply to your algorithm idea, you don't have to keep the algorithm inside of the Arduino, you can have it in the app, which is what I'm going to do, kociemba does exist as a library for mobile apps (since it's written in java too) so I'll do the same method as urs of taking photos of the cube, I'll let kociemba solve it within the app and then simply send the required turns to the robot, so the Arduino has nothing inside it except for taking care of turning the cube faces
@@eman4885 here is some of the motion so far, nowhere near done tho (I do notice some of the turns are incomplete but I didn't bother to fix that by adding a bit more angles to the turn bcz I wanna see if it can handle imperfect turns) there are lots of delays between turns I haven't yet reduced them more ruclips.net/video/kpB84YW45og/видео.html
3D printed was considered by me, however I do not hadd access to a 3D printer and as weird as it may be, in my case using acrylic pieces has cheaper.
After completed my project I realised I could use that strategy (kociemba running on mobile phone) but the challenge was to pass my mental instrutions to solve the cube directly to code and I was more comfortable with arduino programming at the time.
I want to make one but where should I start
hi! how did you attach the servos to the parts that twist the cube?
Glue maybe
Can I get the blueprints of the project ?
Did you use Android studio when you installed apk?
how much arduino software do you use to program it
Hi, this is an awesome design, and I am trying to make one that scrambles the cube for school, what servos did you use, and could you please attach the 3d printing files? Thank you so much!
I'm currently making an exact replica of the robot we saw in the video, I'm using servos called SG90, which looks like he is using as well.
As for the software and the 3D prints I'm doing this all by myself from scratch. Except for the algorithm that actually solves the cube. For that I import kociemba
Can you give me the program that you did not write?
Awesome! Did you try making it using stepper motors?
no, I could but servo motors are cheaper :)
@@eman4885 true, but stepper motors arent limited to 180* so that would make it faster
hi, i am in the final stretch of making the robot, could you please tell me what the grippy tape you used in the connectors is? how do you make sure the cube doesnt fall off when you turn the whole thing sideways?
just any type of sponge and a lot of trial and error to see what works and what doesn't
@@eman4885 a sponge, thats smart, i used a lot of different materials but I landed on athelete cloth tape. A bit finicky but it too seems to work in a certain configuration
Impressive, hello, I wanted to ask you which is the Arduino file that needs to be executed because you have several and I don't understand which is the main one. Could you help me?
All files need to be executed and be loaded in alphabetical order, that's the way arduino works. The last file z_main is the one with the "main" function.
could the data on the piece colors be inputted through a website instead of an app?
That could be an option, although I wanted a more small device
How to run applications on the smartphone?
What do I have to do to use the application?
greetings friend, firstly I would like to congratulate you on the project and for making the code available.
Could you help me with the APK, as I can't install it and I'm not able to compile the apk that you left in the link.
thanks!
how to download your android app?
Waoo excellent 🎉 , hey i want to buy this . How can i buy this ?
Thank you! The files produced to build this are all available in the github repo in the description, use it as you wish.
Hi there!
I am interested in aplication. Can you explain me how it works?
I used CFOP method to solve the cube and OpenCV for the smartphone camera
@@eman4885 Thank you very much!
Are the stands 3D printed ,
If not what material did you use to make them.
If possible can you provide us with the pdf copy of the shape and measurement of the stands.
We are trying to make this project for our college mini project.
The pieces were made in acrylic cutted in a CNC cutting machine but you could definitely do it with a 3D printer.
The github repo in the description was updated with media files and a pdf of the project's design.
Could you include android .apk please
Can I ask what is the name of the android app?
the android application is not available on any platform.
@@eman4885 so how can i get
@@eman4885 What is the order of data entry? I enter data from the terminal instead of using a smartphone. I enter a wall, e.g. YYYYOYYYY. I put in the rest of the walls. the cube starts to stack but it doesn't stack, it just mixes up. I put the cube like you do in the video. red center to the top, and blue center to the left
project report pls
Great, can I get some more information?
Yes, What would you like to know?
@@eman4885 Is there a way to email you
I'm making one for my graduation project
email contact on my github profile
You could have done much better with this lol
greetings friend, firstly I would like to congratulate you on the project and for making the code available.
Could you help me with the APK, as I can't install it and I'm not able to compile the apk that you left in the link.
thanks!