Monday, October 29, 2012

Swarm Control at AAAI Fall Symposia

Later this week, I'll be giving a talk at a symposium on Human Control of Bio-Inspired Robot Swarms (part of this year's AAAI Fall Symposium Series).  I like the AAAI symposia, because they're a really good place for position papers and preliminary work: you can put your ideas out there, get some good feedback, and at the same time put it in an archival place where people can cite it if they find it useful and inspiring.  I think it's also one of the things that keeps the AI community from being scoop-fearful like many other communities.

Anyway, my talk is about an application of my continuous space abstractions and Proto that should be pretty obvious: controlling large swarms of robots.  We published a journal paper aiming in this direction a couple of years ago, talking about how viewing a swarm as a "material" flowing through space makes it very simple to create complex swarm behaviors.  Rather than worry about all the individual robots and how they should interact, you specify how regions should stretch and squish and flow.

This isn't entirely new---other people have used continuous space models as well, though in a much more control theory or partial differential equations way.  The nice thing about Proto is that once you've got a behavior specified, you can build on it, modulate it by choosing which robots are participating, compose it with others, etc., and it's all very simple and easy to predict what's going to happen.  That's how you can build up such complex behaviors so quickly and easily---once you've got a few building blocks, you can go wild putting them together.

Well, this week's paper is pushing that work forward, asking the question: What's a good interface for letting ordinary people talk about what they want their swarm to do?  I'm proposing that a good starting point is a sort of "command and control" model where you break your swarm into units, and then talk about who's supposed to stick together, where they're supposed to move, and how much they should be long & thin vs. thick and fat.  Or to be more precise: specifying the first three moments of the swarm distribution for each unit.  That makes it easy to make formations like these:
Swarm moving in a dumbbell formation, and another in a chevron formation.
There's a bunch of other thoughts in there, and proposals for how we can turn this idea from early work into something practical for people to use with swarms.  Not that there is much in the way of actual swarms out their yet either (with some elegant notable exceptions), but that's only a matter of time and cheapening hardware, and there's a lot of folks working on that...

I'll post the paper after the talk is given.

No comments: