Recommended Sensor Options or Orientation Measurement?

Hi,
Wrote to the group a couple of months ago on a related subject. Since then I've been looking into ways to improve the way in which my
robot measures it's orientation.
So far I've increased the wheel click resolution to 88 clicks per rev, which works out to be 0.5 degrees per turned click, obviously not degrees turned on the wheel.
But I want to have one other sensor to measure orientation, my I've been thinking about using either:
1) Analogue devices ADXRS401EB http://kevin.org/frc/adxrs401eb.pdf or 2) Devantech's Magnetic Compass.
Which leads onto my questions.
1) I want it to be encased with in the robot, which is an aluminium casing (Top, bottom and sides) - how could this affect the magnetic compass/sensor.
2) What is a reasonable number of clicks to count on per wheel rev (I have a simple black/white stripped paper with IR sensor).
3) What experience do people have of measuring orientation with various sensors, which is the best...i.e. most accurate, reliable and independent of external factors i.e. wheel slippage?
Many Thanks
Mark
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
snipped-for-privacy@yahoo.co.uk wrote:

Are you talking about measuring the rotation of the drive wheels? That's a lost cause, sure it is good enough for a VERY rough ballpark estimate, but no amount of improved accuracy will ever give you reliable numbers. Just watch a robot move, imprecise movement, wheels, obsticals, foreigh matter over which the robot must roll, etc. Even minute differences between the wheels makes a difference.

A while ago, we used beacons. Small I/R transmitters that could be used for triangulation. I have been thinking of doing that again with my robot. You could use R/F triangulation as well.
There are lots of ways to accomplish it, but I think the best way would probably be to work on some sort of vision system that can recognize areas of the robots environments.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
No, I just want to measure angular rotation of the robot, currently doing this using trig and working is out form the wheel rotation. Doesn't work too badly over a short distance, it tends to drift unacceptably after a while.
Don't want to use and RF or IR transmitters external to the robot and this would make it very environment dependant.
Anyone know what the robotic vaccum cleaners use?
Mark
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
snipped-for-privacy@yahoo.co.uk wrote:

I've gotten good results with the devantech compass combined with wheel odometry. The Al should not be a problem, but note that the compass needs to be kept level and needs to be kept mounted well away from any ferrous materials on the robot. The motors can be a partular problem.
The compass readings can be distorted by nearby metallic objects or magnetic fields; however, the robot I'm currenly using mounts the compass in the center of a 16-inch diameter body (well away from the motors), and I find that even large iron objects (filing cabinets, chest freezers, etc) don't introduce much in the way of errors.
Rate gyros are problematic, as they tend to drift substantially over the time, and your integrated position gets off pretty quickly.
Hope that helps -- m
--
(Replies: cleanse my address of the Mark of the Beast!)

Teleoperate a roving mobile robot from the web:
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
snipped-for-privacy@yahoo.co.uk wrote:

Roomba doesn't have any, I believe. In an effort to be simple and reliable, Roomba's "algorithm" is to randomly criss-cross the floor. It doesn't maintain any internal state information with respect to position.
--
|\/| /| |2 |<
mehaase(at)sas(dot)upenn(dot)edu
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

That is correct. I don't know if they implemented it in Roomba, but the first Roomba prototype at the MIT lab used a laser sensor to measure the amount or dirt present in the air inflow. If there was small amounts of dirt, the robot would take longer stretches of straight walk before randomly turning directions. If the air contained lots of dirt, then it would take shorter walks before choosing a new direction. This would cause the robot to stay (probabilistically) in the areas which higher concentration of dirt.
Padu
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Polytechforum.com is a website by engineers for engineers. It is not affiliated with any of manufacturers or vendors discussed here. All logos and trade names are the property of their respective owners.