摘要
在过去几十年中,自主移动机器人领域取得了巨大的进步。尽管取得了重要里程碑,但仍有一些挑战有待解决。将机器人社区的成就汇总为综述,对于跟踪当前最先进的技术和未来必须应对的挑战至关重要。本文试图对自主移动机器人进行全面综述,涵盖传感器类型、移动机器人平台、仿真工具、路径规划和跟踪、传感器融合方法、障碍回避和SLAM等主题。论文的出发点主要有两方面。首先,自主导航领域发展很快,因此定期撰写综述对于让研究界充分了解该领域的现状至关重要。第二,深度学习方法已经彻底改变了包括自主导航在内的许多领域。因此,有必要对深度学习在自主导航中的作用进行适当的处理,这也是本文所涉及的。还将讨论未来的工作和研究差距。
机器人在很多方面影响了我们的生活。在技术进步的支持下,机器人已经在医学领域、军事领域、工业领域、空间领域、农业领域等多个应用领域找到了自己的路。将自主导航功能添加到机器人平台可以显著提高其性能,因为它们可以自行到达任何需要的地方。这种动机驱使研究人员将自主导航技术推向极限。鉴于自主导航主题的文献丰富且发展迅速,有必要定期准备文献调查。通过这种方式,经验丰富的研究人员和新来者可以深入了解自主导航的最新技术,这也是该综述的灵感来源。
显然,已经发表了多篇关于自主移动机器人的综述。为了突出论文的调查与现有调查之间的差异,编制了表1,其中现有调查根据其出版年份进行了排序。如表1所示,一些主题在以前的调查中缺失,但在本文中有所涉及。例如,Niloy等人[224]只关注室内自主导航。Pol和Murugan[236]的调查也仅限于室内导航,除了考虑了环境中的人类存在。
基于上述先前调查的缺点,本次调查旨在涵盖表1中列出的所有主题。论文努力做到:
- 对传统和现代避障方法(基于RL和DL)进行综合处理;
- 回顾最著名的SLAM方法;
- 介绍众所周知的机器人模拟器,以及它们是否可以与机器人操作系统(ROS)连接[1];
- 移动机器人平台的类型及其基于操作环境的特点;对著名的传感器融合方法(如卡尔曼滤波器[144]及其扩展以及粒子滤波器[114])进行了简单简明的回顾
- 调查开源SLAM数据集。
传感器
如果没有感知周围环境的能力,自主行动是不可能的[249]。任何自主机器人都必须配备由硬件(传感器)和软件组件组成的感知模块。本节专门介绍自动移动机器人中常用的各种类型的传感器。
绝对定位传感器
移动机器人需要在其操作环境中移动,以便在环境中的不同位置实现其目标。例如,为了执行救援操作,救援机器人需要导航到受伤的受害者。自主导航的一个重要前提是机器人的自主定位能力。通常,相对于环境中的某个参考系进行定位。
全球定位系统(GPS)接收器是一种常见的传感器,它根据从低地球轨道卫星接收的信息提供经度和纬度方面的绝对定位以及地球上或附近任何地方的时间数据。接收机使用卫星信号的接收时间与其广播时间之间的差来计算其与卫星的距离。如图1a所示,通过访问来自至少四颗卫星的信息,接收机可以为户外导航提供精确到几米的定位信息。GPS的缺点是,如果无法获得至少四颗卫星的无障碍视线,定位数据就会变得不可靠。在城市地区,信号中断可能是由高楼或高山造成的[2]。此外,GPS信号在室内环境中不可用。
使用差分GPS(DGPS)可以减小GPS的定位误差。基本上,DGPS依靠地球上已知位置的多个固定信标。这些信标将其已知位置与基于接收的卫星信号和广播校正信息计算的位置进行比较,如图1b所示。GPS接收机可以使用这些信标广播的校正信号来减少它们的定位误差。DGPS的缺点是,当远离基站/参考站时,校正质量会降低[46]。
障碍物检测传感器
在本节中,将介绍常用于障碍物检测和回避的不同类型的传感器。
视觉传感器:声称机器人系统具有自主导航能力几乎是不可能的,除非为机器人配备障碍物检测和回避手段。当涉及到障碍物检测时,可以想到各种传感器类型。单目(图2a)和立体/RGBD相机(图2b)以合理的价格提供了丰富的视觉数据。基于DL的强大视觉算法和具有合理处理能力的相对经济的边缘设备(如Jetson板[3])的出现,使视觉传感器成为执行包括障碍物检测在内的各种视觉任务的理想选择。在机器人移动期间,车载摄像头可能会受到振动,从而使拍摄的图像模糊。稳定视觉系统[26]解决了这个问题,其示例如图2c所示。稳定的视觉系统也提高了跟踪能力。
距离传感器:障碍物检测最方便的解决方案之一是使用距离传感器测量飞行时间。雷达(无线电探测和测距)依靠无线电波来探测物体的距离、角度和/或速度。典型的雷达如图3所示。LiDAR(光探测和测距)的工作与雷达相似,但它使用的不是无线电波,而是脉冲激光。与雷达相比,激光雷达传感器能够以更高的精度测量距离数据。这些传感器的缺点是价格昂贵。此外,由于水的激光干扰,激光扫描仪无法感知玻璃障碍物,也无法在水下使用[245]。典型的激光雷达如图3所示。
超声波传感器也提供距离数据,但与激光雷达和雷达相比精度要低得多。超声波传感器的总射程比激光雷达和雷达低(约七米)。超声波传感器的精度较低是因为它的辐射模式类似蝙蝠。因此,在接收到撞击障碍物的发射信号的反射之后,只能在发射波覆盖的区域内模糊地估计感测到的障碍物的位置。这与激光雷达(LiDAR)和雷达(RADAR)形成对比,后者提供了更准确的障碍物位置数据。典型的超声波传感器如图3所示。
相对定位传感器
前文对绝对定位传感器进行了调查。然而,在某些情况下,绝对定位是不可能的,这是使用相对定位传感器(如惯性测量单元(IMU)和编码器)的动机。IMU由沿{x,y,z}轴的三个加速计和三个陀螺仪组成。当IMU安装在机器人上时,加速计和陀螺仪分别测量机器人沿三个轴的加速度和旋转速率。使用惯性导航系统(INS)[283]的成熟数学,可以将IMU读数转换为机器人的有用3D位置和3D方向。由于IMU数据的连续集成,估计的机器人位姿受到累积误差的影响,通过将INS数据与其他传感器(如GPS和摄像机)融合,可以减少累积误差。另一种可用于地面机器人相对定位的传感器是旋转编码器。将编码器安装在机器人车轮上,可以计算车轮已完成的轮数。知道轮子的周长,就可以估计机器人的位移量。使用编码器的缺点是车轮打滑会导致错误的位移估计。
移动机器人平台
多年来,设计和开发了不同类型的移动机器人平台。移动机器人可以是地面[41、55、253、288]、空中[24、129、200]或水下[68]车辆。
地面车辆
地面车辆的尺寸和形状各不相同,这取决于其设计目标。除了结构差异外,安装在这些机器人上的传感器套件取决于其操作环境。在室内环境中,GPS无法访问,但由于周围的墙壁、门、家具等,环境通常具有丰富的特征。因此,可以使用距离传感器进行扫描匹配[165],以实现精确定位。使用双目相机也是实现深度数据的一种经济实惠的解决方案。机器人底盘周围的超声波传感器环也是室内环境中障碍物检测[156]或定位[211212]的可行解决方案。室内环境图示如图4所示。无论是室内还是室外,INS都可以用于基于IMU数据的定位。室内环境通常有光滑的地板,因此车轮不可能打滑,旋转编码器非常适合估计机器人的位移。
对于室外环境,GPS可以帮助绝对定位,前提是GPS接收器和至少四颗卫星之间有清晰的视线。在城市环境中(图5a),由于高楼的信号阻挡,可能会违反这些条件。然而,城市环境本质上结构良好。通过对LiDAR数据进行扫描匹配,可以利用该特性来提高定位精度[302]。即使GPS信号可用,扫描匹配仍然可以提高定位精度[175]。另一种方法是视觉位置识别(VPR)[63194284],它通过识别以前去过的地方,在减少定位误差方面发挥着重要作用。
在一些户外应用(例如军事)中,移动机器人会遇到恶劣、非结构化、有时无法穿越的越野环境。越野环境将移动机器人的机械[30]和自主能力[141]推向极限。如图5b所示,越野机器人必须配备大车轮、长行程悬架,最好配备全轮驱动能力,以便能够穿越不同类型的土地,如泥泞、岩石、雪地等。除了越野环境的机器人机械要求外,为了实现成功的导航,机器人的自主软件模块必须解决几个挑战:
- 鉴于越野环境不遵循任何特定的结构[277],自主导航无法事先对其进行任何假设;
- 一些越野环境,如沙漠,是没有特色的,这阻碍了机器人的定位,因为缺乏可识别的地标。例如,在沙漠中,由于风沙的移动,甚至地形形状也会发生变化;
- 由于深谷、崎岖的河流、火山等,越野环境非常危险。因此,在路径规划过程中考虑不可通行的区域,以确保机器人安全至关重要;
- 在越野环境中,一些障碍物可能像灌木丛一样可以通过,而其他障碍物则像山脉一样无法通过。检测可通过障碍物的能力对于通过移动可通过的障碍物缩短计划路径的长度至关重要;
- 自主导航依赖于机器人传感器读数来做出决定。然而,由于密集的植被阻碍了有效的定位,传感器的视野可能受到限制;
- 根据越野环境,必须对机器人运动控制器参数进行不同的调整[54]。例如,在下雪的环境中,施加到机器人车轮上的力的大小不同于尘土飞扬的土地。
无人机
虽然控制地面车辆比无人机(UAV)简单,但它们的移动仅限于可穿越的地面。与地面车辆相比,空中车辆不受这些限制,它们可以在更短的时间内到达期望的位置。然而,飞行器也有一些局限性。例如,飞行持续时间可能很短,特别是对于低级别的无人机。此外,控制模块的故障可能会导致无人机发生灾难性坠毁。另一个缺点是有效载荷有限。无人机可以承载有限的负载,这意味着必须明智地选择可安装在其上的一组硬件(例如传感器和处理单元)。鉴于IMU通常体积小且重量轻,使用它们来实现INS以有效地定位无人机是非常流行的。如图6a所示,UAV可以部署到各种户外环境,例如城市或非结构化和越野环境。为了保持INS误差有界,GPS传感器可以安装在无人机上[28,75,221,308]。在室内环境中使用无人机也是可能的。与室外场景的唯一区别是GPS信号不可用。代替GPS,INS数据可以与激光雷达[180]、激光数据和视觉传感器的混合[146]、超宽带(UWB)[266]、UWB和3D激光雷达的混合[178]融合。甚至还尝试了无人机室内/室外导航模式之间的无缝切换[60]。此外,霍尔效应传感器数据已用于帮助INS的速度更新[306]。霍尔效应传感器通过利用霍尔效应检测磁场的存在和大小。根据这种效应,垂直于电导体中的电流的磁场在电导体两端产生电压差,使得其与电流和磁场横向。
水下车辆
AUV可用于各种应用中,例如取回在海洋中坠毁的飞机黑匣子[139244],通过探测和处置爆炸物和地雷来加强港口和港口的安全[29,241],以及石油和天然气行业的基础设施维护[57,138,297,309]。然而,由于GPS不可用[112]和能见度有限,水下自主导航(图6b)具有挑战性。未能使用视觉特征配准机器人的当前位置会导致定位不准确,进而阻碍自主导航[239]。使用DR和INS定位AUV由来已久[172]。然而,由于水下环境中的噪声传感器数据、洋流和地球重力,这些方法存在累积误差[112]。为了处理累积误差,可以使用地球物理导航(GN)[243],其中AUV传感器读数与水下环境的地球物理地图相匹配。不幸的是,GN存在一些缺点,例如在导航开始之前需要环境的地球物理地图,以及将传感器数据与地图匹配的计算复杂性。作为GN的替代方法,可以使用声学测距系统[95],但它们依赖于复杂的基础设施,部署成本很高。研究人员已经探索了AUV定位的新替代方案,如光学技术[53]。然而,由于水下环境的恶劣条件,这些技术的发展速度已经放缓。在适当的照明条件下,视觉处理系统可以显著提高定位精度[112]。例如,Mehdi等人[1999]融合了IMU和从立体摄像系统提取的深度数据,以使用ROS中实现的SLAM绘制水下环境地图。该地图用于路径规划和自主导航。
AUV适合传感器:第一个使用INS水下定位的传感器是IMU。为了处理INS累积误差,将IMU数据与其他传感器融合是至关重要的。多普勒速度记录仪(DVL)[20]是一种用于测量水下运动的声纳系统,可以确定AUV运动的速度和方向。关于绝对定位,GPS不能在水下使用,因为它的电磁信号衰减很快。声学信号是另一种解决方案,因为声学信号在水下衰减非常缓慢[126]。这种方法的缺点是它依赖于在导航环境中部署的基线站。基线电池需要频繁充电,以保持功能并响应安装在AUV上的询问器设备。此外,基线部署和恢复耗时且成本高昂,这使得声学导航在大规模环境中不切实际[158]。为了解决这个问题,麻省理工学院的研究人员开发了水下反向散射定位(UBL)[110],这是一种无电池精确定位系统。UBL不发射需要电池消耗的声学信号,而是反射来自其周围环境的调制信号。这样,在不需要任何电池操作的设备的情况下提供位置信息。UBL扮演水下GPS的角色。
前视声纳和侧扫声纳等声纳传感器家族[151]广泛用于水下障碍物探测和定位。现成的水下摄像机系统[196]也非常常用于基于立体视觉提取深度数据。
仿真工具
为了在机器人领域进行研究,需要一个合适的机器人平台,它是软件和硬件组件的组合。在研究过程中,需要进行各种实验。这些实验很可能由于软件和/或硬件模块故障而失败。有时,这些故障可能会损坏机器人。另一方面,在真实的机器人上进行实验既乏味又耗时。另一种方法是在仿真中实现和测试机器人软件。这样,研究人员就不必担心意外损坏机器人,也不需要硬件来测试最初的想法。重置模拟场景也比重置现实世界中的机器人状态容易得多。在表2中,提供了一些主要机器人模拟器的特性[4]。
虽然在模拟中测试新想法是有益的,但这并不是机器人项目的最终目标。迟早,模拟项目必须在真实机器人上进行评估。使用模拟器的缺点是,为了模拟真实世界的物理规律,可能已经做出了一些妥协。因此,在模拟中测试的项目可能需要一些改进和手动调整,以准备在真实机器人上部署。尽管如此,在部署到真正的机器人上之前,花时间和精力在模拟中开发机器人项目绝对是值得的,因为这大大缩短了开发时间和成本。在现有的模拟器中,像Gazebo这样的一些模拟器依赖于高质量的物理引擎,如开放式动态引擎(ODE)[5],以大幅减少模拟机器人和真实机器人之间的差距。这就是为什么许多知名机器人公司依靠ROS和Gazebo以软件包的形式为客户提供商业机器人的模拟工具。ROS是一组专门为促进机器人应用程序开发而设计的工具和软件库。使用ROS,机器人项目的开发时间大大缩短,因为可以使用高质量的现成软件包,这些软件包实现著名的算法并与各种传感器(硬件抽象)接口。ROS和Gazebo中具有下降模拟的知名机器人的一些示例包括但不限于Fetch机器人[6]、PR2机器人[7]、KUKA iiwa[8]和人形Nao机器人[9]。
路径规划
在使用机器人机载传感器感知环境之后,有必要规划一条可行的路径,以便从当前位置开始到达期望的目标。路径规划算法的选择取决于环境地图是否可用。在地图已知的情况下,路径规划器的选择取决于地图表示。对于占用网格图,D*[267]及其扩展(如聚焦D*[268]和D*Lite[163])是合适的选择。D*及其扩展都被认为是增量搜索算法。D*假设环境中看不见的部分没有障碍。基于这一假设,D*使用地图计算从起点到目标的最短路径。如果观察到新的障碍物,地图将更新其信息,并在必要时计算新的最短路径。这一趋势一直重复,直到达到目标或得出结论,目标确实无法实现。考虑到在导航过程中观察新障碍物的可能性很大,重新计算最短路径的速度必须很快,这就是D*及其扩展的著名之处。值得注意的是,聚焦D*是A*[125]和原始D*算法思想的结合;D*Lite是基于life long规划A*(LPA*)[164]和另一种结合A*思想和动态SWSF-FP[240]的增量搜索方法构建的。
基于DMP的路径规划
机械手机器人中轨迹规划和控制信号生成的流行方法之一是dynamic movement primitive(DMP)[136, 252]。DMP是一种高度自适应的数学模型,能够表示复杂的轨迹,而无需对其参数进行调整。粗略地说,DMP是一个二阶非线性动力学系统,只要其参数设置得当,就能模拟复杂的轨迹。DMP是离散的或有节奏的,分别适合于生成非周期性和周期性轨迹。离散DMP适合于路径跟踪,因为计划的路径不是周期性轨迹。离散DMP的关键是point-attractor子系统:
仔细检查等式1可以发现,它只是一个PD控制器,其目标是在给定当前状态y下达到g。为了指定y和g之间的轨迹形状,方程1用称为强迫函数的特殊函数来扩充[252]:
通过设置强制函数的参数集,可以使用DMP生成任意轨迹。规范系统控制DMP的使用寿命。
尽管DMP主要设计用于机器人机械手的运动规划,但它也被用于移动机器人的路径规划。例如,Jiang等人[140]使用DMP进行了移动机器人路径规划。首先规划期望的路径,并从中提取轨迹以用作DMP参数调整的训练样本。得益于DMP的高度适应性,Jiang等人能够在改变开始和目标位置的情况下为移动机器人实现平滑的轨迹。
原文首发微信公众号【自动驾驶之心】:一个专注自动驾驶与AI的社区(https://mp.weixin.qq.com/s/NK-0tfm_5KxmOfFHpK5mBA)