Rubik's cube Robot solver

hey kas!!
long time no contact, i gave up on my project for a little bit there but decided my school might disapprove. might have some simple coding questions to come like if i could get away with completing the project with out a buzzer.

as for you lampel, I did just upload my base for my cube solver, however the camera holder thing i made was a rushed job so might need to glue, drill or someting to make it work. here's the link to my base https://3dwarehouse.sketchup.com/model/cf7d9f09-c40f-469f-a40b-c59e31414775/Rubiks-cube-solver-base

hey kas,
for your code for "Cube Mover hard coded Demo @kas2017\n" I'm having some troble as when i set the limits for closing the griper it works at the start and finish. however throughought the execution the gripers don't close enough, i can try provide video.
thanks

Hi benbowman

might have some simple coding questions to come like if i could get away with completing the project with out a buzzer

A buzzer is really useful (and cheap). If you don't have it for the moment, just comment the content of the bip() function:

void bip(int duration, int n)    {            // Bip piezo: duration in ms, n repeats
 // for(int i=0; i<n; i++)  {  
 //    digitalWrite(bipPin, HIGH);        
 //    delay(duration);
 //    digitalWrite(bipPin, LOW);         
 //    delay(75);
 // }
}

I'm having some troble as when i set the limits for closing the griper it works at the start and finish. however throughought the execution the gripers don't close enough, i can try provide video.

A video will definitely help :wink:

hey kas,
thanks for that i'll see if i can get a buzzer, but i should be able to run the code soon then.

here's a video of the cube, as you can see the gripper on the left is lose and the one on the right seems fine, these are what my limits are set to, i thought it might be because of the my limits being the oposite to yours (close is higher than open, yours is the opposite)

DOWN_CLOSE 76
DOWN_OPEN 35

BACK_CLOSE 79
BACK_OPEN 35

https://www.youtube.com/channel/UC7o9_8HEwzxFIk4ifCsnYtQ

@ benbowman

Video link is missing :-\
please edit your post

hey kas,
any ideas?

First make sure that your can manually increase claw closure
You may have reached the mechanical end stop of your left servo
Just unscrew, lift the driving arm and rotate it

i thought it might be because of the my limits being the oposite to yours (close is higher than open, yours is the opposite)

That's a possibility
Remove cube,
adjust DOWN/BACK_CLOSE/OPEN parameters one at a time and see the effect for yourself
For a good grip, without cube inserted, claw should close about 2mm more than the actual cube edge size and open 1 to 2mm more than cube diagonal

hey kas,
thanks, I'd already been playing with my limits, so I've decided to change servo and to add different cushioning thats more gripy as one of my gripers is able to grip the cube while the other obviously can't. I've also been drawing up to 2.5 amps during the uses, does what does yours draw?
thanks

...and to add different cushioning thats more gripy

I use rubber bands cut out of a bike inner tube, dipped in acetone to remove any greasy residues.

I've also been drawing up to 2.5 amps during the uses, does what does yours draw?

I tested my servo's last year and had no values over 1500mA YMMV

and to add different cushioning thats more gripy as one of my gripers is able to grip the cube while the other obviously can't.

Strange ::slight_smile: this call for additional investigation
Did you try inverting Right/Left servo connectors ?? did it transfer problem to the right servo ??

I'll give the idea of the bike tubing out,

that's strange do you know what the stall current of your servos are? but its no real pro blame I've just
increased my power supply

i changed the connections to the servos and they back gripper still doesn't hold the cube I'm a little lost about because the down claw holds the cube beautifully, but i did find that by prints aren't quite aligned so
i will need to upload a different frame for those that would like to use it.

i changed the connections to the servos and they back gripper still doesn't hold the cube I'm a little lost about because the down claw holds the cube beautifully

With cube removed, can you manually close the back gripper ??
How is the requested applied force compared to the down gripper ??

hey kas,
ive managed to solve the problem with the gripping, the claws werent aligned properly and i changed the foam that i was using on the claws.
however, i am now having some dificulties with the python, here's an image
any chance you know whats going on there, i changed the path that you set and it still didn't work.

Offending code:

try:
p=subprocess.Popen([cubeExplorerPath]) ## Cube Explorer launching
except:
vSolve.set("** Cube Explorer not found **")

The most probable reason for the raised exception is a wrong/malformed path to cube512htm.exe

  • can you launch cube512htm.exe manually ??
  • what is your absolute path to cube512htm.exe on your computer ??
  • are you Windows or Mac ??
  • please copy paste the "cubeExplorerPath = ...." line from your actual python code

hey kas,
the code you've refere to i couldn't find.

try:
f = urllib.request.urlopen(cubeExplorer + command)
print(cubeExplorer + command)
page = str(f.read())
except:
vSolve.set("No response from Cube Explorer")

that's what I've got...

-yes, i can launch cube512htm.exe and it runs perfectly
-"C:\Users\ben\Documents\school\systems\cube exporer\cube512htm.exe" is this what you need?
-I'm using windows
-"cubeExplorerPath = 'C:\Program Files\Cube Explorer\cube512htm.exe' ## Cube Explorer program path"

the code you've refere to i couldn't find.

try:
f = urllib.request.urlopen(cubeExplorer + command)
print(cubeExplorer + command)
page = str(f.read())
except:
vSolve.set("No response from Cube Explorer")

that's what I've got...

This is not the right code snippet, I am refering to line #354

  • what is your absolute path to cube512htm.exe on your computer ??
    "C:\Users\ben\Documents\school\systems\cube exporer\cube512htm.exe" is this what you need?
  • please copy paste the "cubeExplorerPath = ...." line from your actual python code
    "cubeExplorerPath = 'C:\Program Files\Cube Explorer\cube512htm.exe' ## Cube Explorer program path"

Based on your information, your actual python code should read (line #26):
cubeExplorerPath = C:\Users\ben\Documents\school\systems\cube exporer\cube512htm.exe

thanks heeps kas!!
that fixed it, i thought tried that but i thought it might be a local path or something.
I'll try it out with my hardware tomorrow

that fixed it

great :smiley:

i thought tried that but i thought it might be a local path or something.

Please read the code thoroughly and try to understand most of it, no need to recreate it :wink:

BTW you should be more confortable with Idle compared command line tool
here it is ...\Python36\Lib\idlelib\idle.bat

yeah I'm just trying to get to know python a bit better.

now that ive tested the code with the hardware but when i try to "scan colors" the text says " no response from cube explorer" and same when i try reset but not test. but the program opens cube explorer, any ideas

now that ive tested the code with the hardware but when i try to "scan colors" the text says " no response from cube explorer" and same when i try reset but not test. but the program opens cube explorer, any ideas

Yes :wink:

Please enable WebServer in Cube Explorer

FWIW, I enclose the relevant documentation, please read

Cube Explorer Interface.pdf (66.9 KB)

hey kas, that fixed the error.

however the cube i am using and that you seem to be using are arranged that same, however you'll notice in the photo that my scan shows that the left it doesn't appear to be the same as the red and orange have switched sides or visa versa. i think this is because the claw scans in the wrong direction? as the scan asks to be in the order back then left then front etc. but it scans the wrong side second? would that effect it?s