Society of Robots - Robot Forum

Software => Software => Topic started by: andreahmed on March 31, 2008, 07:03:20 PM

Title: Dead Reckoning
Post by: andreahmed on March 31, 2008, 07:03:20 PM
Hi,I did read about the topic but i really dont know how to impelment it in software , i'd like Admin to write about it here as a tutorial , or just guide me little to how to write the software ..
Title: Re: Dead Reckoning
Post by: benji on April 01, 2008, 10:00:53 AM
basicly its when you have a known initial robot position and when this moves you know the speed and time elapsed
so you can calculate the new position
this doesnt take into account many things like friction ,air pressure, .. etc.
so in high precision bots you cant rely on dead reckoning alone, you need a closed loop system
Title: Re: Dead Reckoning
Post by: Admin on April 06, 2008, 11:08:05 AM
Its when you rely 100% on encoders and no other sensor.

Thats all it means.

Just google it for more info . . .
Title: Re: Dead Reckoning
Post by: JesseWelling on April 08, 2008, 08:03:08 PM
I think a Kalman Filter with Encoders, Ackermann Angle (if not a differential steer type), Gyro, and accelerometers would also be considered 'Dead Reckoning'...

But yea Encoders are the main ingredient...

Here are some good links about using Encoders with differential steering:
http://www.seattlerobotics.org/encoder/200010/dead_reckoning_article.html
http://www.seattlerobotics.org/encoder/200610/article3/IMU%20Odometry,%20by%20David%20Anderson.htm
http://rossum.sourceforge.net/papers/DiffSteer/DiffSteer.html
Title: Re: Dead Reckoning
Post by: Admin on April 08, 2008, 08:51:15 PM
Oops, Jesse is right . . .

What I meant was, its when you your robot only uses sensors without a global reference to the world.

(hope that made sense, I'm tired now)
Title: Re: Dead Reckoning
Post by: benji on April 09, 2008, 02:46:08 AM
would optical mouse based navigation system be considered dead reckoning?
...the thing is very precise
you always have a reference to the start point (0,0)
is this considered (reference to the world) ?
Title: Re: Dead Reckoning
Post by: Admin on April 09, 2008, 04:46:41 AM
Quote
would optical mouse based navigation system be considered dead reckoning?
yeap

Quote
you always have a reference to the start point (0,0)
is this considered (reference to the world) ?
Nope. If its subject to sensor drifting over time, then that means it doesn't have a reference to the world.

A robot that only uses dead reckoning, if lost, will never find its way again.
Title: Re: Dead Reckoning
Post by: Ro-Bot-X on April 09, 2008, 05:19:27 AM
Yes, a robot must use several sensors to check if it is where it should be or not. For instance, let's say that the robot is going forward knowing exactly where it is. The cat comes from behind and kicks it, changing the course and moving it to a side. Now suppose the robot only has encoders. The wheels still move while the robot is in the air so it doesn't loose counts. But the destination will not be what was espected. The robot is lost...

So, how can you counter this? Use a compass to check unauthorised heading change, use a gyro to detect tilt and kick, use external references to determine the new position. Also use sensors in the back of the robot to detect coward attacks... Vision will add a great deal to recognizing places and objects. But the most important thing is the code. You need to find algorithms that will be able to counter any situation. Here the things get complicated.

Funny thing is the world is analog and we try to digitaly interpret it...

Now why do we want so much precision? Is it necessary to be so precise? Sometimes it is, sometimes it's not. We need to find a way not to rely so much on the precision.
Title: Re: Dead Reckoning
Post by: benji on April 09, 2008, 09:31:51 AM
Ro-Bot-X , what you say is very hard to implement,, 

Quote
Funny thing is the world is analog and we try to digitaly interpret it...
if you wanna keep it analog then you need a monster mind to build a circuit that resembles some complicated code, plus cost plus space
plus weight,,,,,,etc

its always better to keep things analog-(analog processing) but the problem is this can get pretty complicated and you get lost.
Title: Re: Dead Reckoning
Post by: Ro-Bot-X on April 09, 2008, 01:15:48 PM
I know, I know. Like someone else sayed in another thread, we just need ratios not precise measurements. The object is located "about there" should be enough. Just go there and you'll find it. The same with the robot location. Anyway, the robot is smaller than most of the things around it, so when you ask it where you are, it will say "I am near the sofa", not "I am at 6 inches west of the north end of the sofa" or "I am at 23.4N 46.3W coordinates"...
When you tell it "Go an bring me the cup from the coffe table" it will just go near the table, look for the cup, grab it and return to you. It will need references, a map with fixed objects and a list of tag places where it can go. You don't need to work with coordinates, but with distance references. For instance, the map grid will tel the robot the size of an object (sofa, couch, caffe table...). Looking around the robot can locate an object, check it's dimensions, locate the object on the map, look for a second and third object, and triangulate, then it will know where it is. If it can't determine the position (one of the objects changed position from the fixed place on the map), eighter looks for another object or changes position and starts over. All measurements are subject to error, so a best fit scenario will be chosen.

This is something I have been thinking from some time, not sure if it is feasible, not having a clue about the algorithm complexity, if it can be done in a micro. Probably not. Or, at least not in a one-micro-does-all solution. One thing is sure, we have to think what will be the purpose of the robot. Depending on that, the coresponding level of complexity has to be determined. And I am sure nobody will limit themselves to a line follower, obstacle avoider, map parser and so on. All of them have a greater purpose, to lead us to the butler robot, house cleaner, people helper or whatever you like to call it.
Title: Re: Dead Reckoning
Post by: benji on April 10, 2008, 03:58:36 PM
Quote
All of them have a greater purpose, to lead us to the butler robot, house cleaner, people helper or whatever you like to call it.
TOTALLY TRUE

but someone should learn a lot to be able to build one of those,we take the mapper and linefollower as a learning step but thats just a step to make useful robots , ,,lets say..
 
a butler robot should include
1/vision capabilities
2/voice recognition
3/very precise motion to be able to serve
4/high level of inteligence
and the list goes on
Title: Re: Dead Reckoning
Post by: AndrewM on April 10, 2008, 11:02:51 PM
a butler robot should include
1/vision capabilities
2/voice recognition
3/very precise motion to be able to serve
4/high level of inteligence

5/a complete bartenders almanac   ;D