An interview about me, the reasons to build little robots, to have a blog about robotics. Here
My second experiment (first is here ) to make Art o something similar with Arduino, is the Dadaist Poetry Box.
It’s made with an Arduino using a printer for receipts to write poem. The box composes the poems in autonomy, thanks to an algorithm that has been implemented on the Arduino. Push the button and here your dadaist poem. Each poem is different from the previous. It is original, new. Just press a button, and comes out a poem. Simple, immediate, trivial.
Normally, the poem is a valuable asset, is the result of an intimate moment, when the poet transposes on paper the emotions of his soul. It ‘an act inspired, an act of concentration and transport. It’s not immediate. The poem box instead is trivial, it seems almost anti-poem. But not, it’s Dadaist poem. In one of his writings, the famous poet Tristan Tzara, one of the major poets Dadaists, describes how to produce a Dadaist poem. The pass following explains their way to proceed:
The Dadaist poetry box is based on Arduino Uno. These are the components:
- Arduino Uno
- Sparkfun thermal printer
- A big button
The program is based on pre-defined verses, that Arduino choices with an random alghoritm. The thermal printer is drove by the Arduino, using the SoftwareSerial library. The verses are stored in the program memory of Arduino (almost 7 kb).
The verses are in italian, so if you want the English language, you have to rewrite all the verses!
This is a little video of the box:
This is the source code: Generatore_di_poesie_V4
I’m often thinking if it is possible to make Art with Arduino. Arduino is a machine, a little computer made with electronic circuits. It hasn’t a soul. Can an Arduino make Art? This is my question.
I’m trying to do something with Arduino that could be Art, or similar to Art. The Arts are painting, poetry, music, sculpture and so on. I’m trying to do something in different Arts. The road is long but I began to travel it. This is my first experiment with painting. Indeed, a easy form of painting, the sketching in Black and White. Arduino drives a robot arm, that with only a pen sketches a city skyline. The skyline is every time different, the buildings are always different. The arm tries to imitate the human sketching, with errors, shaking lines not parallel and so on. The arm tries to be human, to make a little form of Art. This is the goal, I don’t know if the goal is reached. The judgment is yours.
The robotic arms are among the most fascinating robot that you can build. There are many commercial robotic arms with 4-5-6 axes, while, at amateur level, there are no polar arms.
The arms using polar, instead of Cartesian coordinates (x and y), the polar coordinates (angle and radius).
So, the point P(x,y) in polar coordinates became P(r,phi). This means a line, which in polar coordinates is described by a very simple equation, in polar coordinates becomes a complex and more difficult, because the radius can increase and decrease while describing the line.
So, which is the advantage using the polar coordinates? The advantage is the robot is very simple to build. I used also an awesome aluminum infrastructure based on Makerbeam (www.makerbeam.eu) , that allows to build the robot similar to the Lego, with the advantage that all is in metal and not in plastic. Makerbeam is an open-sourced extruded beam construction kit. I got a kit, and this is my first project using it.
The hardware is:
- 1 arduino (2009/uno or Mega)
- a kit of makerbeam for the chassis and 16 ball bearings (www.makerbeam.eu)
- 2 stepper nema 17 400 steps, 0.9° (www.robot-italy.com)
- 2 big easy stepper driver (www.robot-italy.com)
- 2 pignons and 1 gear rack (www.conrad.com)
- 1 little servo motor (www.robot-italy.com)
- 1 pen
This is the robot:
The robot has 2 dof: radius and angle. The forward and inverse kinematics are simple.
The only two shapes that are possible to draw when running one motor at a time is a radial line or a circle segment. The Arduino program implements sort of the Bresenham’s line drawing algorithm to draw segments. Each segment is divided into small segments (steps). Then, for each step we translate this movement to its corresponding changes in the polar coordinate system, angle and radius. This is finally translated to the number of steps to run each motor.
The robot can have a good precision: the balance is between good speed and good precision. If the robot has a low speed it can be very very precise. When the speed grow the precision goes down. But in this work the precision is not very important. The goal is to imitate a human sketch, and the human when are sketching are not precise.
For the sketch algorithm I’m inspired by this processing sketch: http://www.openprocessing.org/sketch/12095 semplified for Arduino. The robot can work alone, without a computer, all the logic is inside the Arduino.
The main inspiration for the polar arm robot building and for the motor driving software comes from this awesome robot: http://roxen.github.io/polar-plotter/
You can see the robot in action here:
The code used for the robot is available here: citta_disegna