帮助中心帮助中心
沿着射线计算单元指数
[端点,中点]=光线投射(地图,姿态,范围,角度)
[endpoints,midpoints] = raycast(map,p1,p2)
[端点,中点=射线投射(地图,构成,范围,角)返回指定的单元格索引地图对于所有由来自指定的射线所遍历的单元构成在指定的角而且范围值。端点包含光线结束时触碰的所有指标,其中包括所有其他点中点.
[端点,中点=射线投射(地图,构成,范围,角)
端点
中点
地图
构成
范围
角
例子
[端点,中点=射线投射(地图,p1,p2)返回两个指定点之间线段的单元格索引。
[端点,中点=射线投射(地图,p1,p2)
p1
p2
全部折叠
使用raycast方法为光线遍历的所有单元格生成单元格索引。
raycast
创建一个空地图。低分辨率地图用于说明受影响的网格位置。
map = occuancymap (10,10,1);显示(图)
获取射线的中点和端点的网格索引3 [2]来8.5 [8].为这些网格索引设置占用值。中点被视为开放空间。用已占用的观测值更新端点。
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),”或“网格)在
occupancyMap
映射表示,指定为occupancyMap对象。表示传感器所处的环境。对象包含一个矩阵网格,其中的值表示占用该单元格的概率。接近1的值表示单元格包含障碍物的概率很高。接近0的值表示单元未被占用且无障碍物的概率很高。
传感器的位置和方向,指定为[xyθ]向量。传感器姿态为x而且y带角方向的位置θ(以弧度为单位)从x设在。
[xyθ]
射线的范围,指定为以米为单位的标量。
射线的角度,用弧度表示。角度值是对应的范围.
射线的起始点,指定为[xy]双元素向量。点是在世界框架中定义的。
[xy]
射线的端点,指定为[xy]双元素向量。点是在世界框架中定义的。
端点索引,返回为n的-by-2矩阵[我j]对,n是网格索引的个数。端点是范围值在指定位置命中角.当端点位于多个单元格的边界上时,将返回多个索引。
[我j]
中点指数,返回为ann的-by-2矩阵[我j]对,n是网格索引的个数。该参数包括射线相交的所有网格索引,不包括端点。
R2019b引入
Tiene una versión modificada de este ejemplo。¿Desea abrir este ejemplo con sus modificaciones?
Ha hecho clic en unenlace que对应一个este commando de MATLAB:
弹射突击队introduciéndolo en la ventana de commandos de MATLAB。Los navegadores web no permission comandos de MATLAB。
选择一个网站,在可用的地方获得翻译的内容,并查看当地的活动和优惠。根据您所在的位置,我们建议您选择:.
您也可以从以下列表中选择一个网站:
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。
联系当地办事处