Integrating 7Bot with cloudpainter
Could not be happier with the 7Bot that we are integrating into cloudpainter.
The start-up robotic arm manufacturers that make 7Bot sent us one for evaluation and we have been messing around with it for the past week. The robot turned out to be perfect for our application, and also it was just plain fun. We have experimented with multiple different configurations inside of cloudpainter and think the final one will look something like the photoshop mockup above.
At this point here is how Hunter and I are thinking it will create paintings.
Our Neural Jet will be on an XY Table and airbrush a quick background. The 7Bots, each equipped with a camera and an artist's brush will then take care of painting in details. The 7Bots will use AI, Feedback Loops, and Machine Learning to execute and evaluate each and every brush stroke. They will also be able to look out into the world and paint things it finds interesting, particularly portraits.
The most amazing thing about all this is that until recently, doing all of this would have been prohibitively expensive. Something similar to this set up when I started 10 years ago would have been $40,000-50,000, maybe even more. Now you can buy and construct just about all the components that cloudpainter would need for under $5,000. If you wanted to go with a scaled down version, you could probably build most of its functionality for under $1,000. The most expensive tool required is actually the 3D printer that we bought to print the components for the Neural Jet seen in bottom left hand corner of picture. Even the 7Bots cost less than the printer.
Will leave you with this video of us messing around with the 7Bot. Its a super fun machine.
Also if you are wondering just what this robot is capable of, check out their video. We are really excited to be integrating this into cloudpainter.
Its an amazing machine.
The Early Robots
Went searching for and found these images of the early robots.
The first robot started with a lot of wood pieces.
The very first paint head was a disaster, but this second one worked real well.
The Second Robot was built to be more mobile. It fit just barely through doors.
The third, of which I have lost all the photos except this one, was built to be massive. It filled a room. Also important was that it had an open face so I could photograph the painting more easily in order to use feedback loops in the painting logic.
After these unnamed machines came Crowd Painter, BitPaintr, Neural Jet, and cloudpainter.
Bonnie Helps Out With Logo
Not sure how I got distracted by logos today, but I did. Bonnie and Corinne played a big part in the process. First inspiration came from Corinne, who keeps calling the paint head a flower. Then Bonnie mentioned if it had a logo, it should both look like a flower, and incorporate the shape of the paint head.
Based on their input, I started playing with ideas and the number 9 became a big part of it. Besides the obvious fact that the paint head has 9 modules, I also based a lot of the proportions on factors of 9. For example, the outer radius was measured at 36mm, while the inner circles had radii of 27mm, and 18mm. The width of the internal line is 9mm, and all sorts of other stuff. As it was progressing some other cools ideas emerged that I left in for people to discover in the future.
So if you are looking at the picture above, you can see where it began on the left, and where I ended up on the right. The final image is the logo that I think I am going to go with. Gonna think about it for a couple of days.
Design Meeting
Dante, Hunter, Corinne, and I sat down to design our new painting robot and define its technical requirements.
The biggest decision made, among many important ones, was to design the new robotic paint head to work on both an XY-Table and and Robotic Arm. We did a comparison of the advantages and disadvantages of the two and they were pretty even. Thats when Hunter asked if the head would work on either and we realized that we did not have to choose between the two. There was probably a way to design it to work on either. As a result of the meeting, our focus has shifted from make a Painting Robot, to concentrating on making a Painting Robot Head (or Tool) that can be used by any robot whether it be an XY Table, Robot Arm, or even something anthropomorphic like an Asimo. We will design a robot around this Paint Head, but its cool to think about how to design the paint head so that any robot can use it.
You can see the details we arrived at on the white board but to summarize main features:
1: will have 6 airbrushes, a paintbrush, and camera.
2: will require 6 valves and a servo for the brush.
3: will need air supply, power, and comm line.
We have not yet determined whether or not controller will be part of robot paint head, or stored in separate module along with air compressor.
Some concerns we have are:
1: Will there be enough paint in Airbrush reservoirs?
2: Where are we going to put camera?
3: How will we raise and lower traditional brush?
But most importantly, we are trying to figure out what Corinne meant by her contribution to the meeting in the photo below. We sense that its something big, but what could it mean?
Initial 3D Sketches of Paint Head Complete
Though its probably obvious, the name of this new robot is a blend of Neural Nets and InkJets. The main idea being that it will use artificial intelligence to spray paint onto a canvas with jets of air. This initial sketch shows how this will be accomplished with an array of six airbrushes. Final design will include traditional brushes as well, but we will build that around this airbrush array as our experience is that paint delivery is the most difficult part of any painting robot. That is our primary goal, the delivery of paint to the brush and canvas.
Six airbrushes are being used so that a full color gamut can be achieve. The pigments in five of the air brushes will be cyan, magenta, yellow, black, and white. The final airbrush will either have a "guest" pigment, or a paint thinner, perhaps water? Not sure yet.
The two most interesting aspect of this are why white and a thinning agent are being included.
The reason for the white is that the Neural Jet will be using creative feedback loops (see my TEDx Talk for details). This robot will need the ability to both add and subtract saturation. Unlike an inkjet printer that knows exactly what it will be printing and uses the white of the page, this robot will be re-evaluating each brush stroke and mark continuously, and repainting areas constantly. As such it will need the ability to lighten areas, and even erase by white washing.
The reason for the thinning agent is many fold, most importantly for brush washing and texture. We are still working out the final details, but this robot will have a brush and brushes need cleaning, so it would be nice to be able to apply pigments and clean them from the brush with this paint head. Another reason for a sixth airbrush is that it might be interesting to have a mystery fluid that simply gets mixed in once in a while to add texture. I am not sure what exactly will be needed, but I just feel like later in the process I will be wishing I had an extra airbrush, so I am including it in the initial design. Hope I don't end up needing two extra airbrush heads.
First Robotic Head Mock-Up and Updates
As I paint 3 paintings for the backers eacha week, I am also making mock-ups of the new robotic head that I will be adding to the robot. Above is the first mock-up. I put it together only to realize that there were lots of problems with the design. But thats cool 'cause I have a whole load of friends looking at this and helping iron things out - and that part is turning out to be more fun than expected.
The main problem with this design that I didn't see until I built the mock-up is that half of the airbrushes would be upside down when mounted on my robot at a 45 degreen angle. So only 3 of the airbrushed would really work correctly. I need 5 at a minimum.
Also I showed the design to my friend and colleague Mark, the same one who I mentioned in previous post that printed his own 3D printer. He suggested I make each airbrush holder modular - and have them snap together when ready to paint. Have I mentioned he also has done work at NASA - so I take his advice really seriously and really like the concept of a modular robotic head that snaps together. It would make swapping colors really fast and easy, maybe color changes can even be done robotically if we design it right.
Another cool thing about Mark is that he is into sharing all of this. So we spoke briefly and decided that when we came up with a design and plans, we would post it on our site so anyone could build their own version of whatever we come up with.
Will try and get another mock-up done this week and post it along with the next set of paintings in schedule next week.
New Robot Design Finalized - Will be ready in 3-6 months...
Getting through your paintings at about 3 a week, Will post schedule of next 6 portraits some time around Sunday. If you need yours sooner than later, let me know.
CMYKW NeuralJet Printer
So I am zeroing in on the final design of bitPaintr. Above is a quick sketch of the concept that I am leaning towards. In addition to an artist's brush, I am adding between 3 and 6 airbrushes that will operate very similar to an inkjet printer by mixing Cyan, Yellow, Magenta, and Black ink to try and replicate as many colors in the spectrum as possible. Better than an inkjet, it will also include White and possibly some other mystery ink or finish. The airbrushes will not replace the brush, but be used for quickly filling in backgrounds. Another concept that I am considering is to let humans paint with the artist brush while allowing the robot's AI to paint with the airbrushes. Thinking of calling it a NeuralJet Printer.
But don't worry, this will not be a printer in the traditional sense. I promise that it will be just as messy and ridiculous as all my previous robots. I have never even used an airbrush before, so I have no idea how I am going to program my robot to use one. Another way I am leaving my comfort zone is following the advice of my friend Mark to switch to pneumatics. Mark has also been telling me to use airbrushes for years now. I am finally listening to all his advice. Before last week, I didn't even know how to spell pneumatics and I had never used an airbrush. Despite this I fully intend to convert my robot into an air powered system in the next 3-6 months.