主要内容

insertRay

插入激光扫描观察的射线

描述

例子

insertray(地图姿势扫描maxrange.在占用网格中插入一个或多个LIDAR扫描传感器观察,地图,使用输入lidarScan对象,扫描,来得到射线端点。如果输入扫描范围如下,射线端点被认为是空闲空间maxrange..以占用观察到的细胞被更新,观察0.7。沿着光线的所有其他点被视为障碍物,并在观察0.4的观察中进行更新。上面的终点maxrange.没有更新。值忽略。该行为与逆传感器模型相关联。

insertray(地图姿势范围maxrange.指定由输入定义的矢量范围读数范围

insertray(地图start终点将线段之间的观察从起点到终点插入。终点被更新,概率观察为0.7。沿线段的细胞被更新,观察为0.4。

insertray(___invModel用更新后的概率插入两元素向量,invModel,这对应于无障碍和占用观察。使用以前的任何语法来输入光线。

例子

全部折叠

创建一个空的占用网格地图。

地图=占领扬声器(10,10,20);

输入车辆的姿态,距离,角度和激光扫描的最大范围。

姿势= [5,5,0];范围= 3 *那些(100,1);角度= Linspace(-PI / 2,PI / 2,100);maxrange = 20;

创建一个lidarScan对象具有指定的范围和角度。

扫描= LIDARSCAN(范围,角度);

将激光扫描数据插入入住地图。

insertRay(地图,姿势,扫描,maxrange);

显示地图,以查看插入激光扫描的结果。

显示地图)

图包含轴。具有标题占用网格的轴包含类型图像的对象。

直接在车辆前检查点的入住。

getOccupancy(地图,5 [8])
ans = 0.7000

添加第二个读数并查看占用值的更新。额外的阅读增加了阅读的信心。自由和占领的价值观变得更加明显。

insertRay(地图,姿势,扫描,maxrange);显示地图)

图包含轴。具有标题占用网格的轴包含类型图像的对象。

getOccupancy(地图,5 [8])
ans = 0.8448

输入参数

全部折叠

地图表示,指定为a占领子目的。该对象表示车辆的环境。该对象包含一个矩阵网格,其值表示该单元的占用概率。接近1的值表示单元格包含障碍的高概率。接近0的值表示细胞未占用和障碍物的高概率。

车辆的位置和方向,指定为[Xyθ.]向量。车辆姿势是一个Xy角方位位置θ.(在弧度中)从中测量X-轴。

LIDAR扫描读数,指定为alidarScan目的。

扫描数据的范围值,指定为以米为单位的元素向量。这些量程值是给定时到传感器的距离.向量的长度必须与对应向量的长度相同向量。

扫描数据的角度值,指定为以弧度测量的元素向量。这些角值对应于给定的值范围.向量的长度必须与对应向量的长度相同范围向量。

最大范围的激光范围传感器,指定为米的标量。范围值大于或等于maxrange.被认为是沿着整个射线的整个长度,最多maxrange.

光线的开始点,指定为两个元素矢量,[Xy],在世界坐标框架中。所有光线都是源自此时的线段。

光线的端点,指定为一个N2的矩阵[Xy]在世界坐标系中N是的长度范围.所有光线都是发起的线段start

逆传感器模型值,指定为与无障碍和占用概率相对应的双元素向量。根据逆传感器模型和指定的范围读数更新沿线的点。忽略范围值。范围值大于maxrange.没有更新。看逆传感器模型

更多关于

全部折叠

逆传感器模型

传感器逆模型确定如何从范围传感器读取到地图中的障碍物的射线设置值。您可以通过针对占用位置的不同概率指定不同的概率来自定义此模型invModel论点。忽略范围值。范围值大于maxrange.没有更新。

包含范围读数的网格位置以占用概率更新。阅读前的位置以自由概率更新。阅读后的所有位置都不更新。

在R2019B中介绍