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.
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.
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 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.