Society of Robots - Robot Forum

Electronics => Electronics => Topic started by: SP on December 07, 2011, 04:09:18 PM

Title: Indoor Positioning System
Post by: SP on December 07, 2011, 04:09:18 PM
I am creating an autonomous platform that will move about a stage. The platform is 8 feet by 8 feet. It is holonomic drive to increase maneuverability. I am looking for some way to tell exactly where the platform is at all time. I am going to take this data and use it to set my course to the next position it must be in. Is there any type of sensor(s) that may be able to do this?

The main problems that come into play with this are:

My initial thought is that using IR sensors and Ultrasonic sensors would no work in this case because of the various types of interference. MY thought was to triangulate the position, but I have no idea where to start to purchase (preferred) or create the towers and the receiver.
Title: Re: Indoor Positioning System
Post by: Soeren on December 07, 2011, 07:52:05 PM
Hi,

I am creating an autonomous platform that will move about a stage. The platform is 8 feet by 8 feet.
If possible, you could make a wiring grid under/buried in the stage, with different frequencies on each wire. This can be picked up by a coil under the 'bot.


The main problems that come into play with this are:
  • People walking around the stage
  • Wireless: microphones, phones, equipment, and misc.
  • Lights in many different colors that may output Infrared ligh
  • Indors
  • Loud speakers(many different types)
People walking around could step on or trip over the 'bot, as well as just get in the way of optical or US signals - get some of the tape with "Police Line - Do Not Cross" ;D

Cell phones will break though most systems, due to the nature of their transmissions (highly compressed pulse bursts), even when not in use (they communicate with the cell towers every now and then).
But careful screening and filtering goes a long way battling it.
Linear wireless equipment is very well regulated and will have to keep out-of-band signals so low that they shouldn't pose any issues.

Colored light is filtered, so it's very unlikely that they'll emit any IR.

I don't see "Indoors" (if that's what you meant?) as a problem, quite the opposite in fact, as you don't have to deal with massive amounts of IR from the sun.

I guess you mean loudspeakers and if that's the case, you probably worry over emission of US, but only very bad amplifiers coupled with powerful piezo-tweeters are capable of getting anywhere near the 40kHz that most US uses.


My initial thought is that using IR sensors and Ultrasonic sensors would no work in this case because of the various types of interference. MY thought was to triangulate the position, but I have no idea where to start to purchase (preferred) or create the towers and the receiver.
Would you be able to make a wire grid under/in the stage?
Title: Re: Indoor Positioning System
Post by: SP on December 07, 2011, 08:08:12 PM
I would not be able to put wires under the stage, I will bring that up as a question, but by initial thought is that it would not be allowed (I do not think it is easily accessible/usable). The biggest concern with people on stage is that if they forget that it is there and in its way, but for finding its position, it should not be a problem at all.
Title: Re: Indoor Positioning System
Post by: hoosier122 on December 07, 2011, 09:28:24 PM
Instead of under the stage, why not tape them on top of the stage? Stages often have tape and wires anyway.
Title: Re: Indoor Positioning System
Post by: fridgid on December 11, 2011, 02:09:37 AM
If you're wheels don't change angle you could attach encoders to them and calculate it in software (depending on the platform you are using). This would work with moderate accuracy so long as you're wheels don't slip (much) or had something to zero in on (taped boundaries or squares of some sort). What kind of holonomic drive are you using? Omni wheels?

I dunno much about the tech, but maybe RFID tags with a grid? (Probably expensive)

