Rubik's Cube Project
The origins of our project are quite simple really. For our topic we wanted to do something where we designed an object. Neither of us wanted to work with MatLab and instead preferred SolidWorks. We brainstormed ideas of things that we could design that were challenging in both physical creation and in range of motion, but still within our skills set and thus doable with our knowledge of the program. Our first ideas included a model cellphone, perhaps a dual sliding model similar to a Pantech Duo, a four legged motion mechanism, a dog for instance, or a functioning rubik's cube. Like most engineers the two of us did not know what the inside of a rubik's cube looks like. How do the sides turn in multiple directions without the pieces coming apart? Was there a central magnet of some sort? Or maybe some sort of notches through which pieces can slide ...
... Prompted by such inquiries we began to research the workings of this mysteriously simple yet tricky toy. As any member of our technologic generation would do, we jumped onto the internet to dig up some pictures and descriptions. With our necessary data in hand we began opening SolidWorks files and creating our cube. This hastiness soon lead to errors which could have been overstepped by taking a more thorough record of our project's timeline and order of operations.
Constructing The Cube
From numerous pictures taken from varying angles of the interior of a rubik's cube we made the logical decision to began constructing our SolidWorks cube with the one piece that does not move at all in relation to the other parts: the central yoke. During the design phase of this piece we realized that we had not decided upon dimensions for each piece, let alone our cube as a whole. Because of this we took a step back from the computers -the first of many to come- and went to work on paper jotting down numbers that should work. In hindsight, measuring an actual rubik's cube would have been much less work, but with the average retail price of $11.99 and the distance to target being a lot farther than we wished to walk, we decided a little bit of deep thinking and crunching numbers couldn't hurt anybody. After determining the dimensions for each of the small cubes that compose the rubik's cube to be .75 X .75 X .75, we went back to SolidWorks. We were each involved in the creation process and designed the central cubes which attach to the yoke and the yoke itself very quickly. Upon trying to fit them together into an assembly however, we ran into difficulties. Namely, one of us had worked in the imperial system and the other one in metric (5 guesses for who used which one)...
... After correcting our error in agreement of units we had the core for our model complete. The next step was obviously to construct the remaining pieces. There are two remaining types of building blocks for a rubik's cube: Corner pieces, and edge pieces. Prior to construction of each piece, we again had to step back and do some math to figure out radii of curves and where and how far to cut into pieces so that they fit together...
Once the pieces were completed, we began to look at the tricky part of the project: Motion. Could we make the sides rotate? Multi-directionally? What kind of mates would we need? We explored many of these questions through trial and error. Our results, at least at first were unpleasant. Not only was trying to figure out the mates more complex than we had anticipated, the pieces did not fit together perfectly, making the correct motion impossible.
Revamping The Cube
Before we could deal with motion we first had to solve the part agreement issue stated above. Back to the drawing board for us! Did we have to change our part sizes? How could our math have been so off? To put it simply, trying to create each part individually created confusion about angles between the piece and the central yoke as well as the distances from the center-points to our constructed curves. To fix our problem we constructed one entire side of the cube as one piece and determined all of our construction distances and angles from that part. We then went back to our original parts and edited them using the new dimensions...
... At this point we also decided to put the finishing touches on our cube including rounding all of the edges and creating defined faces for each individual piece so that we could color our cube. Adding color completed the construction of our parts. We then checked corresponding pieces and they agreed well. With success within our grasp we finally could turn towards the largest challenge, that of making our rubik's cube act like a real rubik's cube.
Motion And Mates
Our first attempt to create motion was quite hopeful. With the idea of functionality and multidirectional motion in mind, we avoided coincident mates and instead tried to find a way to allow for such movement without restricting pieces to any other outside pieces. To do this we tried to mate parts to the yoke, and also created a point in the very middle of the cube and tried to mate pieces to that. Neither of those ideas worked so it was time for plan B...
... Plan B consisted of asking Professor Cheever for help. "Any Ideas on how to mate parts for multi-directional motion?" we asked him. He informed us of a function involving collision detection that may do the trick. With this new tool in mind we attacked the