APP下载

星面探测机器人自主移动技术

2019-10-26蓉,傅博,王越,吴

上海航天 2019年5期
关键词:定位机器人算法

熊 蓉,傅 博,王 越,吴 俊

(浙江大学 工业控制技术国家重点实验室,浙江 杭州 310027)

0 引言

星面探测机器人是实现深空探测的重要手段,国内外均开展了深入研究,并已利用远程地面遥控方式对火星和月球表面进行了探测。为进一步扩大探测范围,提高探测效率,并为后续星面基地建设等任务服务,星面探测机器人需从远程地面遥控方式向自主移动方式发展,为此,需要解决地图构建、鲁棒定位、探测导航等系列问题。

星面探测机器人研究开始于20世纪50年代。1969年,美国宇航员乘阿波罗号飞船首次登陆月球,采用航天员与月球车联合的方式进行探测。1996年、2003年和2011年,美国3次发射机器人登陆火星,在火星表面漫游探测。我国探月工程始于20世纪90年代,2013年嫦娥三号月球探测器在月球虹湾地区成功着陆,2018年嫦娥四号月球探测器实施世界上第一次星面软着陆和巡视探测。这一阶段的研究着重于人机联合技术在遥操作控制领域中的应用,通过地面操作员与星面机器人之间的配合,克服延时影响,完成星面测探任务。目前,各国都在围绕增强星面探测机器人自主移动能力开展研究,并在视觉里程估计方面取得了一定进展。美国公开的火星探测机器人(MER)[1]携带两种相机:一种是用于星面观测的全景相机;另一种是导航用的立体视相机,在导航中通过匹配当前时刻与前一时刻的立体视图像实现对自身前后两个时刻位姿变换的估计。在后续研究中,又提出利用惯性测量单元对翻滚角和俯仰角的能观特性提升视觉里程计性能[2]。双目相机利用两个相机之间的基线,比单目相机更加稳定、精确,但与多目相机相比没有明显的性能劣势,是一种成本和性能之间相对平衡的方案。行驶于粗糙地面时,视觉里程估计方式与轮式里程计相比有非常明显的优势,因为轮式里程计无法在不平整、打滑等地面条件行驶时给出比较精确的估计。但视觉里程估计方式并不能解决里程误差累积问题,长距离运行会产生较大漂移,且相机视野较小,难以形成全位置、丰富视角的回访定位。加拿大目前正在研发的探测机器人主要通过示教—重现方式实现定位[3],克服了美国火星探测机器人仅采用视觉里程计估计导致的长期漂移进而无法返航、只能单方向漫游的问题。文献[4]所提方法利用特征点而不是角点像素跟踪的方法进行图片匹配,并在视觉里程估计的基础上,增加了定位功能,在运动中更迭变换定位的坐标系,以此引入局部定位方式,以克服全局定位中的漂移问题。这种方法对于要进行探测并回到着落器执行返舱任务的机器人来说具有非常重要的价值。但由于采用视觉传感器,定位性能会受光照影响。这种影响主要体现在当机器人进行回访定位时,前次运行的视觉数据和当前运行的视觉数据之间因为光照不同而出现明显的外观区别,从而导致定位算法无法将当前图像和之前图像进行关联,最终使定位无法实现。

我国在星面探测机器人自主移动方面也开展了深入研究。嫦娥三号月球车采用视觉回望着陆器的定位方式,通过着陆器上目标点的检测以及与目标点模型的匹配来估计着陆器坐标系下的机器人位姿。但是这种方式受限于视觉传感器的视野,在距离较远的情况下,难以实现准确的着陆器目标点检测。

