Sunday, January 06, 2008

I'm Thinking About Making a Hive Mind

My brother's getting some experience wielding a soldering iron, and has a growing pile of transistors, resistors, eyes of newt, and other arcane components. Mentioned getting some toy robots to build, and it kind of fits in with something I saw this morning:

It was a show talking about ants and other social insects working without a distinct leader, based on simple programmed rules and the patterns that emerge from having several members following them, often without communication. They went on to an example of robots sorting out black and white pucks based on a handful of rules. I recalled an example from much earlier involving smaller robots sorting wooden pegs.

So, anyone know some robot kit to build critters like that? I'd like to have something where I can rearrange the rules to see what emerges from different rules. Haven't talked about it with my brother, but seeing some recommendations for robot kits might be interesting anyway.

7 comments:

Anonymous said...

If you want to see emergent behavior based on different rulesets, may I recommend software simulation like a suitably tweaked Life or some other thing with cellular automata?

In school I almost got to take a course which would've involved Lego Mindstorms. One of the projects there was making a little robot that would do traversals of trees made from reflective tape. It was very impressive to watch, and also fairly expensive to build. Building many little robots from scratch is very cool, but will probably be more an exercise in electromechanical construction/fine-tuning rather than emergent behaviors.

But anything you choose to do oughta make a nifty project.

-- GM

Dunc said...

Bear in mind that ants and the like are simple for biological systems. The robotic equivalent is pretty close to the cutting edge of current research. If you really want to get into that sort of thing, you'll probably need to go to a university that specialises in AI or cybernetics and do a PhD, rather than buy a kit off the shelf. The LEGO kits are OK to provide a basic electro-mechanical development platform (a surprising amount of modern cybernetics research uses LEGO), but the software's a completely different matter.

[Disclaimer: I haven't looked at this for a while. Things may have changed. But I doubt they've changed that much...]

Bronze Dog said...

I'm largely going for the simple principles of emergent behavior, rather than trying to copy the ginormous package of ants, which do communicate with each other and perform several tasks.

The sort of capabilities I'm looking for mostly fall into the line of "Pick up/put down an object", having some method of distinguishing between 2 or more objects it picks up (is it a black puck or a white puck?), and some simple rolling mobility (bump into a wall or another bot, do a random turn).

I could do some cellular automata of some kind just to play around, but robots are just cool if I can afford some.

Dunc said...

Flocking is pretty simple in principle, provided you can figure out some means for you robots to know where they are in relation to each other... But you need a decent number for it to work properly.

How much do old Palms cost these days? They've got a simple serial interface, and I've definitely seen a basic open-source sensor and servo-control library for 'em. Means you have to build the electro-mechanical bits yourself, but there's always Meccano. Heck, I've got an old Palm just gathering dust since it's backup capacitor died....

Bourgeois_Rage said...

A few years back I was involved with a project where we used 8 Lego Mindstorms to demonstrate decentralized algorithms for mapping and searching. We didn't use the standard OS that came with the Mindstorms, we used BrickOS which allows you to program in C/C++.

We got some interesting things to happen, but much of our programming was just to make sure that the robot knew where it was. The wheels had too much slippage; the more they ran the worst their accuracy was. We were looking into having periodical calibrations with each other, but a better solution would be to have some sort of broadcast that would tell them where they are. Then again that takes out the decentralized part of it.

It's a fun area to explore, but there are many tangential problems to overcome.

Just Al said...

Bourgeois_Rage, tell me you weren't in Dr. Palmer's class at John Carroll? He's a friend of mine, and I'd point BD in that direction except the stuff they have online doesn't really address how to work with the 'bots. But I may see if I can dig up some of the papers.

Lifewish said...

My local uni has a set of robots that exhibit flocking. Again, though, no info on the details.