主要内容

lidarScan

创建对象来存储二维激光雷达扫描

描述

一个lidarScan对象包含数据为一个二维激光雷达(光探测和测距)扫描。激光雷达扫描激光扫描的二维平面的距离(范围)测量的传感器在特定环境中的障碍角度()。使用这个激光扫描对象作为输入到其他机器人算法等matchScans,controllerVFH(导航工具箱),或monteCarloLocalization(导航工具箱)

创建

描述

扫描= lidarScan (范围,)创建一个lidarScan对象的范围,代表了从激光雷达传感器收集的数据。的范围输入向量的长度相同,直接设置范围属性。

扫描= lidarScan ()创建一个lidarScan对象使用笛卡尔坐标作为输入n2矩阵。的笛卡儿直接从这个输入属性设置。

扫描= lidarScan (scanMsg)创建一个lidarScan对象从一个提升(ROS工具箱)ROS消息对象。

属性

全部展开

范围从激光雷达数据,指定为一个向量在米。这个向量长度一样和向量元素是以米。

数据类型:|

角范围从激光雷达数据,指定为一个向量。这个向量长度一样范围和向量元素是以弧度。在正面角度测量逆时针z设在。

数据类型:|

笛卡尔坐标激光雷达数据,作为一个返回(x, y)矩阵。在激光雷达坐标系,积极的x是向前,积极y是左边。

数据类型:|

激光雷达数据,作为一个标量返回。这个标量也等于的长度范围向量中的行数笛卡儿

数据类型:

对象的功能

情节 显示激光器或激光雷达扫描读数
removeInvalidData 删除无效的范围和角度数据

例子

全部折叠

激光雷达数据指定为向量的范围和角度。这些价值包括传感器范围以外的读数。

x = linspace (2, 2);范围= abs ((1.5)。* x。^ 2 + 5);范围(45:55)= 3.5;角= linspace(-π/ 2,π/ 2,元素个数(范围);

创建一个激光雷达扫描指定范围和角度。所有点的激光雷达扫描的阴谋。

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

删除无效点基于指定的最小值和最大值范围。

minRange = 0.1;maxRange = 7;scan2 = removeInvalidData(扫描,“RangeLimits”,(minRange maxRange]);持有情节(scan2)传说(“点”,“有效点”)

图包含一个坐标轴对象。轴与标题激光雷达扫描对象包含2线类型的对象。这些对象代表所有点,有效的点。

创建一个参考激光雷达扫描使用lidarScan。指定范围和角度作为向量。

refRanges = 5 * 1 (1300);refAngles = linspace(-π/ 2π/ 2300);refScan = lidarScan (refRanges refAngles);

使用transformScan(机器人系统工具箱)函数,生成第二个激光雷达扫描一次x, y偏置的(0.5,0.2)

currScan = transformScan (refScan, 0.5 - 0.2 [0]);

匹配参考扫描,第二扫描估计造成差别。

构成= matchScans (currScan refScan);

使用transformScan函数一致的扫描转换第二扫描帧的第一个扫描使用相对构成不同。情节原始扫描和对齐的扫描。

currScan2 = transformScan (currScan,姿势);次要情节(2,1,1);持有情节(currScan)情节(refScan)标题(“原始扫描”)举行次要情节(2,1,2);持有情节(currScan2)情节(refScan)标题(“对齐扫描”)xlim ([0 5])

图包含2轴对象。坐标轴对象1 2原始扫描标题包含的对象类型。坐标轴对象2标题对齐扫描包含2线类型的对象。

扩展功能

另请参阅

介绍了R2020b