Wireless robot swarm

Our research group is trying to make a multi-agent robot system (maybe about 10 to start with) where each robot is able to communicate with every other via a wireless link (perhaps transmitting an ID and a position coordinate, so everyone knows where everyone else is). Does anyone have an idea on how we might be able to set this up?

I thought the CAN-bus model (where all the communication is broadcast over the bus) might be suitable, but I haven’t found a wireless equivalent yet (perhaps we could set up a CAN->RS232->RF Wireless system?). Zigbee sounds like it might work, but I haven’t found a lot of documentation or off-the-shelf hardware for Zigbee. There’s a lot of stuff for Bluetooth, but I haven’t seen any examples of Bluetooth ad-hoc networks either.

We don’t need a particularly fast data rate.

Any ideas, anyone?

perfect app for ZigBee modules. Meshing and broadcast are integral.

MaxStream XBee or XBeePro

Helicomm

Silicon Labs

Panasonic

OKI

Jennic

and many more

Would bluetooth work for this application? Bluetooth has the advantage of being able to interface with existing devices, but I don’t know if bluetooth can form such big network.

If you can live with the data rate (250kbps OTA, about 80kbps of acutal data) Zigbee sounds ideal. I haven’t used them myself, but I’ve looked at the XBee from MaxStream. At less than $20 per module, you can’t really beat the price in low quatities. I plan on buying a few as soon as I have some spare money.

Bluetooth could work, but it would take a lot of effort to be able to talk to more than one device at a time. A Bluetooth PAN only lets you have seven slaves and one master active at a time, though you can have 255 devices belonging to the pan (the rest are “parked”).

A huge advantage of Zigbee is that you can have it automatically form a mesh network, so modules that aren’t in range of each other can still talk if there’s a path of connected modules.

Thanks for the input, daemondust.

I read somewhere that you can link up the 8 device piconets to expand the network; is there hardware out there that will be able to take care of for you, or would I have to come up with my own scheduling/routing algorithms?

I only have experience with the Bluetooth serial device that SFE sells.

If you were to use one of [gumstix’s [Bluetooth boards you could probably do this, since it runs Linux and uses the BlueZ Bluetooth stack. This would provide quite a bit of processing power, but is significantly more expensive.](http://gumstix.com/store/catalog/product_info.php?products_id=155)](http://gumstix.com/)

m-hwang:
Thanks for the input, daemondust.

I read somewhere that you can link up the 8 device piconets to expand the network; is there hardware out there that will be able to take care of for you, or would I have to come up with my own scheduling/routing algorithms?

ZigBee within the MaxStream XBee/XBeePro and equivalents all have the meshing built in. In this generation of products, the network layer (like IP) addresses are 16 bits. You just address a module by its 16 bit address and the ZigBee meshing figures out how to route across 1 or more hops.