Address

Author Topic: Indoor Location Sensing for Bots  (Read 2320 times)

paul

  • FamiLAB Member
  • Newbie
  • *
  • Posts: 16
    • View Profile
Indoor Location Sensing for Bots
« on: April 02, 2012, 08:08:48 PM »
I'm trying to find a technology which will allow me to let a bot know approximate location within a structure.  So, if the bot was in one area of a building, it would know that it was in a specific zone.  Sounds a bit like an active or higher distance passive RFID solution but I'm not sure of the best and low-cost vendors to look at for equipment that will interface with an Arduino.  Is RFID the best solution or are there other technologies that would also work indoors yet be unobtrusive?

willasaywhat

  • Administrator
  • Hero Member
  • *****
  • Posts: 987
    • View Profile
Re: Indoor Location Sensing for Bots
« Reply #1 on: April 02, 2012, 09:06:34 PM »
I've heard of doing signal triangulation for this. I think Intel was pioneering it with WiFi. You might be able to do the same with Xbees (which we have lots of), but I'm not sure.

Matt

  • Secretary
  • Full Member
  • ***
  • Posts: 186
    • View Profile
Re: Indoor Location Sensing for Bots
« Reply #2 on: April 03, 2012, 09:14:38 AM »
Research "indoor GPS" This technology makes use of optics rather than radio signals to provide a fixed reference frame against which the position of an object can be tracked.


http://www.robotics.utexas.edu/rrg/research/metrology/


It is commonly used for metrology applications (reverse engineering, inspection, etc...) and as such most systems focus on accuracy.
-Matt

f00bard

  • FamiLAB Member
  • Newbie
  • *
  • Posts: 0
  • Da Real MVP
    • View Profile
Re: Indoor Location Sensing for Bots
« Reply #3 on: April 03, 2012, 10:24:11 AM »
My previous employer did radio location sensing.  It didn't work very well.  Granted that was partly a limitation of the tech we were working with, but also our intended application (tracking firefighters in a building) demanded higher accuracy.

We were doing this by measuring time of flight between devices.  Triangulation using received signal strength is even worse.

But, you're just trying to sense which "zone" the device is in, so a crude solution like RFID, or just sensing some wireless carrier, could work.

You could even use a hybrid.  Start from a known point (based on RFID), then use gyros to sense motion and dead reckoning to figure out where you are.  Gyros raise other issues, ofc, but given periodic correction it could work.

Matt

  • Secretary
  • Full Member
  • ***
  • Posts: 186
    • View Profile
Re: Indoor Location Sensing for Bots
« Reply #4 on: April 03, 2012, 11:04:50 AM »
Another option is to make use of the lighting in the building. Each room could have a unique high frequency signal added to the LED lighting. Using a light sensor and FFT algorithm you can find the strongest frequency content of the ambient light and know which room you are in. The same system can be used to send data.  http://www.ted.com/talks/lang/en/harald_haas_wireless_data_from_every_light_bulb.html

With that said, you could just as easily add a powerful IR emitter in each room broadcasting a unique signal. Simple IR LEDs and IR receivers would do the trick. Parts to do this are available at radio shack.
-Matt
« Last Edit: April 03, 2012, 11:08:24 AM by Matt »

paul

  • FamiLAB Member
  • Newbie
  • *
  • Posts: 16
    • View Profile
Re: Indoor Location Sensing for Bots
« Reply #5 on: April 03, 2012, 10:13:14 PM »
Infrared LEDs sound like a really cool idea.  Sounds like it would work better than RFID and provide more range. To deploy multiple infrared LEDs, would you use something like a Boarduino or another low profile/low cost Arduino clone along with a power source?  Or, is there a simpler and more cost effective way to deploy a number of them?  Could one prototype the code on an Arduino and than build some type of perf board that's hardwired to a specific frequency and pulse rate?

Matt

  • Secretary
  • Full Member
  • ***
  • Posts: 186
    • View Profile
Re: Indoor Location Sensing for Bots
« Reply #6 on: April 04, 2012, 12:10:32 AM »
You should be able to do it with an arduino directly. Depending on how many unique locations you want to have you may need to multiplex the outputs but for a basic house with only a few rooms the standard outputs should be fine. Do some research on IR communication over arduinio..I would just treat it like a TV remote. Choose a unique command for each room and just broadcast it over and over again. Then your bot reads the commands with an IR receiver and looks up in a table which room corresponds to which command.

It may take some tweaking to ensure that you don't step on any real remote control commands for devices in the room, but that shouldn't be too tough.
-Matt

paul

  • FamiLAB Member
  • Newbie
  • *
  • Posts: 16
    • View Profile
Re: Indoor Location Sensing for Bots
« Reply #7 on: April 04, 2012, 09:39:12 AM »
Matt, thanks for the advice on this.  I've been wondering about the range of IR emitters - most remotes these days seem to be 20-30ft.  Do you know if there's a way to cut the range to just about 5 feet or so?


Also, you mentioned that in a complex environment, one might have to multiplex the outputs?  Out of curiosity, what exactly is that in relation to IR emitters what's involved in setting that up? 


Thanks!

Matt

  • Secretary
  • Full Member
  • ***
  • Posts: 186
    • View Profile
Re: Indoor Location Sensing for Bots
« Reply #8 on: April 04, 2012, 10:44:48 AM »

With regard to multiplexing the outputs I'm simply talking about getting additional ouputs from the arduino. Ian's class on More I/O covers this in detail. You won't likely need a continuous signal going to each channel so you can simply hit each channel in a "round robin" effect, send the signal for that channel, then move on to the next. What you need is something like a 3-to-8 decoder. That allows you to use three output pins on your arduino as address bits to turn on one of 8 output pins on the decoder. Every bit you add to  the decoder gives you twice as many outputs.
Here's a datasheet for a 3 bit decoder [size=78%]http://www.fairchildsemi.com/ds/MM/MM74HC138.pdf[/size] That particular IC also has a chip select capability allowing you to string several of these together.

Reducing the range might be difficult. Of course, you can always run the LED at lower current which will reduce the light output, but I think trying to "dial in" a specific range will be difficult. Having a powerful IR transmitter will also help reduce line of sight issues. Put a fresh set of batteries in your remote and point it away from your TV, there's a good chance it will still work. The IR light is just reflecting off of the wall and still getting to the sensor on the TV.