Pose Class Reference

Contains positional tracking data which gives the position and orientation of the ZED in 3D space. More...

General Functions

 Pose ()
 Default constructor which creates an empty Pose (identity). More...
 
 Pose (const Pose &pose)
 Pose constructor with deep copy. More...
 
 Pose (const Transform &pose_data, unsigned long long timestamp=0, int confidence=0)
 Pose constructor with deep copy. More...
 
 ~Pose ()
 Pose destructor. More...
 
Translation getTranslation ()
 Returns the translation from the pose. More...
 
Orientation getOrientation ()
 Returns the orientation from the pose. More...
 
Rotation getRotationMatrix ()
 Returns the rotation (3x3) from the pose. More...
 
Rotation getRotation ()
 Returns the rotation (3x3) from the pose. More...
 
float3 getRotationVector ()
 Returns the rotation (3x1 rotation vector obtained from 3x3 rotation matrix using Rodrigues formula) from the pose. More...
 
float3 getEulerAngles (bool radian=true)
 Convert the Rotation of the Transform as Euler angles. More...
 

Attributes

Transform pose_data
 
sl::timeStamp timestamp
 
int pose_confidence
 
float pose_covariance [36]
 6x6 Pose covariance of translation (the first 3 values) and rotation in so3 (the last 3 values) More...
 
bool valid
 
float twist [6]
 
float twist_covariance [36]
 

Detailed Description

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.

Constructor and Destructor

◆ Pose() [1/3]

Pose ( )

Default constructor which creates an empty Pose (identity).

◆ Pose() [2/3]

Pose ( const Pose pose)

Pose constructor with deep copy.

◆ Pose() [3/3]

Pose ( const Transform pose_data,
unsigned long long  timestamp = 0,
int  confidence = 0 
)

Pose constructor with deep copy.

◆ ~Pose()

~Pose ( )

Pose destructor.

Functions

◆ getTranslation()

Translation getTranslation ( )

Returns the translation from the pose.

Returns
The (3x1) translation vector.

◆ getOrientation()

Orientation getOrientation ( )

Returns the orientation from the pose.

Returns
The (4x1) orientation vector.

◆ getRotationMatrix()

Rotation getRotationMatrix ( )

Returns the rotation (3x3) from the pose.

Returns
The (3x3) rotation matrix.

◆ getRotation()

Rotation getRotation ( )
inline

Returns the rotation (3x3) from the pose.

Returns
The (3x3) rotation matrix.
Deprecated:
See getRotationMatrix

◆ getRotationVector()

float3 getRotationVector ( )

Returns the rotation (3x1 rotation vector obtained from 3x3 rotation matrix using Rodrigues formula) from the pose.

Returns
The (3x1) rotation vector.

◆ getEulerAngles()

float3 getEulerAngles ( bool  radian = true)

Convert the Rotation of the Transform as Euler angles.

Parameters
radian: Define if the angle in is radian or degree. default : true.
Returns
The Euler angles, as a float3 representing the rotations around the X, Y and Z axes. (YZX convention)

Variables

◆ pose_data

Transform pose_data

4x4 Matrix which contains the rotation (3x3) and the translation. Orientation is extracted from this transform as well.

◆ timestamp

sl::timeStamp timestamp

Timestamp of the pose. This timestamp should be compared with the camera timestamp for synchronization.

◆ pose_confidence

int pose_confidence

Confidence/Quality of the pose estimation for the target frame.
A confidence metric of the tracking [0-100], 0 means that the tracking is lost, 100 means that the tracking can be fully trusted.

◆ pose_covariance

float pose_covariance[36]

6x6 Pose covariance of translation (the first 3 values) and rotation in so3 (the last 3 values)

Note
Computed only if sl::TrackingParameters::enable_spatial_memory is disabled.

◆ valid

bool valid

boolean that indicates if tracking is activated or not. You should check that first if something wrong.

◆ twist

float twist[6]

twist and twist covariance of the camera available in reference camera

◆ twist_covariance

float twist_covariance[36]