摘要
自20世纪60年代以来,机器人的各项相关技术取得了巨大的进步。而就扫地机器人而言,扫地机器人受到越来越多家庭的欢迎,国外先进的扫地机器人主要采用了视觉导航技术,而国内在基于视觉导航机器人的应用上技术差距较大。本文在低成本的扫地机器人平台上,设计和实现了一套基于视觉的自主导航系统,主要工作包括:
1.分析扫地机器人自主导航的功能要求,设计了四个功能模块
2.建立运动模型,对系统各个子模块进行设计推导
3.硬件与整机设计
4.功能测试与成果功能展示
第一章.研究背景与意义
区分扫地机器人智能与否的一个重要判断条件为扫地机器人是否具备自主导航能力:无自主导航的扫地机器人一般通过随机游走实现对环境的清扫,工作效率较低;具备导航能力的扫地机器人在清扫时通过对环境的感知实现更加高效自主的规划式清扫。
主流扫地机器人主要有两类自主导航方式:激光雷达导航和视觉导航。
其中激光雷达导航相关技术研宄起步较早,优势:
1.因其消耗的计算资源较少;
2.应用于嵌入式平台相对简单;
目前国内外均有相关扫地机器人产品,但激光雷达的硬件成本较高且存在安全隐患,不利于普及应用。(激光可能受到干扰)
视觉导航系统优势:
1.在于视觉传感器能获取比激光雷达更加丰富的环境信息;
2.且成本低很多;
缺点: 1.计算资源大;
2.应用到低成本的嵌入式平台难度较大;
国外在扫地机器人的视觉导航方面的研究起步早,己有多款产品采用了视觉导航技术。而国内扫地机器人厂商在视觉导航领域的研究才刚起步,采用视觉导航技术的相关产品十分罕见,与国外尚存在一定的差距。
第二章. 扫地机器人各模块综述
其中:
1.环境观测与地图构建负责:获取环境信息,构建环境地图;
2.自主定位:机器人对自己在世界坐标系下所处位置和姿态进行估计;
3.运动控制:作为控制部分,实现对机器人运动的控制;
4.路径规划:根据信息生成机器人的无碰撞路径,实现对工作空间的全覆盖;
第三章.定位与地图构建模块搭建
环境观测与地图构建模块的搭建(SLAM前端)
前端传感器对比
传感器类型 测量范围 精度 数据处理代价 说明
接触式传感器
无距离信息 / 低 开关式传感器
感应式传感器 几厘米 好 低 用于近距离测试
电容式传感器 无距离信息 / 低 用于极近距离测试
超声测试 几米 一般 低 受环境影响较大
光电式测距 几十厘米 中等 低 /
激光测距 几米 好 低 体积大、成本高
微波/无线电测距 几公里 不定 低 用于室外远距离测试
双目视觉测试 不定 好 高 成本高,计算复杂
单目视觉测距 不定 较好 较高 /
环境建图类型对比
地图形式 优点 缺点
栅格地图 对环境表达能力强 计算和储存资源大
特征地图 计算存储资源要求不高 环境表达能力较弱
拓扑地图 计算存储资源要求不高 环境表达能力弱
地图选择:
扫地机器人构建地图的主要目的是为路径规划提供全局的环境信息,而扫地机器人路径规划的任务是工作空间的全覆盖,使用特征地图或者拓扑地图难以完成全覆盖的任务,由于栅格地图能较好地表示环境信息,能够完成全覆盖任务,因此采用栅格地图。
扫地机器人的机身尺寸为几十厘米,栅格地图尺寸为几厘米时分辨率己足够路径规划使用,而且扫地机器人工作空间大小有限(通常为几十平方米到几百平方米),栅格地图的计算量和存储量可以被当前主流的嵌入式平台接受。扫地机器人对障碍物的测距精度应该高于栅格分辨率,即要求测距精度至少为厘米级。
前端传感器选择
激光雷达测距因其测距范围大、精度较高,被较早地应用于扫地机器人,但激光雷达价格昂贵,应用于家庭环境还可能存在安全隐患。项目组采用单目视觉测距,采用线结构光视觉测距传感器作为主要的环境观测传感器。该传感器由一个低成本摄像头和一个红外线发射器(发射一字型红外线)组成,测距原理为三角测距原理。
该传感器能够对摄像头视场范围内的障碍物进行测距,在50cm范围内,测量误差小于1cm,能满足扫地机器人障碍物探测精度要求。相比于昂贵的激光测距仪,其成本低廉、体积小、重量轻。但该线结构光传感器存在以下缺点:
1.测量精度随着障碍物距离的增加而急剧降低,远距离处红外线光强不足,难以检测,(可靠测量范围为50cm);
2.由于摄像头的视场有限,该传感器存在探测盲区(需要其他传感器配合)
其他传感器:
两个红外测距传感器分别被安装在机身两侧,在机器人运动过程中实现对机器人两侧障碍物的探测。并且为扫地机器人安装碰撞检测、跌落检测和悬空检测传感器,这三类危险状态的检测均使用简单的开关类型传感器。
定位描述
惯性定位 完全自主的定位方式,优点再于:
1.自主性高,能不依赖任何外部信息即可完成定位;
2.能提供较全面的定位导航参数(加速度、速度、位置和姿态等);
3.抗干扰能力强,适用于各类移动机器人;
缺点:
定位精度会随着时间而降低。(短时精度高,但定位误差会随着时间的增长而不断累积)。
GPS定位
能够全天候实时提供载体的三维位置和速度信息,且误差不随时间累积,是一种高精度的导航和定位系统。缺点再于:
GPS信号功率很低,机器人在室内工作时信号被遮,无法完成室内定位。
路标定位
通过识别外部环境中己知固定位置的路标特征来推算机器人当前位置,定位误差不随时间累积,但需要额外改造环境。
天花板视觉定位
基本原理:是提取连续两帧天花板图像中的特征点,对特征点进行匹配,通过两帧图像中相同特征点来计算机器人在两帧之间的平移和旋转,据此计算得到机器人的位姿。优点再于:
不易产生累计误差
缺点:受环境影响大、实时性差等缺点(天花板特征不丰富时,天花板视觉定位效果不友好)
分析:
激光雷达定位和视觉定位由于不必在环境中增加额外的硬件而成为两种主流的定位方式。长时间工作时,二者的误差比惯性定位小。激光雷达定位优点在于精确、快速、计算量小,但激光雷达体积较大、功耗高且价格昂贵;视觉传感器具有价格低、体积小重量轻、信息丰富等优点,但计算量大,对环境依赖强,容易受到干扰。组合定位兼备各子系统的优点,使组合系统具有许多单独的定位系统所不具备的优越性能。
综合考虑:
使用视觉定位可以校正惯性定位的累积误差,而惯性定位的自主性高、实时性好的特点可以弥补视觉定位的易受环境影响、实时性差的缺点,因此,扫地机器人的定位解决方案为:天花板视觉定位和惯性定位相结合,以视觉定位保证定位精度,以惯性定位保证定位的自主性和实时性。
第四章.路径规划模块搭建
路径规划指移动机器人按照某一性能指标(如距离、时间、能量等)搜索一条从起始状态到目标状态的最优或次优路径。不同于常规的点到点规划,扫地机器人的路径规划要求遍历工作空间中的无障碍物区域,属于全覆盖路径规划。
根据环境信息是否己知,全覆盖路径规划分为离线规划和在线规划。离线规划依赖静态的环境信息,要求环境已知,然而充分己知环境信息在许多情况下是难以做到的。在线规划并不完全依赖环境信息,而是利用传感器的实时观测信息完成规划,因此在线全覆盖算法又被称为基于传感器的全覆盖算法。
常见的全覆盖路径规划算法有基于栅格的方法和单元分解法。扫地机器人工作环境通常是未知、变化的,离线规划(全局规划)要求的环境信息己知这一条件通常难以做到。而基于传感器信息的在线规划(局部规划)往往只能完成局部区域的全覆盖,无法依据全局信息完成所有区域的全覆盖。综合考虑局部规划和全局规划的优势和不足,扫地机器人采用局部规划与全局规划相结合的方法实现对工作空间的全覆盖。
局部规划生成“弓”字形路径,并根据传感器信息进行实时避障,实现对局部区域的全覆盖。在执行“弓”字形运动过程中,扫地机器人不断获取环境信息,逐步完善栅格地图。局部规划完成局部区域的全覆盖后,难以继续工作,此时机器人根据部分环境己知的栅格地图搜索尚未覆盖的区域(目标区域),全局规划基于当前栅格地图规划一条到达下一目标区域的安全路径,扫地机器人沿着该路径运动到下一区域继续执行局部规划。
第五章.运动控制模块
轮式移动机器人的反馈控制根据控制目标的不同,分为三类:轨迹跟踪、道路跟随以及点镇定。
轨迹跟踪指机器人从给定的初始状态出发,到达目标状态,并在运动过程中跟随给定的参考轨迹,运动过程依赖于时间。
道路跟随指机器人从给定初始状态出发,到达目标状态,并在运动过程中跟随给定的几何路径,但与轨迹跟踪不同,道路跟随的运动过程独立于时间。
点镇定指机器人从初始状态开始,到达并保持在设定的目标状态。
运动控制模块与路径规划模块紧密相关,任务是通过调节驱动轮速度来控制机器人沿着设定的路径运动,对时间无严格约束,是典型的道路跟随问题。扫地机器人运动控制的关键在于对驱动轮速度的控制。PID控制是一种基于经典控制理论的控制算法,也是最早发展起来的一种用于工业控制的控制算法。
PID控制具有结构简单、稳定性高、鲁棒性好、调整方便、易于工程实现等优点,是工业控制的主要技术之一,被广泛应用于工业过程控制。驱动轮速度的调节采用PID控制器。由于扫地机器人路线为“弓”字形,路径规划模块生成的路径为折线,而不会是光滑的曲线,因此运动控比可以通过路径分解进行简化。 在基本运动的执行过程中,将定位模块输出的位姿与目标路径比较,进行反馈调节,在更高层次上确保机器人行驶在设定的路径上。据此,扫地机器人的运动控制模块可以进一步划分为两部分:高层次的路径跟随子模块和低层次的运动执行子模块。路径跟随子模块根据路径规划模块设定的目标位姿与定位模块输出的机器人位姿生成运动指令;运动执行子模块利用PID控制器执行路径跟随子模块生成的运动指令。
综上所述,扫地机器人运动控制模块的解决方案为:根据扫地机器人路径的特殊性,通过路径分解和运动分解将较复杂的道路跟随问题简化为基本运动的执行。高层次的路径跟随子模块依据定位模块反馈的机器人位姿生成运动指令,低层次的运动执行子模块则利用PID控制器执行运行指令。
第六章.理论成品的性能指标估计
参照目前大多数扫地机器人的尺寸,扫地机器人硬件平台应为直径30cm至40cm之间的圆形平台。根据扫地机器人应用场景和《机器人产业发展规划(2016 一2020年)》规定的服务型机器人定位要求,要求扫地机器人的定位误差要求小于100mm。从安全角度考虑,扫地机器人的最大运动线速度应小于30cm/s,旋转角速度小于90度/秒。执行直线运动时偏航角误差小于1度(即直线运动lm时横向偏移不超过2cm),执行旋转运动时角度控制误差小于5度。
尽可能高的覆盖率是扫地机器人导航的主要目标,2018年04月中国消费者 协会给出了对市面上20种扫地机器人的评测结果,其中扫地机覆盖率从29.63%到93.34%不等。本文设计的扫地机器人导航系统要求以完成功能需求为首要任务,在完成功能前提下,覆盖率尽可能达到90%以上。