Thursday, 3 May 2007

Motion Error Art

Choose wisely:

3 comments:

Jason said...

Could you explain what the parameters rerr[1.3] and verr[1.3] mean. I know they model the noisy odometry but which values are affected by them exactly?
Thx.

Chris Kilner said...

Hi Jason,

they should all be variances for gaussian distributions of the VelocityMotionModel as described by Thrun et al in Probabilistic Robotics p.123
http://robots.stanford.edu/probabilistic-robotics/corrections/pg122-139.pdf

Before a batch of sampling, I use them to calculate the range of errors:

// translation error
_v_range = tErr1 * Math.Abs(_vel.Translation * _time) + tErr2 * Math.Abs(_vel.Rotation* _time);

// rotation error
_w_range = rErr1 * Math.Abs(_vel.Translation * _time) + rErr2 * Math.Abs(_vel.Rotation* _time);

// random error
_g_range = tErr3 * Math.Abs(_vel.Translation * _time) + rErr3 * Math.Abs(_vel.Rotation* _time);

where each of these relates to an item after the comma in Thrun's text.

I can't say I have a deep feel for the parameters. Anything but miniscule values makes the range far too large. I don't think they are particularly physical - just bucket loads of uncertainty to blur the overcertainty of modeling and sensing :)

Jason said...

OK, thank you.
All I wanted to know was where they influence calculations, because the names did not really help while guessing :)