主要内容

pcviewset

管理数据基于点云的视觉测程法和大满贯

自从R2020a

描述

pcviewset对象存储点云测程法和同步定位和映射(大满贯)数据作为一组视图和视图之间两两连接。

创建

描述

例子

vSet= pcviewset创建一个pcviewset对象与默认的属性名。使用对象函数来执行操作,如添加、修改或删除视图或连接。

属性

全部展开

这个属性是只读的。

视图属性,指定为一个三列的表。这个表中描述的表包含的列。

描述
ViewID 视图标识符指定为一个整数。视图标识符是唯一的一个特定的视图。
AbsolutePose 绝对的观点,作为一个指定rigidtform3d对象。
PointCloud 点云,指定为一个pointCloud对象。

这个属性是只读的。

两两之间的联系观点,指定为四柱表。这个表中描述的表包含的列。每一行对应一个连接。

描述
ViewID1 视图标识符的第一个视图指定为一个唯一的整数。
ViewID2 视图标识符的第二视图指定为一个唯一的整数。
RelativePose 相对构成第二种观点关于第一个视图中,指定为一个rigidtform3d对象。
InformationMatrix 信息矩阵,指定为一个6-by-6矩阵。信息矩阵表示的不确定性测量误差协方差矩阵的逆。

这个属性是只读的。

指定数量的观点,作为一个非负整数。

这个属性是只读的。

连接的数量、指定为一个非负整数。

对象的功能

addView 添加视图,视图集
updateView 更新视图在视图集
deleteView 删除视图的视图集
hasView 检查如果视图在视图设置
addConnection 添加视图在视图之间的连接设置
updateConnection 更新视图的视图集之间的联系
deleteConnection 删除一个视图在视图集之间的联系
hasConnection 检查两个视图在视图集之间的联系
findView 找到视图与视图标识符
findConnection 发现连接与视图相关的标识符
connectedViews 连接视图在视图集
提出了 绝对的姿势与视图在视图集
createPoseGraph 创建构成图
optimizePoses 优化使用相对绝对姿势约束
情节 情节点云视图设置视图和连接

例子

全部折叠

创建一个视图设置测程法。

vSet = pcviewset;

创建一个调速发电机读者读点云。

veloReader = velodyneFileReader (“lidarData_ConstructionRoad.pcap”,“HDL32E”);ptCloud = readFrame (veloReader);

预处理一帧删除地平面和downsample点云。

elevationDelta = 25;gridStep = 0.2;groundPtsIdx = segmentGroundFromLidarData (ptCloud,ElevationAngleDelta = elevationDelta);ptCloud =选择(ptCloud ~ groundPtsIdx,输出=“全部”);ptCloud = pcdownsample (ptCloud,“gridAverage”,gridStep);

首次初始化属性视图。

absPose = rigidtform3d;relPose = rigidtform3d;

第一个视图添加到云观点。

vSet = addView (vSet 1 absPose PointCloud = ptCloud);

初始化一个云地图使用第一个观点。

ptCloudMap = (ptCloud)复印件;skipFrames = 5;prevViewId = 1;prevPtCloud = ptCloud;

循环帧更新测程法和点云映射。

viewId = 6: skipFrames: 40%读点云。ptCloud = readFrame (veloReader viewId);%进行预处理。groundPtsIdx = segmentGroundFromLidarData (ptCloud,ElevationAngleDelta = elevationDelta);ptCloud =选择(ptCloud ~ groundPtsIdx,输出=“全部”);ptCloud = pcdownsample (ptCloud,“gridAverage”,gridStep);%对前一个注册新点云。regGridStep = 5;relPose = pcregisterndt (ptCloud prevPtCloud regGridStep,InitialTransform = relPose);%更新绝对的姿势。absPose = rigidtform3d (absPose。* relPose.A);%添加新的视图和连接到前面的视图。vSet = addView (vSet viewId、absPose PointCloud = ptCloud);vSet = addConnection (vSet prevViewId、viewId relPose);prevPtCloud = ptCloud;prevViewId = viewId;结束

显示视图中设置一个默认的二维视图。

情节(vSet ShowViewIds =“上”)视图(2)

扩展功能

C / c++代码生成
生成C和c++代码使用MATLAB®编码器™。

版本历史

介绍了R2020a

全部展开