MURtle – Drawing Robot

This is MURtle my drawing robot. Inspired by Oddbots Doodle Bot competition, I decided to build my own drawing bot. MURtle is a combination of MURCS and Turtle. MURCS is my multi use robot construction system using laser cutted acrylic plastic parts.

[pe2-image src=“http://lh5.ggpht.com/-sUJftqZr_Lk/UeGzOMhjZVI/AAAAAAAAIL8/6i3lWS-9pJc/s144-c-o/IMG_6159_60_61_fused.tif.jpg“ href=“https://picasaweb.google.com/100614490999857774768/MURtle#5900194043293558098″ caption=““ type=“image“ alt=“IMG_6159_60_61_fused.tif.jpg“ ]

 

The Dagu Micro Magician Controller has been used, because it has everything onboard needed and runs from 4 AA cells. A micro servo has been used as pen holder. 2 Pololu ICS01A IR sensors as odometry sensors. Solarbotics wheel with self made 48 segments wheel encodcers are mounted on the Solarbotics GM3 143:1 geared DC motors.

Wheel encoders:

The IRS01A IR Sensors are connected to 2 analog input pins of the controller board. No additional hardware like Schmitt-Triggers has been used.

The 48 segment encoder wheels gives a resolution of 4.5mm for each tick. Not very good. Next time I will try a 96 segment encoder wheels. I got an idea about getting better resolution using more intermidiate steps from the analog readings opf the sensors. Not sure if that will work.

 

Pen holder:

As pen holder a micro servo has been used. The pen is attached to the servo horn with a paper clip. The pen is exactly beetween the wheels. So there is no need to lift up the pen and make corrections when the robot makes a turn. But it is a challenge to get the pen on the right position. Sometimes during the drawing the pen moves to the side. Better fixation is needed.

 

Programming:

Drawing is done by a preset of hard coded functions. A Sony IR remote can be used to recall the presets. Later on a Bluetooth and a skripting language like Logo will be used to load drawing sequences from a PC. All drawing sequnces are based on 3 basic functions: Pen(uop,down), Go(distance) and Turn(angle).

Some examples. 1. Draw a square:

void Square(int width)

{
  Pen(down);
  for(int i=0; i<4; i++)
  {
    Go(width);
    Turn(90);
  }
  Pen(up);
}
  1. Draw a spiral:

void Spiral(int limit, int steps, int angle)

{
  Pen(down);
  for(int i=steps; i<=limit; i+=steps)
  {
    Go(i);
    Turn(angle);
    Go(i);
    Turn(angle);
  } 
  Pen(up);
}

Video:

httpv://www.youtube.com/watch?v=wVCDLklqoYM

 

More Links:

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert