This Autonomous Robot Can Lay Over 100,000 Dominoes in 24 Hours

Spread the love

Dominoes are tough

Building those giant and intricate domino displays takes a lot of work, as teams of people have to painstakingly lay out each one in a particular spot without letting everything topple over. Ordinarily, a team of seven highly-skilled domino layers would take about a week to create a mural consisting of 100,000 dominoes. It was this challenge that YouTuber Mark Rober and a team of others — Alex Baucom, John Luke, and Josh — decided to tackle around five years ago. Their idea was to create a robot that is capable of setting up a ton of dominoes in a record-setting amount of time (100,000 in a mere 24 hours) without unintentionally toppling any.

Designing the robot

The robot, which the team calls “Dominator“, was designed in a series of eleven total prototypes. The first was just a simple proof of concept where four small Mecanum wheels were placed onto a chassis that tested the range of motions the robot could take. The third and fourth prototypes of the robot were much larger in size, and their role was to be a test platform for dialing in precise movements. The seventh and final motion prototype swapped out the four Mecanum wheels for three omni-wheels that were each driven by a single ClearPath servo motor. By going with these servos, the robot could more easily apply plenty of torque and minimize slippage on the ground.

The next challenge was deciding how the robot should place dominoes in the correct positions. At first, the team tried using a system that could put down a single domino at a time, but this proved to be too slow. Instead, they went with a tray system that has a grid of funnels and slots where dominoes can easily be dropped in. Underneath this tray is a large piece of sheet metal that moves to the side when a servo motor is activated, thus dropping all 300 dominoes onto the ground at the same time.

Loading all 100,000 dominoes would take quite a long time if done by a human, so the team set up a large suspended grid of funnels and 2.7 miles of Hot Wheels tracks. A robotic arm picks up the correct color of domino and drops it into the corresponding chute. Then once all of the dominoes are in the grid and the robot is underneath, they fall neatly into the robot’s tray.


The Dominator has two systems onboard for positioning. The first is an indoor ‘GPS’ tracking system that uses a pair of receivers and a set of beacons to locate the robot in the approximate spot where the dominoes should be dropped. Then for finer movements, an IR floor camera looks on at the ground for small infrared reflective markers and aligns itself with them. When it is ready to drop, the tray gets lowered by a single stepper motor and ball screw assembly. A Raspberry Pi 4 is responsible for everything, including motor control over USB and receiving commands from a laptop.

Software architecture

Getting the software to work was one of the most challenging aspects of the domino-laying robot build process. It is quite complex and has over 15,000 lines of code. The software engineer for this project, Alex Baucom, created a field planning program that takes a given image and converts it into a series of steps for the robot to follow. This information is then passed to the robot over TCP where it then interacts with the Raspberry Pi 4’s webserver. The Pi takes each step and converts it into motor movements which are sent via USB to the ClearCore motor controller board. It also monitors its global position and aligns itself with the IR markers when needed. You can view the code in its entirety here on Github.

Laying some dominoes

As seen in Rober’s video, the Dominator is amazingly efficient at constructing domino murals. Their recreated image of ‘Super Domino Bro’s broke the world record by being laid down in a mere 24 hours- about 50 times faster than a skilled domino builder. For more information on the robot, you can find the design and hardware overviews here.

Source link

Leave a Reply

Your email address will not be published. Required fields are marked *