在机器人操作系统中启动应用的方法及装置与流程

文档序号:11949786阅读:326来源:国知局
在机器人操作系统中启动应用的方法及装置与流程

本发明涉及智能机器人领域,具体地说,涉及一种在机器人操作系统中启动应用的方法及装置。



背景技术:

随着智能设备的出现,开发人员发现越来越多的机器已经无法用原来的操作系统的交互方式来进入应用。例如,针对无触摸屏的设备,则不能用触摸的交互方式进入应用。再比如,针对传感器较多的设备,进入应用的方法不仅是可以通过在屏幕上触摸,还可以采用其他传感方式来进行交互。

因此,针对上述的现有机器人操作系统进入应用的方式单一的问题,需要一种能够兼容多种模态输入的方式来启动相关应用程序的方法和装置。



技术实现要素:

本发明的目的在于解决现有技术中能够兼容多种模态输入的方式来启动相关应用程序的问题,提供了一种用于在机器人操作系统中启动应用程序的方法,所述方法包括以下步骤:

接收一个或多个特定事件的输入,所述特定事件包含于具有多种类型事件的事件列表;

识别所述特定事件所对应的事件类型和意图;

基于事件类型和意图启动相对应的应用程序。

根据本发明的一个实施例,在机器人操作系统中启动应用的方法中,所述事件列表中包含交互类多模态输入事件、OS操作系统类事件和组合类事件。

根据本发明的一个实施例,在机器人操作系统中启动应用程序的方法中,用以启动应用程序的意图包括来自用户的用户意图、来自应用程序的应用程序意图和来自操作系统的操作系统OS意图。

根据本发明的一个实施例,在机器人操作系统启动应用程序的方法中:

如果用以启动应用程序的意图是用户意图,则根据用户的多模态输入信息识别出用户的意图,以启动与交互类多模态输入事件相关的应用;

如果用以启动应用程序的意图是应用程序意图,则根据自定义的自动触发机制在第一特定事件出现时启动相对应的应用;

如果用以启动应用程序的意图是操作系统意图,则根据自定义的自动触发机制在第二特定事件发生时启动相对应的应用。

根据本发明的一个实施例,在机器人操作系统中启动应用程序的方法中,具有不同来源的意图的事件具有不同的优先级别属性;

当按照所述意图启动应用程序出现冲突时,根据各种事件对应的优先级别来决定是否启动对应的应用程序。

根据本发明的另一个方面,还提供了一种用于在机器人操作系统中启动应用程序的装置,所述装置包括:

事件输入接收模块,其用以接收一个或多个特定事件的输入,所述特定事件包含于具有多种类型事件的事件列表中;

事件识别模块,其用以识别所述特定事件所对应的事件类型和意图;

应用程序启动模块,其用以基于事件类型和意图启动相对应的应用程序。

根据本发明的一个实施例,针对用于在机器人操作系统中启动应用的装置,所述事件列表中包含交互类多模态输入事件、OS操作系统类事件和组合类事件。

根据本发明的一个实施例,在用于在机器人操作系统中启动应用程序的装置中,用以启动应用程序的意图包括来自用户的用户意图、来自应用程序的应用程序意图和来自操作系统的操作系统OS意图。

根据本发明的一个实施例,在用于在机器人操作系统启动应用程序的装置中:

如果用以启动应用程序的意图是用户意图,则根据用户的多模态输入信息识别出用户的意图,以启动与交互类多模态输入事件相关的应用;如果用以启动应用程序的意图是应用程序意图,则根据自定义的自动触发机制在第一特定事件出现时启动相对应的应用;如果用以启动应用程序的意图是操作系统意图,则根据自定义的自动触发机制在第二特定事件发生时,启动相对应的应用。

根据本发明的一个实施例,在用于在机器人操作系统中启动应用程序的装置中,具有不同来源的意图的事件具有不同的优先级别属性:

当按照所述意图启动应用程序出现冲突时,根据各种事件对应的优先级别来决定是否启动对应的应用程序。

根据本发明的方法和装置,智能机器人操作系统可以接受多种方式的输入来启动相关的应用,从而实现机器人与用户的交互。此外,安装了各种传感器的智能机器人不仅可以通过多模态输入的方式以交互事件来启动应用,还可以通过操作系统中定义的特定事件来启动相关应用,或者通过开发应用时自动义的特定事件来启动相关应用。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例共同用于解释本发明,并不构成对本发明的限制。在附图中:

图1显示了根据本发明的方法用以通过事件的方式启动应用的方法流程图;

图2显示了在操作系统中通过事件触发应用的意图框图;

图3显示了根据本发明的用以启动应用的事件的分类;以及

图4显示了根据本发明的一个实施例的用以启动应用的装置的结构框图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,以下结合附图对本发明实施例作进一步地详细说明。

如图1所示,其中显示了根据本发明一个实施例的用以通过事件的方式启动应用的方法流程图。

在图1中,方法开始于步骤S101。在该步骤中,智能机器人操作系统接收特定事件的输入。这些特定事件包含在一事件列表中。在根据本发明的事件列表中定义了很多类型的事件,例如用户交互类事件、操作系统内部定义的事件或者开发应用APP时定义的事件。这些事件接收后,均放置在具有例如先入先出排队的队列中。在排队中,这些事件等待被识别处理。

