How to reliably turn a tracked robot?

I'm building a laptop robot based on a RAD base (see [1], though I've done more work since last updating that page). It actually goes forward
and backward in a straight line quite nicely, thanks to a sort of clutch connection (not sure of the right term) between the two treads.
However, turning seems rather unreliable. Oh, it turns with enthusiasm, but exactly how much is it turning? I can never be quite sure. It turns by skidding, of course, and I think it's unlikely to skid exactly the same way twice. So, even adding encoders to the tracks wouldn't really tell me how it's moving in relation to the ground.
I've thought about getting some cheap optical mice and mounting them (or their guts) on the belly of the thing. One at the front and one at the back ought to do, giving me everything I need to measure linear motion and rotation. But mice seem to require very low clearance, which is likely to make it rather fiddly.
I understand that optical mice work via image-processing... I'm venturing into guess-land here, but I'd guess that the requirement to be right on top of the surface is a focus issue. Has anyone modified a mouse to work at a farther distance by adding or changing lenses?
(Hey, you hobby-robotics shops: if you could make a gadget that would provide X/Y speed data over nearly any surface from, 2-5 cm away, roboticists would beat a path to your door!)
Are there other good ways for tracked robots to turn reliably? Some simple solution I'm neglecting?
Thanks, - Joe
[1] http://www.strout.net/info/robotics/projects/rb1.html
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
wrote:

Not sure how accurate, but an electronic compass might give a general direction it is pointing.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
On Tue, 19 Dec 2006 04:27:58 +0000, Si Ballenger wrote:

better still .. how about on of those minature gyroscopes as used in RC Helicopters? not sure how much drift they have.
Or ... is it permissible to have some sort of reference device in the enviroment/ like an infrared LED? ... detector on top of bot, vertical tube with a slit in it that rotates like a radar, wherever the peakiest pulse IR is, thats north? for added immunity to noise, modulate the IR led with some frequency ...
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

I don't have too much faith in these... I can't even get the electronic compass in my car to give a reliable reading (and I've tried two different brands).

That's an idea. Drift might not matter to me too much as long as it's *slow* drift -- if necessary, I could use it only during a turn, and ignore it in between turns.
Anybody know of a low-cost electronic gyroscope/IMU?

I'm not opposed to that, but it's starting to sound more complex than I would prefer. If I'm going to add extra stuff to my house, I'd rather go a little further and have it determine position as well as orientation.
Another idea that occurred to me last night -- similar to Dan's idea with the ring of light sensors -- is to put an omnidirectional camera on top of the robot. Then, when turning, I should see that image rotate by a predictable amount. This will be complicated a bit if there are moving objects (people, cats, etc.) in the visual field, but it might be worth a try.
Actually, come to think of it, the ceilings in my house are not featureless -- nearly every room has either arches of some sort, or a light fixture hanging down. So instead of an omnidirectional camera, maybe I could just use a regular camera pointed straight up. It's unlikely that anything up there would be moving, so this would simplify the correlation problem.
...Interesting stuff!
Best, - Joe
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Well, how does under $250 sound?
You can get the 5-axis board from Spark-fun, add a 1-axis yaw gyro breakout board, and then hook it up with a 12-channel 12 bit I2C A/D converter into something like an ATMega128.
Once you've got the hardware, you can go here:
http://www.sparkfun.com/cgi-bin/phpbb/viewtopic.php?tB73&highlight=imu
To get an implementation of a kalman filter that runs (with slight mods) on said ATMega128 board. You'd have to fix some of the scaling constants in the code for the different resolution A/D.
Pitch and roll aren't going to be as good as they could, since the 2-axis gyro chip on the 5-axis board isn't temperature compensated, but the yaw axis would be.
All in all, a nice small package that you could fit into a 1" cube with ease. If you wanted to get really tricky, add this:
http://www.sparkfun.com/commerce/product_info.php?products_idy15
That gets you an I2C 2-axis compass to go along with it, which would be useful for periodically recalibrating the yaw gyro if you stop the vehicle for a second.
Later, Jon
-------------------------------------------------------------- Jon Hylands snipped-for-privacy@huv.com http://www.huv.com/jon
Project: Micro Raptor (Small Biped Velociraptor Robot) http://www.huv.com/blog
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Sounds like about my next three years' robotics budget. :)
However, for turn control I would need only a single axis. Looks like that can be found for $65 or so at Sparkfun. That's cheap enough to be interesting, though probably not cheap enough to actually buy in my situation.
Cheers, - Joe
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
: Actually, come to think of it, the ceilings in my house are not : featureless -- nearly every room has either arches of some sort, or a : light fixture hanging down. So instead of an omnidirectional camera, : maybe I could just use a regular camera pointed straight up. It's : unlikely that anything up there would be moving, so this would simplify : the correlation problem.
There is a paper out there on a Robot that does exactly this. I believe it was one of the projects to have a bot be a museum tour guide.
And -- google on robot museum ceiling camera finds -- Minerva
http://www.cs.cmu.edu/~thrun/papers/thrun.icra_minerva.pdf
--
==========================================================
Chris Candreva -- snipped-for-privacy@westnet.com -- (914) 948-3162
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Joe Strout wrote:

With the RAD, when you're on carpet especially, it turns much better by reversing the motor on one side, rather than stopping one and/or running one side faster. For the latter 2 cases, the base tends to bog down. Walkers [with 4 or 6 legs] also turn much better, BTW, by reversing the stride on one side.
You might try playing with 2 optical mouses, one front and one rear.
Also, something I've thought about but never got to trying, is to have light sensors pointing all around the base, and taking a 360-deg "signature". Then, as the base turns that signature will precess [if that's the correct word] exactly in sync with the turning.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Agreed.
That's a neat idea. It seems that under most conditions, this signature would be determined mainly by the shadow of the bot. For a cylindrical bot, that should be a pretty darn reliable indicator of direction, at least in one spot. For an odd-shaped bot like mine, it'd be more complicated... but certainly worth exploring. Thanks for the thought!
Best, - Joe
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
One way that I've thought about but never really tried is to drop a post from the bottom of the center of the robot to the ground to act as both a pivot point and an angle measuring device (encoder or potentiometer). Use a solenoid to hold it one the ground when turning, then lift it back up with a spring when done.
Mark

Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
One of the methods mentioned was to drop a physical sensor which would also act as a pivot point. I thnk this would help you maintain your accuracy a lot, assuming the idea worked well.
Another idea which might help, is to lower your center rollers a small amount, or just make them a little fatter by adding a rubber band around them. This causes the center of the track to bear more weight, and would tend to make it behave a little more like an un-tracked robot.
Joe Dunfee
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Joe Strout wrote:

One of the guys in our robotics club modified an optical mouse sensor to see long range (around 6-8" I think) then pointed it forward and used the input to control his high speed line follower. So I know it can be done, it is just a matter of finding the correct optics.
-Robotguy http://robotguy.net/blog
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Could you bribe, browbeat, or berate him into writing this up and either posting it on the web or publishing it in Robot or Servo magazine? I'd love to see how this was done (especially if it can be used for general dead-reckoning, rather than just line-following).
Best, - Joe
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Check this out:
http://www.societyofrobots.com/robottheory/Maximizing_Miniature_Aerial_Vehicles.pdf
Optical flow with a mouse sensor at 1500 fps... Incredibly cool stuff...
Later, Jon
-------------------------------------------------------------- Jon Hylands snipped-for-privacy@huv.com http://www.huv.com/jon
Project: Micro Raptor (Small Biped Velociraptor Robot) http://www.huv.com/blog
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Thanks, Jon -- that's neat!
Best, - Joe
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.