multiple robots...
Hello,
we are building a project where we are controlling the movement of ten robots simultaneously. The movements are linked with an PC IR/Video-based tracking system that controles collisions, ... and calcultates the shortest path to a goal, for each robot.
My question, what is the best way to control Boe-bots simultaneously? IR or BLuetooth? I have built an IR remote (Appendix C from IR manual) and i'm still programming but i think i will be able to command 10 robots simaltaneously with this. Maybe bluetooth has better advantages?
Anyone experience with this?
we are building a project where we are controlling the movement of ten robots simultaneously. The movements are linked with an PC IR/Video-based tracking system that controles collisions, ... and calcultates the shortest path to a goal, for each robot.
My question, what is the best way to control Boe-bots simultaneously? IR or BLuetooth? I have built an IR remote (Appendix C from IR manual) and i'm still programming but i think i will be able to command 10 robots simaltaneously with this. Maybe bluetooth has better advantages?
Anyone experience with this?
Comments
As usual, there are always trade-offs.
You'll need some kind of address in your messages (to identify which robot needs to do what command). If you send 10 unique commands for the 10 robots as your message, that effectively addresses each command. You should send the set of commands more than once ... for redundancy and include some kind of checksum or cyclic redundancy check (CRC). You'll need a command number (this is #1, #1, #1, now #2, #2, #2, then #3, #3, #3, etc.) so each robot can ignore messages it has already received correctly. The command number can "wrap around" if you want (say the order is #1, #2, #3, #4, #1, #2, etc).
I suppose that using Bluetooth, every bot would have its own (MAC) address in the PAN network bluetooth creates, no? This would be easier to address data to a specific bot...or otherwise using the free command bytes when using bluetooth.
I follow the CRC system but in fact it isn't really a problem when a robot misses a packet (think UDP connections) whereas the master computer calculates his movement data linear to the tracking data it receives.