接下来,在步骤S102中,识别特定事件对应的事件类型和意图。由于本发明的事件类型需要考虑到多种情况,即有多模态交互式输入的需要,又有操作系统内部各个应用调用期间参数互相传递的需要,还可能有应用程序在研发时自定义的某类特定事件以启动自身的需要。意图,即为所要达到某种交互需要(如,启动某个应用)的企图或打算或指示,其可以来自用户、机器人操作系统本身,其可以为固定格式进行定义以被解析,也可以为自然语言定义以被识别。因此,在本发明中,需要识别出排队在第一个的事件的类型属于哪一类,从而根据该类型确定进入哪个应用。

此外,为了准确地确定出对应的应用,在事件出现时,还需要进一步判断出触发该事件的意图。例如,根据用户发出的语音或作出的手势判断出机器人需要打开照相应用程序。这种意图是来自用户的。还有一种情况是,启动应用的事件的意图来自于操作系统本身。比如,在跳舞应用打开时,会自动向歌曲播放应用发送消息或者事件来启动歌曲播放功能。另一种情况下,也可以在设计开发舞蹈应用时,自动根据某一特定动作的发出调用音频播放功能。

最后,在步骤S103中,基于事件类型和意图启动相对应的应用程序。

根据本发明的一个实施例,在机器人操作系统中启动应用程序的方法中,用以启动应用程序的意图包括来自用户的用户意图、来自应用程序的应用程序意图和来自操作系统的操作系统OS意图。

如果用以启动应用程序的意图是用户意图,则根据用户的多模态输入信息识别出用户的意图,以启动与交互类多模态输入事件相关的应用;如果用以启动应用程序的意图是应用程序意图,则根据自定义的自动触发机制在第一特定事件出现时启动相对应的应用;如果用以启动应用程序的意图是操作系统意图,则根据自定义的自动触发机制在第二特定事件发生时启动相对应的应用。

另外,在机器人操作系统中启动应用程序的方法中,具有不同来源的意图的事件具有不同的优先级别属性;

当按照上述的意图启动应用程序出现冲突时,根据各种事件对应的优先级别来决定是否启动对应的应用程序。

上述根据本发明的方法实际上利用了操作系统中的事件触发来启动应用的原理。参见图2,在操作系统中,其通过消息队列的方式将外部I/O设备的输入通过事件传递的方式传送给对应的应用程序。在消息队列中,一般遵照先入先出的规则对事件1、事件2、事件3进行排队。即先发生的事件首先被识别并被处理。当然,在几个事件同时发生,需要根据一定的优先级别来判断谁先被识别处理。当出现冲突时,例如一个是要关闭应用,而另一个事件是要启动应用,则也会根据优先级别进行决定。

在这里,事件其实就是系统级别的消息。广义来讲,通常一个对象向另一个对象的请求(Request)就是一条消息。而事件往往是由系统发出来的,经由操作系统到达应用程序来处理,是“反向”的消息。当用户要和一个应用程序进行交互时,表面上看是用户和应用直接交互。事实上,在处理时,用户是先和操作系统OS交互。例如,用户需要要先和硬件交互(敲击键盘,触屏,声音输入设备或者传感器设备),而硬件发出中断给驱动程序,此时的硬件“中断”转化为软件中定义的“事件”。

本发明除了将外部的交互式输入作为一种事件来进行操作系统的响应,还将操作系统自身其他模块或应用发送过来的消息也作为一种特定事件来调用相关的应用。在一个优选的实施例中,智能机器人的各种APP应用在开发时,也可以预先定义一些启动自身的事件。

因此,在本发明中,如上所述的事件列表中主要包含交互类多模态输入事件、OS操作系统类事件和组合类事件。如图3所示,其中显示了上述几类事件的分类和对应要启动的应用APP。

以外部交互式输入来启动应用的事件,即交互类事件,它也是由设备面对的交互对象如用户、物体所激发的事件。因交互信息变化导致的启动应用的事件包括但不限于下列事件:

用户语言事件,系统根据用户的语言,判断用户的意图,进入用户想要进入的应用。这里根据需要会用到语音识别、语义识别、意图识别等技术。

图像事件,采用图像识别技术根据设备识别到的图像事件,从而触发某个应用。

接触式事件,即用户肢体和设备接触的事件,从而触发某个应用。

时间事件,是在某个时刻触发特定应用APP的事件。

网络事件,是当获取到某个特定网络信息时触发特定应用APP的事件。

其他传感器事件,如红外、陀螺仪、超声波、位置等,根据传感器的数据达到某个点时,触发相应的应用APP,等等。

当然,根据本发明,除了上述事件外还可包括以下传统事件:

触摸屏上的交互事件,即触摸屏幕上的点击操作进入APP,当然触摸屏幕上还包括滑动、多指触控等进入APP的事件。

使用鼠标的交互事件,以计算机为主的用鼠标控制的设备,点击鼠标按键进入应用APP的事件。

按键事件,用户按下按键后进入应用APP,等等。