综上所述,现有星面探测机器人主要采用的视觉定位技术还存在多方面问题,容易受到视野和光照的影响而导致定位失败。自主移动技术已经取得了多方面进展,其有效性已在部分地面应用场景中得到验证,但面向各种复杂大范围环境如何实现长期稳定自主运行,仍在进一步研究中。星面探测是一种特殊场景下的应用,星面环境与地面环境相比存在很多的特殊性,这为自主移动技术带来了新的挑战。本文首次提出借鉴目前快速发展的无人驾驶技术和地面自主移动技术来推动星面探测机器人自主移动能力的发展,并归纳总结了目前国内外星面探测移动技术的研究现状和存在的问题,以及地面自主移动研究在地图构建、鲁棒定位、探测导航等方面取得的进展。

1 自主移动技术研究现状

近20年来地面自主移动技术的飞速发展,有效推动了工业移动机器人、移动服务机器人和无人驾驶等领域的发展。自主移动涉及的关键技术主要包括环境地图构建、自主感知定位、导航规划三方面。思维导图如图1所示。

图1 地面自主移动技术思维导图Fig.1 Mind map of techniques of autonomous movement on ground

1.1 环境地图构建

地图是移动机器人进行自主定位和导航的基础,是对环境知识的一种描述方式。通常情况下,机器人在环境中进行自主移动作业时首先是获得或自主构建环境地图,由此涉及两方面的问题:地图的表示方法和构建方法。

1.1.1 地图表示方法

地图表示方法如图2所示,现有地图表示方法主要有点云地图、栅格地图、特征地图、拓扑地图等,近年来又提出了语义地图。不同的地图表示形式具有不同的特点与优势,实际运用时需根据工作环境与应用需求构建合适的地图。

图2 地图表示方法Fig.2 Map representations

如图2(a)所示,点云地图由空间点组成,可以通过激光点云拼接[5]直接构建稠密点云地图,也可以基于视觉传感器获得的图像进行关联匹配,构建稀疏的特征点云地图[6]或稠密、半稠密点云地图[7]。点云地图可使人较为直观地获得观测结果,并实现激光、视觉等多种定位方式,但传统点云地图只是一种对障碍物表面的直接描述,地图构建和定位中容易因初值误差或者环境变化而导致错误数据关联,且缺少是否可行等高层次语义信息,用于导航时需要进行数据的再处理。

栅格地图将环境划分为大小均匀的二维或三维栅格,每个栅格内存储其对应空间的状态信息。经典的栅格地图中,栅格内存储该区域被障碍物占有状态的概率,这类地图既适用于定位,也适用于快速导航规划,因此在很多应用中被广泛采用。针对火星探测,HERBERT等[8]设计了2.5维栅格地图,也称为高度地图,在二维栅格地图内的每一个栅格内存储其障碍物的高度信息,如图2(b)所示。为了足够详细地表示环境特征,往往需要设置较小的栅格分辨率。因此,与其他表示法相比,栅格地图往往需要较大的存储空间,特别是在大环境中。为了克服这一缺陷,WHELAN等[9]利用voxel hashing方法动态分配存储空间,并通过滑动窗口的形式使内存中地图的最大容量维持在固定范围内。

特征地图指由点元[10]、直线[11]、面[12]或基础物体[13]等结构性形状单元组成的地图,这些基础形状单元可以通过一组参数进行建模,如图2(c)所示。相较于点云地图,特征地图对环境有更高层次的描述性,使定位与建图的鲁棒性更强。目前一些地图构建算法尝试利用这种紧凑的表达方式来提高算法性能,例如SALAS-MORENO等[13]在同时定位和地图构建算法中引入了基础物体信息以实现鲁棒性更好的数据关联推理。这种基于基础物体特征地图的研究思路正逐渐向语义地图发展。

拓扑地图采用图形表示,如图2(d)所示。图中节点代表环境中显著的场景或标志,如果节点之间可以通行,则在节点间加上边[14]。拓扑地图表示形式简洁紧凑,其分辨率与环境的复杂程度相关。与栅格地图相比,在拓扑地图上可以进行更快速的路径规划,且与人交互的可解释性更强,可以被赋予更高层次的语义信息。但拓扑地图在环境范围较大时难以实现全局一致的地图构建,也难以实现机器人的准确定位。

