You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
use velocity where it claims to, and pass timestep
in to every method that makes use of it.
This was requested in ros-controls#271.
- The result is that the class is very slightly less efficient (but
still quite trivial) due to passing around a extra double.
- The other result is that it is no longer possible for velocity based
odometry updates calculated incorrectly when the timestep fails to keep up.
To prevent position based updates from now suffering the inverse of
the velocity timestep/dt mismatch, the measured delta is used exclusively
for position based updates (retaining the existing behavior), while the
configured timestep is used for open and closed loop velocity updates.
I also added a 1s throttled warning if there is a major mismatch between
measured and configured timestep (+/-20%) since this would cause a slight
accumulation of integration errors on curved paths (I believe), depending
on velocity, curvature and mismatch size.
Similar requested period/measured period mismatches may be a nuisance for
open loop (which is velocity based) and closed loop velocity based updates,
but the impact is likely negligible (in this class).
0 commit comments