Hi,
I am trying to build a small project with several small robots that can basically find each other if initially scattered, and/or follow each other in a line when they meet / if they start together.
I believe I have most of the platform and sensors figured out, except in the case of obstacles.
Ideally, I plan to have the robots in a sandbox field about the size of a bed, with a few walls/obstacles that would prevent a direct line of sight (these obstacles will be minimal, i.e. it won’t be a maze).
The robots currently communicate with each other wirelessly, and can detect when another robot is nearby. However, they can’t tell what direction the other robots are in (once they’ve found one), or how far away they are (distance is less important as bearing) if there is a wall in between them.
My idea was to find some sort of sensor/transmitter that can go through walls (not require a line of sight) and provide the bearing of the source. That way the receiving robot would simply have to travel towards that bearing while avoiding any obstacles and hopefully will eventually get a clear line of sight and can meet with the other robot
.
Is there something that provides what I am looking for, or is there a simpler solution to my problem?
Any help would be greater appreciated. thanks!
Can you expand on this? What does this mean?
I’m thinking I might have to do something like the audio transmitter idea. I was actually originally thinking of something similar using a metal detector, but wasn’t really sure how feasible that would be :rolleyes:
And I agree, having some form of overhead mapping or GPS equivalent system is kinda cheating for what I am trying to accomplish. Thanks tho.
The difficulty with radio beacons is that they are omnidirectional (faster than a bullet). We have not seen much research done in that regard, so there is no “best” solution yet. You might try something with audio and a bit of trial and error; setup a transmitter such as a buzzer and multiple microphones facing different directions, quantify the sould level (volume) received by each microphone and travel in the direction where the level is highest while continuously listening for new signals. Even if the robots can “see” one another, you still need a sensor to help them determine their positioning with respect to one another. One last option is to use an indoor localization system which requires you to put “landmarks” on the ceiling. This would certainly allow the robots to get an accurate positioning, but in your case it might be “cheating”.
Hi i<3robots,
Welcome to the RobotShop Forum. We certainly hope someone comes out with a sensor capable of obtaining the direction and distance to an object even if it is hidden behind a wall, but so far we have not seen one. The issue is that a wall can obstruct anything visual, which anything that transmits using RF tends to transmit in all directions. You can try to use three or more robots equipped with transmitters / receivers to gauge distance to one robot much in the same way a GPS system works. Note that this triangulation method has even been proven to work in finding the direction in which a bullet was fired. If this is not an option, a device like the IR beacon may be interesting (and add a distance sensor once a direction has been found). If you are ready to do some programming, a CMUCam vision sensor can be used to gauge both direction and distance; for example, add a black sphere on top of a robot, and the camera will measure the size and location and calculate the direction and distance to the object.
Hope this gives you some ideas,
When you send an RF signal, most transmitters send it in all directions and even placing three receivers a distance apart won’t help you determine the location of the source of the transmission unless you have an incredibly fast processor and synchronized clock (it has been done, but it’s not easy). A strong magnetic field is certainly an interesting idea, if you have the robot move tangent to the lines (or something similar). Cooperative robotics or communities of robots is still fairly new. We’ll keep an eye out for any research which has been done but in this case your best friend is still probably Google.
Thanks for the advice.
I was thinking of something along the lines of radio beacons? but do not have any experience with this. I simply need to get the relative bearing of one robot so another one knows what direction to travel in (along the obstacle wall) until a line of sight is available, in which the robots should see each other (using cameras) and meet up.
In general, how do people solve the issue of “rendezvous” in the presence of visual obstructions (e.g. a simple maze)? I should add that I can’t use GPS, but the obstacles are simple objects (i.e. a tissue box, cardboard wall, or a ball).