上述地图表示形式可以解决环境中物体“在哪里”的问题,但不能给出物体“是什么”的信息,一定程度上限制了机器人与复杂环境的交互能力。近年来,研究者提出将环境语义信息融入地图中,形成语义地图[15],如图2(e)所示。语义地图的载体可以是上文中各种传统地图表示形式,除地图的基本属性外,地图的每个组成单元还包含了该单元对应的语义信息。这种地图表示方式使传统的路径规划等方法可以上升到语义导航。对于自主移动来讲,语义地图的作用不仅是为了进行语义导航,也应该有助于复杂环境下的地图构建和定位中的数据关联,因此,如何表征语义[16],用怎样的粒度表达[17],以及如何应用语义地图来提升地图构建和定位的准确性[18],已成为近年来的研究热点。

1.1.2 地图构建方法

地图构建在自主移动中被定义为同时定位与地图构建(SLAM)问题,即根据传感器信息同时估计机器人自身位姿及环境地图。这主要是因为地图拼接依赖于定位的准确性,而定位的准确性依赖于现有感知和地图匹配的正确性,是一个鸡与蛋的问题。

早期SLAM算法主要基于滤波方法,包括扩展卡尔曼滤波和粒子滤波算法,但难以得到大范围环境的一致性地图。1997年,LU等[5]提出基于图优化理论的SLAM问题求解方法,但由于计算量过大,该方法难以实时运行。2015年,KUMMERLE等[6]基于稀疏线性理论和最优化技术提出图优化的通用求解框架g2o后,基于图优化的SLAM求解方法得到了迅速推广与应用。

地图构建中的一个关键问题是正确的数据关联,采用不同的传感器直接影响数据关联方法。激光地图构建多采用迭代最近点(ICP)算法[19],通过优化点云到点云之间的欧氏距离实现点云匹配。ICP算法可以实现精度较高的点云位姿估计,但需要一个较好的初值,否则算法可能陷入局部极值点,且优化时间也受算法初值影响。视觉地图构建方法则可以分为基于单目相机的地图构建、基于双目相机的地图构建和基于RGB-D相机的地图构建。单目相机系统的成本低,但是无法获得场景的深度信息,需要通过多视图几何等方法计算得到环境中目标点的坐标。双目相机系统可以获得场景中目标点的深度信息,但对相机参数标定的要求较高。不论单目相机还是双目相机,都只能恢复图像匹配点的深度信息。RGB-D相机可以直接获取图像中每个像素点对应的深度信息和图像纹理信息,但是检测范围小,容易出现数据空洞。

视觉SLAM算法的一个重要分支是研究鲁棒视觉特征表示,以提高数据关联的准确性,早期有SIFT、Harris等特征,近年来ORB特征被广泛采用。另一条分支是利用关键帧进行局部或全局优化。这种算法只利用选取的关键帧计算地图,大大减少了计算量,避免了基于滤波的SLAM算法在处理新信息很少的连续帧时浪费时间的问题。如图3所示,研究人员提出了PTAM(parallel tracking and mapping)[20]、LSD-SLAM(large scale direct SLAM)[21]、ORB-SLAM[6]等算法,在室内外多种场景下验证了方法的有效性,但当环境中光线、外观等变化较明显,或机器人视角变化较大时,由于视觉特征敏感性,这些方法易因前端的误匹配而影响建图与定位。

图3 地图构建方法Fig.3 Map construction methods

1.2 定位

定位是求取当前机器人在已有地图中的位姿。从传感器种类来看,可以分为视觉定位、激光定位等。按时间跨度分类,可以分为短期定位和长期定位。其中,长期定位着重考察算法在较长一段时间内的定位效果,算法需要适应光照、季节、环境变迁等变化。按先验知识分类,可以分为有先验和无先验两类,其中有先验定位常称为位姿跟踪,无先验定位则称为全局定位。

