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
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
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 )---->
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
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.
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Well, that certainly answers a lot of questions that I didn't even know that I had!!! Thanks Gordon!
Curtis
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
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.
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>

## Site Timeline

• Share To

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.