3-Wheel Robot navigation

Here's a picture of a 3-wheel robot I built:
http://www.greenvalleyschool.com/Curtis/3Wheel.jpg
A motor drives the front wheel and steers the front wheel via a servo.
There is a shaft encoder on the front wheel. I'm thinking that I should be able to keep track of wheel angle and distance from a starting (x,y) coordinate (and starting robot angle) and be able to know the present (x,y) position and heading.
Any ideas about practicality of this approach? Potential problems? Any good code? (I am pretty good with math but think there may be some better approaches than the brute force trigonometry I have in mind.
Curtis
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
snipped-for-privacy@greenvalleyschool.com wrote:

One problem would be traction - if the wheel slips the robot thinks it has moved forward whereas in reality it has remained stationary. The Mars Rover Team found this out as there robot kept slipping on the looses Martian soil. It should be OK with the rubber wheels you're using and a smooth, hard surface.
--
/-----------( Brendan Gillatt )----------\
<---( http://www.brendangillatt.co.uk )---->
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
snipped-for-privacy@greenvalleyschool.com wrote:

Take a look at this robot to see how a similar three-wheel robot uses a wheel encoder:
http://www.robotics.com/arobot /
Yours is a bit different in that the steering wheel is also the driven wheel, but the basic concepts are similar.
The problem with any solution where there is just single encoder on the front wheel of the tricycle arrangement is you can calculate distance, but not bearing. You'll need to infer bearing by the position of the steering motor, and this is inherently inaccurate. Well, wheel odometry is inherently inaccurate to begin with, but there are ways to minimize it. You might consider putting encoders on the rear wheels instead, and then you'd use ordinary odometry techniques you can commonly find with a Y or G search. For starters, there's a Sourgeforge project that discusses this issue:
http://rossum.sourceforge.net/papers /
and you can find a variety of different implementations, some with posted code, on various robotics retail and hobby pages. Here's one, for example, based on a commercially available quadrature encoder board designed for small bots:
http://www.nubotics.com/support/ww01/example_code.html
Sorry...don't see any examples for Vex.
-- Gordon
PS: I'm sure you are aware Radio Shack is discontinuing Vex, and they have everything half off. The sale used to be "double secret" but the sale prices are now listed on the radioshack.com Web page.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Well, that certainly answers a lot of questions that I didn't even know that I had!!! Thanks Gordon!
Curtis
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
If you can see the full headers of the post (my isp doesn't carry the binarys groups) you should see a line with NNTP-Posting-Host: and an IP address. This address will usually tell from which system/account the post came from. A complaint to the ISP about posting copyrighted material might get the account terminated with the message that people do care.
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.