USCiLab / nrt-modules

Repository for various NRT modules
http://www.nrtkit.org/
11 stars 5 forks source link

Create a DeadReckoning Module #12

Open sagargp opened 12 years ago

sagargp commented 12 years ago

Create a simple module that receives VelocityMessages as input, and just outputs the current Transform as if those VelocityMessages were followed exactly.

randvoorhies commented 12 years ago

Currently working on it - I have a skeleton committed. Unfortunately, it looks like this problem is pretty complex in 6D. For now, I'll just solve it for non-holonomic 2D robots like Hermes, and will throw some kind of exception if you specify any kind of velocities that we can't handle (pitch, roll, strafe, Z).

As far as I can tell, the 6D case does seem solvable in closed form. Here are some resources to help us figure out the full 6D case: http://en.wikipedia.org/wiki/Screw_theory http://www.euclideanspace.com/maths/geometry/affine/screwTheory/index.htm

randvoorhies commented 12 years ago

Forgot to mention, the new module is here: https://github.com/sagargp/nrt-modules/tree/master/Robotics/Navigation/DeadReckoning

randvoorhies commented 12 years ago

Works great in 2D!