giafranchini / fuse

The fuse stack provides a general architecture for performing sensor fusion live on a robot. Some possible applications include state estimation, localization, mapping, and calibration.
Other
2 stars 1 forks source link

EMRS motion model #24

Open giafranchini opened 1 month ago

giafranchini commented 1 month ago

EMRS should be treated as a floating platform. In this sense, the 3D omnidirectional motion model (with constant rate and constant linear acceleration) is correct to propagate its state over time. In this case, the rover state correspond to its 3D position, attitude, linear and angular velocities, linear acceleration.

EMRS is also ideally a rigid body. A rigid body movement in 3D space can be fully described if we know its instantaneous axis of rotation (IAOR) and the angular velocity vector directed along this axis.

What we could consider is to merge two contributions to create a new motion model:

An idea could be to augment the robot state with only the 2D position of the IAOR, since this is already available from ICR computer. Specifically we could:

TODO: 1) scale process noise based on ICR info

2) throttle ICR caching based on variation of position This is achieved keeping the last transform of ICR in memory: this is updated only if the new position received will differ more then a tolerance. During lookup, we can end up in three situations: