In a dataset, the POSITIONAL_TRACKING_STATE is usually 1 (OK), but intermittently it is 5. As far as I can tell from the API docs, the enum should only go up to 4 – see Positional Tracking Module | API Reference | Stereolabs
Context: I’m using a ZED2i, SDK v4.0.8. I’ve logged the ros traffic to a bag file, and am reading it with rosbag in python.
I’m using the ros wrapper, I see this in the /zed/zed_node/pose/status and /zed/zed_node/odom/status messages. Usually the status is 1, but it intermittently spikes to 5.
enum SL_POSITIONAL_TRACKING_STATE {
SL_POSITIONAL_TRACKING_STATE_SEARCHING, /**< \warn DEPRECATED: This state is no longer in use.*/
SL_POSITIONAL_TRACKING_STATE_OK, /**< The positional tracking is working normally.*/
SL_POSITIONAL_TRACKING_STATE_OFF, /**< The positional tracking is not enabled.*/
SL_POSITIONAL_TRACKING_STATE_FPS_TOO_LOW, /**< The effective FPS is too low to give proper results for motion tracking.\n Consider using performance parameters (\ref SL_DEPTH_MODE_PERFORMANCE, low camera resolution (\ref SL_RESOLUTION_VGA / \ref SL_RESOLUTION_SVGA or \ref SL_RESOLUTION_HD720).*/
SL_POSITIONAL_TRACKING_STATE_SEARCHING_FLOOR_PLANE, /**< The camera is searching for the floor plane to locate itself with respect to it.\n The \ref SL_REFERENCE_FRAME_WORLD will be set afterward.*/
SL_POSITIONAL_TRACKING_STATE_UNAVAILABLE, /**< The tracking module was unable to perform tracking from the previous frame to the current frame. */
};