Shop OBEX P1 Docs P2 Docs Learn Events
GPS Type System using Radio Waves — Parallax Forums

GPS Type System using Radio Waves

taylor_paddocktaylor_paddock Posts: 6
edited 2009-10-08 23:50 in BASIC Stamp
Hello all!

I have a project idea that I'm going to need some help on.· I am trying to create a GPS type system that is very accurate.· It will·be used to track objects precisely·(no more than 10) in a football sized field.· I do not want to use a GPS system but instead create my own.· My idea was to have three transceivers at constant locations and then have a transciever for each object.· The three 'constants' will send out a signal to the object which will send another signal back to each transiever.· I can then calculate the time that it took to get to/from each transciever and then find a distance (three distances pinpoints the object).·

To calibrate the "time per distance" i was thinking of sending out a test signal that is at set distances such as 10 meters and 100 meters.· After the three 'constant' transievers recieve the distance from them to the object, they can return their values to a seperate system that will calculate the distances and will be able to plot the object on a graph/map.· The graph/map is nothing elaborate - just a simple X/Y type graph.

Does anyone have any suggestions on what to use or how to go about this?? Or if this is completely out of the question?

I was hoping to use these items:

Tanscievers: http://www.parallax.com/Store/Accessories/Communication/tabid/161/CategoryID/36/List/0/Level/a/ProductID/582/Default.aspx?SortField=ProductName%2cProductName

The Basic Stamp 1 Module
···· and
The Basic Stamp 1 Carrier Board

Thank you in advance!!

Taylor

·