目前,有先验的短期定位最为成熟。激光定位经历了从帧间匹配到帧与地图匹配的变化。帧间匹配丢弃了历史数据信息,定位效果一般。在建立好的激光地图上,通过ICP算法实现了二维位姿估计[22]。随着三维激光雷达的普及,研究开始集中在三维激光定位。文献[23]对比了若干ICP变种方法的定位精度,并提供了成熟的开源实现方法;文献[24]借助正态分布变换(NDT),将地图栅格化并计算每个栅格的点云分布情况,通过极大化地图分布与实时激光数据,与已知地图进行匹配,最后通过图优化的方法得到定位信息;文献[25]提出了采用高斯混合模型的稀疏三维点云匹配方法,用局部连续表面不确定性表征数据点,用多层分段高斯混合模型表达隐表面并灵活匹配,提高了匹配定位对初值误差的鲁棒性和收敛速度。另一类方法从稠密匹配出发,通过最小化光度误差求取当前数据与稠密地图之间的位姿[26],如图4所示。

图4 有先验的短期定位Fig.4 Short-term localization with priori

无先验的短期定位要求算法在已知地图中寻找与当前数据最匹配的位姿。由于搜索空间变大,算法面临着效率和精度两个问题。该类方法中,对地图的表现形式可分为两类:基于地图和基于关键帧。基于地图的方法利用全局地图信息,如通过对三维激光进行分割、描述,建立实时激光数据与地图之间的关联,从而得到激光位姿。视觉类算法偏向于利用关键帧,即在相机运动轨迹上采用距离等策略选择若干图像数据作为搜索的数据库[27],如图5所示。利用词袋模型,对图像的视觉特征描述子进行词频分析,对每张图片进行编码,从关键帧数据库中快速搜索最相似的图像,从而实现全局定位[28]。某些场合下,全局定位不要求给出具体位姿,只需给出最接近的历史数据,学习类方法效果较好,尤其是将卷积神经网络应用于视觉全局定位方面[25]。

图5 无先验的短期定位Fig.5 Short-term localization without priori

长期定位中,最大的挑战来源于环境变化。如果用短期类问题的匹配方法,大量错误匹配会淹没稀少的正确匹配。由于结构特征通常不会发生剧变,激光传感器不失为一个更好的选择。实验发现,当环境的结构没有发生较大改变时,传统激光定位具有较高的鲁棒性。由于视觉传感器受光照影响很大,日夜变化、季节变迁等非结构变化会对长期视觉定位带来极大挑战。如图6所示,有研究者利用结构特征稳定的特点,从视觉观测中恢复结构特征,从而实现长期定位。利用特征点恢复结构信息,在激光地图上寻找最匹配的激光点,通过特征图优化实现六自由度定位[29]。利用双目相机恢复深度图,与激光投影得到的深度图进行稠密匹配,实现定位[30]。通过对环境的多次观测学习激光地图中与视觉点云具有一致性的稳定子集,并设计相应的观测模型,以将地图信息紧耦合于视觉里程的图模型中,实现视觉定位[31]。

图6 基于异构定位的长期定位Fig.6 Long-term localization based on heterogeneous localization

1.3 导航

导航是规划机器人在空间中从起始状态到目标状态的运动过程,运动过程需要满足机器人运动学约束、无碰安全、高效可靠等条件。经过几十年的研究,导航规划已经成为移动机器人较为重要和成熟的一个模块。

根据规划层面和任务属性的不同,导航规划可以分为路径规划、避障规划和轨迹规划。这三个部分的规划是从全局到局部,从地图空间到机器人本体,从空间路径到控制指令,但各部分并没有明确的界限,存在融合多种功能的规划算法,比如Dijkstra算法[32]可以实现全局路径规划和局部避障,HART等[33]融合了机器人运动学约束和路径规划,TEB算法则融合了全局路径规划、局部动态避障和轨迹规划,用多目标优化的思路将起点状态到终点状态用一根橡皮筋抽象连接,各种目标和约束函数(时间、平滑、运动学等)让这条线发生形变,最终得到满足目标和约束的运动规划。