Can you tape the stage at all? Or maybe get a mat of some sort that you could modify somehow (Soeren's suggestion or some other method, perhaps optical markers).
Title: Re: Indoor Positioning System
Post by: SP on December 11, 2011, 07:17:11 AM
I probably could not lay things on top of the stage due to facility and the layout of the stage. Yes, I am using omni-wheels.
Title: Re: Indoor Positioning System
Post by: fridgid on December 11, 2011, 12:38:22 PM
Use two encoders attached to wheels that are 90 degrees from each other. One wheel does x position other does y position. It's the same method the old captive ball mice used. You could even modify a mouse for this purpose. You will need some method to 'zero' the robot at whatever position you want.
Title: Re: Indoor Positioning System
Post by: Soeren on December 11, 2011, 05:06:34 PM
Hi,

I don't see how you'll get reliable odometry data from a holonomic drive, as you cannot tap all the rollers on each wheel?

A spring loaded dummy caster wheel with encoders on both the wheel and the caster itself (measuring angular displacement from eg. straight ahead) OTOH is doable.
There's just the problem of accumulated errors with odometry (whether a wheel or optical flow is used), unless it can be "homed" every now and then.

Why would tape be a problem?
Clear tape 4..6mm wide with a thin wire in the middle is nearly invisible (and nobody will trip over it. The aluminum tape used for window glass (for alarm purposes) could be used as well.
Title: Re: Indoor Positioning System
Post by: fridgid on December 11, 2011, 05:58:21 PM
Hi,

I don't see how you'll get reliable odometry data from a holonomic drive, as you cannot tap all the rollers on each wheel?

A spring loaded dummy caster wheel with encoders on both the wheel and the caster itself (measuring angular displacement from eg. straight ahead) OTOH is doable.
There's just the problem of accumulated errors with odometry (whether a wheel or optical flow is used), unless it can be "homed" every now and then.

Why would tape be a problem?
Clear tape 4..6mm wide with a thin wire in the middle is nearly invisible (and nobody will trip over it. The aluminum tape used for window glass (for alarm purposes) could be used as well.
Well, assuming the wheels don't slip appreciably on their main axis of rotation, and that you have two of them 90 degs apart, you could do it via odometry. But yes it would get more inaccurate over time unless you had a way to zero it every now and then (taped grid would work but at that point you might as well use the tape for another method).
Title: Re: Indoor Positioning System
Post by: aruna1 on December 11, 2011, 08:09:23 PM
Hi
we did indoor localization system for a human as our university final year project using Ultrasonics to measure distances and RF for synchronization. we were able achieve 30cm accuracy
Title: Re: Indoor Positioning System
Post by: SP on December 11, 2011, 08:59:37 PM
aruna1, how did you do it exactly?
soren, could you please describe how to use the tape method more, or a link to a site about it.
Thank you so much for your help so far!
Title: Re: Indoor Positioning System
Post by: aruna1 on December 13, 2011, 08:43:59 PM
hi what we did was we made an ultrasonic transmitter and mounted on users head.
then we made 10 ultrasonic receiver units and mounted them on walls covering entire floor of a building.
then we used a central controller to control ultrasonic transmitter and read data from ultrasonic receivers.

central controller commands transmitter to emit a ultrasonic burst, at same time it commands receivers to zero their timers.

after receiving ultrasonic burst each receiver will have capture their timer values. these timer values will have different number depending on how far transmitter and each receiver located.
then timer values are converted to distances.

central controller polls each receiver and read distance values.

then using kalman filters and trilitaration algorithm we pin point the location.

for your reference try googling "MIT cricket localization system". they were able to localize an object with 3-4cm accuracy. (but it involved lot of ultrasonic receivers)
Title: Re: Indoor Positioning System
Post by: Soeren on December 14, 2011, 09:08:27 PM
Hi,

could you please describe how to use the tape method more, or a link to a site about it.
It's not the tape, but the wire held by it.
You make an X/Y grid of wires and send a weak signal into each wire. For best effect, each wire should probably be laid in a narrow U shape (or use two wires joined at the far end) with around 0.5" to 1" between the two parallel "legs" [experiment] to get a suitable field - too narrow and the field will more or less cancel itself and too wide, you will get a wide field and loose precision.

You pick up the signal using a coil as a "microphone" and can amplify the signal with a preamplifier build with either an op-amp or a transistor or two.

In between the field wires, simple odometry will work fine and each time you read either an X- or a Y-line (or both concurrently, you reset your fix point to the line(s) read.
You probably won't need too many lines in the grid, but the behavior of the robot will be the determining factor (i.e. if it makes a lot of back-and-forth within a 1m square, half a meter between lines will assure frequent "resets" of the odometry data. Check how much it moves and adapt in accordance with the precision of wheel odometry.

For the 8'x8' stage, you could try with a 4x4 grid and then you can "cheat" a little by using DTMF (a.k.a. Touch Tones as used on phones), as their frequencies are calculated to minimize the effects of sum and difference frequencies.

Here's the frequencies:
(http://zone.ni.com/cms/images/devzone/tut/a/75f1be30465.gif)

Then it's just picking up the signals with a coil, amplify a bit and decode it. Look up the Goertzel algorithm, if you don't know how to process the signal(s).

In case this didn't scare you off, your next question will probably be about the size, value and form factor of the coil... You can get away with just about anything - get one of the small blue coils that look like a rectangular capacitor (a value of eg. 1mH should be fine), or make one yourself from thin Magnet Wire (lacquered copper wire).
A small coil (physical size) will help get the detection more narrow (i.e. more precise).

It is easy to get it to work, but there's ample room for experimentation and optimization and it takes considerations on electronics, mechanics and software, so it's a gem for a part of a school project, where you can either make a base line version and be done with it, or show off the skills you've got.
Title: Re: Indoor Positioning System
Post by: SP on December 15, 2011, 05:52:44 AM
Thanks for the replies. This should make it a lot easier. The cart is actually 8feet by 8feet and the stage is probably 100feet by 50feet.
Title: Re: Indoor Positioning System
Post by: adanvasco on December 15, 2011, 07:30:59 AM
What is the cart going to do? Just move randomly or do something more trivial? In order to avoid people you could use pir or the sort and halt whatever the bot is doing on getting too close to someone.
Title: Re: Indoor Positioning System
Post by: SP on December 15, 2011, 07:10:27 PM
The cart will follow a predetermined route to various points. It will have to watch out for people and/or objects that may be in it's path.
Title: Re: Indoor Positioning System
Post by: Soeren on December 15, 2011, 10:47:16 PM
Hi,

The cart will follow a predetermined route to various points.
Then you can just make it a line follower and put tape of a contrasting color on the stage floor (or use a wire with a single frequency and make it a wire follower).

If you want it invisible, you can paint the line with an UV dye and use UV-LEDs on the line sensor. This dye shifts the specter of the UV light into visible light - you have probably seen spy toy pens that you can write "secret messages" with, only to be seen under UV light.

A resilient version of this dye/"paint" should be chosen if people walks around on the stage.


It will have to watch out for people and/or objects that may be in it's path.
That's done with separate sensors.
Stop when something is detected, make the sound of a cocking shotgun if the obstacle remains for nn seconds - and if that doesn't clear the path it's either an inanimate object or a stone deaf person, so drive around it ;D
Title: Re: Indoor Positioning System
Post by: SP on December 16, 2011, 05:48:33 AM
It probably is, but is it easy to alter the path of the wire and shorten it or lengthen it easily?
Title: Re: Indoor Positioning System
Post by: newInRobotics on December 16, 2011, 06:12:00 AM
Just my 2 pennies.

With an adhesive magnetic tape and 2 Hall sensors You can make a follower, with it (in theory as I haven't tried it) You might achieve smoother motion of the bot, as magnetic field strength would decrease gradually when sensor gets further from the tape as opposed to sharp ON/OFF with IR follower. So, PID controll can be used to make robot follow the line smoothly rather than making sharp stop/turn/go motion.

Does the robot have to face one direction only, or can it turn around its center?
Title: Re: Indoor Positioning System
Post by: SP on December 16, 2011, 06:14:30 AM
It can turn around its center and hopefully would be able to as it moves. It may move foward or backwards or side to side.