Software Archive
Read-only legacy content

ScenePerception::GetCameraPose

HUNG-LUNG_H_
Beginner
227 Views

Hi All,

     I have questions about the camera pose from GetCameraPose

     If I use default coordinate system and camera pose setting (It means do not use SetCoordinateSystem to change coordinate
​     system and SetCameraPose or SetInitialPose to influence camera pose)

     1. The camera pose means the rotation and position change of camera itself?
​     2. The function has range limitation? Becase I found that If I move camera too much, the rotation matrix and translation matrix won't change
​         anymore.
​     3. Why even if I do not move camera, the rotation matrix and translation matrix still have a bit change?

     Could someone please help me?
​     Thanks in advance.
 

 

 

 

0 Kudos
1 Solution
Eduard_R_1
Novice
227 Views

Hi Hung-Lung,

If I am not mistaken:

1. The GetCameraPose method returns the camera translation and the rotation matrix with respect the origin. It is not a relative change between poses but an absolute rotation and translation with respect the origin.

2. If you move the camera too much and the rotation and translation matrices don't change I could mean the tracking is lost. I am not sure, but it seems to mee that the ScenePerception module needs a plane to initialise and track its position. If you lose this plane the tracker doesn't work properly.

3. The depth maps acquired by the scan are noisy. Since the tracker uses this information to estimate the current pose it may cause small variations.

Hope it helps,

Eduard.

View solution in original post

0 Kudos
2 Replies
Eduard_R_1
Novice
228 Views

Hi Hung-Lung,

If I am not mistaken:

1. The GetCameraPose method returns the camera translation and the rotation matrix with respect the origin. It is not a relative change between poses but an absolute rotation and translation with respect the origin.

2. If you move the camera too much and the rotation and translation matrices don't change I could mean the tracking is lost. I am not sure, but it seems to mee that the ScenePerception module needs a plane to initialise and track its position. If you lose this plane the tracker doesn't work properly.

3. The depth maps acquired by the scan are noisy. Since the tracker uses this information to estimate the current pose it may cause small variations.

Hope it helps,

Eduard.

0 Kudos
HUNG-LUNG_H_
Beginner
227 Views

Hi Eduard,

     Thanks for your help :)

​     Based on your reply of first question, I still have some questions.
​     1. The origin means the initial position of camera? (when use SenseManager init()?)
​     2. How could I get the origin?

      Thanks in advence.

      Best Regards,
​          Hung-Lung
​               

 

 

0 Kudos
Reply