随着世界科技高速发展,服务机器人这个高端的技术领域已经有了越来越多的研究成果。从国内外服务机器人的发展前景来看,对其技术的开发与完善具有非常长远的价值。服务机器人是典型的移动机器人,经常用于执行操作者设定的各种动态命令,往往会面临处于完全陌生、没有现成全局地图指引的环境等情况,那么这时移动机器人对于目标的定位就会特别的复杂,然而人类的双眼和生活经验却能在大部分陌生的环境中快速寻找到目标,这就是人类优于机器人的方面。机器人往往都是定量精确地分析目标任务,而人类却是凭借自身经验完成任务,设想如果我们能够把人类的自身优势和机器人的智能水平融合起来的话,不仅可以轻易地完成许多复杂的任务,而且能大幅度提高任务的效率与质量,这对于服务机器人的发展和应用都是极其乐观的,这就需要人机交互[1-3]。
国内外关于人机交互的研究有很多,包括基于手势、面部表情、视觉、传感器、语音等。其中在基于手势的人机交互方面,J.Lee和T. L.Kunii[4]的系统中, 指尖信息被用来构造三维模型;在面部表情人机交互方面,Irfan A. Essa等[5]运用FACS编码方法对表情进行图像跟踪,再对其进行编码和识别;日本任天堂公司开发了动作感应游戏手柄就是传感器交互方式的成功代表;在视觉人机交互方面,Kahn研制了一种基于方向选择的文本输入系统。然而对于服务型机器人而言,面向的群体是普通大众,最自然、最直接的交互方式莫过于人类自然语言[6-7]。
现如今关于自然语言识别的研究中,聂仙丽等[8]设计了1种自然语言行为控制器,从而运用自然语言进行移动机器人的编程;Elmogy等[9]提出一个空间语言来描述路径给移动机器人进行导航任务;Pulasinghe等[10]提出了一种使用口头语言命令来控制机器的方法,提出了通过使用口语的命令来进行移动机器人实时导航实验测试的方法;在自然语言产品中,一个典型成品就是苹果公司的Siri产品,它支持自然语言输入,使用者可以通过手写输入、语音控制的方式查找信息,这时候的手机就是一个智能机器人,能够理解自然语言、执行命令。另外还有国外的谷歌和国内的百度等搜索引擎都运用了自然语言理解算法。
文中研究的基于自然语言理解的人机交互方法是针对于移动机器人的[11],分析的语言背景是汉语,这种类型的研究在国内外还是比较少的。因为汉语语言具有多样性和歧义性,要想让机器人对自然语言进行分析理解,并且自动生成自然语言指令,是具有一定难度的,并且具有创新性。文中通过借鉴于搜索引擎的作用模式,建立一种基于自然语言句式的人机交互界面来实现移动机器人对自然语言的分解,其中引入两种自然语言分析算法对应2种自然语言指令,针对含有特定关键词的自然语言指令进行智能分析,并遍历指令库找到相应的控制指令。
1 自然语言分析 1.1 自然语言分析算法针对文中的难点和重点即将自然语言解析成机器人控制指令,文中从另外2个方面解决这个问题,提出一个自然语言组合算法和自然语言分解算法。基于自然语言语句的组合算法把自然语言解析思路倒置,想办法将把解析自然语言的任务简化为组合自然语言的方法,这个算法受数学方法排列组合的启发,想要通过单一动作指令的排列组合,达到积少成多、化简为繁的目的,适用于一些典型动作,即易于套用典型自然语言句式的动作。图 1为自然语言组合算法的基本思路。
这个组合算法的基本思路是在易于普通人理解的自然语言句式中提取关键词、组合关键词,将小指令扩展为一系列连贯动作,在针对特定问题时能方便控制。这种算法既降低了基于汉语的自然语言表达方式的多样性造成的解析难度,又提高了对于非专业编程人士协助控制移动机器人的可能性。这种算法初步达到了以自然语言的方式来控制移动机器人的目的。
另外一种方法是针对一些自定义动作而设计的,移动机器人可以通过输入的规范化、带关键词的自然语言指令进行指令解析,匹配指令。
整个自然语言解析过程的基本流程如图 2所示。这种自定义的语言指令也是需要遵循日常用语习惯的,并在此基础上尽量规范化语句模式,突出关键词。通过移动机器人对语言指令的解析,查找关键词主干,即主要方位词、主要动作词等,所有模糊含义的主干关键词被实现分类成4个主要动作,然后查找关键词枝干,即主要关键词的附加描述部分,如精确距离、模糊限定词、目标等,所有模糊表达都可以人工量化成一个标准。然后遍历指令库,寻找相匹配的指令,进行相应的程序调用。这种算法采用层层递进的模式,逐层匹配指令库,只要是含有关键词的自然语言指令,都能遍历指令库进行指令匹配调用。
1.2 自然语言语句上述2种算法都是针对含有特定关键词的自然语言,类似于搜索引擎中关键词搜索法的模式,逐步遍历自然语言指令库,匹配到相应的控制指令,然后协助移动机器人完成任务。根据汉语语言句式的习惯,文中考虑了多种自然语言表达句式,将遍历自然语言指令库的优先级定为先匹配主干方位关键词,再提取枝干修饰方位词,然后在指令库中提取匹配的控制指令,由此列出了如表 1所示的自然语言分析表。
主干关键词 | 前 | 后 | 左 | 右 |
同义表达 | 向前/前进/前方 | 向后/后退/往后 | 左转/向左/左方 | 右转/向右/右方 |
枝干模糊词 | 一点/一点点/一步/一大步 | 一点/一点点/一步/一大步 | 一点/一点点 | 一点/一点点 |
枝干精确参数 | 0.1 m/0.1米/1 m/1米 | 0.1 m/0.1米/1 m/1米 | 5度/5°/30度/30°/180度/180° | 5度/5°/30度/30°/180度/180° |
1)前:向前走一点点;向前方0.1 m处前进;前行一大步;前进1 m;
2)后:向后方退一点;后退一步;向后走0.3 m;后退约1 m;
3)左:向左方转动一点点;左转弯8°;向左15°转动;向左方转约100°;
4)右:右转一点;向右9°;右转弯约38°;向右方转动120°。
据表 1的自然语言语句匹配方法,可以组合出若干条指令语句。分别以前、后、左、右为主干关键词,分为四大类,下文例举出了基本自然语言语句的几种习惯用语情况,这些自然语言语句都是明确了方位词的典型用语,基于这种语句组合方式可以基本上满足移动机器人在运动控制中的各个方位、角度和运动距离。
2 自然语言指令人机交互界面需要同时兼顾机器人和人类操作者的理解需求,一方面最大限度地利用机器人的智能,一方面便于操作者理解和控制机器人。建立这个自然语言控制平台就是把两者的优势结合到最大,自然语言指令既要符合人类生活用语习惯,又要让普通操作者单从字面上就能知道一条指令的含义,另一方面也要让移动机器人准确无误地将自然语言语句翻译成机器人能读懂的运动控制指令。在文中的人机交互界面设计中,将控制指令分为了3种,即基本控制指令、简单参数控制指令、复杂自然语言控制指令。
2.1 基本控制指令对于1个移动机器人来说,最基本的运动方向不外乎前、后、左、右4个方向。在文中设计的人机交互界面中,将设计2对基本控制指令面板,分别对应的是现场方向和全景图方向,鉴于前文所述,机器人移动方向在全景图中的显示与其现场移动方向存在不同,所以在此将基本指令分为2种便于操作者选择。如果操作者是在现场协助移动机器人运动,即选择现场模式的基本控制指令;如果操作者是进行远程操作时,就可以选择基于全景图模式的基本指令。这样分类即可以拓宽操作者的选择面,又方便操作者以自身角度进行控制。
这2种基本控制指令都是基于开环控制的,需要手动停止,符合一动一停的模式。作为基本控制指令,这对控制指令的操作简单、意思简单明了,但是精度略差、无反馈,只适合简单环境下的简单控制。
基本控制指令中包含有不带精确参数的方位词,如前进、后退、左转、右转、快前、慢前、快后、慢后、左上、右上、左下、右下、停止。这些方位词都是浅显易懂的汉语符号,能完成最基础的运动控制动作。
2.2 简单参数控制指令上文提到基本控制指令都是开环控制系统,无反馈调节机制,所以整个人工控制过程都是单输入单输出的命令,每次命令的停止必须人工判断。如果用闭环系统来控制移动机器人就可以提高机器人运动的精度,加深控制调节的难度。文中以此为出发点设计出一个基于简单参数的控制指令,通过改变参数来控制机器人的运动精度。针对基本控制指令中的基础前进、后退、转向、速度进行细化描述,对前进、后退距离进行参数设定,对转弯方向及速度进行定量描述,这样基于可变参数的控制指令能达到更加细致化控制机器人运动轨迹的目的。
2.3 自然语言控制指令上述3种控制指令为文中的自然语言控制方法奠定了基础,复杂的自然语言指令就是简单的控制指令和简单参数指令的排列组合。文中将可以描述移动机器人运动情况的自然语言指令分为典型指令和自定义指令。
2.3.1 典型指令这里定义的的典型指令是针对一些在机器人运动过程中经常遇到的情况而设计的,文中将这些机器人遇到的若干情况进行简要分类,用简单明了的关键词进行区分,设计出若干符合人类平时用语习惯的句型模板,这些模板由一些固定不变的连接词和部分可变的参数构成,在想要控制移动机器人时,将参数部分选择或者填入关键词,就可以组成完整的语句,触发自然语言指令。典型指令就是带参数的控制指令的扩展延伸。
首先根据设定的典型指令的特点给指令取1个浅显易懂的名称,如定向运动、退出死角、模糊避障、导航定位等。然后对这个典型运动进行自然语言描述,描述方式严格遵从固定连接词和可变连接词组合的模式,并且符合自然用语习惯,将典型指令进行扩展,具体扩展方式如下。
1)定向运动:向a方向,以b速度,前进c;
2)退出死角:沿d侧方向退出死角;
3)模糊避障:避开e处障碍物;
4)导航定位:定位f方向g物体,并且规划地图前进。
关于1)中描述的典型指令定义了1个叫做定向运动的指令,这个指令含有3个可变参数,由不变连接词组合成1个完整的语句,使操作者一目了然指令的含义。在第1个可变参数项内,是代表方向的参数,文中在此语句库内存入了正前、正后、左90°、右90°、左45°、右45°、左转30°、右转30°、左转一点点、右转一点点10条方向指令;在第2个代表速度的参数项内存入了当前、比现在快一点点、比现在慢一点点3条指令;在第3个代表前进距离的参数项内,可以自定义前进米数,也可以选择组合框内一点点、一步、一大步的模糊距离。对于这一条指令,这样的关键词组合方法可以定义出基于自然语言语句的控制指令不少于90条,方法简单、易于理解,只要将相关参数填写完毕,就可以通过定向运动的按钮配合上述基本控制指令和简单参数控制指令进行协调控制。剩余典型指令遵从同样思路进行扩展描述,可以实现自然语言指令的语句逐步趋向规范化,易于自然语言交互模式的实现,便于匹配语言指令库。
2.3.2 自定义指令自定义指令顾名思义就是操作者根据不同情况下机器人需要完成的动作任务而向移动机器人发出的自然语言描述的指令,这种随意性很大的描述方式是丰富自然语言指令库的重要方法,但是也是机器人理解自然语言的难点。这是因为随意性很大的汉语语言是存在歧义性的,如果语句中没有指令库中存有的关键词,那么语言解析就会出现误差,无法正确解读出指令要求,所以这就要求在发出自定义指令时,要将方位关键词视为句式中必不可少的要素,既符合人类日常用语习惯又可以降低机器人解析语言的难度。
自定义指令也是一句自然语言语句,这就是说在语句中并没有动作优先级的划分,所以为了降低机器人解析自然语言的难度,文中将自定义指令中2个以上的动作以先、然后1、然后2、然后3的方式连接起来,以此确定提取出的指令动作的执行次序,每个连接词后可以代入典型指令或者单一动作,将这些逻辑词组合在一起,就是1个完整的自然语言语句。
在这些逻辑连接词连接起来的指令中可以选择原先已经加入到指令库中的参数,也可以输入文本信息,通过对语句中关键词的解析找到相应的控制指令,如果需要添加参数,可以在解析了语句后弹出对应对话框添加参数完善语句,或者直接使用模糊控制语句进行动作规划。为了同时方便语句的解析和人类的表述习惯,两两逻辑词之间最好只包含1个动作。另外,在定义同一个动作时可能会有许多种表述词,将统一含义的关键词分类整合,方便自然语言语句指令遍历指令库时能够尽量准确无误。
自定义指令也可以配合前面所述的基本控制使得自然语言指令能最大程度地被移动机器人理解。总而言之,自定义指令也是1种基于带关键词的自然语言语句的自然语言指令。指令和简单参数指令使用、组合控制方便简单,一方面最大程度地发挥操作者经验的优势,另一方面也简化了移动机器人解析自然语言需要完成的工作。
3 验证实验 3.1 实验目的在本次实验中主要验证基于上述2种算法所设计出的自然语言指令是否能够被移动机器人准确解析,判断这种基于自然语言关键词的人机交互方法的可行性。由此设计如下2个实验,在实验中针对相同环境下的移动机器人,分别使用自然语言组合算法和自语言分析算法进行控制实验,观察是否正确响应相应语言命令,并判断最后是否到达预期位置。观察不同路径下的实验现象,判断移动机器人是否能准确解析自然语言指令,评估文中提出的算法的准确性和这种基于自然语言关键词的人机交互方法的可行性。
3.2 实验详情本次实验平台是基于哈尔滨工程大学406教研室的双目全景移动机器人建立的,实验系统平台如图 3所示。实验硬件设施包括双目全景摄像头、履带式移动机器人、超声波收发器等,由此构建起了移动机器人系统、全景视觉系统、超声系统等子系统,移动机器人的下盘位置内嵌了1台计算机作为主控端,实验中远程监控端使用普通PC机与此主控端进行远程连接,开发监控平台和自然语言控制界面来辅助机器人任务执行。
实验路径图如图 4所示,机器人的起始点为点B,起始时机器人的正面面向BC方向,实验中使用自然语言指令方式控制机器人分别顺时针、逆时针经过A、C参考点回到出发点B。
路径1:图 4中虚线指示路径。
预期结果:机器人从B→A→C→B。
自定义指令描述:先向左转5°→左转55°→向前0.4 m→右转弯120°→前进0.4 m→右转5°→再右转25°→继续右转90°→前进0.4 m→回到B。
典型指令描述(带可变参数):向左方转5°→向左方转55°→向前方以当前速度,前进0.4 m→向右转120°→向前方以当前速度,前进0.4 m→向右转5°→向右转25°→向右转90°→向前方以当前速度,前进0.4 m→然后回到B。
实验结果:使用2种指令都可以使移动机器人按照预期线路回到起始点。
路径2:图 4中实线指示路径。
预期结果:机器人从B→C→A→B。
自定义指令描述:先向前走0.4 m→左转120°→向前0.4 m→右转弯60°→后退0.4 m→右转60°→回到B。
典型指令描述(带可变参数):向前方以当前速度,前进0.4 m→向左方转120°→向前方以当前速度,前进0.4 m→向右方转60°→后退0.4 m→向右方转60°→然后回到B。
实验结果:使用2种指令都可以使移动机器人按照预期线路回到起始点。
实验分析:在实验中的2种路径设定下,用自然语言进行路径描述,并且使用基于自然语言组合算法和自然语言分析算法的自定义指令和典型指令进行自然语言输入,最后都能使移动机器人按照预期目标回到起始位置,这说明文中提出的这种基于自然语言关键词的人机交互方法在移动机器人的运动控制上是可行的。
4 结束语文中通过用带关键词的自然语言句式约束自然语言表达方式的多样性和歧义性的方法,设计出一种基于自然语言关键词的人机交互方法,使普通操作者能在友好的人机交互界面中通过监视远程界面中移动机器人的现场情况,并且使用通俗易懂的自然语句来辅助控制移动机器人的运动和任务执行。文中设计的交互方法能够实现用两种自然语言指令方式对自然语言语句进行分析理解,这种人机交互方法基本解决了对单一动作指令的分析理解,但是对于复杂连续的动作指令的分析理解还有待进一步加深研究。
[1] | 谢炯坤.面向人机互动的自然语言理解的研究[D].合肥:中国科学技术大学, 2015:115-120. |
[2] | ALONSO-MARTÍN F, CASTRO-GONZÁLEZ A, LUENGO F J F D G, et al. Augmented robotics dialog system for enhancing human-robot interaction[J]. Sensors , 2015, 15 (7) : 15799-15829 DOI:10.3390/s150715799 |
[3] | CHEN Xiaoping, XIE Jiongkun, JI Jianmin, et al. Toward open knowledge enabling for human-robot interaction[J]. Journal of human-robot interaction , 2012, 1 (2) : 100-117 |
[4] | WU Ying, LIN J Y, HUANG T S. Capturing natural hand articulation[C]//Proceedings of the 8th IEEE International Conference on Computer Vision. Vancouver, BC:IEEE, 2001, 2:426-432. |
[5] | ESSA I A, PENTLAND A P. Coding, analysis, interpretation, and recognition of facial expressions[J]. IEEE transactions on pattern analysis and machine intelligence , 1997, 19 (7) : 757-763 DOI:10.1109/34.598232 |
[6] | 李剑平.服务机器人自然语言理解与任务规划的研究及应用[D].广州:广东工业大学, 2013:308-312. |
[7] | 李新德, 张秀龙, 戴先中. 一种基于受限自然语言处理的移动机器人视觉导航方法[J]. 机器人 , 2011, 33 (6) : 742-749 |
[8] | 聂仙丽, 蒋平, 陈辉堂. 采用自然语言的移动机器人任务编程[J]. 机器人 , 2003, 25 (4) : 308-312 |
[9] | ELMOGY M, HABEL C, ZHANG Jianwei. Cognitive instruction interface for mobile robot navigation[C]//Proceedings of International Conference on Computer Engineering & Systems.Cairo:IEEE, 2009:115-120. |
[10] | PULASINGHE K, WATANABE K, IZUMI K, et al. Modular fuzzy-neuro controller driven by spoken language commands[J]. IEEE transactions on systems, man, and cybernetics, part B (cybernetics) , 2004, 34 (1) : 293-302 DOI:10.1109/TSMCB.2003.811511 |
[11] | YERACARIS Y, GRAY P M, DREHER J P. Automated speech recognition system for natural language understanding[P]. US:8560321, 2013. |