主要内容

insertRay

插入激光扫描观察的射线

描述

例子

insertRay (地图构成扫描maxrange在占用网格中插入一个或多个激光雷达扫描传感器观测,地图,使用输入lidarScan(机器人系统工具箱)对象,扫描,得到射线端点。端点位置用已占用值更新。如果范围大于maxrange,射线端点被认为是自由空间。射线上的所有其他点都被认为是无障碍的。

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

insertRay (地图startpt端点在从起点到终点的线段之间插入观察值。端点更新为已占用空间,线段上的其他点更新为空闲空间。

例子

全部折叠

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

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

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

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

创建一个lidarScan对象,使用指定的范围和角度。

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

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

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

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

显示(图)

图中包含一个axes对象。标题为二进制占用网格的axis对象包含一个类型为image的对象。

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

getOccupancy(地图,5 [8])
ans =逻辑1

输入参数

全部折叠

映射表示,指定为binaryOccupancyMap对象。这个对象代表机器人的环境。该对象包含一个矩阵网格,其中的二进制值表示障碍为真正的1)和免费地点0).

车辆的位置和方向xyθ向量。车辆的姿态是x而且y带角朝向的位置θ(以弧度为单位)从x设在。

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

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

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

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

射线的起始点,指定为双元素向量,xy,在世界坐标系中。所有的射线都是从这一点出发的线段。

射线的端点,用n2的矩阵xy对在世界坐标系中,其中n的长度范围.所有的射线都是线段,原点在startpt

扩展功能

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

版本历史

介绍了R2019b

另请参阅

||(机器人系统工具箱)|(机器人系统工具箱)

主题

Baidu
map