Give Piece a Chance
Mark Rober's Jigsaw is a friendly puzzle-solving robot that can solve a jigsaw puzzle 200 times faster than the fastest humans on record.
There is something mesmerizing and inspiring about watching someone with an incredible level of skill at just about anything. Consider those that learn to pick up a jumbled Rubik's cube, flip it around for a couple seconds, then set it down completely solved before onlookers even have a chance to grasp what is happening. Lining up the colors on a plastic cube may not be the most valuable skill in the real world. Nevertheless, we stare in awe and amazement of the seemingly impossible talent possessed by these individuals.
Those of us that have no hope of ever attaining these levels of skill, but do have a background in engineering, sometimes like to build robots to do the job for us. YouTuber Mark Rober was impressed with the way that some people can solve jigsaw puzzles with superhuman speed. So he set out to build a robot that could not only replicate this ability, but do it much, much faster. Potentially even hundreds of times faster.
Depending on your level of experience with robotics, this may or may not sound especially challenging. But, as is always the case in engineering, when you dive into the details problems pop up everywhere. In fact, so many issues came up along the way that it took Rober three years to build his puzzle-solving robot, which was aptly named Jigsaw.
As a first step, the basic capabilities of the robot were outlined. Jigsaw would need to be able to pick up puzzle pieces, rotate them, move them to a position on a two-dimensional surface, and decide where each piece needed to go.
The first three of these capabilities were the easiest to deal with. The robot was given a suction cup gripper, powered by a vacuum pump controlled by a solenoid, to pick up and release puzzle pieces. The gripper was attached to a very precise motor that could spin it around to rotate pieces into place. And this entire assembly was fitted onto an Avid CNC machine to move pieces from one place to another. This setup enabled pieces to be placed with a precision of one-tenth the width of a human hair.
Knowing where to place a piece was much more challenging. Rober settled on an algorithm that ignored the image on the face of the puzzle, and instead looked only at the edges of the pieces. After scanning the edges of all available pieces by following a serpentine pattern, one of the four edges of each piece was compared with every other piece to find the best complementary edge pattern. Next, matches for the other three sides were searched for.
Occasionally, a suboptimal match is found, which prevents the puzzle from being solved. In these cases, the algorithm backs up and tries another path until it can completely solve the puzzle. For a 1,000 piece puzzle, this algorithm could run in under a minute on a laptop computer.
When tested, there were still some issues that cropped up. For example, there is some tolerance between the pieces of a puzzle that can cause errors to accumulate over time. Also, the entire puzzle may slightly shift in position after a piece is clicked in. To overcome these issues, Rober added in a z-axis encoder to sense when something was off. In these cases, a “wiggling” algorithm was triggered to move the pieces around slightly before clicking them in, much like what a human would do.
With the kinks all worked out, Jigsaw went head-to-head with the world’s fastest jigsaw puzzle solver. The robot was able to solve the puzzle in just four hours, while the human solver was on track to finish in about a month and a half, assuming twelve hour work days. This may not have been entirely fair since the puzzle pieces were completely white, taking away key signals that people would normally use to position them. But given Jigsaw’s speed, it likely would have still won under any reasonable circumstances.
The project video is not one to be missed, so be sure to give it a watch!