杨力鹏,任工昌,刘 朋,胡小龙
(陕西科技大学机电工程学院,陕西 西安 710021)
移动机器人的导航技术是通过传感器感知环境和自身状态,实现在有障碍物的环境中向目标点的自主运动,主要解决定位、建图和路径规划的问题[1-2]。
目前,导航技术正在向实现智能任务规划的自主导航方向发展,这就需要机器人具备人—机—环境沟通的能力,而语义信息在这个过程中起到关键的桥梁作用,语义信息让机器人通过HRI(Human—Robot Interaction)模式获取任务,然后对任务进行转化并执行,其中涉及到语义地图构建、语义定位、语义知识表示、语义推理等方面的研究。在自主完成任务的过程中,正是由于语义信息的应用才让机器人能以人类视角去理解周围环境、自主识别、推理和完成指定任务。语义信息在移动机器人的应用研究中,PR2移动机器人在医院复杂环境中已实现医院护理高级任务的语义信息应用[3]。
语义信息在语义地图方向的应用中,文献[4]将2014年之前相关语义地图研究进行了综述,将语义地图从可扩展性、推理模型、时间一致性和线索这几个角度进行详细分类总结,但未对语义地图研究的阶段性发展和宏观框架进行概括和总结。
文献[5]在2016 年对SLAM(Simultaneous Localization and Mapping)的综述中,从宏观框架角度出发,分析总结语义地图三种主要组织方法:SLAM 直接作用于语义;语义直接作用于SLAM 和SLAM 与语义相互关联(即语义SLAM),其关联关系,如图1所示。
图1 语义SLAM流程图Fig.1 Semantic SLAM Flow Chart
语义信息在移动机器人实现任务规划过程中的应用关系,如图2所示。这里主要从语义信息在自主移动机器人导航中的应用这个角度出发,对语义信息在语义地图、语义定位和语义知识表示方面阶段性发展进行分析总结,并展望语义信息在移动机器人导航应用中发展趋势。
图2 语义信息应用关系图Fig.2 Semantic Information Application Diagram
目前,语义地图的研究仍然处于早期阶段,缺乏一个系统的方法。语义地图是实现移动机器人导航从路径规划到任务规划的基础,根据移动机器人需要完成任务的等级程度,需要组织相应复杂程度的语义地图。大量语义地图的组织方法是在度量地图上添加语义信息,将语义信息与移动机器人环境的几何实体进行关联,这里的语义信息是代表重要事物的意义[4-5]。语义地图中语义信息获取主要方式是通过机载视觉传感器模拟人类眼睛的方式直接主动形象地获取环境语义信息。还有其他一些技术间接获得环境语义信息,如语音识别、QR Code(Quick Response Code)、RFID(Radio Frequency Identification)等[6-7]。
移动机器人语义地图的构建,无论是二维还是三维语义地图,语义信息的提取经历了直接从传感器数据提取低级特征到高级对象特征阶段;直接从面向像素级对象识别到以对象为中心得到实例级语义分割的阶段;语义地图中语义分类等级从简单粗糙到复杂;从基于静态、结构化、有限空间的环境基本假设到真实未知动态、非结构化和大规模的环境方向发展。
在移动机器人导航研究中,大部分二维语义地图构建,一般先用激光传感器构建用于导航的二维度量地图,并通过视觉传感器获取地图的语义信息,这种方法的优点是计算成本低。
移动机器人二维语义地图中语义信息特征提取的自主大规模对象级发展。文献[6]提出的早期移动机器人导航中的二维语义地图研究中,语义层由机器人通过与人类的语言互动获取地标语义信息。文献[7-8]提出一种多层次度量—拓扑—语义地图构建方法,不再需要与人类语言互动,直接使用自身视觉传感器获取已知房间低层次空间不同区域内特定物体语义信息。由于基于低层传感器数据直接识别的房间类别都是确定的,不能合并异构的、不确定的信息,文献[9]为移动机器人的导航提出了一种概率框架的多层语义建图算法,将环境中不确定异构对象的存在信息、空间拓扑结构和语义属性知识相结合,构建大规模、更具描述性和更适合人类交互的语义地图系统。
(一)结构特点。在笔者所收集的网络流行语中,偏正结构居多,有20多个,占所收集流行语的40.8%,其中又以定中结构为主,是偏正结构的85%,占总数的34.7%.主谓结构、联合结构各占总数的6.1%,动宾结构、动补结构分别占10.2%和4%。(如下图)
移动机器人的三维语义地图是在三维度量地图基础上构建的,与二维语义地图相比,优点是保留了二维语义地图丢失的大部分几何信息。
移动机器人三维语义地图中语义信息特征提取的自主面向对象级发展。在早期三维语义地图的研究中为了实现对环境模型的自动获取,文献[10]提出一种从三维点云数据获取室内家庭环境的混合语义三维物体地图方法,应用多模式传感器技术,通过机器人机械手与环境的交互作用来解决点云模糊分割的结果,进一步加强地图采集的自主性。文献[11]较早提出面向3D 对象的SLAM++,直接在“面向对象”级别生成增量式的地图,对已知场景中的对象和区域进行语义化场景描述,完成语义标记场景重建,但缺点是需要预先定义场景中预期的对象。文献[12]提出一个获得面向对象的语义地图系统,以对象为中心得到实例级语义分割,不再需要已知的三维模型对象数据库,生成语义信息丰富的以单个对象实例为关键实体的环境语义地图。
移动机器人语义地图中语义信息应用在动态环境下的发展。在构建语义地图时,早期SLAM方法中的一个基本假设是环境是静态的,然而现实环境却是实时动态变化的,如何处理动态环境下语义SLAM问题,是当前比较重要的一个研究方向。
文献[13]提出一种针对长期动态环境场景的语义建图框架SOMA,使用一个三层架构来建模对象、区域和机器人的轨迹,用于构建、维护和查询语义对象地图。文献[14]提出一种实时语义SLAM(DS—SLAM)系统,该系统的优势是减少动态物体对姿态估计的影响,构建了去除动态物体的语义地图。文献[15]提出了一种利用深度学习的语义动态SLAM框架,跟踪消除动态目标。在动态环境下,语义信息的应用提高SLAM系统的鲁棒性和准确性。
移动机器人语义定位是根据在给定的先验地图中用传感器获取的物体语义信息来估计移动机器人的位姿[16]。最早由文献[17]提出用空间语义层次中的语义信息对机器人定位。移动机器人一般用机载摄像机,通过目标检测和语义分割两种方式对环境中的物体进行识别、定位和获取语义信息。由于真实环境中的物体形状各异,两大类方法在识别的原理上,目标检测算法中的方形检测框误分类了大量的像素点,而语义分割技术可以实现像素级别的物体分类。
移动机器人语义地图中语义定位的目标检测模型发展。在基于目标检测的语义定位研究中,文献[8]提出度量—拓扑—语义层次地图方法,在该语义地图中语义定位使用黑盒检测的目标检测方法来识别对象,通过对毛巾、炉子、电视等在不同区域具有特定的物体的识别,来简单粗糙地推理机器人在环境中的某个区域。但黑盒检测方法回避了语义地图构建中语义信息特征识别部分,针对这个问题,文献[18]提出一种使用对象作为基本语义概念来识别位置的方法,是基于特征目标检测方法的概率模型,属于单峰“硬”性检测,存在获得局部次优解的缺点。针对这个问题,文献[19]在图像上为每个对象生成一个热图,表示特定比例的对象出现在特定位置的概率,实现“软”检测建模,提高定位过程的精度和收敛速度。
语义信息定位在SLAM问题中,除了上述用于构建环境语义地图外,还在回环检测[20]和对动态对象进行语义级的目标检测跟踪[15]中有所应用。
移动机器人语义地图中语义分割定位在变化场景下的发展。在基于语义分割的语义定位研究中,一个主要的问题是针对由于光照、时间、天气、季节以及视角的不同,会导致特征点的外观发生较大变化的问题。为了确保识别近似不变特征,提出语义信息有助于减轻外观变化的影响这一假设。文献[21]提出一种基于单个查询图像像素语义标注的六自由度相机姿态精确鲁棒估计方法,在季节变化、具有挑战性的光照条件或者当地图和定位发生在相隔很远的时间时,以分米精度恢复姿态。文献[22]提出一个多视图语义全局定位系统X—View,利用语义地图描述符匹配进行全局定位,支持在完全不同的视图点下进行定位。
机器人学的知识表示是一种表示机器人行为和环境知识的方法,将这些概念的语义与自身内部组件联系起来,通过推理和推断来解决机器人对环境的理解及推理[25]。具有语义知识表示的语义地图的优点是拥有了对语义地图中的语义信息进一步存储、推理等的功能[26],为机器人完成复杂任务提供所需的知识及推理能力。
主要总结基于本体形式的移动机器人环境语义地图语义知识表示的发展阶段,经历了采用手工编码的本体组织确定的室内环境知识表示阶段,到通过概率本体组织环境中的不确定性知识表示阶段,再到具有多机器人可共享可重用的OWL(Web Ontology Language)组织的组合知识表示阶段。
基于本体的移动机器人语义地图中语义知识表示阶段性发展。移动机器人环境语义知识表示的研究主要为基于本体的知识表示研究,文献[8]在早期的二维语义地图中,以描述逻辑的形式表示语义知识。该方法用手工编码室内环境的本体,概念层次简单,空间描述粗糙,表示中不包括不确定性的环境属性。针对无法将环境属性的不确定性与语义信息内在联系起来的问题,文献[9]提出了一种融合两种原始不确定性知识表示,即语义信息的概率框架。文献[26]构建了适用于三维语义地图的KNOWROB—MAP知识关联语义对象地图系统,其中的语义知识表示为结合Web本体语言(OWL)中的知识表示。该系统的语义知识库由百科全书式、常识性和关于其环境概率性的知识组合而成,相互协同为机器人提供完成高级复杂任务所需的语义知识。
除基于本体的环境知识表示外,还有其他知识表示形式的研究,如文献[27]为语义地图表示提供了一个基于空间数据库SEMAP框架,能够管理带有几何对象模型和相应语义标注的完整三维地图及其相关空间关系。
在移动机器人面向任务规划的自主导航中,语义信息的应用研究已经取得了重要进展,语义信息作为机器人理解周围环境,完成人—机—环境交互,具备智能能力的媒介,将起到越来越重要的作用。语义信息的应用研究可以在以下几个方向进一步发展。
由于语义地图的构建还没有一个统一系统的方法,并且移动机器人环境语义地图应用领域不断扩展,根据不同任务的需求,可以通过多种传感器获取环境的多源语义信息[27],语义信息的来源将从主要通过视觉提取环境的语义信息向多源语义信息提取发展。
环境地图的语义知识表示主要以本体知识表示形式为主,生成对机器人周围环境的完整描述、编码和显示属性。由于移动机器人环境地图研究向复杂、不确定、动态、非结构化和大规模越来越接近实际情况的方向发展,语义地图的形式将会越来越复杂,以怎样一个知识表示形式来表示移动机器人所在环境空间属性会是一个重点研究方向[4]。
云技术应用到室内外大规模复杂环境语义地图和语义知识库中,进一步完善基于云技术的对象识别、语义地图构建和语义知识库构建,让多机器人云端共享、复用、更新扩展数据,促进机器人和人类之间的交流,实现高级的智能语义任务。在云端存储大量数据和进行复杂计算,为空间受限不能搭载有效计算能力控制器或低端机器人平台实现高级语义任务成为可能。
语义信息应用研究在自主移动机器人任务规划的研究中是一个核心研究内容,这里主要从室内自主移动机器人实现任务规划过程中语义信息的应用这个角度出发,对语义地图、语义定位和语义知识表示进行了分析和总结,展望了语义信息在自主移动机器人导航应用中发展的方向,对语义信息在自主移动机器人中的应用研究和发展有一定的参考价值。