Symmetry is everywhere in our natural world. Just take a look at your hands, a butterfly, or a sunflower. It’s easy to pass off the idea of symmetry and symmetric structures as a simple quirk of existence, and to pay it little mind. If this is your view, I can assure you it will no longer be by the end of this series. If we force ourselves to look beyond the grade school applications of symmetry, we find a world rich in connections via many different types of symmetric identities. One of the most interesting is Gauge Symmetry, which lies at the heart of Quantum Electrodynamics, or QED (we’ll get into this a bit later in the series). Several branches of higher level mathematics study symmetry in detail, allowing a host of sciences, from physics to chemistry, to view difficult problems and theories from a different perspective.
The subject matter of the ideas explored in symmetry is complicated, and not well known outside of academia and the theoretical sciences. It is the goal of this series of articles to simplify some of the concepts that underpin the study of symmetry, so that the average hacker can gain a basic (and I mean basic) understanding of this fascinating body of knowledge, and put it to use in future projects. We’ll start things off by taking a look at a machine that has crossed the Hackaday server many times – those nifty Rubik’s Cube solvers. Just how do those things work anyway?
Continue reading “Symmetry for Beginners – The Rubik’s Cube”
Some of the fastest Rubik’s cube solvers in the world have gotten down to a five second solve — which is quite an incredible feat for a human — but how about one second? Well, [Jay Flatland] and [Paul Rose] just built a robot that can do exactly that.
The robot uses four USB webcams, six stepper motors, and a 3D printed frame. The only modification to the Rubik’s cube are some holes drilled in the center pieces to allow the stepper motors to grip onto them with 3D printed attachments.
The software is running off a Linux machine which feeds the data into a Rubik’s cube algorithm for solving. In approximately one second — the cube is solved.
Continue reading “Robot Solves Rubik’s Cube in just One Second”
We love a good Rubik’s Cube solver and the mechanical engineering on this one is both elegant and functional.
This is the first time we remember hearing about the FAC system, which is a standard set of parts which can be used to make any number of mechanical systems. [Wilbert Swinkels] must be a master with the system; the layout of the machine appears simple and uncrowded despite the multiple degrees of freedom built into it. Those include an insertion platform for getting the cube in and out, a gantry for three color sensors, and two axes (three grippers in all) for doing the actual solving. If you’ve used FAC before we want to hear what you think of it in the comments.
[Maxim Tsoy] handled the software which runs on a Rapsberry Pi Compute module. You’ll want to watch the demo video below. First you place the randomized cube on the insertion platform which retracts after the cube is in the grasp of the grippers. These work in conjunction with the color sensor gantry to scan every side of the cube. After a brief pause to compute the solution the grippers go to work.
It is possible to build a solver with just two swiveling grippers. Here’s a really fast way to do it.
Continue reading “Rubik’s Solver Uses FAC Machine Building System”
For their final project for ECE 5760 at Cornell, [Alex], [Sungjoon], and [Rameez] are solving Rubik’s Cubes. They’re doing it with an FPGA, with homebrew robot arms to twist and turn a rainbow cube into the correct position.
First, the mechanical portion of the build. The team are using a system of three robot arms positioned on the left, right, and back faces of the cube relative to a camera. When a cube is placed in the jaws of this robot, the NTSC camera data is fed into an FPGA, where a Nios II soft core handles the actual detection of the cube faces, the solver algorithm, and the controller to send servo commands to the robot arms.
The algorithm used for solving the cube is CFOP – solve the white cross, the white corners, the middle layer, the top face, and finally the entire cube. In practice, the robot ended up taking between 60-70 moves. This is not the most efficient algorithm; the Thistethwaite algorithm only requires 52 moves. There’s a reason for this apparent inefficiency – the Thistlethwaite algorithm requires large look-up tables.
Once the cube is scanned and the correct moves are computed, the soft core in sends commands out through the FPGA’s GPIO pins. Each cube can be solved in under three minutes after it has been scanned, but the team ran into problems with scanning accuracy. It’s a problem that can be fixed with the right lighting setup and better aberrant cubie detection, and a great final project using FPGAs.
Video demo below.
Continue reading “Solving Rubik’s Cube With An FPGA”
[Matt] recently learned both how to solve a Rubik’s cube and the basics of an Arduino. Putting the two together, he decided to try his hand at making an automatic Rubik’s Cube solver!
We’ve seen this done quite a few times using LEGO Mindstorms, but we’re much more impressed with [Matt’s] clever use of popsicle sticks and mechanical linkages…. The device uses just two servos. One to rotate the base, and the second to flip the cube over.
He’s using an Arduino UNO (R3) with 2 Hitec HS-311 hobby servos, some popsicle sticks, hot glue, a paper towel roll, and a bit of plywood. He wrote the code to solve the cube himself, and has shared it on GitHub — but he didn’t stop there and decided to create a GUI to go with it using Python.
It’s not that fast, but it’ll solve a cube in about 20 minutes — stick around after the break to see it in action!
Continue reading “Rubik’s Cube Solver Made Out of Popsicle Sticks and an Arduino”
[Javier] must have an awesome academic adviser. For his master’s thesis, he turned a building into a Rubik’s cube.
The Ars Electronic Center in Linz, Austria, is a building with a whole bunch of colored, programmable lights on the facade. [Javier] thought this would make for an excellent Rubik’s cube, and set to work convincing his thesis advisers this idea was possible, and building the hardware and software.
Since only two sides of the building are visible at any one time, [Javier] needed to build a controller for this project. The solution was to build a normal Rubik’s cube and stuff a microcontroller and a FreeIMU in the center. This setup senses the twists and turns of the Rubik’s cube, as well as it’s position in space, effectively creating an interface between the hand and a giant light-covered building.
The Rubik’s cube interface connects to a computer running an app written in openFrameworks. By sensing the direction the cube is oriented, it can automatically display the two sides of the cube facing the user.
There’s a great video showing just how this building-sized Rubik’s cube works. You can check that out below.
Continue reading “Turning A Building Into A Rubik’s Cube”
Check out this Rubik’s Cube for the blind. The idea didn’t start off as an accessibility hack, but instead as a way for [Brian Doom] to figure out where the face of each cube goes when manipulating the puzzle. It gave him tactile feedback and his ability to use it in dim lighting was when it dawned on him that this could be useful to others.
Now when we first thought of a puzzle for the blind the term ‘Braille’ immediately jumped to mind. But this doesn’t use it. That’s great, because not all visually impaired people can understand Braille. Instead, this uses dimension and texture to identify each of the puzzle faces. There are mushroom-shaped knobs, Phillips screws, adhesive rubber bumpers, raised text label maker labels, and a few other items that go along with each color. This doesn’t prevent those with sight from playing either. It’s something of one Rubik’s cube for all. Well, all except for the robots made to solve a stock cube.