近年来面向人机共融发展需求,具有社会性的行为规划也成为移动机器人领域一个新的研究热点。其中一种方式是采用有限状态机推导机器人的行为规划。例如,在DARPA Urban Challenge比赛中采用该方法解决路口复杂环境中机器人的行为决策问题[34],或者采用马尔可夫决策(MDP)[35]和有限马尔可夫决策(POMDP)[36]描述状态转移过程。另一种方式是采用学习的方法,利用机器人移动经验或人为遥控操作,通过支持向量机[37]、逆强化学习[38]等方法学习一些社会规则,并利用这种社会性质的行为规划解决高动态环境下移动机器人的僵持问题[39]。

2 星面探测机器人自主移动面临的挑战

自主移动技术已经取得了多方面进展,其有效性已在部分地面应用场景中得到验证,但面向各种复杂大范围环境如何实现长期稳定自主运行仍在进一步研究中。星面探测是一种特殊场景下的应用,星面环境与地面环境相比存在很多的特殊性,这为自主移动技术带来了新的挑战。

首先,星面探测机器人自主移动需要考虑两方面需求。一方面是对未知环境的探索需求,需要机器人具有对未知环境的探测规划能力、自主地图构建能力以及回访定位导航能力,既能实现对未知环境的大范围高效探测,能够对探测环境进行建模或数据回传下的建模,又能够确保回到机器人基地,为后续探测和其他作业做准备。另一方面是在已探测环境下的作业需求,需要机器人能够适应环境光照等变化,实现当前感知与已建环境模型之间的准确匹配定位,并根据定位与目标进行导航规划。因此,与地面自主移动机器人研究类似,星面自主移动探测机器人同样需要解决环境地图构建、准确里程估计、自主鲁棒定位、导航规划等问题,

其次,星面环境广阔且以未知为主,缺少地面自主移动应用环境常见的通用标识和设施,而星面机器人需要在环境中进行长期鲁棒自主运行。目前地面无人驾驶在高速公路上的实现得益于全球定位系统(GPS)定位和公路上明显的车道线,工厂内搬运机器人自主移动的实现是依赖于环境中磁钉、磁条、二维码、激光反射板等人工部署的标识。近几年实现的自然导航AGV可不依赖于人工部署标识,但需要利用环境中的结构信息。因此,在缺少通用标识和设施的条件下进行长期鲁棒自主移动是需要解决的重要问题,而星面应用主要依靠视觉传感器进行地图构建和定位导航,对算法适应环境光照变化的性能提出了很高的要求。

第三,星面探测机器人机载资源有限,限制了算法的复杂性和信息的存储。对于定位来讲,地图信息越丰富,定位的鲁棒性和精确性越高,但对存储的要求和定位计算资源的要求也越高。在有限资源条件下,应该考虑在确保定位鲁棒性和准确性条件下的地图压缩。

第四,星面地形多样,有高原、山脉、平原、低地和环形山等,对移动机器人的通行能力提出了要求,自主移动定位导航单元需要与所用移动机构相结合。例如腿足运动能很好地适应地面的不平整和不连续,但会造成感知单元上下晃动较明显,并由于落脚点规划需求而对近距离范围内的环境感知精细度提出了更高的要求。

3 可探索的研究方向

针对星面自主移动探测同时解决探测规划的需求,早期自主移动领域曾对该问题进行了探讨,提出采用熵进行信息量评估,例如通过最大化信息熵的方法贪婪搜索下一个最佳探测点[40]。但这些研究并未考虑星面环境和星面机器人的特点,其有效性有待进一步研究验证。

