Main Content


Absolute poses associated with views in view set



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 = rigid3d;
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 = rigid3d(absPose1.T*relPose.T );

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 rigid3d]
      2       [1x1 rigid3d]

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, specified as a rigid3d object.

See Also


Introduced in R2020a