Author Topic: Multiple Mobile Robot Localization via Triangulation. Ongoing Research Project  (Read 6688 times)

0 Members and 1 Guest are viewing this topic.

Offline LIONS*LEADERTopic starter

  • Jr. Member
  • **
  • Posts: 9
  • Helpful? 0
so i think that if there is any type of tutorial needed badly its a localization methods tutorial. and it seems to me (a ROBO-Noob at the moment) that the best kind of method at present is triangulation via either IR or acoustic transducers.

since the main problem with a robot is that it has no clue where it is!(it has no reference point)  which makes all the sensors people use mostly useless since it cannot use the information it gathers from its sensors very efficiently at all.

as far as i can tell there are a few ways to go about triangulating your position by measuring the distance to 3 other beacons i don't know much so ill list them here and others can add the ones they know about.

you measure the time taken to receive the signal and the speed the signal travels to measure the distance from one beacon to another with the following.

- IR (InfraRed)

- Acoustic Transducers

- RF (Radio Frequency)
(though apparently you need a very fast processor for RF which excludes all but desktop processors in my understanding)


you can also find the distance between beacons by measuring the strength of the signal.
(not sure which signal types are able to use this method)


you can also use

- GPS (some very expensive GPS will give you very precise measurements apparently.)  most though are accurate within meters (so not very accurate for our robot purposes) but very accurate for finding your position on the planet.



Ive come across these 2 different types of items which may be something along the lines of what admin was talking about when he said "find a sensor that modulates an IR signal" in this post
http://www.societyofrobots.com/robotforum/index.php?topic=5521.0

Parts
http://www.acroname.com/robotics/parts/R218-TR-IRCM.html
http://www.pololu.com/catalog/product/701

those two parts i found are the best i could find with my lack of education on the subject. though i have found a wealth of research papers on the subject of localization i have yet to find a tutorial.


also, ive found a video where the idea i had for multiple robot mobile triangulation has been put into practice, however they designed a few of thier own parts so you couldn't just buy the same parts they did. (though you may be able to buy parts that perform the same functions, i have no clue, like i said I'm a Robo-Noob.)

http://www.youtube.com/watch?v=CKY4049PSSI&feature=related

http://www.youtube.com/user/UWDRL



since i know you are all probably as interested in this as i am here are the papers Ive found on these bots.

http://cs.eou.edu/CSMM/surangah/research/icinco.pdf

http://www.cs.uwyo.edu/~wspears/papers/iros.short07.pdf

http://74.125.95.104/custom?q=cache:UsUwvRdB3QoJ:www.cs.uwyo.edu/~wspears/maxelbot/TomXsXHardwareXreport.doc+XSRF+sensor+boards&hl=en&ct=clnk&cd=1&gl=us&client=pub-0660185026920383

http://74.125.95.104/custom?q=cache:Rn7RlEoGHIQJ:www.cs.uwyo.edu/~wspears/maxelbot/JRPXwriteup.doc+XSRF+sensor+boards&hl=en&ct=clnk&cd=5&gl=us&client=pub-0660185026920383


so there it is guys! ill be adding usefull information as i receive or find it.  i hope you knowledgable guys will add your detailed info.


LIONS*LEADER
« Last Edit: December 06, 2008, 01:18:39 AM by LIONS*LEADER »
Unite & Empower the people around you.

Offline Ro-Bot-X

  • Contest Winner
  • Supreme Robot
  • ****
  • Posts: 1,431
  • Helpful? 25
  • Store: RoBotXDesigns.ca
    • Ro-Bot-X Designs
I have seen several implementations of triangulation at Eurobot contests. The most efficient one used both modulated IR and Ultrasonic. They would fire one beacon at a time, both IR and ultrasonic at the same time, and the robot would receive the IR instantly and count until it would receive the ultrasonic wave, this way measuring the distance to the beacon, knowing the time travel of the sound. Eighter the beacons were listening to the other beacons and fire after a certain time they hear the previous beacon going, or they are all connected to a microcontroller and fired in sequence. The beacons were placed 2 in the corners of one side of the playing field and one in the middle of the oposite side, each team having it's own beacons placed in oposite sides. The robot has a receiver designed in a special way, the transducer is placed vertically, towards the ceiling and a aluminum cone is placed so that it will deviate the waves from all directions directly in the transducer. The IR receiver uses several sensors placed in a circle (more like an octagon), that can also give some directional info. Also each beacon uses a modulated code that the robot could identify so there are no confusions with the oponent's beacons. The requirement for such a setup is that the beacons and the receiver are at the same level(the highest level in the game field), so, in a tipical home environment they are a little bit hard to implement, but stil possible.

I have also seen a GPS like setup in the Robocup competition, with a webcam connected to a computer, where the computer would analize the position of each robot on the field, calculate the coordinates and use RF to broadcast them. I have used this setup with the Lego Mindstorms Webcam (the software allows you to use motion detection in the predefined cells), the computer would use the IR tower to tell the RCX in what cell it is located. In this setup, the webcam is placed on the ceiling facing down, so a wireless webcam may be perfectly used in a home environment. Or a CMUCam (with a RF serial module) can be set up to look for a IR or color blob and transmit cell coordinates. Too bad it is not sensitive to body heat so it can transmit coordinates of human beings and pets... Perhaps a thermal array?
Check out the uBotino robot controller!

Offline williammspears

  • Beginner
  • *
  • Posts: 4
  • Helpful? 0
    • Swarmotics, LLC
Just to clear up some confusion here. The Maxelbot localization module uses
"trilateration", not "triangulation". With triangulation you compute with angles.
With trilateration you compute with distances. Trilateration is easy to visualize
as the intersection of 3 circles of different (probably) radii.

