I am part of a engineering senior project team tasked with creating a design for 21 robots that are able to reliably avoid obstacles for an art exhibit. We have explored the traditional option of ultrasonic/IR sensors, and decided against them because of mutual interference issues with 21 robots.
We have decided to use the MIT Cricket indoor positioning system to avoid interference issues and determine each robot’s position. This can then be communicated to a base station with RS232. Each robot has a Roboteq AX500 motor controller, which can be controlled by RS232. The MIT Cricket system will require us to program a central laptop to “map” the room and robot positions, then choose a new position and calculate L and R motor commands for each robot. The Cricket system runs on TinyOS, which will only work with Linux.
Each robot will require one outgoing RS232 link for the positioning system and one incoming RS232 link for the motor controller. This must be wireless, and we have explored the option of RS232 over wifi. However, I am concerned that it is not practical to have 42 RS232 ports coming into a single base station laptop. Does anyone have experience with this? Is there a way to use one transmitter to communicate with all of these ports? Also, most methods I have found use microsoft, so is there any method using ubuntu linux?
For me I prefer the WiFi because I have wireless routers all over where I am for both indoors and outdoors. For what you are looking for, WiFi could handle everything you are looking to do. The links for the modules are small, you could also look at Lantronix Matchports which I have used before,(they have 2 serial ports on each module), more info on them can be found at : lantronix.com/device-network … hport.html
While I was using one, it just seemed the more expensive way to go, you have to make your own interface board, or buy the one they offer ($105.00 just for the board)
As far as the software I am sorry, not much experience there, but I sure there are others who will chime in.
yeah I an also thinking zigbee, xbee, or some form of wifi like the lantronix modules are probably the way to go. 21 connections to a wap are not that big of a deal if it’s not the cheapest possible device. using the lantronix modules as wireless-serial will still require your program managing 21 serial ports (even if they are virtual devices) but once you abstract the interface up a level I don’t know that the programming aspects will be much different than managing 21 telnet or UDP or any other type of communication. Thinking about the fact that the lantronix device driver deals with the networky type issues and all you do is send and receive strings from a serial port it might actually be easier. If you decide to go with lantronix make certain you search this forum for the word MatchPort as there is a thread with a .zip file with everything needed to make a breakout PCB… gerber files, BOM, schematics, etc.
How much $$$ do you have for the project? If you have a limited budget you may want to look at the below gizmos. Frequency use management can be an issue with a lot of robots using wireless communication. As I understand it, the below transmitter only emitts RF when it receives data to send, which would be a plus with a lot of transmitters in use. One might have a central command computer that would query each robot in turn and wait for the robot to return the requested data. All bots and the computer would would receive all the time, and only one transmitter would transmitt at a time to reduce interference. Would be inexpensive to do a proof of concept test setup.
The 434 MHz radios work pretty reliably but when they are very close together they generate interference. Also, they do turn off when you stop transmitting but ONLY if you make sure you drop the data line LOW after a transmit. I easily get over 100 yards range with them. Something to note, when developing, they are much less reliable on a perf board, at least the Sparkfun ones are. The Sparkfun transmitters also run a little warm when you use an input voltage over 7 volts. They are rated for 12 volts as are the the others I have used.
These types of radios have been very reliably in quite a few projects I have built. In fact I incorporate similar radios in my RC Train control which manages 16 locomotives simultaneously. I have found the Sparkfun radios interoperate with the other 434MHz radios but are slightly less reliable (perhaps my board layout). I built in additional error checking and now they are fine. For the price it is worth the extra error checking. I’m certain I could easily manage 32 locomotives.
If you need two way communication you could buy different frequencies, there are at least two other frequencies available. I haven’t tested interference problems but the other frequencies can be more than 100MHz apart.
so you are using what, a half-duplex communication protocol where you transmit a packet containing an identifier and message and a checksum and then wait for an ack and maybe a packet with data from the selected device? that would be pretty much how a rs-485 multi-drop would work… never thought about trying it with lots of el cheapo rf tx/rx pairs before. the slave device, if it were actually designed for rs-485, could use the direction signal to gate off the TXD input pin for its TX when in RX mode. Heh.
My packets consist of a qualifier to wake up the receiver and let it know that a packet is on the way, an address for each remote, several data bytes, and a checksum. Typically 6 bytes total for each remote. My communication is currently one way so no acknowledgment.
I may eventually look at two way (half duplex) communication. If I were to do this I would implement a master/slave relationship. The master would poll the remote slave devices one at a time. This would allow sending information from the master and preventing each slave from transmitting back at the same time. To operate without a master would require implementing CSMA-CA. The collision avoidance part would be difficult.
I just haven’t required two-way communication in any of my projects but gears continue to turn and I’ll eventually have a need. Right now my remote devices have very limited processing ability.
I think the project joemcm633 has in mind could use a polled communication mechanism. It might be worth a try and it is very inexpensive to investigate.
Well, the Cricket location system uses 434 MHz radios so I don’t recommend you use those for inter communication since it would interfere with Cricket. You should be able to use one of the other frequencies available.
The Cricket system is pretty cool, something I was trying to develop myself and got a little ways into. Doesn’t look like I need to now. Crossbow Technologies has a developers kit for $1600 which includes 8 beacons/listeners, minimally 3 of which must be used as beacons, more if you are supporting an area with doorways, etc. If the area isn’t too big, the 21 bots could get away with 24 beacons total. That will add up, I guess there must be a fair sized budget for this.
If only some of that $800 billion stimulus package could get into our hands, oh well…