Jump to content
43oh

Using Trilateration with Ultrasonic Beacons to Determine Location


Recommended Posts

Hello all,

 

   I was wondering if anyone has attempted this before (attached is a PDF of a group who has implemented such an approach). If so, any suggestions/comments as to its accuracy/cost/power consumption? Also, if you recommend any additional resources that would allow me to further my own research that would be greatly appreciated. Thanks.

Low Cost Ultrasonic Positioning System for Mobile.pdf

Link to post
Share on other sites

I am not sure that the MSP would be the ideal candidate for this project. 

 

Simply due to the floating point calculations and the tracking algorithms. 

 

Look at the C2000 or the Stellaris M4. I can not comment on the M4, but the F28069-piccolo is a control beast. The CLA (control law Accelerator) makes processing data much faster/easier since it acts as a second core to do computations. 

 

As for the MSP, I am sure that it could be done fixed point style, but for the effort involved go with something that has an onboard floating point multiplier. 

Link to post
Share on other sites

I've done it with RF many times.  The MSP430 can manage basic trilateration algorithms quickly enough.  The trigonometric stuff can be implemented in a table to speed it up, too.

 

I would also advocate using RF unless for some reason you can leverage ultrasonic-capable transmitters and receivers in the hardware you're using. If you are making your own hardware, use RF and use as low frequency as your design will allow.

 

Edit: I just browsed-through the article.  It uses RF as well as ultrasound.  If you want to use RF for location, it is not an easy task to just spin-your-own.  Do a web search for RTLS.  There are a variety of methods for performing location, but the most accurate ones use a little bit of everything and are very complex.  If you just want to do presence detection of nearby robots, you can try the new TOF infrared sensors that ST just released.

Link to post
Share on other sites

To what resolution/accuracy, and for what environment?  I'd be very interested in anything you can share.

 

Just to ask this again, in case you missed it - I'd love to know how you went about it and how well it performed.

 

Of course this is an open question - anyone with ideas or experience please chip in.  Sorry for the thread-jack OP, but I think it's in the same area as what you were asking, but if you'd rather I can start a seperate thread.

Link to post
Share on other sites

Just to ask this again, in case you missed it - I'd love to know how you went about it and how well it performed.

 

Of course this is an open question - anyone with ideas or experience please chip in.  Sorry for the thread-jack OP, but I think it's in the same area as what you were asking, but if you'd rather I can start a seperate thread.

There is a lot of variability in system-implementation parameters, but the method I use is good for achieving precision of 1/4th the cell size without using extended algorithms.  With extended algorithms, precision can get to 1/10th the cell size.  With additional, special hardware, precision can get near 1/50th cell size.  Typical cell arrangement is a 20m grid of reference points.  These are relatively cheap.  

 

The "special hardware" I'm talking about is not something you're going to be able to implement in a project of your apparent scope.  The extended algorithms are a maybe.  I've done a few thesis projects in my time, and to implement all of these things is too big a task for the limited time and resources at your disposal.

 

You can send me a PM if you want to get into details about your project (if they are sensitive).  Location is something everyone likes, but it's not easy to implement.  There are several methods, and each has different attributes that may make it more or less suitable for you application.  I can help you if I have more detail about what you're trying to do and what limitations you have.

Link to post
Share on other sites

Good stuff, thank you!

 

I'm happy to ignore the algorithmic side of things, there's people who can do a far better job of that than me.  My interest lies in the distance measuring - TOA, TDOA etc.  

 

I guess there's a limit to the cell sizes, but 1/50 @ 20m cells is very impressive!  

 

My application is distance measurement in high multipath environments, restricted to the narrow bandwidth and power available in the license exempt spectrum (ISM 869MHz).  That said, I can transmit at 500mW in the 869.4-869.65 band. which should be enough for my purposes.

 

I'm avoiding "special hardware" (corrolators, phase detectors, antennae arrays etc.), and just going for a simple approach, using two-way ranging.

 

Any thoughts or suggestions you have for this application will be appreciated.

Link to post
Share on other sites

The best location systems are all using antenna arrays and phase detectors in combination with signal strength and "fingerprinting."  So, a little bit of everything.  The time-based systems are pretty good, but not as good as the method above, and usually more expensive.  The time-based methods have rigid infrastructure requirements, which is a pain.

 

First, you need to determine what your requirements are for location precision.  Second, you will probably make your job easier if you can go lower and lower in frequency.  There is some point where the wavelength is too long to make a realistic antenna array, and the attenuation through walls is actually too low, but if you are just going to use signal strength and nothing else fancy, the simple advice is to go as low as you can go.  Maybe the ERC 169 MHz band is a good option.  If you can go even lower, that's even better.  I certainly wouldn't use a band higher than 433 MHz.

Link to post
Share on other sites

