|
[DPRG] Absolute reference for angular position
Subject: [DPRG] Absolute reference for angular position
From: dpa
dpa at io.isem.smu.edu
Date: Tue May 27 13:50:38 CDT 2008
Howdy,
Dale wrote:
> I'm trying to calibrate Daphne's wheelbase dimension. Because the wheels are
> not exactly round and the motor shafts are not exactly parallel, this is more of
> an approximation than an actual measurement.
>
> The method I'm using is to spin in place and measure the difference between
> measured and actual rotation. To do this I need a very accurate method of
> measuring the angular position. Daphne keeps up with what she thinks is her
> current angular position using odometry. Comparing these two measurements will
> help me determine the effective wheelbase dimension and allow me to increase the
> accuracy of the odometry.
I've done this with a two-wheel differential drive robot that is
capable of rotating in place, i.e., zero turning radius. The
method used was to align the robot with an "X" marked on the floor,
and then have the robot rotate in place multiple times, like 10 or
20 revolutions, to make the error large enough to measure, and stop
when the robot thinks it's back to zero. That is, if the robot's
odometry error is .5 degree, then 20 revolutions will make it 10
degrees, large enough to easily measure and correct.
However, it sounds from the following like you are looking for a
way for the robot to calibrate itself. Yes?
> I'm thinking about stereo sonar as a reference point. Two identical sonar units
> are aimed horizontally and diverge by 15 degrees or so. The sonar array should
> return equal readings when the array is normal (i.e., 90 degrees) to the wall.
> I believe dpa has used this technique to true up SR04 during long journeys such
> as our Can-Can contest.
Our friends from the University of Michigan suggest that you can do
this with a single sonar by placing the robot at a known location in
a corner. The robot uses the sonar to measure the distance to the
two corner walls by measuring the distance to one, rotating 90
degrees, and measuring the distance to the other one. Then run
your calibration procedure, and measure the distances again. This
gives both location and theta error, and the robot should be able
to calibrate itself. That would be pretty cool, and something
that would be easy to run each time you change wheels, or take
the robot apart and put it back together.
Having said all that, the spin-in-place calibration is a good way to
get a starting value for theta, but it has a couple of draw backs.
It can't separate out the wheel base errors from the wheel size
errors. Consequently adjustments done using this technique are not
reliable for general navigating, as the errors when turing one way
will be more pronounced than turning the other.
The previous "simplified navigation calibrating and tuning" post
describes a method for using clockwise and counter-clockwise squares
to do odometry fine tuning once a starting value for theta has been
determined. If you think about it, this is also a method for
amplifying the errors, like spinning in place multiple times, in
addition to isolating the software from the hardware error soruces.
> The only sonar module I've used before is the Devantech SRF04 module. It's a
> simple trigger+echo interface. Unfortunately, I only have (or can only find)
> one of them. I have several of the Mini-S modules but don't know how to use
> them. They default to an automatic, fixed-distance operation. Also, they
> require 12 volts and Daphne's battery is 7.4 volts.
>
> I've also considered a small laser module and a pinpoint receiver.
I've found that a small laser pointed accurately aligned to the
robot's main fore/aft axis is a mighty handy thing to have, both
for calibration and for general running. It's difficult otherwise
to tell exactly "where the robot is pointed." Alternately some sort
of boresight that can be sighted along for aligning the robot with
a particular course, like sight marks on a telescope, might be
helpful.
Dale, how about "All of the Above?"
cheers,
dpa
More information about the DPRG mailing list
|