Shane Wighton's Robot Paints Giant Murals at the Push of a Button
This robot with a small horizontal footprint lays down dots of paint across a large area to create massive murals.
The plan for Janksy
Robots that lay down tiny dots of ink have existed for decades, and they are called dot-matrix printers. But instead of having a small sheet of paper and dots that are fractions of a millimeter, Shane Wighton from the YouTuber channel Stuff Made Here wanted to scale this up massively and build a robot capable of printing images the size of murals. This large scale required some innovative changes to how an ordinary three-axis CNC machine works because of the rapid speed causing unwanted instability and vibrations. His machine uses a horizontal axis that spans the entire wall, while the vertical axis holds an entirely separate gantry on its own that can move far faster to paint a small grid within the larger art piece. Wighton decided to call his project "Jansky" after the famous modern artist Banksy and referring to the gantry's somewhat janky construction.
Basic color theory
When working with light, it's known that combining varying amounts of the three primary colors (red, green, and blue) can produce any other color. This same idea is also true when working with pigments, except the primary colors in this case are cyan, yellow, and magenta since they subtract light. By layering dots that vary in size and spacing across a large canvas, our eyes can perceive an image from afar that isn't present up close.
Laying down dots of paint
Perhaps the most challenging aspect of this project was figuring out how to gets dots of paint to appear on the canvas evenly and at the specified size without making a large mess. Wighton's idea was to take a basic paint spray-gun and only adjust how far away it is from the wall to change the size of the resulting cone. Therefore, having the spray nozzle close to the page causes dots to be small, whereas moving the nozzle away creates larger ones.
Constructing the robot's frame
To make the larger outer gantry, Wighton fashioned a series of steel tracks that ran the entire length of the painting area. A small wooden cart rolls along the tracks and propels itself along by turning a 3D printed cog within a long wooden toothed rack. And rather than having a second set of rails at the bottom, the smaller gantry is just suspended from the wooden cart with a set of cables that can be spooled or unwound to give vertical motion.
The inner gantry is much closer to a traditional CNC system, as it contains a pair of stepper motors that move a timing belt to pull the X and Y axes along an aluminum extrusion track. Two counterweight had to be added to the top of the inner gantry to provide a counterbalance, since because of Newton's third law, it wants to swing side-to-side whenever the X axis moves.
Electronic components
As mentioned before, the outer gantry is a wooden cart that propels itself along a track with a single motor, and it uses a second motor to raise and lower the inner gantry with some cables and a spool. The inner gantry has a pair of stepper motors that are driven by some beefy drivers and controlled with an Arduino Uno that receives it commands from a computer of some kind over USB. Finally, the spray nozzle is moved closer or further away by an additional stepper motor and is activated with a servo.
Instead of trying to make every mechanical component super accurate and repeatable, Wighton opted to use software correction instead. His system has several cameras placed around the painting area that watch the inner gantry that has a few reflectors placed at various positions. By doing so, the outer gantry only need to be approximately in the right location and the inner one can correct for it.
The painting algorithm
Generating a series of machine movements from a digital image was no easy task, as each color required an additional pass from the spray nozzle. The process starts by taking an image and dividing it into distinct RGB layers. Next, these layers are converted to CMYK and subdivided into a grid of dots. The size of each dot is scaled down based on how bright the pixel's value is, i.e. a full sized dot is the brightest and no dot is the dimmest. Finally, these layers are rotated at slightly different angles to prevent weird effects/illusions that come from repeated patterns of overlapping dots.
Viewing the results
After painting his mural across a time span of several days, it was finally completed and ready to enjoy. Wighton's image is a series of portraits of his wife giving her signature stare in differing art styles, and according to her, it turned out great. And even though there were a few imperfections, they only added to the character of the piece.
Embedded Software Engineer II @ Amazon's Project Kuiper. Contact me for product reviews or custom project requests.