What is the smooth odometry output?
The smooth odometry output aims to provide a smooth trajectory without jumps, allowing users to use the Vision-RTK 2 for control applications (e.g., motor feedback). The corresponding FP_A-ODOMSH message contains the complete fusion odometry trajectory, albeit smoothed out, coupled with status information, output at the configured rate.
This output frame's main inspiration comes from the ROS coordinate frames definition (https://www.ros.org/reps/rep-0105.html#coordinate-frames ). Some parallels are drawn from the frames presented in this document and the Fixposition output messages:
Our primary output, FP_A-ODOMETRY, defines the position output in the Map frame. As the Map frame is world-fixed, it ensures the position output is always as accurate as possible. This output, often referred to as POI, does not guarantee continuity and can freely jump to a new estimate to maintain maximum accuracy.
Our smooth odometry output, FP_A-ODOMSH, can be considered a position output in the Odom frame. Although this frame is also world-fixed, it cannot be employed for long-term global reference, as the position can drift over time without bounds. The position estimate of this frame, hereon referred to as POISH, evolves based on the robot's velocity and the integration of IMU measurements over time, making it a prime candidate when the user needs a continuous, differentiable frame, as is usually the case when a sensor provides feedback to a motion controller.
The output of both frames, POI and POISH, are initialized to the same global position for ease of visualization. As long as the Fusion engine is running and does not experience a reset longer than 2 seconds, the output of the smooth frame is guaranteed to be continuous. Suppose the Fusion engine experiences a prolonged reset or is stopped and initialized again. In that case, the smooth odometry POISH frame will be reinitialized, meaning that the position will experience a jump to the globally accurate POI.
For user convenience, the output message FP_A-TF_POIPOISH provides a transformation that maps the current POISH position into the globally accurate POI.
The following image presents the difference between the POI frame (in blue) and the POISH frame (in purple). As observed, the smooth odometry frame drifts from the globally accurate position over time and does not experience any jumps after re-obtaining good RTK-GNSS measurements.