SL_PositionalTrackingParameters Struct Reference

Data Fields

struct SL_Quaternion initial_world_rotation
 
struct SL_Vector3 initial_world_position
 
bool enable_area_memory
 
bool enable_pose_smothing
 
bool set_floor_as_origin
 
bool set_as_static
 
bool enable_imu_fusion
 
float depth_min_range
 
bool set_gravity_as_origin
 This setting allows you to override 2 of the 3 rotations from initial_world_transform using the IMU gravity.
 

Detailed Description

Parameters for positional tracking initialization.

Field Documentation

◆ initial_world_rotation

struct SL_Quaternion SL_PositionalTrackingParameters::initial_world_rotation

Rotation of the camera in the world frame when the camera is started. By default, it should be identity.

◆ initial_world_position

struct SL_Vector3 SL_PositionalTrackingParameters::initial_world_position

Position of the camera in the world frame when the camera is started. By default, it should be identity.

◆ enable_area_memory

bool SL_PositionalTrackingParameters::enable_area_memory

This mode enables the camera to remember its surroundings. This helps correct positional tracking drift, and can be helpful for positioning different cameras relative to one other in space.
default: true

Warning
: This mode requires more resources to run, but greatly improves tracking accuracy. We recommend leaving it on by default.

◆ enable_pose_smothing

bool SL_PositionalTrackingParameters::enable_pose_smothing

This mode enables smooth pose correction for small drift correction.

◆ set_floor_as_origin

bool SL_PositionalTrackingParameters::set_floor_as_origin

This mode initializes the tracking to be aligned with the floor plane to better position the camera in space.
default: false

Note
This launches floor plane detection in the background until a suitable floor plane is found. The tracking is in POSITIONAL_TRACKING_STATE_SEARCHING state.
Warning
This features work best with the ZED-M since it needs an IMU to classify the floor. The ZED needs to look at the floor during initialization for optimum results.

◆ set_as_static

bool SL_PositionalTrackingParameters::set_as_static

This setting allows you define the camera as static. If true, it will not move in the environment. This allows you to set its position using initial_world_transform.
All SDK functionalities requiring positional tracking will be enabled.
Camera::getPosition() will return the value set as initial_world_transform for the PATH, and identity as the POSE.

◆ enable_imu_fusion

bool SL_PositionalTrackingParameters::enable_imu_fusion

This setting allows you to enable or disable IMU fusion. When set to false, only the optical odometry will be used.
default: true

Note
This setting has no impact on the tracking of a ZED camera; only the ZED Mini uses a built-in IMU.

◆ depth_min_range

float SL_PositionalTrackingParameters::depth_min_range

This setting allows you to change the minimum depth used by the SDK for Positional Tracking. It may be useful for example if any steady objects are in front of the camera and may perturbate the positional tracking algorithm. default : -1 which means no minimum depth