How is the position determined when calling get_translation in pose? Is it purely from VO or is there some fusion with the IMU data? I am wondering if creating my own Kalman filter to fuse the IMU data and the pose data would be pointless.
What are the differences between the states obtained in the positional tracking tutorial? Namely Orientation vs IMU orientation?
The pose of the camera is estimated by fusing Visual Odometry information and inertial information.
I cannot add detailed information because the algorithm is a closed source.
The gyroscope of the IMU is used to estimate the rotation, while the accelerometer to extract the gravity vector and to improve the orientation estimation.
We do not use the accelerometer to estimate the translation, so you can add a new Kalman Filter level if you want to add this feature.
You can always disable the IMU fusion effect (see enable_imu_fusion) and create your own Kalman Filter for sensors fusion.
I’m trying to understand the difference of the two orientations in the example. An extraction from there.
Contains positional tracking data which gives the position and orientation of the ZED in 3D space.
Different representations of position and orientation can be retrieved, along with timestamp and pose >confidence.
zed_pose = sl.Pose()
Contains all sensors data (except image sensors) to be used for positional tracking or environment study.