Close

first successful paint, code changes, 10ml syringes, paint color mixing

A project log for If ( ) Then {Paint}

a machine to create canvas paintings of your favorite digital images

john-opsahlJohn Opsahl 10/29/2019 at 16:380 Comments

A lot of progress towards completing the proof-of-concept prototype machine has been made over the last month and a half. First off, the code restructure I completed in August really paid off. After only about a week of tweaking, the paint management system successfully dispensed paint on the palette and then the six axis cnc brush control system used that paint to create a crude image of my cat Jackie. It was so fun to watch it complete the first end-to-end painting operation. I will get around to posting of video when I get the paint color mixing operation working as well.

Much of the project work has been in the code. I added a longest allowable stroke length parameter to the line scan algorithm. With the addition of this parameter, the user can now control both the shortest and longest brush stroke lengths that will be used to construct the painting. It should be possible to create a pointillism effect if the the shortest and longest stroke length parameters are set equal to each other, but I haven't had a chance to test yet. An image of the algorithm at work with the new longest stroke length parameter is shown below; notice that lines are no longer than a certain length. Other changes to the code include the current effort to restructure the code for paint color mixing. This involves adding capabilities to the dispensing operation and image color to paint color match so a single paint color is treated as a composition of multiple "stock" paint colors. "Stock" paints being the the paints currently loaded in the syringes of the paint management system.

The only recent mechanical changes to the system has been switching from 30ml to 10ml syringes and increasing the stiffness of the syringe push plate by adding a second plate. After talking with my step-dad about paint mixing, I realized that I needed no where near 30ml of each paint color to paint a 5in x 7in canvas. I ordered some blunt tip 10ml syringes online and to my surprise the tips did not clog as easily and it's much easier to dispense smaller beads of paint. I have since updated the syringe carousel on the paint management system to accommodate 10ml syringes. I noticed some deflection in the syringe push plate when only one plate was used. It's hard to say for sure, but It seemed like the deflection was influencing the amount of paint that gets dispensed at the beginning and end of each paint bead. I added a second plate and haven't seen the deflection since. See changes modeled in image below.

At the start of this project, I didn't put much thought into how I would use the system to physically dispense and  mix two (or more) stock paint colors together to create new paint colors. Its taken several nights after work to arrive at a solution that I am 85% confident will work. The first challenge is just dispensing paints in different proportions. It's easy enough to create paint colors that consist of 50/50 of two stock paint colors because all you have to do is refine the machine's ability to create consistently sized paint beads. Then just dispense two of the paint beads next to each other and mix the colors together with the brush. If I was on some kind of deadline for this project, I probably would have taken the 50/50 route, but in the long term the 50/50 method puts a hard limit on how many paint colors you can create from the stock paints available to you. To achieve the ability to dispense paints in almost any proportion, I am developing a method to dispense different sized paint beads. With this method it should be possible to achieve all possible colors (within limits of smallest paint bead that can be dispensed) that can be created by mixing the stock paints. Proportions such as 20/80, 5/95, 11.75/88.25, etc. should be possible.

I have done a lot of experimentation with dispensing paints on the palette. Here are some of the results/failures.

Discussions