版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于激光导航的移动机器人的导航算法分析摘要近些年来人工智能的发展方兴未艾,尤其是在机器人方面,在各个领域有着十分光明的前景,许多公司和科研人员也都投身于这个行业之中,而在现在移动机器人的控制算法领域中,存在许多问题,包括定位建图,路径规划等关键问题,其中SLAM问题解决的是构图定位,也是此课题的基石。传统一般用来定位的传感器有多种选择,如GPS、相机等等,而在本次课题中则选择基于激光传感器进行数据获取,而后通过转化为SLAM问题实现地图构建和自身定位。在此基础上,本课题在基于激光导航的移动机器人的基础上进一步研究路径规划这一热点问题,也就是如何使移动机器人在构建出地图后能够尽快而不触到建筑物的方法,以windows为平台,在VS2019软件下进行仿真,具体研究内容如下:在全局规划A*算法的基础上研究并选择一种局部避障方法:动态窗口法,并提出一种人工势场方法作为比较。关键词:移动机器人;激光;SLAM;路径规划目录TOC\o"1-3"\h\u3577第一章绪论 第一章绪论1.1研究背景及意义近些年以来,随着现代科学技术发展的蒸蒸日上,人工智能这一以前让大家陌生的领域也变得备受瞩目,而在人工智能领域下的机器人方面是应用比较普遍和重要的。随着研究技术的日臻成熟,机器人在制造业,服务领域,医疗教育,自动驾驶,军事航天等多种领域中已经广泛使用并且在一些方面已经取得了不可替代的地位,如图1-1,1-2所示就是一些常用的机器人。其中能够自主移动的自主移动机器人在近些年就更加热门和使用广泛了,在大型工厂和医院等地,需要自主移动机器人进行清洁作业和维修工作;在餐厅酒店等服务场所,机器人则可以被当作一个“机器服务员”为客人点餐和提供服务,除了以上用途之外,自主移动机器人还可以在一些严苛场景中进行搬运,勘探工作,功能不可不谓之强大。以上的例子也表明了现在机器人的使用场景不再局限于以前的工用,而是逐步的走入了大家的生活之中,让人们也感受到了这项科技的便利之处,所以移动机器人未来的发展是潜力十足的。图1-1智能巡检机器人图1-2小米扫地机器人其实最早出现的自主移动机器人是shakey[3],自身带有传感器,在研制过程中还产生了两种比较常用的导航算法:A*算法和可视图法,从而可以实现路径规划,并且可以进行控制,它最早是1960年左右由美国的斯坦福研究所研发的用于进行勘测侦察任务的机器人,由于当时技术条件的限制,机器人shakey进行一次作业需要很长时间,但作为创始项目,其实对后续的研究有着很深远的借鉴意义,在此之后机器人研究蓄势待发。这就是此研究的背景,而说回自主移动机器人,简单来说,机器人要完成自主进行移动的任务,首先要能像人一样观察、探测、检测并且同时完成当前陌生环境的地图构建,这里的问题是一般环境是随着机器人的运行随时变化的,所以即时识别构建地图就举足轻重了,而对于已知环境地图,通过设定标志识别即可;其次是要机器人知道自己处在何方位置,检测的到环境了,也要知道自己在哪里,这就是定位;最后要说的就是怎么走的问题了,机器人在明白周围环境和当前所处位置时,接下来就是要自己“走路”,不像在遥控活动时我们可以操控行进,它们这是完全自动的。怎么走?往哪里走?这就是常见的路径规划的问题,同时规划好路径后在面对已知之外的环境变化时机器人也要做出即时反应。这一系列的问题也就是我们常见的在移动机器人自主移动技术研究中的一个重中之重的热点问题:SLAM(SimultaneousLocalizationandMapping),即即时定位与地图构建[1],问题核心就如上文所提及的,环境未知,要描绘环境地图,在此前提下找到自己的位置,这种算法不但可以用于把路径设计出来,也可以给开发者一个直观的视图以便开发使用。如今这种算法虽然还存在一些问题,但已经广泛应用到各个邻域之中了,早期的扫地机器人就是最早应用SLAM的产品之一,而现在SLAM还用于AR增强现实技术和无人机技术,包括前一段时间华为的自动驾驶汽车的试驾驶视频一时间备受瞩目,其中的无人驾驶技术也用到了SLAM技术,前景十分光明。常见根据定位使用传感器类型不同可划分为两类,一种基于激光雷达定位的激光SLAM,基于视觉传感器的视觉SLAM,还有多传感器融合的SLAM等等,其中定位技术是核心之一。现在常用的定位技术如GPS在室外就存在精度不足的情况,在室内密闭环境下更是无法使用,而相比之下基于激光雷达的SLAM需要设置的条件少,精度高,还可以融合多个传感器,相比于相机还可以在光线不充足的地方定位建图,优势明显。在这类问题之中,不管是无人驾驶汽车还是常见的机器人,核心问题有四个,定位技术,路径规划,跟踪还有控制。本课题则主要在构建好地图的基础上针对路径规划做出研究,从而解决机器人路径规划的问题。近些年有很多避障和路径规划算法可供选择,合理的路径规划也能让自主移动机器人能够更好更精准的进行行进和避障。而哪种算法比较适合使用也是本文中将要探讨的。1.2国内外研究现状1.2.1SLAM国内外研究现状我们所说的SLAM由所使用传感器分为使用相机的,使用声波的,使用激光的,在本次研究中我们只讨论激光SLAM的研究现状。激光SLAM在使用时也需要许多传感器,其中之一为激光雷达,为它的主体,还有惯性测量单元(IMU),可以测量加速度和角速度,最后是里程计,计算整个机器人的位置信息,然后配合传感器进行SLAM。细细分来,所使用的激光在室外一般使用3D激光,结合GPS等获得很好的定位,室内如车库,房间等一般使用2D激光,配合多传感器使用。SLAM中有多个部分,其中,首先要用车载的传感器获得数据之后要进行扫描匹配,这一步骤属于整个过程的前端,所处地位至关重要,目前有许多的主流扫描匹配算法,第一个是由前人提出的ICP算法,也叫迭代最临界点算法,还衍生出许多变种算法。激光首先进行扫描,呈现出分散的具有多种信息的点,我们把这些点叫做点云,把扫描出的等一会要用作匹配的两个点云,使用欧氏距离最小化,计算出机器人距离和位姿的变化。一般是已知点的匹配,而遇到特殊的未知点情况,还要进行迭代来计算未知点的情况,除此之外研究人员还开发出了能够研究点到线段,点到平面情况的变种算法。其次是基于优化的方法,要使用到建模,把雷达扫描的数据通过各种不同的构建模型方法转化成优化非线性最小二乘的问题,有名的Cartographer算法就是优化问题中被人称道的算法之一。还有两种常用方法分别是属于基于数学特性的扫描匹配方法中的正态分布算法(NDT)和基于特征的匹配算法。前者中的运用数学特性的意思是用数学特性来表现激光雷达扫描出帧与帧间的位姿及属性关系,这里要说的NDT算法是现在人们在这个领域常用的一种算法,与上午提到的如ICP算法要进行点与点间的相对配准不同,这个方法把一次激光扫描出的2D点从空间中的离散点状形态转化到平面上作为一种概率密度(引入概率论概念),由常见的高斯分布组成,在进行两点配准计算就可得到转换关系,此方法常见于3DSLAM等项目中。而后者的基于特征是在激光扫描出特征点(点、线段、平面等)后对特征点进行处理的一种方法,Fernando[11]等人在论文中提出通过把激光扫出来的上述所说的点进行配准,大大减少了计算产生的财耗,除了此方法国内外也有大量基于特征的方法。在整个过程中,匹配之后一般为了提高精度要进行闭环检测,这就属于后端过程,在机器人沿规定路线行进一圈后要返回原来的原点,其中对关键位姿进行相关联,两组扫描后的数据若相似度高则视为一个闭环。其中Olson[9]等人研究的相关性扫描匹配比对两帧数据两帧之间的闭环检测,通过几何变换完成,但其中有一个明显的问题就是帧与帧间的数据差距不大,易引起数据混淆,导致结果错误。其次是Cartographer算法中使用的方法首先把雷达中扫描的连续的多个数据形成一个子图,再用其中的数据帧和其他激光扫描出的数据帧匹配,匹配范围有限了,自然也相对准确了,包括文国成等人针对单个数据信息不足的特点提供的使用两个子图作业,也是一种新的想法,除了这些成果之外还有很多闭环检测的方法来实现这一问题。毕竟数据是由外在设备扫描得出的,以至于上文所提及的过程完成后还是存在精度问题,所以所有的SLAM问题都要进行优化处理,现在常用的优化方法有两种,第一种是基于滤波器的优化法,也被人们称为在线SLAM,其中有一种为卡尔曼滤波器滤波方法,后来又被研究人员开发为扩展的卡尔曼滤波器滤波方法,缺点是在计算过程种要用到线性化导致系统发散,也会导致系统鲁棒性较差等等。之后大量的研究人员发现基于滤波的SLAM问题一般要用到会使地图扭曲的里程计,引起误差的同时,且没有回环能力。所以在多年的研究中,越来越多的研究员转而关注基于图优化的SLAM,也叫完全SLAM,使用不同机器人位姿中的节点来刻画机器人运动关系,在具有回环能力的同时,使用点与点间的位姿关系进行优化,有效缩小误差。在SLAM中还有一个问题是构建地图和定位,构建地图目前分为由网格划分的栅格地图、节点和边构成的拓扑地图、使用环境中可以扫描出具有空间特性的的几何特征地图。定位问题则分为由传感器定位的局部定位和借用识别已经设定好的路标的全局定位方法。在发展过程中,从最初的基于滤波的EKFSLAM和FastSLAM到Grisetti[10]等人提出的Gmapping的方案,再到2011年Kohlbrecher[13]等人利用ICP最近点迭代的方法进行激光点云的匹配实现机器人位姿估计以及实时建图,开发了HectorSLAM算法,也是本文中使用的算法,使用了高斯牛顿方法进行计算,不需要里程计的数据且为避免局部最优而非全局最优在导航中加入惯性测量进行扩展卡尔曼滤波,发展越来越成熟了。2010年的最优粒子滤波器方法,在GMapping方法上进行了优化,但由于滤波方法对于噪声干扰的局限性,且易产生误差,往后的研究思路渐渐转向了图优化。而基于图优化的SLAM方法最早在1999年由LU等人提出,在此之后改进的算法框架主要根据特征匹配,回环检测和图优化几个主要部分组成。2016年,Hess等人解决了常见的图优化问题中的子映射匹配的问题,重定位能力突出,精度较高,鲁棒性较好,使用的是他们提出的分支界定的方法,同年Google公司发布的开源SLAM解决方法Gartograher就是由此理论研发出来的,且Google公司的无人驾驶汽车就是使用了这一SLAM算法,此算法采用闭环检测完成优化消除在构建地图过程中的误差,可以构建高精度的栅格地图,使无人驾驶汽车技术的实时性有了极大的提高。我国SLAM起步相较其他发达国家起步稍慢,但最近也有很大的进步,如思岚科技的SLAMWARE就是一个单模块化的自主定位的用于导航的系统,也有对应的SLAM和路径规划功能。1.2.2路径规划国内外研究现状在移动机器人自主移动这个课题中,规避障碍也是重中之重的一环。也就是说在机器人自主运行过程中遇到突发状况要做出即时反应,也就是研究中常见的避障算法,在实际问题中一般分为全局避障和局部避障。全局避障算法依赖要建立全局的地图模型,一般用于找到一个工作的最佳路径,常见的全局方法有拓扑图法、A*和栅格法等等;局部避障则依赖机器车所载的传感器,目前研究出的常见的方法一般有人工势场法、动态窗口法等,上述算法一般适用于障碍物已知的情况,而面对未知障碍时就要使用到建立在生物智能或物理现象的算法,如遗传算法,模糊算法等相对智能的算法,更加精确和实用。1.3本课题的研究内容本文主要在基于激光导航的SLAM框架下研究局部避障算法,论文具体章节介绍如下:绪论讲述了基于激光导航的移动机器人的控制算法的研究意义以及SLAM和路径规划在当前行业中处于怎么样的研究地位,明确我们此篇论文所讨论的核心。运动模型构建与传感器模型研究本次课题所使用的机器人运动模型和所使用传感器的模型。同时定位与地图构建所用知识。研究SLAM方法和原理。基于激光导航的移动机器人的局部控制算法在第四章引入本次课题所基于的全局避障算法A*,在此基础上比较研究几种不同的局部避障算法,并对此课题选用的DWA动态窗口法做仔细说明。实验分析介绍本次实验使用的硬件平台并对软件进行仿真和数据分析,从而验证所选方法的可用性。总结与展望对本次实验的结果进行总结,对该题目的未来发展做出联想展望,并对相关人员做出致谢。运动模型构建与传感器模型目前机器人研究空前热门,而本文在讨论具体算法之前先对小车用到的传感器以及运动模型做一个说明,本次实验借用了上海合时公司的清洁洗地车以及软硬件平台完成本次课题,如图2-1所示,除了本体小车之外,还包括工控机或pc,通过网线连接,用到TCP/IP协议;激光使用TCP/IP,用到socket通信;还有通过CAN通信连接的陀螺仪、运动控制和编码器。图2-1小车硬件组成2.1运动模型本次利用的硬件平台无人清洁车的机械结构为两轮差速驱动运动结构,根据硬件平台各项参数,对无人清洁车进行运动学建模以及观测模型建模。根据激光雷达传感器的原理对其进行建模。同时对二者的坐标系变换进行处理,将车体坐标,激光坐标以及世界坐标进行整合统一。此处主要对两轮差速驱动运动结构做出说明,而小车模型本来就有约束模型,所以我们就可以看出其运动结构如图所示:图2-2双轮差动机器人的运动约束模型在该机器人的运动结构图中,我们让它如图所示从A点走到B点,首先要进行坐标系规划,我们使用的是轮式机器人,也就是说它以缸体机构为主,在运动和作业时不容易发生大的形变,所用的里程计与电机共用一个转轴,也和车轮为一个水平线,以此建立我们需要的坐标系,然后以从左上到右下为正方向移动。其中的坐标系如图所示,车子中心为原点,两轮连线为X轴,垂直线为Y轴,假设在移动过程中,小车做以R为半径的圆周运动,左边轮子角速度记为,半径为,右边的车轮角速度记为,半径为,所以可以求得其他关键变量,设两轮的中间距D,则可以求得速度公式[5]: (2-1)角速度推式为: (2-2) (2-3) (2-4) (2-5)于是由上式得: (2-6)由以上算式可推出运动模型: (2-7)在得到上述式子后对观测模型操作,即在激光雷达原理的支持下进行建模,最后对二者坐标进行变换匹配,最后将完成的车辆坐标,环境坐标以及激光坐标进行统一整合。至此得到运动约束模型,在构建误差变量后输出机器人位姿时间戳以至于可以进行航迹推算。2.2传感器模型2.2.1激光现在常用的定位技术如GPS在室外就存在精度不足的情况,在室内密闭环境下更是无法使用,而相比之下基于激光雷达的SLAM需要设置的条件少,精度高,还可以融合多个传感器,相比于相机还可以在光线不充足的地方定位建图,优势明显,本次清洁洗地车就有用到激光传感器。图2-3小车使用激光本次使用的清洁洗地车上搭载的激光传感器是SICK制造商TiM571-2050101型号的2D雷达传感器如图2-3所示,安装在清洁洗地车之前,是本次项目使用的传感器之一,测量原理使用了SICK的创新距离测量技术HDDM,主要用于户外,光源为850nm的红外线,激光等级为1,水平270度角度开启,扫描频率15HZ,角度分辨率0.33度,工作区域0.05m-25m,保护距离在反射比为10%时为8m。下表重点介绍详细技术参数。表2-1机械/电子参数电气连接1x接口“以太网”、4针M12插座1x“电源/同步输出”接口,5针M12插头供电电压9VDC-28VDC功耗4W外壳颜色灰色(RAL7032)外壳防护等级IP67(IEC
60529:1989+AMD1:1999+AMD2:2013)重量250g,无连接电缆尺寸(长宽高)60mm60mm86mm表2-2性能响应时间Typ.67ms可识别的物体形状几乎任何形状系统错误±60mm持续错误20mm集成应用测量数据输出表2-3接口EthernetTCP/IPUSBMicro-USBAUX,参数设置数字输入端0开关量输出1(PNP,“SYNC”/“DeviceReady(设备就绪)”)光学信号2LEDs(ON,“DeviceReady(设备就绪)”)2.2.2里程计里程计衡量了从设定起点到设定终点的行进里程和方位,而且因为此次项目中我们使用的是HECTORSLAM,要精确建图和定位,必须要里程计确保雷达数据足够精准,所以在传感器融合时必须带有里程计,而所用里程计即编码器是小车自带的,故不在此特殊说明。2.2.3惯性测量单元(IMU)本次车载所用IMU是九轴姿态角度传感器,使用的陀螺仪精度高、准确性好,此次实验把它放在小车上方,并且配合上带有高精度算法的加速度计,从而快速求得机器人当前运动姿态,而且稳定性高工作在-40度到+85度。能够输入机器人的运动参数,具体图片如图所示:图2-4角度传感器这里对其性能参数做出说明:表2-4IMU参数电压9V~36V电流<40mA体积55mm36.8mm24mm测量维度速度:3维,角速度:3维,角度:3维,磁场:3维量程加速度:±2/4/8/16g(可选),角速度:±250/500/1000/2000°/s(可选),x/z轴角度±180°,y轴角度±90°。稳定性加速度:0.01g,角速度0.55mm36.8mm24mm05°/s续表2-4IMU参数姿态测量稳定度0.01°数据输出内容时间、加速度、角速度、角度、磁场完整输出频率0.1Hz~200Hz数据接口CAN接口(波特率250K)2.3本章小结运动模型是基本,各种传感器的融合也提高了建图定位的精度和准确度,本章则讲述了本次项目所用的运动模型和融合的传感器的部分的各类参数,把定位和建图所用的硬件及运动模型讲述完毕,下一章将说明小车定位和建图具体所用的具体算法方法。 同时定位与地图构建在本文的第一章就有过介绍,要完成机器人的自主移动需要很多步骤,是一个复杂的问题,那么如果说第二章的内容是构建了机器人所用的坐标系,那么这一章内容就是定位建图的核心理论,也就是核心算法SLAM,本次清洁洗地车就用到了其中的hectorSLAM算法。并且在此类问题中定位建图往往要基于一些地图模型,由各个前辈的经验,拓扑地图即网状形地图节点获取不易,因此在实际情况中不常使用,而几何地图又对传感器的精度要求过于严格,所以我们就选择比较有效的栅格地图,故特此说明。本章主要对定位建图的具体细节做出研究,下图为整个一般SLAM的流程图:图3-1构建地图的SLAM全流程3.1环境地图构建之激光点云匹配本次项目我们用到了hectorSLAM,主要对其中的重要过程做出说明,在这里先进行总体规划,在slam过程中先要利用各种传感器获取周边数据,如环境信息,车辆速度、加速度、角速度,在得到这些碎片化的信息后,并不能直接作为环境信息被使用,因为这些信息互相不匹配,呈混乱无序状态,如上图所示,我们需要进行属于前端过程的扫描匹配步骤,利用一些算法把扫描出的地图碎片整合在一起。常用的由很多种算法,这里我们选用一种改进的icp算法,总的来说激光雷达可以获得离散的点云数据,为了获取被测物体的完全几何信息,需要将不同视角下的多组点云统一到同一个坐标系下进行点云匹配。本次设计采用改进ICP算法进行激光点云的数据处理。ICP需要反复执行一下两个步骤直到收敛,第一步为两个点集之间的匹配点对,第二步为根据上一步利用奇异值分解(线性代数中的一种矩阵分解机方法)的方法计算出两点集之间的转换矩阵。在介绍改进icp算法时,首先对icp算法作出介绍及说明,经典icp算法就是将两组点云进行计算配准,常用的R为旋转矩阵,T为平移向量,其实都是未知的,然后我们利用未知量进行算法计算,这里先看已知的情况点云一记为xm的组,点云二记为zm的组,然后将此描述成最小化均方误差: (3-1)首先可以求得点云质心作为坐标原点: (3-2) (3-3)依此可以求得每个点云的坐标: (3-4) (3-5)接下来计算并且进行奇异值分解: (3-6)如此即可求出icp的解: (3-7)这就是已知点的情况,未知点就对点云之间求解位姿,做迭代变换(即多次做点云计算像上面的式子一样)再对其进行重复计算,越来越达到要求即可。这就是传统icp算法的原理,但是其噪点较多,这里应用一种改进icp算法,其实就是加入DBSCAN算法,就是可以把周围的点汇聚起来的靠在一起的部分做一个聚类,可以有效降低甚至可以消除噪点。除去这些干扰在进行匹配会使结果更加达到我们想要的效果,这就是前端所需的扫描匹配环节,可以说是至关重要。3.2基于图优化的SLAM图优化简单来说就是把检测出的数据本身作为一个点,把随着时间移动的路程位置关系作为可以把这些点连在一起的线,构成类似拓扑结构的图,在根据图中的每一组小图构成数学关系式,在整合这些数据后,激光小车则会自动根据这个优化地图调整自己到最好状态。回环检测则根据当前采集的数据和栅格地图进行匹配检查从而实现修正,因此位姿是即时调整的,因此用此方法精度也比较高。SLAM方法中将机器人的实时位姿作为一个节点,位姿之间的关系构成边,这就是图优化前端,一个顶点连同周围的边就成为图,这些边会构成约束,后端就是调整机器人位姿去实现图优化。根据图的理论在SLAM机器人位姿由节点组成,里程计等传感器则可以构建边与边之间的关系,在图优化SLAM的前端,首先根据icp匹配,编码器测量出的数据,可以求得每两个位姿之间的约束关系,局部地图也得以创建,同时使用闭环检测进行修正,对于约束关系来说,这就是强检测。前端完成了局部小地图的构建,后端则结合闭环检测的数据以及节点图创建新的节点地图,不断优化更新图节点后,此时误差大大缩小,再输出真实的环境地图。这就是图优化,本质上和滤波法殊途同归,都是为了尽可能除去偏差获得完善的环境地图,但滤波是一点一点进行,误差也会慢慢累积,而图优化则是在获取全部的点后,在全局做出最优优化,因此不容易产生累计的误差,自然也不是进行位姿的纠正。3.3本章小结本章着重研究了SLAM内容,包括前端扫描匹配和后端的优化处理,是定位与建图的关键,在整个机器人自主移动的项目中至关重要,是目前科学研究的热点,也是未来开发的主要方向,为了让地图更加精确,一般还要用到多个传感器融合的方法,至本章结束,移动机器人自主作业所需的运动模型的地图构建全部完成,接下来就是如何让机器人路径规划的问题了。基于激光导航的移动机器人的导航算法在第二章和第三章里,研究了基本的环境地图和定位构建,而在一个机器人自主移动的过程中,路径规划也至关重要,甚至可以说是核心部分,再有全部地图信息时做路径规划为全局路径规划,机器人根据实时位置自己由算法规划出一条可行路线且不会和周遭环境产生相触,但要求环境已知。但只有全局算法还不够,机器人在面对突发状况时就要对具有部分环境信息的情况进行小型局部路径规划,意思时有部分情况位置时运用局部算法,本章主要对全局局部算法做出研究,且讲述本文研究的主要内容-局部避障算法dwa动态窗口法,且提出至少一种算法做出比较。4.1基于A*算法的全局路径规划全局算法至关重要,有蚁群算法,A*算法等等,一般是求解在地图中最短路径的问题,其中由长时间的研究得出,A*是最有效直观的,自动搜索也用此类算法,但是A*全局算法在动态路径问题中则每进行一次周遭环境的改变都要重新计算路径一次。目前也有前沿的D*算法可以实时规划,环境不定时更为实用,所以可以看出目前不管是建图还是规划路线都是发展十分迅速的,本次项目使用的也是A*算法,但是由于它不是本次课题的重点所以本节主要介绍一下A*的原理性知识,以便在此基础上实现局部路径规划。要研究这种算法首先看一下它的估价函数f(估计节点重要性的函数): (4-1)在这里k为节点,是初始点到实时点的实际移动代价(也可以理解为损失): (4-2)h(k)为路径代价,在当前算法下,不采用欧式算法而是运用了曼哈顿算法(Manhattan): (4-3)所以这样的绝对距离和就可以用作计算h(k)。这就是最基本的基于A*算法的全局路径规划,主要在环境地图已知时不会碰撞,但这种算法在栅格地图之下必须经过栅格的中心,所以精度不是很高,但是后续又有很多的算法作出改良,如基于A*的平滑算法等等,在此处不作进一步说明。4.2局部路径规划4.2.1DWA动态窗口法这一节主要研究局部避障方法,所谓的局部避障方法就是全局环境已知,在A*全局算法的基础上,只知道局部环境,如环境发生变化或者有未知活动物体等未知环境因素进入已知环境中,装载了传感器的移动小车要依靠自身的设备实时获得环境信息,在完成自己车体定位的同时还要有完备的避障功能,一要识别阻挡物,其次要单独规划路线成功规避障碍物,然后在避障结束后返回原路线。在当前的大环境下,局部避障法除了动态窗口法之外还有人工势场法等等,一般的模糊逻辑控制法精度较高但计算量较大;综合考虑动态窗口法比较好,下图主要介绍DWA动态窗口法的流程图:图4-1DWA动态窗口法整体流程图动态窗口法是机器人动力学的衍生,直接在速度空间中计算指令,我们在运用此方法时把机器人走过的每一条曲线表示为一个速度向量(v,w),前者为平移速度,后者为旋转速度,这些向量组成了向量空间,DWA方法在此空间上采样多种速度样本,以这些样本为基准模拟未来一段时间的轨迹,在得到多条轨迹后逐一进行比较筛选,择其最优使用。该方法中的“窗口”表现在把移动小车的各个运动参数的采样空间做一个动态范围限定,前提是在所可以达到的条件下。首先第一步我们根据运动模型模拟轨迹,先假设机器人主要运动方式为正常行进和转向,只用到v和w,我们利用相邻点中的其中一个点进行位移推算,则可以得到激光小车后一时刻相对于前一时刻移动了多少: (4-4) (4-5)下一时刻数据: (4-6) (4-7) (4-8)这种轨迹推算方法虽然不是全向运动,但却应用的较多,本文就使用了这一方法,接下来要进行速度采样在(v,w)空间中,有无限多的速度,但是环境和小车自身的参数可以把它限制在一个窗口下。⑴自主移动洗地车的速度上下限限制: (4-9)⑵由于机器小车使用的点机小车的限制,加速度有限制,因此该车在自动向前模拟的过程中真正可以达到的速度被控制在一个范围内: (4-10)式子中的c下标的代表机器人可以运行的实时速度,a下标代表如果最大,b下标则代表下限。⑶避障要求:这里我们用dist(v,w)为所用速度空间中机器人到下一障碍物的距离,所以为了达到避障要求,我们假设小车达到最大减速度,此时速度求出一个范围使得机器车怎么样都不会与障碍物相撞: (4-11)在我们这次项目中是使用上海合时公司的小车进行验证,但主要要在vs2019上做一个仿真,首先我们需要在机器环境下先模拟出障碍物,这里用圆来表示。在此后,我们模拟出机器车的行进路线后,要找到圆的对应位置,再求得机器车到圆心的距离,然后看机器车以自己采样的这些速度行驶能不能撞到圆形障碍物,也就是能不能达到我们的预期要求,如若满足需求,就采用这组速度,且为了计算,否则直接弃之不用,自此速度采样完成。之后评价函数评价每组可行轨迹,以下为评价函数: (4-12)包括看角度的方位角评价函数,空隙评价函数,用来把没有障碍物的地方用常数填补,最后是评价速度的速度评价函数。因为由传感器检测出的数据是不连续的,也会导致某一项数据过于突出不能用一种评价标准评价,所以需要每一部分中的单独一项除以所有综合即归一化处理,使每一部分中的一项都变成同一的百分比,标准相同。在有这三个评价函数后,得分越高越好,就这样按照最高分由小车自己选择的话既可以规避障碍,又可以尽可能的朝着目标快速行驶,所以都是比较有用的。4.2.2人工势场法上一章节中我们研究了动态窗口法,这一小节我们主要研究和对比人工势场法,在机器人的局部路径规划研究中,此法比较常见,而且想法比较独特,此法就和它的名字一样,把整个运动研究置于一个人造的,虚拟的势场中,用到了本体、障碍和目标地点的关系,在此法中认为目标点在吸引机器人,障碍物在排斥机器人,拥有这两种假设意义中的物理上的力,它们会产生一种和力主导小车运动,这就是人工势场法的思想,而如何构建一种可以产生这两种力的力场也是本方法的关键。在这里我们对人工势场法进行分析,首先,要构建模拟的引力场和斥力场,在数学上无论是美观还是直观程度都是不错的。但是在实际使用此方法的过程中,因为此原理的局限,小车一般从远处接近,所以目标施加的引力会较大,障碍物施加的阻力就几乎可以无视了,如此才能使得小车可以无视阻挡直接向目的地走去。这样固然可以达到大致目的,但却会使在斥力较小的条件下容易避障失效。这是其中一个隐患,还有就是前人在研究人工势场法时总是把障碍物远离目标点,但是实际情况不总是如此,就会使小车在驶向目标的过程中受到斥力以至于无法到达目标点。更有甚者若两力在某处相抵消,则容易死循环在局部的最优值。综上我们还是选择了能够即时计算的动态窗口法。这就是本文研究的核心内容,但在突然出现未知情况的时候,就需要我们进行异常检测,然后重新定位小车位置,最后还要重新完成上述内容,以后有待研究。4.3本章小结本章为此论文的核心,也是本文研究的主要问题,即在完成全局规划的基础上进行局部路径规划。此次研究主要使用更为有效和能够即时进行路径规划的操作动态窗口法,同时对另一种常见的局部避障法人工势场法做出比较。至此完成基于激光导航的移动机器人的控制避障算法研究,下一章节主要针对具体实验做出分析。
实验分析5.1硬件平台本次实验使用的是上海合时公司的激光洗地小车,整个小车的示意图如图5-1所示,使用的部件见图2-1,在本章的此节我们将对本次实验所使用的硬件平台即PC机的参数做出介绍如图5-1所示。图5-1上海合时洗地车表5-1PC机参数主机名:DESKTOP-PHDLA9AOS名称:MicrosoftWindows10家庭版OS版本:10.0.19042OS制造商:MicrosoftCorporationOS配置:独立工作站系统型号:Inspiron5577系统类型:x64-basedPC物理内存总量:8,054MB可用的物理内存:812MB如上图所示,这就是所用PC机的大致配置,用此pc机连接操作板就可以对具体的洗地机器车发出控制指令从而实现控制,操作面板如图5-2所示:图5-2洗地车操作界面5.2软件仿真在洗地小车实际的操作中操作人员可以在小车的屏幕上观察小车构建的地图和路线,如图5-3所示:图5-3实际显示界面上图就是该洗地车在昏暗光线条件下构建出的地图,蓝色的线条则是预先规划好的路线,在完成这些预备工作后,小车就会从初始位置自动运行沿蓝线运行,若遇到不属于原来路线的障碍物则会重新规划路线,但目前对突然出现的障碍物小车还不能进行即时反应。一般情况下,机器人系统常在ROS操作系统下完成,而本次实物则是基于windows系统,不但适合大部分人的操作习惯,而且利于windows平台下的二次开发,在此之外,本课题主要是为了研究基于激光导航的移动机器人的算法,所以,我们基于此课题在观察实物的同时在VS2019的OPENCV环境下进行DWA算法的仿真;并且结合实际数据进行分析。图5-4仿真界面图5-5实际所用坐标系图5-6仿真效果仿真效果如图所示,圆形就是模仿画出的障碍物,蓝线就是小车自动完成避障且最快到达目标点的效果,代码见附录。基本完成了此次课题的要求,并且由下图所示,结合实践做出分析,首先在SPYDER环境上做出数据处理给出正常行驶数据:图5-7正常行驶数据1图5-8正常行驶数据2图5-9正常行驶数据3接下来是带避障的数据:图5-10避障行驶数据1图5-11避障行驶数据2图5-12避障行驶数据3由上述一系列分析和对比臂避障前后的图片可以得出,实际可以实现避障功能,仿真上也可以,至此动态窗口法的局部路径规划基本研究完成,并且可以完成相应功能地图规划以及避障功能。5.3本章小结本章完成了激光洗地车的实际数据分析以及在VS2019的OPENCV环境下作出了DWA动态窗口法的仿真,给出了仿真结果。同时着重介绍了硬件参数、软件仿真的过程,以及给出了正常行驶和带有避障情况下的数据对比。实验结果表明此次使用的动态窗口法是可行的,并且可以在Windows系统下可靠的完成。
第六章总结与展望本文主要以现在移动机器人为背景,做了基于激光导航的机器人的控制算法研究,主要包括以下内容:研究了双轮差动机器人的运动模型;研究了基于图优化的SLAM方法以及点云匹配法;最后在这些基础上完成了本文最关键的一步-全局及局部路径规划,同时通过实验数据和仿真结果验证了实验的可行性。在此对全文进行总结:首先先明确整体要完成基于激光导航的移动机器人功能需要的总体步骤,包括SLAM建图,点云匹配以及设计路线。在这一大框架下先介绍了国内外发展的现状,通过对一系列技术和知识的学习,最终使用了基于激光传感器的SLAM进行研究,在进一步比较算法,使用hectorSLAM作为理论支撑,应用一种改进icp算法,加入DBSCAN算法,有效降低甚至可以消除噪点。除去这些干扰在进行匹配会使结果更加达到我们想要的效果,以此完成前端所需的扫描匹配环节。其次使用图优化尽可能除去偏差获得完善的环境地图,获取全部的点后,在全局做出最优优化,不容易产生累计的误差至此完成建图,之后提出全局A*算法并在全局算法的基础上研究本章重点的局部避障方法,并最终在动态窗口法和人工势场法中提出比较并选择前者。从而在经过实物和VS2019仿真的双重验证后,成功完成了移动机器人有效避障功能的实现。让我们选择的方法有了更加可靠的支撑。在完成此次项目的同时明显也能感觉到未来的发展趋势以及本次激光小车的不足之处,在此提出。首先,本文基于2DSLAM做出研究,同时也发现了2D环境不够直观简洁从而必然被3D环境发展替代的必然趋势;其次本车使用了激光陀螺仪等多个传感器,但如果能够使用相机声纳进行传感器融合又会大大提高传感器的精度。在本次问题中本来是基于栅格地图的实验,但没有能够实现,相信在栅格地图的基础上,定位建图能够更加精确有效,而且目前还有拓扑地图很值得研究,不仅能够有效规划路径且精确定位还能很方便操作员学习,很值得研究。在本文的最后一部分研究内容也就是路径规划中,提出了动态窗口法这一直观精确的方法,但是在局部避障中一旦有突然的陌生的障碍物加入环境中如突然走过来的人或忽然掉下的东西,机器人很难反应,所以在障碍检测和重定位这方面还有很大的研究空间,同时在本次实践中还存在由于小车体积等外界因素造成的重新规划路线不能有效避障的情况,也需要在今后的研究中探索和解决。
参考文献罗恒杰,鲍泓,徐成,李培峰等.基于激光雷达的2DSLAM方法综述[J].计算机科学,2019,46(10A):162-167.危双丰,庞帆,刘振彬,师现杰.基于激光雷达的同时定位与地图构建方法综述[J].计算机应用研究,2020,37(02):328-332.何世政.2D激光和深度相机融合的移动机器人SLAM算法研究[D].安徽理工大学,2020:50-65.王彦.基于激光雷达的移动机器人SLAM研究[D].陕西理工大学,2020:20-28.任纪颖.基于图优化的差速移动机器人激光SLAM研究[D].山东大学,2020:26-29.熊艳.移动机器人激光导航系统研究与实现[D].重庆邮电大学,2015:68-72.韩敏.移动机器人自主避障能力浅析[N].中国计算机报,2021-3-22(14).文国成,曾碧,陈云华.一种适用于激光SLAM大尺度地图的闭环检测方法[J].计算机应用研究,2018,35(6):1724-1727,1732.OlsonEB.Real-timecorrelativescanmatching[C]//ProcofIEEEInternationalConferenceonRobotsandAutomationPiscataway,NJ:IEEEPress,2009:4387-4393.[10]GrisettiG,StachnissC,BurgardW.Improvedtechniquesforgridmap-pingwithRao-Blackwellizedparticlefilters[J].IEEETransonRo-botics,2007,23(1):34-46.[11]FERNANDOM,RUDOLPHT,LUISM,etal.Twodifferenttoolsforthree-dimensionalmapping:de-basedscanmatchingandfeature-basedloopdetection]J].Ro-botica,2014,32(1):19-41.[12]HessW,KohlerD,RappH,etal.Real-timeloopclosurein2DLidarSLAM[C]//ProcofIEEEInternationalConferenceonRobo-ticsandAutomation.Piscataway,NJ:IEEEPress,2016:1271-1278.[13]KohlbrecherS,VonStrykO,MeyerJ,etal.AflexibleandscalableSLAMsystemwithfull3Dmotionestimation[C]//ProcofIEEEIn-ternationalSymposiumonSafety,Security,andRescueRobotics.Pis-cataway,NJ:IEEEPress,2011:155-160.[14]领衔资讯.SLAM在国内的发展现状[EB/OL]./slamtec/p/9686610/html[15]辛煜,梁华为,海涛等.基于激光传感器的无人驾驶汽车动态障碍物检测及表示方法[J].机器人,2014,36(6):655-661.[16]李金龙,曹喜信,王浩然,张朝阳.提升移动机器人激光导航精度的技术研究与实现[J].微纳电子与智能制造,2020,2(03):5-10.附录VoidDwaSample(){cout<<"DynamicWindowApproachsampleprogramstart!!"<<endl;statestatex={0,0,pi/10,0,0};//机器人初始状态vector<state>cartraj,realtraj;//cartraj累积存储走过的轨迹点的状态值//机器人运动学模型参数,最高速度m/s],最高旋转速度[rad/s],加速度[m/ss],旋转加速度[rad/ss],速度分辨率[m/s],转速分辨率[rad/s]]floatKinematic[6]={10.0,DegreeToRadian(20.0),2,DegreeToRadian(50.0),0.1,DegreeToRadian(1.0)};Pointend(300,290);//评价函数参数[heading,di
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度婚姻解除协议谈判策略与技巧详解3篇
- 二零二五年度个人健康保险产品定制合同
- 美容行业护肤技术培训总结
- 娱乐休闲行业推广总结
- 二零二五年度个人快递业务承包合同范本8篇
- 科创孵化器服务模式与运营模式
- 二零二五版庭院租赁合同包含庭院内咖啡厅经营许可3篇
- 二零二五年度金融业务授权委托书模板与字号规范6篇
- 二零二五年度农田租赁与农业电商平台合作协议4篇
- 二零二五年度设计公司股权转让与智慧城市建设合同3篇
- GB/T 15934-2024电器附件电线组件和互连电线组件
- 二年级数学上册100道口算题大全(每日一练共12份)
- 营销人员薪酬考核方案
- 2024年版的企业绩效评价标准
- 2024至2030年中国it外包服务行业市场深度分析及发展趋势预测报告
- 河南省郑州市2023-2024学年高一下学期6月期末数学试题(无答案)
- 麻醉药品精神药品的处方管理规定
- 简易自动化培训
- 七年级数学垂线1
- JTG C10-2007 公路勘测规范
- 糖尿病酮症酸中毒护理查房演示课件
评论
0/150
提交评论