激光测距在仓储搬运机器人运动中的应用
激光测距在仓储搬运机器人运动中的应用
作者:孙海 任翠平 卢军 谢苏俊
仓储搬运机器人作业颠覆传统电商物流 中心作业 ”人找货、人找货位” 模式,通过作 业计划调动机器人,实现 “货找人、货位找人” 的模式,整个物流中心库区无人化。 激光雷达 与其他的激光测距传感器相比有着速度快、精度高 的特点, 因而, 激光雷达在机器人的运动中得 到了广泛的应用。SLAM问题的技术关键是在地图未知的情况下, 机器人利用外部环境的 扫描数据确定自身的位姿以及实现对地图的建 立,主要的内容包括:特征提取、地图建立、 自主定位。 本文主要围绕仓储搬运机器人,针 对激光SLAM问题展开研究,设计了一个仓 储搬运机器人激光SLAM 系统,在仓库未知 环境中机器人利用自身装载的激光雷达和运动 实现SLAM。
1低成本激光测距原理
1.1激光测距法
根据激光测距传感器在进行数据采集时所采用的原理不同而进行划分,可以分为激光 脉冲法测距传感器、激光相位法测距传感器以及激光三角测距法传感器。
(1)激光脉冲法测距:激光脉冲法测距
传感器通过对激光脉冲的时间差检测实现距离的测量。激光传感器很难做到厘米级的测量, 它适用千精度要求不高的一些项目。激光相位法测距: 相位法激光测距技术,是对相关频率的激光按照一定的规则进 行幅度调制,调制后的光波在被检测的距离之间传播,经反射后被传感器接受模块所接收。 这种测量方法需要辅助装置进行激光的反射, 不适合应用千室内机器人。
三角测距激光传感器:机器人运动时, 光电检测器接受面上光点的位置也相对的 发生变化,根据光点的变化以及相关的参数,就可以计算出机器人移动的距离。 由于激光发射器发射的光线与物体散射的光线组成了一个 三角形,所以这种方法叫做三角测距法。
1. 2三角测距法原理
根据激光发射光束与物体表面垂线的角 度不同,可以分为斜射式三角测距以及直射式 三角测距两种方式。 斜射式三角测距方式就是 激光发射器的发射光线与物体表面不垂直,存在一定倾斜角度。斜射式三角测距激光传感器的激光路线图。 激光光束经过透镜聚集成为条直线光束后,按照与物体表面的垂线成 的角度方式打在物体的表面,物体表面上的激 光光点散射后,经过透镜聚焦以及对光线的过最后被光电传感器接收转化为电信号。
直射式激光三角激光测距:直射式三角激光测距法同样用透镜去接收在物体表面上的激光光点的散射光线,聚焦后显示在光电传感器 上,直射式三角激光测距法的结构同样需要符合光线成像的前提条件以及Scheimpflug条件。
斜射式三角激光测距法以及直射式三角 激光测距法都是以非接触测量方式对距离进行 测量,并且都具有精度高、速度快和实时好等特点,斜射式三角测距法要求被测物体的表面 具有较好的反射性,对散射光的效果不佳,而 直射式三角测距法只能接收探测光线在物体的 散射光,要求物体具有较好的散光性。 由千直 射式激光测距传感器具有实现简单、误差较小、 体积紧凑等特点,所以工程上经常采用直射式 激光三角法制作激光传感器。
1. 3结构设计
激光测距雷达的最终目的是为了实现对 周围环境一定角度内障碍物距离的测量。 为了 实现高精度的数据采集,本文采取的是利用舵 机加激光测距传感器的方式对环境进行扫描, 本文采用的是具有四级放大功能的舵机, 经过 一级级的力量放大,最终使舵机具有 15KG 的 扭矩,完全可以满足系统承载的需要。
2激光测距雷达EKL-SLAM
2.1激光SLAM设计方案
本文所设计的室内机器人使用激光传雷达实现定位系统的原理图。 本系统使用的是扩 展卡尔曼滤波的方式对定位结果进行融合。 系 统是一个递归循环的过程。 第一步是位姿的预 测,机器入的行走具有高斯误差运动模型,也就是通过里程计获得的数据的误差符合高斯分布, 通过对获取的里程计的数据进行分析计算便可以得到机器人的预测位姿。第二步根据预测的位姿信息, 在栅格地图中找到相匹配的预测观测值, 也就是激光测距雷达即将得到的位 姿信息和环境特征。 第三步 对机器人的观测值和激光测距雷达所获得的观测数据进行匹配,将匹配后的数据进行融合, 更新机器人的栅格地图以及位置信息, 最终实现精确定位。
2.2特征直线提取
激光测距雷达采集到的点是一系列的分散的点, 特征直线的提取就是从这些分散的点中有效的提取出直线。 在本文的绪论章节介绍 了相关的直线提取的 算法——Hough变换和分割迭代。 机器人是在仓库小范围环境运动需要做大量的扫描数据的特点, 本文采用迭代分割法进行特征直线的提取。 激光扫描的点是全都是离散的点, 离机器人较远的地方所对应的相邻扫描点点之间的距离相对比较大。如果 对所有的相邻扫描点采用一个固定的阙值可能会引起分割区域过小的现象,把有效的扫描点当作无效点丢弃, 这样会使有效的地方信息丢失。 对整个离散点集进行划分, 所划分的为区 域可以表示为I;{(x,,y,)Ii= 0,1,2 .... 359}, 假设该划分区域的第一个点是 A(岛,y。)最后一个点是C(x.,y.), 根据一条直线的确定至少需要两个点的数学原理,求出这两个点确定的直线L。依次计算该区域中其他的点到直线L的距离d,, 并找出d, 中的最大值中蚁。假设B点到直线L的距离为最大值dm.,• 如果中赵 大千所设定的阙值<ly., 那么就把这个划分区域以B为分界点分成 (A,.…….,B) 和 (B,…..... ,C) 两部分区域。 对这两个划分依次进行上述处理, 直到每一个划分的所有点到其所对应的直线的距离都小于<ly.为止。
通过上述的操作, 所有的扫描点被分为 了不同的子集, 每一个子集都是一条直线。 在实际的系统中, 误差是存在的, 直线所表示的点不可能全部都在一条直线, 线段的拟合就是要求出一条最大可能表示的直线。
2. 3扩展卡尔曼滤波EKF
扩展卡尔曼滤波利用泰勒公式对系统进行线性化, 然后使用卡尔曼滤波方法对系统状态进行递归估计, 对评估的结果使用测量误差进行校正, 从而使预测结果不断接近真实值。扩展卡尔曼滤波对系统中的高斯噪声有很好的去除效果,被广泛应用千机器人地图的创建、定位和导航等算法。
机器人通过激光雷达实现SLAM算法的过程涉及到很多的方面内容, 主要包括特征直线提取、特征点的生成、 地图的生成、 地图的匹配、 坐标的生成。根据扩展卡尔曼滤波的原理, 利用其运动和观测两个模型把扩展卡尔曼滤波方法应用到SLAM 中。 运用循环迭代进行预测、 观测和更新过程来实现基于扩展卡尔曼滤波的同时定位与地图构建。
3实验与分析
3.1激光雷达测距实验
用stm32开发板的定时器功能以舵机转动F的脉冲控制舵机转动, 为了实验的简便性,用stm32控制舵机转动90次, 统计舵机转过的角度, 实验10次;用实验室的机器人同样做角度的转动试验, 转动的次数为90次, 统 计机器人转过的角度, 实验10次。 激光测距雷达实验采取的方式是每隔10cm移动一次要测量的障碍物, 总共移动的次数为15 次, 测量与障碍物的长度。光电传感器上的光斑经过灰度质心的提取, 获得的像素点坐标。
在Robot Simulation模拟环境中创建的地图环境进行直线的迭代你分割实验。 试验中机器人利用激光测距雷达对环境进行扫描。 模拟试验中机器人转动的角度为Io'总共得到了 376个扫描点。 把扫描点进行区域以及点集的划分形成数据图。 对扫描点按迭代分割算法计算出特征直线, 输出的数据图可以看到, 直线的迭代分割拟合算法能够准确有效的的从机器人对环境的扫描点中提取出特征直线,达到了本文设计系统的要求。
3. 2激光SLAM的仿真设计
本文使用的模拟系统是Robot Simulation 实验平台,该实验平台是一个室内移动机器人仿真系统。RobotSimulation模拟环境是基于 Python语言设计而成的。RobotSimulation根据Python的特性把机器人进行了封装, 对各种传感器模块也进行了封装留下了接口,根据实验的需要可以动态的添加所需的传感器。
实验中机器人激光测距雷达在机器人每走O.Sm 进行一次数据的扫描, 障碍物的大小设置为大千等于20cm。机器人在位姿为(0, 0)的时刻建立坐标轴系, 以当前机器人运动指向的方向为x轴,以垂直千x轴方向为y轴,建立坐标系, 这个坐标系就是全局坐标, 机器人利用舵机以尸的夹角进行数据扫描。 当机器人运动到环境中的其他位置进行扫描时, 以机器人当前运动的方向指向为x轴, 以垂直于x轴方向为y轴建立坐标系, 经过机器人在室内的扫描, 特征地图的匹配, 以及扩展卡尔曼滤波对激光测距雷达以及里程计数据的融合,最终得到有数据的地图。 在上述实验过程中,室内机器人从初始位置 CO, O, 0) 出发后,激光测距雷达不断地在运动过程中提取周围环境信息并结合里程计信息对自身的位姿进行预测和更新, 实现本文所设计的算法,也直接证明实验结果的正确性, 并在一定程度上验证本算法的可靠性。
4结论
仓储搬运机器人在未知环境中的同时定位与地图构建是机器人技术研究领域的一个重要方向, 近年来引起了国内外学者的广泛关注。 激光测距雷达由千具精确度高、体积小以及能够提供准确的环境信息的优势, 被越来越多的应用于机器人同时定位与地图构建的算法中。 本文通过分析机器人同时定位与地招构建技术的研究现状, 结合项目的实际需求, 设计一种室内机器人激光测距同时定位与地图构建系统并对其进行仿真测试。
本文章转自爱学术,如有侵权,请联系删除