Integration of IMU and Odometry on jBot

Howdy,
I'm working on a paper describing the integration of an inertial measurement orientation sensor with wheel odometry on my jBot robot.
This allows the robot to navigate autonomously on irregular off-road surfaces with no external reference signals and still maintain and track its position with a high degree of precision.
Just text with links to images and video so far, but any and all input will be appreciated. Specifically, if I've written enough (or too much) to explain the technique.
<http://www.geology.smu.edu/~dpa-www/robots/doc/imu_odometry.txt>
best regards, dpa
My robots: <http://www.geology.smu.edu/~dpa-www/myrobots.html>
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Nicely written with good references to supporting material.
Have you taken it about as far as you want to? Are you going to go into anymore detail on system errors, such as covered in Borenstein's UMBmark paper as system and nonsystem errrors as they relate to jBot? for instance more about how you determined the correct wheel base to use with jBot's unusual 6-wheel configuration, or how tire width effects odometry, etc.?
--
Randy M. Dumse
www.newmicros.com
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Hi Randy,
Randy M. Dumse wrote:

thanks
Probably yes. Borenstein's papers are pretty comprehensive on this topic. I mainly wanted to document the method for integrating the IMU. The six wheel vehicle behaves much like a tank in that it is really not possible to calibrate the conventional odometry theta value very precisely because of the amount of slippage involved in turning. Hence the utility of using the IMU for that measurement.
Borenstein covers treaded vehicles in "Where an I?" and I think he ended up towing a little two wheeled instrumented trailer behind his tank to get useful odometry.

I started the calibration procedure using the distance between the two center wheels as the WHEEL_BASE constant, and then in running the UMBmarks found that number way off. So I increased it until I got pretty good results, at which point I observed, much to my surprise, that it was the diagonal distance. I mentioned this one night at a Dallas RBNO to Ed Paradis and he said he's observed the same thing with TankBot.
best dpa
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

And there in I think is the point that adds to the general knowlege of robotics.
If we can say the first approximation for the wheel base to use on skid steering is the diagonal measure from rear wheel to opposite rear wheel, or from front corner of a track to the diagonal back track ground contact point, then that's an advancement of the art.
In my TankBot, I am still using the width of the tracks, but I have noticed it seemed too small, and closer to the outside width of the tracks worked. But I started with the idea of center to center of the tracks, as one would with a wheeled robot with "balloon" tires where the primary ground contact is in the center of the tire.
So now you have three independent confirmations, with your, Ed's and my experience.
I will be watching my odometry on the tank more in the future with an eye toward the wheel base setting being underestimated.
--
Randy M. Dumse
www.newmicros.com
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
dpa wrote:

That's straightforward - use an IMU and a 3-axis flux gate compass to get heading. That's called an "attitude and heading reference system", or AHRS. Using odometry for distance and the AHRS for heading is common, too. If the wheels slip, it doesn't deal with that, though.
The next step up is to integrate the AHRS, odometery, and GPS to get better position and heading data.
                John Nagle
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
John Nagle wrote:

nice pun
dpa
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.