主要内容

raycast

沿着射线计算细胞指数

自从R2019b

描述

例子

(端点,中点)= raycast (地图,构成,范围,)返回指定的细胞指数地图所有的细胞都遍历的一线来自指定的构成在指定的范围值。端点包含所有指标感动的光线,包括在与所有其他点中点

(端点,中点)= raycast (地图,p1,p2)返回的细胞指数两个指定点之间的线段。

例子

全部折叠

使用raycast函数为所有细胞产生细胞指数遍历的射线。

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

地图= binaryOccupancyMap (10 10 1);显示(图)

图包含一个坐标轴对象。坐标轴对象与标题二进制占用网格,包含X [m], ylabel Y(米)包含一个类型的对象的形象。

网格索引的一线的中点和终点3 [2]8.5 [8]。设置为这些网格占用值指标。中点作为开放空间。更新终端与一个被占领的观察。

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

最初的射线在地图的阴谋。每个网格单元感动更新。起点重叠多个单元和线接触某些细胞的边缘,但是所有的细胞仍然更新。

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

图包含一个坐标轴对象。坐标轴对象与标题二进制占用网格,包含X [m], ylabel Y [m]包含3类型的对象形象,线。一个或多个行显示的值只使用标记

输入参数

全部折叠

地图表示,作为指定binaryOccupancyMap对象。这个对象表示机器人的环境。对象包含了一个矩阵网格与二进制值表明障碍真正的(1)和自由的位置(0)。

传感器的位置和姿态,指定为一个(xyθ]向量。一个传感器构成xy位置角定位θ(弧度)测量的x设在。

各种射线,指定为一个标量米。

射线角,指定为一个标量的弧度。对应的角度值范围

起点的射线,指定为一个(xy]双元素向量。点是关于world-frame定义。

射线的端点,指定为一个(xy]双元素向量。点是关于world-frame定义。

输出参数

全部折叠

终点指标,作为一个返回n2的矩阵(j]对,n是网格的数量指标。的端点范围在指定的值。多个指标时返回的端点位于多个单元的边界。

中点指标,作为一个返回n2的矩阵(j]对,n是网格的数量指标。这个论点包括所有网格索引射线相交,不包括端点。

扩展功能

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

版本历史

介绍了R2019b

另请参阅

||(导航工具箱)