Thursday March 23, 2017

BEAM Robotics

Author: Wayne Eggert
Date: 09/26/2009


This is a project page for some of my experiments with BEAM robotics.  BEAM stands for Biology, Electronics, Aesthetics and Mechanics.  It primarily involves building robots with simple analog components instead of microprocessors to achieve simple and efficient designs.

Background - How I Discovered BEAM Robotics
I'd been interested in building some simple robots about 6 years ago and had bought a book by Gordon McComb called Robot Builder's Bonanza to get started since it had great reviews.  Unfortunatley I found the book too difficult at the time -- the book seemed geared toward making heavy-duty "sumo" type of robots with relatively large lists of expensive or hard-to-find parts.  It also seemed very heavy on having you bend and cut metal to build your robot's chassis.. where I mainly wanted to learn how to build something simple to keep me motivated.  So, the book collected a lot of dust ever since.

Recently at my local library I found JunkBots, Bugbots, and Bots on Wheels: Building Simple Robots With BEAM Technology.  I cracked open the book and was delighted to see that most of the projects could be built rather cheaply (under $15-25 in many cases) and were simple enough that they could produce a functional robot within a few hours.  I've always found when you're just starting, it's more motivating to be able to jump into building something and see results quick.  So I checked out the book to see if I could get some ideas.

The BEAM That Almost Wasn't
The only thing I didn't like about the idea of BEAM robots is they seemed "dumb".   I didn't want to build a robot that walked into a wall and got stuck or just walked straight till it bumped into something, then turn around.  I had those kind of toys when I was a kid and the novelty wears off real quick.  Give me a chip that I can program so I can have a robot make cool lazer sounds or control it wirelessly!

After returning the book to the library, I started thinking it over and relating BEAM to some of my philosophies on software programming in general.  When I'm coding software, I don't want to write inefficient code that does something a built-in function can do 100x faster just because I didn't know there was a built-in function to handle the task.  Well, BEAM robotics can teach you clever ways to use very simple circuitry to achieve certain behaviors you might otherwise think you needed a microprocessor for.  Then you free up tons of "cpu cycles" that you would have spent on something simple like "walk forward" or "bump into object, turn around" and use the microchips for more difficult tasks that require calculations or logic not possible with analog components.  Very cool!  Needless to say, I bought the book..

Symet - My First BEAM "Robot"

The first BEAM robot I built was the Symet, the first robot project in the JunkBots book.  It's behavior is very simple -- it uses a solar cell, solar engine and a single motor to move around.  Its symmetrical design gives it some interesting behavior too.

The Symet is a solar-powered BEAM device that is almost a robot. Because the device looks the same from several sides, we’ve taken the name from the word “Symmetrical,” but the extra “m” looks strange. “Symmet”—see? Doesn’t that look bizarre? This device is about as simple and self-sufficient as they get. The solar cell powers the motor; the motor moves the device; and when it bumps into something, it tilts in a new direction and keeps on going. That’s the basic operation of the Symet.

You can actually read all about building a Symet in the sample chapter from the book at the JunkBots, Bugbots, and Bots on Wheels official site.  All you need to do is purchase the components listed there (or you may be able to scavenge some of the components from old electronics).

This is how mine turned out initially (notice I had to add a 4th capacitor so it wouldn't topple over):


And here's a video of it in action

Unfortunately, I can't say my Symet worked as intended.  The motor pulsed correctly, but it just spun in circles.  Not really the behavior described in the book.

Modified Symet
I didn't really want to rebuild the whole thing, since I had a pretty good idea what the issues were and the circuit itself was working correctly.  I used a small pancake style motor as described in the book and also made the capacitor leads as short as possible when soldering to the motor. The motor also had along shaft on it, so that along with the short capacitor leads caused the entire Symet to sit at an angle that lent itself to moving in a circle.  If I had left the capacitor leads longer so they were supporting the motor at more of a vertical angle I think it would have functioned better.

The nice thing is, I'm the designer, so I can just say "oh, that's what I wanted it to do.. spin in circles!"  Or, I can change its behavior by modifying it.  Which is exactly what I did.  I found some clips that originally came from new dress shirts (they had clips around the sleeves/collars instead of straight pins).  I snipped them in half and hot glued them to the outside of the motor.

Here's a picture of the modified Symet:

Modified Symet

Notice how the motor is now at much more of a vertical angle.  It has a slight tilt to it.  After adding the "legs" my Symet (if I can even call it that any more) now moves straight forward.  When it bumps into something.. it doesn't turn around though.  That's because the original design relies on the weight of the motor being on two capacitors and if it bumps into something the weight can shift and possibly cause the Symet to turn itself around.  Since mine now has legs.. it just moves in one direction instead of flip-flopping around on two capacitors.

Here's a video of it in action

Other Design Issues / Considerations
The solar cell I'm using is a 3.6v 15mA cell and I'm not really sure if the motor is 3v or 5v or what.  The motor seemed to turn fine with a 1.5v battery hooked up to it, but definitely doesn't have a ton of power behind it.  So that's where every Symet is really a unique creation and might function differently depending on the power of the motor, power of the solar cell, or the overall shape of the design.  The difference in having yours roll in a circle or moving in a straight line or not moving at all could be as simple as bending some of the components a little different.  I kinda wish the JunkBots book went into this a little more and showed a few pictures of different style motors and design considerations with each.. possibly how to have it lean on the capacitors for certain style movements.

More To Come
That's it for now -- I plan to build some more of the BEAM robots in the JunkBots book and also learn how some of the electronics are actually working.  The book describes the functionality of the robots but doesn't go too in-depth about electronic theory of the schematic or the electronic characteristics of the components causing them to function as they do.  It instead takes more of the approach of "solder what you see in the picture", which is great for getting something built quick but leaves a lot to be desired when it comes to learning about what you just built. 

I can also see where it could take a few builds before getting a fully functional robot due to some vagueness.  Nevertheless, it's a great book on BEAM robotics, gets you up and running quickly and you can always research each component to discover the theory behind how it all works if you're interested.  I'm looking forward to building some more of the projects and learning how they work, then creating some totally new robots!

Re: Thanks for the videos
Posted 10/13/09 11:42AM by AceBHound
Yeah with just using a 60 watt lightbulb the bulb needs to be pretty close to the solar panel to charge up the capacitors quickly. If you're more than a few inches away it might not move at all. Should be better with direct sunlight. Also depending on the type of motor and orientation of the motor it might not move very well, so you have to play around with orientation, etc. I don't really like the non-scientific approach of "just swap the motor with another one" as I'd rather understand why the motor isn't working like it should, but BEAM is about simplicity, using any old parts you have lying around, seeing results and not getting so caught up in all the equations of it all so I understand why they tell you to swap parts out if something's not working.
Thanks for the videos
Posted 10/11/09 10:25PM by Anonymous Techdoser
Thanks for the video - I also found the book in the local library and enjoyed reading it as well. When I put symet together on breadboard the motor pulses are so short that I had doubts that I did everything correctly - it seemed that it won't go too far. Seeing that you have to hold the lamp directly above it and it just jerks a few millimeters at the time is rather assuring that's what is expected.