主要内容

rangeSensor

模拟距离方位传感器读数

自从R2020b

描述

rangeSensorSystem object™是一种距离方位传感器,能够根据给定的传感器姿态和占用图输出距离和角度测量值。距离方位读数是基于占用地图上的障碍物。

要使用该对象模拟距离方位传感器:

  1. 创建rangeSensor对象并设置其属性。

  2. 调用带参数的对象,就像调用函数一样。

要了解有关System对象如何工作的更多信息,请参见什么是系统对象?

创建

描述

例子

rbsensor= rangeSensor返回一个rangeSensor系统对象,rbsensor。该传感器能够基于传感器姿态和占用地图输出范围和角度测量。

rbsensor= rangeSensor (名称,值使用一个或多个名称-值对设置传感器的属性。未指定的属性具有默认值。将每个属性名称用引号括起来。

属性

全部展开

除非另有说明,否则属性是nontunable,这意味着在调用对象之后不能更改它们的值。对象在调用时被锁定,而释放函数将它们解锁。

如果一个属性可调,您可以随时更改其值。

有关更改属性值的详细信息,请参见利用系统对象在MATLAB中进行系统设计

最小和最大可探测范围,指定为1 × 2正实值向量。单位是米。

例子:15 [1]

可调:是的

数据类型:|

最小和最大水平检测角,指定为1 × 2实值向量。单位是弧度。

例子:(-π/ 3π/ 3)

数据类型:|

水平角度读数的分辨率,指定为正标量。分辨率定义了两个连续传感器读数之间的角度间隔。单位是弧度。

例子:0.01

数据类型:|

距离噪声的标准偏差,用正标量表示。将距离噪声建模为具有指定标准差的零均值白噪声过程。单位是米。

例子:0.01

可调:是的

数据类型:|

水平角噪声的标准偏差,用正标量表示。将距离噪声建模为具有指定标准差的零均值白噪声过程。单位是弧度。

例子:0.01

可调:是的

数据类型:|

该属性是只读的。

传感器每个姿态的输出读数数,指定为正整数。这个属性取决于HorizonalAngleHorizontalAngleResolution属性。

数据类型:|

使用

描述

(范围= rbsensor()构成地图从二维姿态信息和地面真值图返回距离和角度读数。

输入参数

全部展开

传感器在二维地图中的姿态,指定为N- × 3实值矩阵,其中N是模拟传感器的姿势数。矩阵的每一行对应传感器的位姿,其顺序为[xyθ].xy表示传感器在地图框中的位置。的单位xy单位是米。θ传感器的航向角是否相对于正数x-地图框架的方向。的单位θ单位是弧度。

地基真值图,指定为occupancyMap(导航工具箱)或者一个binaryOccupancyMap(导航工具箱)对象。为occupancyMap输入,距离方位传感器认为单元格已被占用,如果单元格的占用概率大于由OccupiedThreshold(导航工具箱)占用图的属性。

输出参数

全部展开

量程读数,指定为anR——- - - - - -N实值矩阵。N是传感器被模拟的姿势的数量,和R是传感器每个姿态的传感器读数数。R等于?的值NumReadings财产。

角度读数,用an表示R- × 1实值向量。R是传感器每个姿态的传感器读数数。R等于?的值NumReadings财产。

对象的功能

要使用对象函数,请将System对象指定为第一个输入参数。例如,释放system对象的系统资源obj,使用以下语法:

发行版(obj)

全部展开

一步 运行系统对象算法
克隆 创建重复的系统对象

例子

全部折叠

创建一个距离方位传感器。

rbsensor = rangessensor;

指定传感器的姿态和地面真值图。

truePose = [0 0 pi/4];trueMap = binaryOccupancyMap(eye(10));

生成传感器读数。

[ranges, angle] = rbsensor(truePose, trueMap);

使用以下方法可视化结果lidarScan

scan = lidarScan(范围,角度);图绘制(扫描)

图包含一个轴对象。标题为LiDAR Scan, xlabel X, ylabel Y的坐标轴对象包含一个仅使用标记显示其值的直线对象。

扩展功能

版本历史

在R2020b中引入

另请参阅

(导航工具箱)|(导航工具箱)|