So, each Maxelbot has 3 acoustic transducers. All three can listen. The center
one can also emit. Each Maxelbot takes turns "pinging" acoustically. When it
pings it also emits an RF pulse. When the other Maxelbots hear the RF pulse,
they start counting. When they hear the acoustic ping at each transducer,
that gives three different times-of-flight. These are converted to distances because
one knows the speed of sound. Then trilateration equations use the three distances
to give the range and bearing to the pinging Maxelbot. Parabolic cones focus the
acoustic energy into the horizontal plane.

Hence, for each pinging Maxelbot, all other Maxelbots that can hear it will know where
it is.

A token is passed on the RF, so that each Maxelbot will take turns pinging.

Furthermore, the RF can be modulated to also send information. Hence, localization
is coupled with data exchange. This can be very powerful for various applications.
For example, we recently have had 5 Maxelbots self-organize into a chain formation
in an L-shaped environment. The Maxelbots then send information back down the
chain, on the RF link. The first Maxelbot sends all this information to a laptop, that
displays an estimation of the shape of the environment, based on the relative positions
of the robots with respect to each other.

There are variations that can be done. It could all be done acoustically. It can also
be done all in RF (this option is being built in Florida).

Why are we doing it this way? First, cameras are difficult to deal with and require
light sources, more CPU power, and potentially omni-directional mirrors (which crowd
the objects towards the edge of the image). LEDs work pretty well, and can be modulated
to provide for information exchange also. For our tasks, we needed quite a bit more accuracy.
Judging distance based on received LED intensity is problematic, especially in outdoor conditions
with lots of dust, rain and snow. This is not to say it can't be done, but we decided not to
adopt the LED approach. We especially did not want light sources, which are not stealthy.
We also did not use IR because it would require a ring of them (as mentioned) and our
calculations showed it would take more power and provide less accuracy.

As mentioned by others, not all parts are available off the shelf. This is why it took 2 years of
research to get it working well. However, at this point, if you have our schematics, you could
have someone like PCB Express make the boards for you. The components are off the shelf for
that. The only specialty items are the parabolic cones, which are machined. If you have a lathe you
could make a wooden cone that works pretty well. You could even make the inverse, and then
pour liquid plastic to make the cones.

If people are interested, we are willing to try to assemble instructions for the hobbyists. Perhaps
the UW machine shop could even make cones if people are interested (they have the program
to do it, and it is easy for them to do).

I hope this helps. Please send email to me if you have more questions or would like more
information. Thanks for your interest! [email protected]

Offline Ro-Bot-X

  • Contest Winner
  • Supreme Robot
  • ****
  • Posts: 1,431
  • Helpful? 25
  • Store: RoBotXDesigns.ca
    • Ro-Bot-X Designs
Can we see some pictures of the Maxelbots? I don't quite figure how are the 3 transducers placed on the robot. Also, the robots can determine the position of the other robots, how about determining their own position on the map?
Thanks for sharing!
Check out the uBotino robot controller!

Offline williammspears

  • Beginner
  • *
  • Posts: 4
  • Helpful? 0
    • Swarmotics, LLC
Can we see some pictures of the Maxelbots? I don't quite figure how are the 3 transducers placed on the robot. Also, the robots can determine the position of the other robots, how about determining their own position on the map?
Thanks for sharing!

OK, let me see if I can include some pictures... not sure if I'm doing this correctly... that seems to work.
Anyway, enclosed are two pictures. Top-down, and one from the front. The 3 transducers are in an L-shape
configuration, and then rotated 45 degrees to maximize how far we can spread them on the robot, in that
configuration. If you imagine the center as being at (0,0), another transducer is at (0,d) and the remaining
one is at (d,0). The bigger d is, the better the accuracy (like baseline interferometry). Our d = 6", so we
rotated them to fit the assembly on the robot.

One would imagine an equilateral triangle would make more sense. In fact, that was my idea back in 2003. But
my M.S. student (Rod Heil) showed the math became trivial with this particular configuration, so we went with it.
There is still some argument as to which is best.

Generally, we aren't interested in where we are on a map. There is a very good old paper called "Where am I?"
that talks about that a lot. Our paper on this is called "Where are You?" because that is our focus. Of course,
both views are useful and complementary. We *can* finesse this by using stationary Maxelbots in our environment,
whose location are known. They can monitor a moving Maxelbot quite well. We have done this a few times for
indoor experiments. But the tasks we are interested in require answering "where are you?" more often than
"where am I?". We decided the "where are you?" question was not as well answered as the "where am I?"
question, for practical problems.

I hope this helps. Excellent question. I hope there are more questions. Always fun to answer them...


« Last Edit: December 12, 2008, 01:47:11 AM by williammspears »

Offline LIONS*LEADERTopic starter

  • Jr. Member
  • **
  • Posts: 9
  • Helpful? 0
Thank you for your participation and generous offer of putting together assembly instructions for the hobbyists!  sharing your schematics, parts list and relevant information, as well as being happy to help out by answering questions in the spirit of open source research is to me very noble. I'm happy and honored to have the chance to communicate with you!

On that note, I would very much like what you have offered! I am excited to have the chance to learn and work with the technology! I would like to help out any way I can during the process. I can compile places where I bought the items, their pricing, as well as detailing my assembly experiences with pictures, video and commentary.

Again,  thank you very much for your time and effort.

Leonard J. Hockett

P.S. i just sent you an email. 



also

i would edit my first post to update it with the new info but apparently there is a time limit on the ability to edit or i am blind and cant find the button. 

Unite & Empower the people around you.

 


Get Your Ad Here

data_list