OS操作系统事件是由系统激发的事件。该事件主要是由系统规则决定的启动应用的事件。这些事件包括但不限于:

应用程序APP状态事件。例如,当某APP状态发生变化时,便会触发另一个应用APP的启动。

操作系统OS安全事件。例如,当判断系统安全问题可能发生时,会导致启动某个应用,如新文件病毒扫描应用。

操作系统OS运行事件。系统运行机制需要启动某个app。如开机自检,等等。

第三类事件即组合事件。组合事件指的是n个事件同时发生、或n个事件按指定顺序发生、或n个事件中任意m个事件发生。例如,设计当上述组合事件发生时,即触发某特定应用APP启动。如图像识别到陌生人,且当前位置是家中,此时可以触发报警应用。

根据本发明,触发应用的意图包括以下几种类型:

a.用户意图。无论很精确的用户意图,如用户在触摸屏上点击了某个app图标,还是不够精确的用户意图,但经过意图分析后也是用户意图,如用户口头表达了想要做一件事情的意愿。这都属于用户的意图,换言之是用户要求进入app的。

b.应用程序意图。这是应用程序研发者定义的自动触发机制。当特定事件发生的时候,该应用就会被触发启动。该事件既包括单一事件,也包括组合事件。

c.操作系统意图。这是操作系统研发者定义的自动触发机制。当特定事件发生的时候,特定应用就会被触发启动。该事件同样既包括单一事件,也包括组合事件。

以上三种意图在定义不一致的时候会出现冲突,此时就按照优先级从高到低的顺序,来决策是否应该启动该应用APP。

需要特别说明的是,本发明的方法描述的是在计算机系统中实现的。该计算机系统例如可以设置在机器人的控制核心处理器中。例如,本文所述的方法可以实现为能以控制逻辑来执行的软件,其由机器人控制系统中的CPU来执行。本文所述的功能可以实现为存储在非暂时性有形计算机可读介质中的程序指令集合。当以这种方式实现时,该计算机程序包括一组指令,当该组指令由计算机运行时其促使计算机执行能实施上述功能的方法。可编程逻辑可以暂时或永久地安装在非暂时性有形计算机可读介质中,例如只读存储器芯片、计算机存储器、磁盘或其他存储介质。除了以软件来实现之外,本文所述的逻辑可利用分立部件、集成电路、与可编程逻辑设备(诸如,现场可编程门阵列(FPGA)或微处理器)结合使用的可编程逻辑,或者包括它们任意组合的任何其他设备来体现。所有此类实施例旨在落入本发明的范围之内。

图4显示了根据本发明的用于在机器人操作系统中启动应用程序的装置400的结构框图。如图4所示,装置400包括:事件输入接收模块401、事件识别模块402、应用程序启动模块403。

其中,事件输入接收模块401其用以接收一个或多个特定事件的输入。根据本发明,这些特定事件包含于具有多种类型事件的事件列表中。事件输入接收模块401可接收来自外部设备如传感设备、语义识别模块、I/O设备的输入信号,并将其作为事件保存在队列中进行排队。此外,事件输入接收模块401还可以接收来自系统内部的消息(第一特定事件)或者应用程序被开发时自定义的第二特定事件,以便触发相对应的应用,或者传递重要的数据。

事件识别模块402用以识别所述特定事件所对应的事件类型和意图。如图4所示,当事件识别模块402识别出的事件为多个事件,并且可能来自不同意图时,还需要采用冲突判断模块404进行判断,看这些事件是否存在冲突。例如,同一时刻出现了调用两个不同的应用时,而这两个应用不可能同时执行,例如拍照功能和摄像功能,则冲突判断模块404就会得出目前的事件中存在冲突。

在这种情况下,冲突判断模块404将出现冲突的结果传送给优先级决策模块405。在优先级决策模块405中根据事件的优先级别属性来决定是否启动该事件对应的应用。例如照相的优先级别高于摄像的,则同时出现这两个事件需求时,优先级决策模块会将优先启动照相应用。

应用程序启动模块403用以基于事件类型和意图启动相对应的应用程序。

,用以启动应用程序的意图包括来自用户的用户意图、来自应用程序的应用程序意图和来自操作系统的操作系统OS意图。

如果用以启动应用程序的意图是用户意图,则根据用户的多模态输入信息识别出用户的意图,以启动与交互类多模态输入事件相关的应用;如果用以启动应用程序的意图是应用程序意图,则根据自定义的自动触发机制在第一特定事件出现时启动相对应的应用;如果用以启动应用程序的意图是操作系统意图,则根据自定义的自动触发机制在第二特定事件发生时,启动相对应的应用。

应该理解的是,本发明所公开的实施例不限于这里所公开的特定结构、处理步骤或材料,而应当延伸到相关领域的普通技术人员所理解的这些特征的等同替代。还应当理解的是,在此使用的术语仅用于描述特定实施例的目的,而并不意味着限制。

说明书中提到的“一个实施例”或“实施例”意指结合实施例描述的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,说明书通篇各个地方出现的短语“一个实施例”或“实施例”并不一定均指同一个实施例。

虽然本发明所公开的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所公开的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1