Society of Robots - Robot Forum

General Misc => Misc => Topic started by: ArcMan on November 18, 2008, 09:51:15 PM

Title: Robot Position Estimation
Post by: ArcMan on November 18, 2008, 09:51:15 PM
I'm just beginning my study robot position estimation, so excuse my noobness  :P

I'm interested in using an IMU as a component of my robot position estimator.  This will be a wheeled robot that moves in 2-D space, so...

I figure I need to get a velocity vector that I integrate to obtain an estimate of position.  Now if my robot only traveled in a straight line, I could just simply double integrate a single axis of an accelerometer to obtain an estimate of position, right?  But since it can turn, I also need to obtain a rotational velocity measurement so I can integrate it to obtain an estimate of direction.  That should be enough to establish an estimate of position in a 2-D environment, right?

If so, I was wondering if I really need a gyroscope to measure rotational velocity.  Say I have a 2-D accellerometer (X and Y axes); X is forward and Y is sideways, and say I mount it away from my axis of rotation (the driven wheel axis of my differential drive robot), like near the swivel caster.  Since my robot cannot travel sideways, any Y-axis acceleration would be due to rotation, right?  So could I just use a 2-D accelerometer instead of a 1-D accelerometer and a gyro?

Hopefully, I'm not way off base here.  Let me know what you think.  My mind is a (old) sponge.
Title: Re: Robot Position Estimation
Post by: Admin on November 24, 2008, 10:44:32 PM
In a perfect world, what you say will work . . . but in reality an IMU will rarely function accurately beyond a few meters.

examples:
a single collision that shifts the robot will throw everything off
sensor drift
unlevel terrain
wheel slip
many more reasons . . .

Quote
Since my robot cannot travel sideways
not true, wheels can slip sideways . . . its a small amount, but it adds up in the long term

I've seen $1000+ 6 DoF IMUs that still have a ~10% error in outside terrain. Thats a meter off for every 10 meters . . . J-Bot (http://www.geology.smu.edu/~dpa-www/robo/jbot/) comes to mind.

Since you will always have error, what accuracy is acceptable to you? Also, an FAQ:
http://www.societyofrobots.com/robot_faq.shtml#robot_accuracy_tradeoff

(those links should get you thinking for awhile ;D)
Title: Re: Robot Position Estimation
Post by: ArcMan on November 25, 2008, 09:47:02 AM
Thanks for the input and links, admin.
That definitely gave me some things to think about.

I'm also studying Kalman filters in an effort to get the best position estimate possible.  I saw a post from you about a year ago that said you were also starting to learn about Kalman filters.  Did you get far into that study?  I got a book titled "Applied Optimal Estimation" by Gelb et. al..  I'm having a bit of trouble with the math since it's been 20 years since I got my engineering degree.  In my field, I haven't had to solve a single differential equation or matrix algebra problem in all those years  :P
Title: Re: Robot Position Estimation
Post by: Admin on November 25, 2008, 09:55:02 AM
Quote
Did you get far into that study?  I got a book titled "Applied Optimal Estimation" by Gelb et. al..  I'm having a bit of trouble with the math since it's been 20 years since I got my engineering degree.  In my field, I haven't had to solve a single differential equation or matrix algebra problem in all those years
nope never really learned it . . . haven't had a reason yet as fuzzy logic works if high accuracy isn't needed (my robots) . . . but yea I don't blame you about all the math . . . I think if we saw a flow chart or a 'Kalman filters for dummies' it'd be much easier than it looks. There was a tutorial posted here on the forum if I remember right, but I never got around to reading it.