主要内容

raycast

沿着射线计算单元指数

描述

端点中点=射线投射(地图构成范围返回指定的单元格索引地图对于所有由来自指定的射线所遍历的单元构成在指定的而且范围值。端点包含光线结束时触碰的所有指标,其中包括所有其他点中点

例子

端点中点=射线投射(地图p1p2返回两个指定点之间线段的单元格索引。

例子

全部折叠

使用raycast方法为光线遍历的所有单元格生成单元格索引。

创建一个空地图。低分辨率地图用于说明受影响的网格位置。

map = occuancymap (10,10,1);显示(图)

图中包含一个轴对象。标题为Occupancy Grid的axes对象包含一个image类型的对象。

获取射线的中点和端点的网格索引3 [2]8.5 [8].为这些网格索引设置占用值。中点被视为开放空间。用已占用的观测值更新端点。

P1 = [2 3];P2 = [8.5 8];[endPts,midPts] = raycast(map,p1,p2);setOccupancy(地图,midPts, 0(长度(midPts), 1),“网格”);setOccupancy(地图、endPts(长度(endPts), 1),“网格”);

在地图上画出原始射线。该线所接触的每个网格单元格都会被更新。起点重叠多个单元格,该线触及某些单元格的边缘,但所有单元格仍在更新。

显示(map)Plot ([p1(1) p2(1)],[p1(2) p2(2)],“- b”“线宽”, 2)情节(p2 (1), p2 (2),”或“网格)

图中包含一个轴对象。标题为“占用网格”的坐标轴对象包含3个类型为image、line的对象。

输入参数

全部折叠

映射表示,指定为occupancyMap对象。表示传感器所处的环境。对象包含一个矩阵网格,其中的值表示占用该单元格的概率。接近1的值表示单元格包含障碍物的概率很高。接近0的值表示单元未被占用且无障碍物的概率很高。

传感器的位置和方向,指定为xyθ向量。传感器姿态为x而且y带角方向的位置θ(以弧度为单位)从x设在。

射线的范围,指定为以米为单位的标量。

射线的角度,用弧度表示。角度值是对应的范围

射线的起始点,指定为xy双元素向量。点是在世界框架中定义的。

射线的端点,指定为xy双元素向量。点是在世界框架中定义的。

输出参数

全部折叠

端点索引,返回为n的-by-2矩阵j对,n是网格索引的个数。端点是范围值在指定位置命中.当端点位于多个单元格的边界上时,将返回多个索引。

中点指数,返回为ann的-by-2矩阵j对,n是网格索引的个数。该参数包括射线相交的所有网格索引,不包括端点。

版本历史

R2019b引入

另请参阅

主题