Shop OBEX P1 Docs P2 Docs Learn Events
Relative Positioning — Parallax Forums

Relative Positioning

GreenGiant83GreenGiant83 Posts: 43
edited 2007-02-24 19:15 in Robotics
I want to be able to have several bots be able to sense the positions of each other relative to each other

That is I want one of the bots to be to tell that there is another bot in front and to the left of it about 10 feet out, and another directly behind it about 5 feet.

Needs to have a range of atleast 20 feet, preferablly further, and it cannot be based on line of sight.

Any ideas?

Comments

  • PARPAR Posts: 285
    edited 2007-02-20 20:38
    GreenGiant83 said...

    I want to be able to have several bots be able to sense the positions of each other relative to each other

    That is I want one of the bots to be to tell that there is another bot in front and to the left of it about 10 feet out, and another directly behind it about 5 feet.

    Needs to have a range of atleast 20 feet, preferablly further, and it cannot be based on line of sight.

    Any ideas?
    You'll have to provide a lot more information about the "system" in which these bots are embedded.
    E.g., do the bots emit any information indicating their own self-presence in the system? Do they know anything about their own absolute positions, or positions relative to some environmental marker(s)? Can they talk to one another? Are the bots mobile?· Etc?
    PAR
  • GreenGiant83GreenGiant83 Posts: 43
    edited 2007-02-20 21:50
    The bots are mobile, that should reflect their own presense in the system, as all of the bots will be coperative.· This is purely theoritical at this point, so these bots do not know anything about the absolute positions, though, I am open to suggestions to making this possible.· I would prefer to stay away from set beacons because I want it to be able to be as dynamic as possible.· Would it be possible set up a system similar to GPS where every bot is acting has reciever and transmitter, and so long as there are atleast three other bots the position relative to each could be calculated.· I am course speculating at this point
  • LSBLSB Posts: 175
    edited 2007-02-20 22:34
    This is pretty vague, but I've read about systems where light and sound are combined with trigonometry to enable triangulation. If a sound and light pulse are emitted simultaneously from one robot toward another, the difference in reception time (between light and sound) can be used to calculate distance, the angle between robots gives relative direction and, with enough math, location can be worked out (assuming each robot knows which robot targeted it). The system I read about, the math was offloaded to a PC. Maybe you could build one “queen” could carry an SBC, or math coprocessor, or a slide rule, or something to facilitate the math.
  • GreenGiant83GreenGiant83 Posts: 43
    edited 2007-02-20 22:47
    There can be no line of sight·or use of sound capable of being heard by humans
  • Paul BakerPaul Baker Posts: 6,351
    edited 2007-02-20 23:38
    You've placed so many restrictions on the system I just dont see how you can accomplish your goal. Basically the only thing you have left to use is RF, and using something which travels the speed of light to measure cm distances when you have to account for multipaths caused by signal reflection and electronic delay. It could be done, but would require years of development and a considerable amount of money. The fulcrum can be shifted at the expense of the other (spend less money and more time, or less time and more money) but the product of the two quantities would remain high.

    GPS is about the only viable option for a hobbyist, and with GPS you are restricted to outdoors only and your degree of precision is variable and quite course.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Paul Baker
    Propeller Applications Engineer

    Parallax, Inc.

    Post Edited (Paul Baker (Parallax)) : 2/20/2007 11:44:50 PM GMT
  • Beau SchwabeBeau Schwabe Posts: 6,566
    edited 2007-02-21 00:31
    Just thinking out loud here....

    I wonder if a technology similar to that used in SAW (Surface Acoustic Wave) touch screens could be applied here.

    http://www.touchscreens.com/intro-touchtypes-saw.html

    ...Along similar lines, could each bot be capable of producing an ultrasonic SAW "tremor" that could be detected by the other bots?
    (We've had several dozen earthquakes recently over the past week ranging from 2 to 3 on the richter scale, so I'm in this frame of mind.)

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Beau Schwabe

    IC Layout Engineer
    Parallax, Inc.
  • Alex SulkowskiAlex Sulkowski Posts: 13
    edited 2007-02-21 00:57
    If I have read your problem correctly and read the Zigbee documentation correctly, then I think you can solve your positioning problem using·a Zigbee module on each robot.· The Zigbee allows you to measure the signal strength from each other device.· The signal strength is relative to the distance from each unit.·· The nice thing about this solution is that the Zigbee provides the signal strength to you so that you do not need to try and do your own timing.··Not sure what the accuracy is.
    Type in zigbee triangulation in google and you will get several places that describe how to use the relative power received by each of the modules from eachother to obtain the relative positions.
    I have never tried this, but it may be a solution.· Good luck.
  • lboucherlboucher Posts: 139
    edited 2007-02-21 01:09
    This has got to be one of the hardest problems in indoor robotics. Thats why things like the roomba work on statistics.
  • allanlane5allanlane5 Posts: 3,815
    edited 2007-02-21 02:09
    Another solution would be to divide the room up into 'grid' locations. Then, each robot, by dead reckoning if necessary, keeps track of its own position.

    Then, each robot 'reports' via an RF link, its position to every other robot. Then, each robot can collect the reports from all the other robots, and figure out the delta-X and delta-Y positions of the other robots to itself.

    This could be difficult with only the 26 bytes of storage of the BS2, however.

    You really have stated the problem badly, however. For a robot to 'sense' another robot, that's not even in "line of sight" with it, will require some sort of "request-response" protocol -- which isn't really "sensing" then.

    Even radar installations can't sense things that are not in "line of sight".

    Oh, and if you could put something in the environment -- like three coke cans, for instance, and have each robot 'know' the X and Y position of the coke cans, then using a 'ping' sensor each robot could orient itself in the X-Y plane with respect to the coke-cans.· It could then 'report' this position to other cooperating robots using the TW423 RF links.

    Post Edited (allanlane5) : 2/21/2007 2:13:53 AM GMT
  • Paul BakerPaul Baker Posts: 6,351
    edited 2007-02-21 06:59
    Alex Sulkowski said...
    If I have read your problem correctly and read the Zigbee documentation correctly, then I think you can solve your positioning problem using·a Zigbee module on each robot.· The Zigbee allows you to measure the signal strength from each other device.· The signal strength is relative to the distance from each unit.·· The nice thing about this solution is that the Zigbee provides the signal strength to you so that you do not need to try and do your own timing.··Not sure what the accuracy is.
    Type in zigbee triangulation in google and you will get several places that describe how to use the relative power received by each of the modules from eachother to obtain the relative positions.
    I have never tried this, but it may be a solution.· Good luck.
    I thought about using RF strength, and normally it would work quite nicely. But his no LOS restriction really knocks the idea out the window, an obstacle will attenuate the signal and/or there could be a multipath (this is equivalent to hearing a voice through a door and you think they are far away becuase the volume is soft or seeing a friend of yours in a mirror and mistakingly thinking you are looking through a window at them, your perception of where they are is going to be off). If you have a true mesh network, you could do some sort of majority rule/fill in the blanks, but 3 nodes aren't enough for a mesh.

    GreenGiant, sorry I've been such a down note, Im just trying to convey that all of your requirements when stacked together makes the complexity of the task very high. With enough tenacity you should be able to get something up and running, it may require a multilayer sensor system and a fair amount of testing and debugging. I wish you luck.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Paul Baker
    Propeller Applications Engineer

    Parallax, Inc.

    Post Edited (Paul Baker (Parallax)) : 2/21/2007 7:29:49 AM GMT
  • GreenGiant83GreenGiant83 Posts: 43
    edited 2007-02-22 00:54
    Sorry about the crazy restrictions, but its what I would be working with. The ideal situation for this is for the bots to be outside on unknown terrian. I appreciate the responses, I'll look into the zigbee thing.
  • Paul BakerPaul Baker Posts: 6,351
    edited 2007-02-22 01:11
    Ah that opens things up, by using GPS and zigbee you should be able to get something working. Use GPS to get the rough coordinates and use signal strength as a second measure with the zigbee com line itself communicating coordinates, you can play the two systems off each other to get a sanity check. You could even use it as a rudimentary obstacle detection system (if zigbee signal strength says two nodes are further away than the GPS error, then there is an obstruction between the two nodes).

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Paul Baker
    Propeller Applications Engineer

    Parallax, Inc.

    Post Edited (Paul Baker (Parallax)) : 2/22/2007 1:16:30 AM GMT
  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2007-02-22 03:24
    If you're outdoors, you might consider using differential GPS. This would involve one or two base stations at known locations that receive GPS signals and transmit correction info to the roving GPS receivers. The idea is that the real-time variations affecting GPS receiver positional accuracy will affect all receivers within a given radius equally. By employing fixed receivers at known locations, these real-time variations can be measured and transmitted to the roving receivers, which use them to correct their own positions.

    -Phil
  • GreenGiant83GreenGiant83 Posts: 43
    edited 2007-02-24 17:11
    That is encouraging.· So GPS while it is not accurate to the actual position on the globe within a certain radius the whatever offset is probably going to occur more or less uniformly for a given area?· Since I am trying only to get relative positions, and mostly just directional indications, raw GPS might work.· Would it be likely that if you had two gps modules out in the field standing say 3 feet apart that the results would accurately indicate the two recievers positions relative to each other?
  • Robert KubichekRobert Kubichek Posts: 343
    edited 2007-02-24 18:01
    They might if you could co-ordinate readings at the same time for all the bots...

    To use differential GPS, you need to have the units seperated far enough and at a known distance then
    take a reading at the same timeperiod/slice to make it feasible...
    IF you had a GPS receiver (base) at a KNOWN location, you could use that known location to calculate
    an offset to send to the (remote) working GPS unit via RF and it applies that offset to get an accurate position readout.
    This is the most accurate GPS positioning you can have, and is the same technology that is used in the newer surveying fields..

    Bob

    Post Edited (Robert Kubichek) : 2/24/2007 6:10:00 PM GMT
  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2007-02-24 19:15
    The most accurate differential GPS requires that each receiver be using the same set of satellites. The differential computation is then applied, not to the geographical coordinates, but to the satellite "pseudoranges". With differentially-corrected pseudoranges, a more accurate geographical fix can then be computed.

    However, given identical receivers, close together in open country, it's not unreasonable to expect that they'd be using the same satellites and that corrections could be applied later in the computation chain, i.e. to the geographical coordinates. The main concern would be the transistion times when new satellites come into or move out of view, and the switch isn't made simultaneously by all the receivers.

    If you have two identical GPS units, it would be a worthwhile experiment to separate them by several meters, connect them both to a PC, and analyze their readings simultaneously to see how well their positional drifts correlate.

    -Phil
Sign In or Register to comment.