Time based is what I'm going for, all I want to do is see how well it can perform.  As a minimum spec, I'd say <3m accuracy in open field conditions would suffice.  I did originally intend to integrate various other factors in, such as predictive algorithms, signal strength etc. - but it would have forced my hand with the project, whereas I want to keep it as open as possible (then suggest an application once I've determined the capabilities).

 

I hear what you're saying with frequencies, I'm hoping I can get a proof of concept with my 869MHz system, then suggest lower frequency/higher power to improve performance.  Getting permission to operate at anything other than 869/433 would have proved too troublesome I'm afraid.  I can't remember why I didn't go for 433MHz though - maybe I wanted to get some use out of my Chronos' .  I've done a bit of testing with the Anaren booster pack (869 MHz), and I'm getting a usable amount of range out of it - though it's far from perfect it'll hopefully suffice for proof of concept.

 

The 169MHz band would probably have been a better alternative, though I might have struggled to get cheap plentiful parts (as opposed to the 869MHz).

 

Thanks for the advice, it's certainly an interesting area of electronics.

Link to post
Share on other sites

Time based is what I'm going for, all I want to do is see how well it can perform.  As a minimum spec, I'd say <3m accuracy in open field conditions would suffice.  I did originally intend to integrate various other factors in, such as predictive algorithms, signal strength etc. - but it would have forced my hand with the project, whereas I want to keep it as open as possible (then suggest an application once I've determined the capabilities).

 

I hear what you're saying with frequencies, I'm hoping I can get a proof of concept with my 869MHz system, then suggest lower frequency/higher power to improve performance.  Getting permission to operate at anything other than 869/433 would have proved too troublesome I'm afraid.  I can't remember why I didn't go for 433MHz though - maybe I wanted to get some use out of my Chronos' .  I've done a bit of testing with the Anaren booster pack (869 MHz), and I'm getting a usable amount of range out of it - though it's far from perfect it'll hopefully suffice for proof of concept.

 

The 169MHz band would probably have been a better alternative, though I might have struggled to get cheap plentiful parts (as opposed to the 869MHz).

 

Thanks for the advice, it's certainly an interesting area of electronics.

Some final notes:

1. Most time-based methods use large-bandwidth signal correlation to counter-act the problems of multipath.  

2. There is no ERC sub-1GHz unlicensed band with large bandwidth.  

3. ST's SPIRIT1 comes in a 169 MHz form, although it is very new and there are not many kits for it yet.

4. No matter what frequency you choose, there is just no way that you are going to need 500mW.  In fact, that much power is going to cause problems. You will get better location results with less power.  Use the weakest signal that makes the range.  If you want to communicate over 50m, even 1mW is too much.

Link to post
Share on other sites

I just browsed-through the article. It uses RF as well as ultrasound. If you want to use RF for location, it is not an easy task to just spin-your-own. Do a web search for RTLS. There are a variety of methods for performing location, but the most accurate ones use a little bit of everything and are very complex. If you just want to do presence detection of nearby robots, you can try the new TOF infrared sensors that ST just released.

 

First off thanks for all the info. I am working on building an automated lawn mower. Commercially available products seem to utilize the buried wire approach to denote the perimeter of the lawn, and other attempts I've seen  have used lasers (in conjuction with photodiodes)  or computer vision. I am trying to do something new so I'm just putting out feelers for alternative methods. What I want to implement is a "learning mode" in which the mower pings the beacons strewn about the lawn and records its coordinates relative to these points while being pushed around the perimeter of the yard. Then for all successive sessions, the mower will use these points as the boundary for its operation (and thus stay within this virtually enclosed area) and perform without human interaction. I will look into RTLS.

Link to post
Share on other sites

First off thanks for all the info. I am working on building an automated lawn mower.

How good are the high-precision GPS systems these days?  Most RTLS sytems to-date are designed to monitor "assets."  Asset is a loose term, but it means basically anything.  One of the design parameters in these systems is power efficiency, because the locators typically are deployed for years without recharging.  Your lawnmower app doesn't have this problem.  Energy is not a difficult design parameter, nor are you operating indoor or underground, therefore GPS might be an option.  You can build additional sensors, as needed, to deal with special situations of immediate concern (e.g. detect if something is in the way).

Link to post
Share on other sites

How good are the high-precision GPS systems these days?

 

That is what I was thinking initially, but the options available do not satisfy my accuracy requirements and the ones that do are way out of my price point.  Like semicolo mentioned, even differential GPS is not very accurate.

 

 

You can build additional sensors, as needed, to deal with special situations of immediate concern (e.g. detect if something is in the way).

 

The mower will have ultrasonic distance sensor(s) (most likely the PING))) distance sensor from Parallax) to detect obstacles within the enclosed area and a bumper system to kill the mower in case it fails to navigate around the object.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...