Society of Robots - Robot Forum

Electronics => Electronics => Topic started by: gamefreak on May 28, 2008, 03:59:18 PM

Title: Tracking Sensor
Post by: gamefreak on May 28, 2008, 03:59:18 PM
Is there a highly accurate way to know where my robot is based on a set position, such as where it started?

I know whell encoders can be used to track rotations and calculate the distance traveled based on that, but if a wheel slips the numbers get screwy, and I dont know of any accurate and cheap GPS sensors...
Title: Re: Tracking Sensor
Post by: bens on May 28, 2008, 08:33:36 PM
You can maintain fairly accurate position/orientation with encoders if you can generally keep your wheels from slipping.  The biggest problem is that errors will build over time while GPS will always have the same uncertainty assocated with the readings.

If you are able to mark your environment, you can set up a series of beacons and determine your position using them.  For example, imagine setting up three reflective cyclindrical beacons at the vertices of a right triangle.  You can detect the angles to the beacons using a laser/reflectance sensor mounted on a stepper motor, and from the angles of the beacons you can derive your position and orientation relative to the coordinate system defined by the beacons (assuming you are comfortable with trig).  I did something like this many years ago for an indoor walking robot competition and it worked quite well.

- Ben
Title: Re: Tracking Sensor
Post by: Commanderbob on May 28, 2008, 08:54:45 PM
This (http://www.dpcav.com/xcart/product.php?productid=16165&cat=250&page=1) GPS is a great GPS. I have it and it works great. Even indoors. It is not too expensive just watch out, it does not take 0-5V logic. Not a problem though as I only read from the GPS and most micros register 3V as a 1.
Justin
Title: Re: Tracking Sensor
Post by: gamefreak on May 28, 2008, 09:25:35 PM
wow thats expensive, I guess this idea is a bit out of my range....
Title: Re: Tracking Sensor
Post by: Kohanbash on May 29, 2008, 08:05:28 AM
Another approach that can be reliable is using optical flow from a camera to either track things (you can track the ground to get relative vehicle position and velocity)
Title: Re: Tracking Sensor
Post by: SixRingz on May 29, 2008, 11:02:46 AM
It is also possible to calculate your position by using an accelerometer. This requires some math; Acceleration integrated is velocity, velocity integrated is position. Thus if you integrate your input signal twice from the accelerometer you'd get position. Bare in mind though that integration is somewhat error sensitive. If your accelerometer would give a normally distributed error (overestimates and underestimates equally), you should have a decent positioning. However, if it tends to underestimate or overestimate, you could get large errors. I haven't tried it myself yet though...
Title: Re: Tracking Sensor
Post by: Kohanbash on May 29, 2008, 12:34:00 PM
There will probably be a lot or error with using the accelerations, you probably will only be able to do that for short distances.
Title: Re: Tracking Sensor
Post by: Commanderbob on May 29, 2008, 07:58:37 PM
Also what if you are on a hill? Turning around would seem like acceleration. I guess you could write code to figure that out but it won't be perfect.

For the GPS I got mine a lot less something like $40. It is the one that they say is discontinued. The new one is ROHS compliant. I got a sale. Still that GPS is the cheapest model that I have found and it works very well.

You could also try to do this with a Sharp IR sensor. It would only work in a place with a lot of landmarks/objects though. I am going to try this on my newest robot. You have it scan to find something that sticks out then track it as you move. Based on the angle and distance of the object you can calculate how much you have moved.

Justin
Title: Re: Tracking Sensor
Post by: Admin on June 01, 2008, 02:16:45 PM
Quote
Is there a highly accurate way to know where my robot is based on a set position, such as where it started?
depends on how you define 'accurate' ;D

More specifically, to what decimal place? Each decimal place will increase the cost about 10x, and there comes a point where .00001mm is as good as .00000001mm :P

If your robot works well at an accuracy of 10mm, why go to .0001mm?

Humans are accurate within like 2 inches error for each step, yet they do really well . . .
Title: Re: Tracking Sensor
Post by: benji on June 01, 2008, 03:31:21 PM
gamefreak,, you need to hack an optical mouse sensor so bad .. ;)

most cheap ones can offer ya 800 counts per inch,, i guess thats very much accurate for you,, this means that
the minimum increment (resolution) is (1inch/800) == 0.00125 of an inch == 0.3175 mm