Main Content


Absolute poses associated with views in view set

Since R2020a



sensorPoses = poses(vSet) returns a table of absolute poses associated with the views contained in the view set, vSet.


collapse all

Create an empty point cloud view set.

vSet = pcviewset;

Load point cloud data.

data = load('livingRoom.mat');
ptCloud1 = data.livingRoomData{1};
ptCloud2 = data.livingRoomData{2};

Add ptCloud1 to the view set.

absPose1 = rigidtform3d;
vSet = addView(vSet,1,absPose1,'PointCloud',ptCloud1);

Add ptCloud2 to the view set.

vSet = addView(vSet,2,'PointCloud',ptCloud2);

Estimate the rigid transformation between the two point clouds.

ptCloud2Downsampled = pcdownsample(ptCloud2,'gridAverage',0.1);

gridStep = 0.5;
relPose = pcregisterndt(ptCloud2Downsampled,ptCloud1,gridStep);

Add a connection between the two views.

vSet = addConnection(vSet,1,2,relPose);

Compute the accumulated absolute pose.

absPose2 = rigidtform3d(absPose1.A * relPose.A);

Update the absolute pose of second view.

vSet = updateView(vSet,2,absPose2);

Get absolute poses.

sensorPoses = poses(vSet)
sensorPoses=2×2 table
    ViewId      AbsolutePose  
    ______    ________________

      1       1x1 rigidtform3d
      2       1x1 rigidtform3d

Input Arguments

collapse all

Point cloud view set, specified as a pcviewset object.

Output Arguments

collapse all

Absolute poses, returned as a two-column table. The table contains columns as described in this table.

ViewIDView identifier, returned as a positive integer. View identifiers are unique to a specific view.
AbsolutePoseAbsolute pose of the view, returned as a rigidtform3d object.

Extended Capabilities

Version History

Introduced in R2020a

expand all

See Also