Friday, April 11, 2008

Fritsl @ letsmakerobots

Lest the photo mislead you, Fritsl is not a robot, he's a robot -maker.
Specifically, he's the man who built and programmed the Yellow Drum Machine.

At the amazing site letsmakerobots, Fritsl has posted an entry about how he went about teaching his 'bot to find objects, position itself squarely in front of them, and play the drums.

It reads more like a parenting guide than your average coding instructions.

Here are some highlights, with mis-spellings included:

-"My secret"
- to try to put it in a popular way - is that I do not "program the robot", I teach the robot...

-YDM has only the ability to look forward, and angled to left and right. And from these 3 angles I get distance.

How on earth would I program a robot with only this limited information to find objects worth playing drums on? How would I program it so that it looks "human" and is tracking down flat wide surfaces or stand-alone objects?

Truth is; I would not know how. The math in it would scare me, I would not have a clue...

-Well - if you are a good teacher, such as a parent to a child - you are able to, you naturally set yourself in the child´s position and limited understanding of the world.

So I put myself in the robot´s place, and this is what I have got:

3 bars.

Let us say that they look like this:

| |
| | |

Now what would that tell us - "us" being the robot? (Long lines means long distance.)

Well - this graphis shows it quite clearly I hope;


- There is something in front of us (middle one), but we are in an awkward angle to it (Left is much longer than right)

And here comes the teaching:

Look, dear robot, this is easy; For now, don't mind the middle one, try to focus on this: If one of the L/R are longer than the other, then snake with your belt-tracks a little to the side, and then measure again. And of course, dear robot; If there is MUCH difference between, then take a loong snake-step, and tiny if only a small difference.

.. That is what I would do with the information, and so I teach the robot that.

Ok, test see what it does...

-And funny things then happens when it is uoyt in the real world- and you find that it will change from one thing it has learnt to another, acting to the soroundings, acting just as smart, funny and clever as youhave tought it.

But never as you planned - the robot is now on it´s own, with all your good teaching in it's suitcase..."


This is of course an incredibly distilled version, and does no justice to this man's brilliance in coding and robot making.

Read the whole thing: "Don't program your robots..."

And go to

No comments: