DPRG List  

DPRG: Different terrains for navigation

Subject: DPRG: Different terrains for navigation
From: Robert Posey robert.posey at worldnet.att.net
Date: Thu Aug 26 12:15:40 CDT 1999

- -----Original Message-----
>From: owner-dprglist at dprg.org [mailto:owner-dprglist at dprg.org]On Behalf
Of Matt Minnis
Sent: Wednesday, August 25, 1999 3:24 PM
To: dprglist at dprg.org
Subject: RE: DPRG: Diffrent terrains for navigation

The type is Case #1

 > 1. Robot has no prior knowledge of the the enviroment.
 >If the robot doesn't have a world model it is a whole new ball game with
 >different problems.

This is what I am working with trying to figure out.

I want to build a map as I go, since it will be (eventually) taken to
contests, so it will have no good way to have an accurate map ahead of time.

By Muddy **********************

If you know in advance the layout of the course in any detail you can build
a 'world' model of the course.  For example, the T-shaped course could
several potential reference points.  Either side of the leg or arm, the
intersection, and each end of the T are three possibilities.  If those
are completely unmarked, and there are no other possible points of reference
then you are stuck with pure dead reckoning.

END Muddy **********************

How can the diffrences between the compass and the encoders be
reconciled?  If I am right next to the filecabinet, or iron wood burning
stove, the compass will be off.  How do I know the compass is out of whack
and not to trust it?  How do I know that the encoders are correct since we
are on a ideal floor?

How do you determine when a sensor is correct and when it is just wrong?

By Muddy **********************

The one key point to remember is the nature of each sensor's errors.  The
wheel encoders will have a hopefully small, but additive error.  This means
as your robot moves around and esp. turns the error in heading and position
will increase if uncorrected.

The error from the compass is non-additive.  Other than their fixed
compasses are effected by magnetic fields, leveling errors, and motions
The environmental magnetic fields(external to the robot) can be mapped or
out as described below.  The effects of the robots own magnetic fields
should be
measured and either eliminated by moving the compass or corrected for in
Most compasses used in mobile robots have some method of leveling themselves
get an accurate reading, but the robot may still have to stop for time X to
a good reading.  If you eliminate all the errors except the ones caused by
external magnetic fields, you now have a sensor with no additive errors, but
severe short term errors.

Now if I can assume that on one is going to place different electro-magnetic
the course the compass should work most of the time.  This will allow you to
encoder based running heading to filter the compass reading.

The routine should work something like this.

cur_calculated heading_encoder = EH(n)  keep a record of the last 2 or so
cur_heading_mag by a new read= MH(n) keep a record of the last 2 or so

Combined_head  = CH(n) the best guess heading of the robot based on all
sensors and
world model information.

I did this pied code quickly so give me a break on the likely errors,
hopefully it
shows the basic idea.

Execute Turn
MH = (new compass read)

  if (MH are ~ CH)

  	EH = EH + delta(encoder)

      Is difference between Delta(EH) and Delta(MH)greater than possible
encoder error
          CH = MH // you might use some form of averaging. by not doing this
all the time
	    EH = MH
          CH = EH,

     Is MH(n-1)-MH(n) ~= EH(n-1) - EH(n)
	Yes then you could use Delta(MH) to adjust Delta EH, but you may have
      at the boundary of magnetic fields.

You could keep longer records and use it to detect when you entered a new
magnetic field,
but no matter what you have to have fairly accurate encoders to keep your
position.  At
best the compass will only give you heading.  When you are in a magnetic
field you robot's
calculated X and Y position error will grow while you heading error is
distorted.  When you
leave the field, you can fix the heading, but the X and Y error will remain.
Your encoding
method has to be good enough to travel several feet and make couple of turns
accumulating so much error that you get lost.  This will allow you to travel
magnetic fields without too much increase in positional error.

End Muddy **********************
I suppose this would make a good book in itself...


Matt Minnis

Preferred Resources          (314) 567-7600 phone
701 Emerson rd.              (314) 993-6699 fax
Suite 475
St. Louis, MO


More information about the DPRG mailing list