Assignment 02 Proposal – Erica
For my project I am interested in exploring the robot’s potential in terms of image-making, specifically with paint. I like the idea of using paint because it is easy to use and inherently requires less effort than other medium to be expressive. It seems that a lot of previous projects involving teaching robots to paint are very algorithmic and rely heavily on human influence to produce a finished product. Some examples of this are:
In this example, viewers have the ability to manipulate parameters that change the visual output that the robot creates.
Here, the artist explains that he considers the robot one of his tools in creating portraits he considers to be his own work.
These last two examples simply use the robot as a way to automate spray painting and coating of large areas to make such tasks more efficient and less time consuming.
In each of these cases, the robot itself is not consider a “artist” or even a “creator” of the work being outputted, but is rather looked at as a tool that humans utilize to make these images. I would like to consider the possibility of letting the robot be the artist. As such, I think that the way the robot paints should be different than the typical human usage of paintbrushes. Rather the robot will use a tool (or set of tools) that come more nature to it and optimize its maneuverability.
Furthermore, I like the idea of the final painting to be somewhat the whim of nature and not completely controllable by man or robot. The reasoning behind this is that to a certain extent everything the robot does is by human influence, as it is we that program it and essentially “tell” it what to do. Even the “decisions” that the robot will make while painting will be a sort of programmed randomness that may appear to be at the robots whim, but at the back-end will be human-influenced.
These considerations brought me to the idea of painting by filling balloons with paints and popping them. For those of you who have never heard of/seen this, here are some examples:
(Yes, this is from the Princess Diaries movie)
What I liked about this style of painting is that it is abstract so it allows the robot to utilize its maneuverability instead of keeping on one flat plane and that the end painting is also influenced by nature forces like trajectories and gravity.
Mostly, this kind of painting is done with darts, as shown in the first video, which separates the thrower even more from the end product. It would definitely be possible to teach the robot to throw darts but I think that this would fall more in the category of teaching the robot human skills instead of teaching it to optimize its own abilities. Instead, I’ve been considering two other possibilities: 1) giving the robot a tool that contains a sharp device such as a pin or a needle so that the robot can poke the balloons open to leak the paint (similar to the second video above) and 2) attaching a green laser to the robot’s tool-head that the robot could turn on and off to pop the balloons. Here is a video of how a laser pops balloons:
I am leaning towards the first option rather than the second for a few reasons: first, it is obviously a lot more costly to purchase a laser that will be strong enough rather than using a pin or a needle. Second, the laser pops balloons that are darker in color better than those that are light. This means that there is no guarantee that the balloons will pop when desired and therefore there would be a lot more trial and error going on to optimize results. Third, because of this increased variability in popping, I would also have to program a way for the robot to detect that the targeted balloon actually pops before it moves on to the next target.
What I like about the first option is that I think it gives the robot more of a choice of how to go about popping each balloon. The robot will be able to rotate all about the balloon and choose the side to attach it from. Also, I can program in a few simple motions that the robot can do with the needle, such as poke and swipe, that the robot can use to “personalize” its work.
The process of prepping the robot for this project involves the programming of a few things:
1) I will attach a camera to the robot and will need to program in code that will allow the robot to move around so that the camera can recognize the shape of a balloon, and possibly the color if I have the time (this way the robot can also decide the order of colors it puts on the canvas). I will also need to make sure the robot can detect when there are no unpopped balloons left so that it knows it has finished.
2) I will have to teach the robot to maneuver itself so that it is in a position to pop the balloon. I plan to use moveJs in order to accomplish this so that the motion of the robot is fluid and “nature”-feeling and so the robot will be approaching each balloon from a different angle. If I have time, I would also like to give the robot the opportunity to “circle” the balloon and “choose” a location from which to attack it from.
3) I will program in basic needle motions that will allow the robot to stab the balloons.
I plan to do a lot of trial and error to check that the robot is working as I plan and to get a better sense of how the robot will make these paintings for real. I hope to come out from this project with a few test and a few finished products and a film of the process.