针对缺少通用标识和设施条件下进行长期鲁棒自主移动的需求,有两个解决路径可以考虑。一是提升地图构建和定位算法前端数据关联对环境变化的鲁棒性,特别是回访或再次探测时由视角和光照带来的影响。目前研究人员在该方向进行了探索。唐立等[41]提出了基于拓扑局部尺度地图的定位导航算法,在没有全局坐标的假设下,以参考节点为中心进行定位,并引导机器人自主导航;在此基础上提出记忆机制,不断丰富地图中的信息,从而提高定位成功率。焦艳梅等[42]提出基于点线特征的机器人鲁棒视觉惯性定位方法,一方面同时利用视觉点特征和线特征增加候选特征的绝对数量实现正确匹配数量的提升,对环境光照等变化的鲁棒性更高;另一方面利用惯性测量单元的重力测量实现自由度降维并推导出最小参数位姿估计解析解,减少RANSAC过程中每次采样需要的样本个数,增强定位鲁棒性。MERRILL等[43]提出利用自动编码器学习不变特征,他们通过重构梯度直方图(HOG)特征,使中间特征层能适应较大的光照变化,并通过拉伸输入图像,提高特征对视角的鲁棒性。从本质上讲,星面移动机器人进行一般导航时对定位精度要求不高,因此,另一个可以考虑的策略是在粗糙地图和粗糙定位或定位缺失下的智能导航,例如利用地面人工标注路径的卫星地图,基于当前感知与卫星地图的匹配实现探测、导航和回航。

针对有限资源条件下,在确保定位鲁棒性和准确性前提下的地图压缩需求,王越等[44]根据Kullbach-Leibler复杂度衡量,提出了基于特征信息量的地图修剪方法。该方法能够控制地图的复杂程度,并在公共数据集上充分验证其有效性。SOO等[45]将地图数量压缩问题转化为整数规划问题,并有效地解决了视觉点数量过多的问题。基于规划的方法能够在减少地图点数之后,同样保持机器人的定位鲁棒性,这使其在后续的地图压缩研究中成为主流[46]。上述方法是从本机算法和存储轻量化角度出发,另一种思路是实现星面探测机器人与星面基站的协同计算,但需要考虑机器人与基站之间的通信条件有限,存在时滞丢包等现象,因此需要研究通信有限条件下的云-端协同定位问题。为此,丁夏清等[47]提出了端云协作的视觉定位框架,在机器人本体端运行计算资源需求量较少的视觉-惯性里程计,将处理后的局部地图信息发送至云端;云端存储有整体环境地图,在接收到机器人端的数据后,将进行资源需求量较大的定位计算,并将全局定位结果发送回机器人。本地机器人通过扩展卡尔曼滤波算法融合机器人实时位姿与云端传回的延迟定位结果,从而实现本体端的实时全局定位。

针对探索环节中构建稠密地图的需求,一个研究方向是构建可变形的稠密地图。在机器人长期的探索任务操作过程中,由于累积性的相机跟踪误差与回环检测的延迟使稠密地图的建立变得不一致等问题,建立可变形的稠密环境地图能够有效控制累积误差,实现全局一致的稠密可行域地图构建。

针对星表环节传统点特征重复性差等问题,一个研究方向是借助其他设备的俯视视野,比如无人机或近表面的卫星图,并通过寻找大面积特征,来实现匹配。这对跨视野的特征匹配以及多设备的协同定位提出了要求。借助俯视视野的大视角特性,星表移动机器人的累积误差可进一步减小。

4 结束语

为推动星面探测机器人自主移动能力的发展,借鉴目前快速发展的无人驾驶技术和地面自主移动技术,归纳总结了目前星面探测移动技术的研究现状和存在的问题,以及目前地面自主移动研究取得的进展。星面探测是一种特殊场景下的应用,星面环境与地面环境相比存在很多的特殊性。在结合星面探测应用特殊性的基础上,提出了未来在长期定位和可变形重建领域开展更深入研究的建议。后续将着眼于长期定位的鲁棒性和准确性,以及可变形重建的实现。

猜你喜欢

定位机器人算法
哪种算法简便
银行业对外开放再定位
Travellng thg World Full—time for Rree
进位加法的两种算法
根据问题 确定算法
少儿智能定位鞋服成新宠
把握新定位、新要求 推动人大工作创新发展
难与易
机器人来帮你
认识机器人