DPRG
DPRG List  



[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

Copyright © 1984 - 2006 Dallas Personal Robotics Group. All rights reserved.
Website Design by NCC

For the latest robot news visit robots.net