Comments

  • Carl HayesCarl Hayes Posts: 841
    edited 2009-10-05 13:14
    That's going to be an awfully demanding design task.

    Light, and radiio waves, travel at a speed pretty close to 1 foot per nanosecond.· So, to get accuracy within, say, 100 feet, you will need to measure time-to-respond with an accuracy for the whole system of about 100 nanoseconds.· That is less than five cycles at 433 MHz.· To me it doesn't sound very practical.

    For 10-foot accuracy, you must measure times shorter than 1/2 cycle.· How will you detect an incoming response so quickly?

    What you propose might actually be possible if you use visible light instead of radio signals -- modern surveying equipment does exactly that -- but measuring such short times, and achieving repeatable measurements, will be very difficult.

    Or you could use sound waves, which travel·slower (about 1100 feet per second at sea level), but I woudn't want to expose my ears to a system that could work at 100 yards outside.

    For the transponders you'll need to build, the transceivers you suggest·(no matter which of four ways you spell "transceiver") simply won't do; alas.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    · -- Carl, nn5i@arrl.net
  • LeonLeon Posts: 7,620
    edited 2009-10-05 13:42
    It could probably be done with cameras around the pitch and some very sophisticated image processing involving the tracking of each object from the video images. You'll need a few man years of development and lots of $, though

    Leon

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Amateur radio callsign: G1HSM
    Suzuki SV1000S motorcycle
  • taylor_paddocktaylor_paddock Posts: 6
    edited 2009-10-05 16:07
    Arrg. Well, Carl Hayes, I like the idea of using sound instead of radio waves - although its true i dont want to beat up my ears - would a high frequency sound system work? Something similar to a sonar system? Uggg. This is very confusing. I dont think using the cameras will work - i am on a budget and dont have years of time. What about using an accelometer? (pardon the spelling...maybe if i just spell tranciever a couple of times). If i could track the acceleration of an obect on an x/y plane accurately - would that work? How precice are the ones sold through parallax?

    Thanks,
    Taylor
  • Carl HayesCarl Hayes Posts: 841
    edited 2009-10-05 16:59
    Accelerometers do a poor job of keeping track of position; the error ("circular error probable") increases as the square of time because accelerometers measure the second derivative of position, and any position derived from accelerometer data has to involve double integration of some kind. The calculated position rapidly becomes a random number.

    If you could put a constant source of sound or light (preferably at a single frequency or color) on the target, and track direction from two sensing systems (not too tough), then you could triangulate to find position. Other solutions might be both harder to do and more costly to do.

    If you have multiple targets to track, a little more complexity is required. Perhaps each target could modulate its transmitted signal with an identifier; your trackers would then have a more complex task.

    Maybe you could use sound, modulated for ID, and each target would transmit in bursts, never at the same time as any other target. Three detectors could detect the time-of-arrival of each burst. Each pair of detectors (there are three such pairs if you have three detectors) could then use the difference in time-of-arrival to calculate a hyperbola on which the target is located. With three such hyperbolas you can calculate the actual position. This is more like LORAN than like GPS, but it ought to work.

    But it will be a complex thing to design. Neither LORAN nor GPS was exactly cheap or simple to develop.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    · -- Carl, nn5i@arrl.net
  • Carl HayesCarl Hayes Posts: 841
    edited 2009-10-05 16:59
    Accelerometers do a poor job of keeping track of position; the error ("circular error probable") increases as the square of time because accelerometers measure the second derivative of position, and any position derived from accelerometer data has to involve double integration of some kind. The calculated position rapidly becomes a random number.

    If you could put a constant source of sound or light (preferably at a single frequency or color) on the target, and track direction from two sensing systems (not too tough), then you could triangulate to find position. Other solutions might be both harder to do and more costly to do.

    If you have multiple targets to track, a little more complexity is required. Perhaps each target could modulate its transmitted signal with an identifier; your trackers would then have a more complex task.

    Maybe you could use sound, modulated for ID, and each target would transmit in bursts, never at the same time as any other target. Three detectors could detect the time-of-arrival of each burst. Each pair of detectors (there are three such pairs if you have three detectors) could then use the difference in time-of-arrival to calculate a hyperbola on which the target is located. With three such hyperbolas you can calculate the actual position. This is more like LORAN than like GPS, but it ought to work.

    But it will be a complex thing to design. Neither LORAN nor GPS was exactly cheap or simple to develop.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    · -- Carl, nn5i@arrl.net
  • taylor_paddocktaylor_paddock Posts: 6
    edited 2009-10-06 01:06
    Alright! Its looking a bit more realistic for me now!· From your idea I came up with another idea that I want to throw out there.· This involves Radio waves and Sound waves - Here goes

    There is a base station that sends out a radio signal to constant 1 that will in turn 'ping.'· The ping will be recieved by object 1 which will send a radio wave back to the base station. The total time can then be calculated for the cycle (radio waves being near fast enough to not count - just the sound wave plus machine calculation time).· After the first distance is measured, the base station will send a radio signal to constant 2 to repeat the same process.· The Two distances can then be used to triangulate.·

    I put a 10 second bmp in to illustrate this - i know that I'm not always as clear as i could be!



    Thanks again!

    Taylor
    686 x 413 - 29K
  • Carl HayesCarl Hayes Posts: 841
    edited 2009-10-06 14:05
    Your idea looks to me as if it ought to work.
    For each ping, there are several time periods that will have to be added together:
    (1)· Base station's delay in sending the command to "constant 1"
    (2)· Radio delay, should be negligible
    (3)· "Constant 1 delay in sending the audio ping
    (4)· Audio signal propagation time -- what you're really interested in
    (5)· Object 1's delay in responding to the audio ping by sending a radio wave
    (6)· Radio delay, should be negligible
    (7)· Base station's delay in recognizing the radio signal

    You must design carefully so that 1,3,5,7 are constant. You cannot get them to zero, but you can get them constant enough so that the sum of their variations will be small enough not to put too much noise in your measurement.· That is harder than it sounds, but it ought to be possible.· The total time, minus some constant, gives the distance from "constant 1" to "object 1".

    Do it again for·"constant 2".

    That gives you two circles.· When circles intersect, there are two points of intersection.· If you can place the "constants" cleverly enough to assure that only one of these intersections is within the possible range of positions, it won't be too hard to calculate the "object" position.· It won't be too easy, either.· Should be fun.

    Just as a drill, let's measure in feet.· Let the range of possible positions be:

    · -50 < x < 50······ 0 < y < 50

    Put "base station" at (x,y) = (0,0)

    Put "constant 1"·at (-50,0)

    Put "constant 2" at (50,0)

    Measure distance 1 as·r and distance 2 as s

    Then you have two circles:

    (x1 + 50)2 + y12 = r2

    (x2 - 50)2 + y22 = s2

    but x1 = x2 and y1 = y2 if the target didn't move, so we've got two equations in two unknowns:

    (x + 50)2 + y2 = r2
    (x - 50)2 + y2 = s2

    ·· or

    x2 + 100x + 2500 + y2 = r2
    x2 - 100x + 2500 + y2 = s2

    Subtract these equations to get

    200x = r2 - s2

    Then of course we can calculate x:

    x = (r2 - s2) / 200

    and then we can calculate y from x in either of two ways:

    y = sqrt(abs(r2 - x2 - 100x - 2500))

    ·· or

    y = sqrt(abs(s2 - x2 + 100x - 2500))


    Note that because we have brilliantly placed the "base station" and the "constant" stations in such a way that y can never be negative, we can always take the positive square root when calculating y.

    I checked this solution with an Excel spreadsheet, and I actually got the right answers.· Amazing.



    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    · -- Carl, nn5i@arrl.net

    Post Edited (Carl Hayes) : 10/6/2009 2:13:05 PM GMT
  • taylor_paddocktaylor_paddock Posts: 6
    edited 2009-10-06 23:59
    Sweet deal!!! I never thought of the two circles - that equation is going to really help!!!

    Back to the idea of having more than one object... If each object sent back a radio signal with a unique code - the base station could store "object 2's" Constant1 Distance until it recieved matching pair right? Example... If a ping is sent out with three objects to detect - Object 1 responds, then 3, then 2. The base station can hold those three numbers until a pair is made. On the second ping, object 2 responds first (Pair is made and location found) Object 1 (pair/location) then object 3. Will doing this majorly slow down the process? When i say majorly - i mean more that 20 or so seconds worth. Im not used to doing these types of equations/ data storage often and am not sure.

    thanks,

    Taylor
  • Carl HayesCarl Hayes Posts: 841
    edited 2009-10-07 03:48
    You can probably think of many ways to keep'em straight. Me, I'd probably have the ID in the audio pings, and each object would have its own ID and respond only to that.

    Should be possible to locate at least one object (with two pings for two "controllers") every second or so, I would think.

    I don't like that terminology. I'd call the central controller the "controller", the two pingers "pingers", and the things to be located would be "targets".

    Using my terminology, the controller would instruct the first pinger to ping target 1; then it would instruct the second pinger to ping target 1; then the same for each of the other targets, eventually returning to locate target 1 again. It ought to be easy to locate at least one target each second.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    · -- Carl, nn5i@arrl.net
  • taylor_paddocktaylor_paddock Posts: 6
    edited 2009-10-07 21:09
    That sounds great. Sorry for the confusing terminology. As you can see from my very technical mspaint drawing, i am used to very technical language...

    One second each sounds great. Do you suggest doing coded pings instead of coded radio signals that the targets send back because it would be easier for the controller to decipher/code with?

    thanks,

    Taylor
  • Carl HayesCarl Hayes Posts: 841
    edited 2009-10-08 16:08
    No; the coded pings are to prevent multiple targets from responding simultaneously, which would gum up the works.

    Actually I'd put an ID in every signal, radio or audio.· Don't want both pingers pinging simultaneously either, and we want the controller to know for sure·which pinger and which target have acted.

    Incidentally, in my analysis I put the pingers on one edge of the target area.· That's bad, because when a target is on the line between the pingers the two circles-of-position will be tangent instead of intersecting, which will make it hard to get an accurate measurement of y.· Move the target area up away from the pingers, so that y is never less than, say, 25 feet, and this problem will be cured.· The formulas still stay the same, unless you change the distance between the pingers.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    · -- Carl, nn5i@arrl.net

    Post Edited (Carl Hayes) : 10/8/2009 4:13:32 PM GMT
  • taylor_paddocktaylor_paddock Posts: 6
    edited 2009-10-08 23:50
    Thanks for all the help!! Now to start the project and get testing!!!

    Taylor
Sign In or Register to comment.