主要内容

insertray

从激光扫描观察插入射线

描述

例子

insertRay (地图构成扫描maxrange在占用网格中插入一个或多个激光雷达扫描传感器观测值,地图,使用输入Lidarscan.目的,扫描,获得射线端点。如果输入扫描范围以下,则光线端点被视为可用空间maxrange.当被占用时观察到的细胞被更新为0.7。射线上的所有其他点都被视为无障碍,并以0.4的观测值进行更新。端点之上maxrange不更新。值将被忽略。这种行为与反向传感器模型相关。

insertRay (地图构成范围角度maxrange将范围读数指定为输入定义的向量范围角度

insertRay (地图startpt端点在从起点到终点的线段之间插入观察值。端点以0.7的概率观测值更新。沿着线段的单元格被更新为0.4。

insertRay (___invmodel.在两个元素向量中插入具有更新概率的光线,invmodel.,这相当于无障碍和占位观测。使用前面的任何语法来输入射线。

例子

全部收缩

创建空占用网格图。

地图= occupancyMap(10、10、20);

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

构成= (5 5 0);范围= 3 * 1 (100 1);角= linspace(-π/ 2π/ 2100);maxrange = 20;

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

扫描= lidarScan(范围、角度);

将激光扫描数据插入占用映射。

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

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

显示(图)

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

检查车辆正前方位置的占用情况。

getOc​​upancy(地图,[8 5])
ANS = 0.7000.

添加第二次读取并将更新视图到占用值。额外的读数增加了读数的置信度。自由和占用的值变得更加明显。

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

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

getOc​​upancy(地图,[8 5])
ans = 0.8448.

输入参数

全部收缩

映射表示,指定为occupancyMap对象。这个对象表示车辆的环境。对象包含一个矩阵网格,其值表示该单元格占用的概率。接近1的值表示该单元格包含障碍的高概率。接近0的值表示该单元未被占用和无障碍物的高概率。

车辆的位置和方向,指定为xyθ向量。车辆的姿态是xy角度取向的位置θ(以弧度为单位)x设在。

激光雷达扫描读数,指定为Lidarscan.对象。

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

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

激光距离传感器的最大距离,指定为单位为米的标量。范围值大于或等于maxrange在射线的整个长度上都被认为是自由的,直到maxrange

射线的起始点,指定为二元向量,xy,在世界坐标系中。所有的射线都是起源于这一点的线段。

指定为射线的端点n- 2矩阵xy在世界坐标框架中,在哪里n为长度范围或者角度.所有的射线都是起源于点的线段startpt

反传感器模型值,指定为一个二元向量,对应于无障碍和被占领的概率。沿着射线的点根据反传感器模型和指定的距离读数进行更新。范围值被忽略。范围值大于maxrange不更新。看到传感器逆模型

更多关于

全部收缩

传感器逆模型

逆传感器模型确定从距离传感器读取到地图中的障碍物的光线值如何设置。属性中指定空闲位置和已占用位置的不同概率,可以自定义此模型invmodel.争论。范围值被忽略。范围值大于maxrange不更新。

包含距离读数的网格位置用已占用概率更新。阅读前的位置用自由概率更新。读取后的所有位置不更新。

介绍了R2019b