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 problem of manipulating our cube again. After working with this new function for approximately two hours we discovered that we had a collision or two which we had not expected. We promptly reopened our part files and made appropriate corrections. We did not succeed in utilizing the function to allow our cube to move multi-dimensionally however so we came up with a plan C...
... Plan C consisted of showing one or two sides of the cube rotating and showing details of the interior of a rubik's cube and how it works in theory, but not to actually have multi-dimensional motion. This proved to be much more doable using coincident face mates and attaching corner and edge pieces to their corresponding center pieces. With the mates complete, the only thing left was to capture screen shots and create animations of our rubik's cube.
Our project consisted of three main stages: Planning/research, construction of the necessary pieces, and mating those pieces to bring functionality to our construct. Throughout each phase we encountered difficulties, whether in our communication between one another, our correspondence with the SolidWorks program, or our pre-construction sketches. In most cases the challenges we faced helped us to improve our project and learn valuable and future time saving lessons.