I’ve been reading up on robots, and in one of my books there’s a chapter called Multiple Robot Interaction, which mentions having one robot as the queen, and the rest as drones. There are several ways of connecting, WLAN, Bluetooth, Infrared and I’m sure I’m forgetting lots of others. But which is the most commonly used/best way of connecting?
money, time, code…
Unless you have tons of money or have a connection to a University, I would say the simplest and cheapest comunication is via IR. The $5 RF units do work well with some tweaking but for my money and with the robots all close to eachother, nothing can beat picaxe systems and thier IRIN and IROUT commands -Rock friggin’ solid.
Infrared sensors
I knew this was the right place to sign up. You both bring up some interesting points.
For what I have in mind, I certainly want the Queen to communicate to the drones, and I don’t want the drones to communicate with each other. I am not entirely sure yet if I will need for the drones to communicate to the Queen, but I suspect so as I will probably end up having some kind of state for the drones. But I also expect the robots to be close to each other.
PICAXE looks very good, and cheap, most importantly. I only found an Infrared Upgrade package though, that comes with a remote control. And I found the sensor itself on techsmith. But as far as I understand, it can only receive signals, or can it also send them? And would I need something else to put in my Queen, or just another sensor? Of course I don’t intend for the Queen to be a remote control.
From what you just mentioned
From what you just mentioned I’d go with Chris’ recommendation and use IR. If you’re still deciding what kind of controller you want, have a think about what other capabilities the bots will need as well. You could have a PICAXE 28 or 40 for the Queen, and use a simpler 08, 14 or 18 for the drones if they were to be less complex, but the programming would still be conveniently in the same language.
With a single transistor driver and a handful of IR LEDs you could make a 360° IR beacon for the Queen that would have better range and clarity than the usual 1x IR LED transmitters.
You don’t need the "expansion pack"
All you will need are some IR led’s and those 3-pin 38khz sensors, that’s it. Picaxe is super-simple with stuff like this as well. And I agree, a 28x or 40x for the master, and smaller chips for the slaves. Wicked easy, super cheap.
Groups of blind guys in a room - GOBGIAR
Great!, this is exactly the problem I am trying to solve.
I have a bunch of robots that need to make each other aware of each other. IR isn’t the greatest solution I think, because of the need for having direct line-of-sight communication with the transmitters and receivers - these robots will be in any geometrical configuration. My solution is to use the transmitter/receiver hardware (), it’s much more expensive, but can communicate over much larger distances, and importantly, the receivers and transmitters don’t need to be pointed at each other - i.e. omnidirectional.
The situtaion I have is something like a bunch of blind guys in a room, who are introducing themselves to each other. They don’t know who is there, how many there are, or in fact, who is going to speak first…
My thoughts were to have something like the following process, assuming that an unknown number of robots are distributed in an unknown geometrical way:
1. All robots initially sending “I am here” (IAH) type signals at pseudo-random intervals, followed by a checksum-type statistic (is this the right nomenclature? I’m not sure…); any receivers that pick up part or a garbled signal can then ignore it with the checksum statistic.
2. Any robot that recieves am IAH signal will stop sending it’s own IAH signal, and will send a “I hear you” (IHY) signal, followed by a list of other robots that it knows about.
3. all robots that receive the IHY signal compare the attached known-robots list with their own known-robots.
etc. etc…
My goal is to get the robots to assemble into little groups of the closest other robots - at this early stage, I’m finding it a difficult problem to solve, but In my case, I don’t think IR is the way to go, because of the relatively limited directionality of it.
While IR is still limited in
While IR is still limited in terms of range and directionality, don’t underestimate the effect of reflected signals from a powerful 360° transmitter.
For the situation described above however, where multiple bots are transmitting simultaneously from different locations, the limitations of IR are more problematic.
what about tranceivers?
Has anyone just tried plugging in transceivers - of the kind that are on sparkfun?
(http://www.sparkfun.com/commerce/product_info.php?products_id=690)
(apologies, I also put this question in the shoutbox, but I think it’s better to put it here - for posterity…)
Thanks
I like this forum. I get even more information than I asked for, and get future problems that I haven’t even thought of yet, solved. Thanks to all of you, you have been a tremendous help to me.
I should probably mention that I haven’t worked with robots before, so there’s a long way to go, and a few things I haven’t heard of (like the transistor driver), but nothing a little research and time won’t fix.
So IR it is then. I found this infrared sensor.
http://194.201.138.187/epages/Store.storefront/?ObjectPath=/Shops/Store.TechSupplies/Products/LED020
From the datasheet, I can see that one of the options is the aforementioned 38khz, so it seems all I need is a bunch of those, and nothing else, as far as infrared goes. But my question was about whether or not the infrared sensors only receive or also send information. Since they are called receivers somewhere in the data sheet, it seemed like they were only for receiving, but from your posts I gather that they can be used for sending too. That’s why I wasn’t sure if I needed the remote control or not. Although I guess it’s good to have for testing.
And thanks for the suggestion on the controllers. I’ll have to look into what the differences are between them, but since you seem to agree on which ones to use, I’ll just go with your suggestion in the end.
Those little IR sensors are
Those little IR sensors are only for receiving only, but they’re good at it. ~38kHz is a very common modulation frequency because it’s effective, but the downside is that you may occasionally experience interference from TV remotes, etc. Not really a big deal, especially if you have a basic ‘start transmission’ code at the beginning of your outgoing messages.
Fortunately the transmission half of the IR link is very very easy. At minimum you can wire up an IR LED directly to a PICAXE digital output pin and do everything else in programming. Stepping it up a notch you can throw in a few more IR LEDs to boost your output power and/or spread, and if you’re using one of the PICAXE project boards you’ll probably already have a Darlington output driver ready to go.
Sounds good, then I’ll
Sounds good, then I’ll definitely go with the IR solution, interference won’t really be an issue for me. But it’s good to get all these solutions for problems I didn’t even know existed, it makes this a lot easier on me.
I have to admit that I’m a complete rookie at robot building. I’ve never built a robot, so right now I’m just trying to learn some electronics, while also trying to figure out what I need for my robot, and what I can actually do. With that in mind, please excuse this dumb question, but the IR transmission part confuses me.
If the IR LEDs are only capable of receiving data and not transmitting data, then why would wiring a LED to an output pin make any difference? Wouldn’t I still need some other kind of IR sensor that is actually capable of transmitting data? Or am I really making this more complicated than need be?
And another thing I’ve been wondering about, is the signal strength of these sensors. If I want to build my robot out of metal, just how metal plates can I expect that the transmission will be able to go through, and still be received by a sensor?
Don’t worry about asking
Don’t worry about asking ‘dumb’ questions, that’s one of the reasons we’re here. Plus you’d feel a whole lot more dumb if you make a mistake because you didn’t ask in the first place =D
An IR LED (Light Emitting Diode) is built for producing IR light, or in other words, transmitting IR signals. They can be reverse biased to detect IR instead, but this is usually a much poorer solution than using a dedicated IR receiver.
IR sensors, like the LED020 module you linked to previously, are only built to sense incoming IR. Even though they call it the ‘LED020’ it’s not really an LED; it’s got something similar to an LED inside it, along with some filter circuitry, but it’s designed for receiving purposes only.
You can sometimes get modules that have both a transmitter and receiver built in, but it’s usually cheaper and more convenient to use separate transmitters and receivers.
Output: transmitter, emitter, broadcaster, sender, etc.
Input: receiver, sensor, detector, etc.
Input and/or Output: transceiver, transducer, communicator, etc.
Although it has more to do with the nature of IR than the strength of the signal, the penetration of IR through metal plate is zero. Depending on the coating the IR will either be absorbed (bad) or reflected (not quite so bad). Fortunately the transmitters and receivers are small devices, and don’t need to be anchored directly your circuit board, so you can position them somewhere free of obstruction. Either fix them above the metal plates, run a wire around and plant them on the outside, or drill a few holes. Many transparent materials will allow IR through, so you can always make a few windows if you really need your bot to be covered on all sides, but always test a sample to be sure that the IR will work through the material.
Aha! So an IR LED TRANSMITS
Aha! So an IR LED TRANSMITS an IR signal, while an IR sensor RECEIVES an IR signal. Now I get it. I thought IR LED and IR sensor were two names for the same thing. XD I’m really learning a lot this way.
So is the IR penetration zero for any non-transparent material then? And does it normally lose a lot of signal strength through just one plate of some transparent material?
IR transparency
some materials look opaque to us but are transparent in IR. Some black plastics are this way. Every time the IR has to reflect or refract through a material it will loose some signal strength. but through clear materials, im not quite sure but i know that it will loose some. It could be an insignificant amount though.
someone asked above about the cheap rx/tx units
I am using the $5 rx and tx units (like the ones from sparkfun). Once you know the trick to use them, they work GREAT. I average about 95% to 99% data transfer. Frits figured out the “trick” and since I have been using it, my units have been gold. I can’t seem to find the post right now, when I do, I will link it here.