|
[DPRG] Absolute reference for angular position
Subject: [DPRG] Absolute reference for angular position
From: Jeff Sampson
jsampson at pobox.com
Date: Tue May 27 18:33:44 CDT 2008
> Date: Tue, 27 May 2008 13:50:38 -0500
> From: dpa <dpa at xxx.xxx>
> Subject: [DPRG] Absolute reference for angular position
> To: dprglist at dprg.org
>
> 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 was following what dpa (if I may use dpa instead of Doctor David
Anderson) was saying about odometry and calibration. I thought that I
have a perfectly good robot sitting here collecting dust and I could
run these calibrations. But when I got to the statement that "now you
drive in a square" I got totally lost. I thought that turning precisely
90 degrees is a whole 'nother problem. Afer I thought about it for
awhile I realized it meant to turn 90 degrees based on the resultant
odometry. Then it made complete sense. But before that I came up with a
couple of alternate concepts.
The first concept was to use a compass. I don't trust a compass to give
me an accurate result at any particular time. But it appears to be
repeatable. So what if you record the compass heading and then turn the
compass in the opposite direction that you want to turn. Then rotate the
robot until the compass position again matches? If the compass is
repeatable then that may work.
A simpler mechanical approach may be a reference arm. Consider an arm
that extends out in front of the robot. When you want to turn clockwise,
you rotate the arm clockwise the angle that you want to turn. Then drop
the arm to the floor so it makes contact. Now rotate the robot until the
arm is again at 0 degrees in front of the robot. So the precision lies
in rotating the arm and detecting that you are again back at home
position. This could be done with a stepper motor. Or just use switches
or optical sensors to report angles.
Sometimes the simplist approach is the best.
My biggest concern about using odemetry for rotation is backlash in my
gear train. I still have to address that issue.
--
Jeff Sampson
http://tcrobots.org/members/jsamp.htm
More information about the DPRG mailing list
|