主要内容

显示

显示三维占用图

描述

例子

=显示(map3D显示占用地图,map3D,在当前轴中,轴标签表示世界坐标。

函数使用3-D体素显示占用值大于的区域的3-D环境OccupiedThreshold属性的值。map3D.3d图的颜色严格以高度为基础。

例子

显示(map3D名称=值)使用一个或多个名称-值参数指定选项。

例子

全部折叠

导入三维占用图。

map3D = importtoccupancymap3d (“citymap.ot”
map3D = occuancymap3d with properties: probitys饱和度:[1.0000 -03 0.9990]分辨率:1占用阈值:0.6500 FreeThreshold: 0.2000

以1米为半径对被占领区域进行充气。显示地图。

充气(map3D, 1)显示(map3D)

找到射线和已占用地图单元格的交点。

numRays = 10;angles = linspace(-pi/2,pi/2,numRays);方向= [cos(角度);罪(角度);0 (1, numRays)];sensorPose = [55 40 1 1 0 0 0];Maxrange = 15;[intersectionPts,isOccupied] = rayIntersection(map3D,sensorPose,方向,maxrange)
intersectionPts =10×355.0000 32.0000 1.0000 57.9118 32.0000 1.0000 61.7128 32.0000 1.0000 67.9904 32.5000 1.0000 69.0000 37.5314 1.0000 69.0000 42.4686 1.0000 67.9904 47.5000 1.0000 64.6418 51.4907 1.0000 58.2757 49.0000 1.0000 55.0000 49.0000 1.0000
isOccupied =10×11 1 1 -1 1 1 -1 1 1 1

从姿态中绘制交点和射线。

持有plotTransforms (sensorPose (1:3), sensorPose(4:结束),...“FrameSize”5,“MeshFilePath”“groundvehicle.stl”%车辆传感器姿态i = 1:numRays plot3([sensorPose(1),intersectionPts(i,1)],...[sensorPose (2), intersectionPts(我,2)),...[sensorPose (3), intersectionPts(我,3)),“- b”%图射线如果isOccupied(i) == 1 plot3(intersectionPts(i,1),intersectionPts(i,2),intersectionPts(i,3),“* r”%交点结束结束

图中包含一个轴对象。标题为Occupancy Map的axes对象包含22个类型为patch、line的对象。

创建一个三维占用地图,并在占用地图中设置25个随机坐标。

map = occuancymap3d;rng (0);I = 1:25 pt =(兰特(1,3)-.5)*20;map.setOccupancy (pt, 1);结束

使用默认搜索深度值可视化体素,16

显示(map)轴平等的网格

以1为单位减少搜索深度,并注意到随着搜索深度的减少,分辨率也会下降。

显示(地图,SearchDepth = 15)轴平等的网格

显示(地图,SearchDepth = 14)轴平等的网格

显示(地图,SearchDepth = 13)轴平等的网格

输入参数

全部折叠

3-D占用图,指定为occupancyMap3D对象。

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字在报价。

例子:显示(地图,SearchDepth = 14)

用于绘制地图的轴,指定为和UIAxes对象。看到uiaxes

体素搜索深度,指定为范围[016],它决定了地图显示的细节级别。最大深度为16,对应于边长等于的体素1 /地图。决议.在最大深度之上的每一层都是最小体素大小的两倍。

输出参数

全部折叠

映射的轴句柄,返回为UIAxes对象。看到uiaxes

版本历史

R2019b引入

Baidu
map