主要内容

insertRay

插入激光扫描观察的射线

描述

例子

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

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

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

例子

全部折叠

创建一个空的二进制占用网格图。

map = binaryoccuancymap (10,10,20);

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

姿态= [5,5,0];range = 3*ones(100,1);Angles = linspace(-pi/2,pi/2,100);Maxrange = 20;

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

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

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

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

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

显示(图)

图中包含一个轴。标题为Binary Occupancy Grid的轴包含一个image类型的对象。

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

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

输入参数

全部折叠

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

车辆的位置和方向,指定为xyθ]向量。载具姿势是一个x而且y带角方向的位置θ(以弧度为单位)从x设在。

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

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

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

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

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

射线的端点,指定为n的-by-2矩阵xy]对在世界坐标系中,其中n的长度范围.所有的射线都是线段,原点在startpt

扩展功能

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

另请参阅

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

主题

R2019b引入