基于智能机器人的外设行为冲突控制方法和系统与流程

文档序号:11153231阅读:622来源:国知局
基于智能机器人的外设行为冲突控制方法和系统与制造工艺

本发明涉及智能机器人领域,具体地说,涉及一种基于智能机器人的外设行为冲突控制方法和系统。



背景技术:

随着科学技术的不断发展,信息技术、计算机技术以及人工智能技术的引入,机器人的研究已经逐步走出工业领域,逐渐扩展到了医疗、保健、家庭、娱乐以及服务行业等领域。而人们对于机器人的要求也从简单重复的机械动作提升为具有拟人问答、自主性及与其他机器人进行交互的智能机器人,人机交互也就成为决定智能机器人发展的重要因素。

在机器人与用户交互时,通常会出现不同的应用程序调用同一外部设备的情况,现有的机器人无法在出现冲突时及时解决,容易发生调度紊乱,因此用户体验较为不畅,降低了用户与机器人进行交互的意愿。

综上,需要提供一种能够及时解决出现的外设行为冲突,提高用户体验度的方案。



技术实现要素:

本发明的目的在于提供一种基于智能机器人的外设行为冲突控制方法来解决上述技术问题。该方法包括以下步骤:

应用请求监听步骤,在第一应用执行的过程中监听是否存在第二应用调起请求;

外设行为冲突确认步骤,确认所述第二应用调起的外设行为是否与所述第一应用的外设输出存在冲突;

冲突控制步骤,在确定存在冲突时,使所述第一应用暂停调用存在冲突的外设,执行所述第二应用完成外设输出。

根据本发明的基于智能机器人的外设行为冲突控制方法,优选的是,在所述冲突控制步骤具体包括:

在存在冲突的外设为多个时,所述第一应用暂停调用存在冲突的所有外设且持续启用其他未发生冲突的外设,待所述第二应用完成外设输出后使所述第一应用继续调用之前暂停的冲突外设。

根据本发明的基于智能机器人的外设行为冲突控制方法,优选的是,在所述外设行为冲突确认步骤之前还包括:

在第一应用执行的过程中监听到第二应用调起请求,根据应用调用的需要和处理能力转换本地处理机制和后台处理机制使所述第一应用中断或使所述第一应用进入后台处理。

根据本发明的基于智能机器人的外设行为冲突控制方法,优选的是,所述方法由机器人操作系统执行,所述第一应用和第二应用运行在智能机器人操作系统中。

根据本发明的基于智能机器人的外设行为冲突控制方法,优选的是,在所述第二应用完成外设输出后,使所述第一应用继续调用之前暂停的冲突外设并与其他未发生冲突的外设进行协调输出。

根据本发明的另一个方面,还提供了基于智能机器人的外设行为冲突控制系统,其特征在于,所述系统包括以下单元:

应用请求监听单元,其用以在第一应用执行的过程中监听是否存在第二应用调起请求;

外设行为冲突确认单元,其用以确认所述第二应用调起的外设行为是否与所述第一应用的外设输出存在冲突;

冲突控制单元,其用以在确定存在冲突时,使所述第一应用暂停调用存在冲突的外设,执行所述第二应用完成外设输出。

根据本发明的基于智能机器人的外设行为冲突控制系统,优选的是,所述冲突控制单元包括:

第一控制子单元,其用以在存在冲突的外设为多个时,使所述第一应用暂停调用存在冲突的所有外设且持续启用其他未发生冲突的外设,待所述第二应用完成外设输出后使所述第一应用继续调用之前暂停的冲突外设。

根据本发明的基于智能机器人的外设行为冲突控制系统,优选的是,所述冲突控制单元还包括:

第二控制子单元,其用以在第一应用执行的过程中监听到第二应用调起请求,根据应用调用的需要和处理能力转换本地处理机制和后台处理机制使所述第一应用中断或使所述第一应用进入后台处理。

根据本发明的基于智能机器人的外设行为冲突控制系统,优选的是,所述第一应用和所述第二应用运行在智能机器人操作系统中。

根据本发明的基于智能机器人的外设行为冲突控制系统,优选的是,所述冲突控制单元包括:

第三控制子单元,其用以在所述第二应用完成外设输出后,使所述第一应用继续调用之前暂停的冲突外设并与其他未发生冲突的外设进行协调输出。

本发明的有益之处在于,通过在某一应用执行的过程中监听是否存在其他应用调起请求,在其他应用调起的外设行为与当前执行的应用的外设输出存在冲突时,暂停当前应用去调用存在冲突的外设,执行其他应用完成对该外设的输出,能够针对不同的应用程序调用同一外部设备的情况,及时解决冲突顺利完成各应用的调度,提高用户体验和用户与机器人进行交互的意愿。

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

附图说明

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

图1为根据本发明的一个实施例的基于智能机器人的外设行为冲突控制方法的流程示意图。

图2为根据本发明的另一个实施例的基于智能机器人的外设行为冲突控制方法的流程示意图。

图3为根据本发明的再一个实施例的基于智能机器人的外设行为冲突控制系统3的结构框图。

具体实施方式

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

为使本发明的目的、技术方案和优点更加清楚,以下结合附图对本发明实施例作进一步地详细说明。以下例子中,将以人脸为目标物体来进行本发明原理的说明。本领域的技术人员应该知晓,该实施例仅为说明目的,不用作对本发明的限制。

随着智能机器人的兴起,机器人操作系统作为机器人的大脑,控制协调机器人的各个应用和外设(例如人形机器人的肢体、桌面机器人的躯干和屏幕等)的使用。但是,在现有机器人技术领域中,由于机器人的成熟度不高、机器人内部的调度算法无法对应用程序的执行进行有条不紊的控制,因此,在使用机器人的过程中不同应用请求多个外设行为发生冲突时,无法及时解决这种冲突问题。因此,本发明针对智能机器人,在需要运行多个应用且外在展现有一部分在多个应用中均需要使用而导致发生调用冲突时,机器人操作系统采用输出部分外设行为的冲突控制方法,对于被多个应用同时调用的冲突外设输出,优先供后来应用调用,而不冲突的部分,各个应用均可以继续独自输出,冲突控制结束后,各自归位继续正常运行。

第一实施例

图1为根据本发明的一个实施例的基于智能机器人的外设行为冲突控制方法的流程示意图,该外设行为冲突方法优选由机器人操作系统的环境中执行,其中涉及到的第一应用和第二应用运行在该智能机器人操作系统中。下面参考图1来说明本发明实施例的各个步骤,该实施例的方法主要包括以下步骤。

在步骤S110中,机器人执行第一应用程序A1展现外设行为,调用外设输出P0、P1、P2等。

本实施例的机器人安装有机器人操作系统OS,可以为具有肢体的人形机器人或桌面机器人。“外设行为”可以认为是机器人执行指令展现在外部的行为,一般包括机器人肢体产生的动作表现,例如行走、运动等,以及机器人TTS系统下的说话行为表现、唱歌行为表现和屏幕的表情展现等。其中,TTS系统将文本转化成语音播报,机器人采用这种方式进行说话行为表现。

例如,在机器人为桌面机器人时,机器人当前执行第一应用程序为“讲故事应用”,通过内部机器人操作系统调用执行该指令的与用户进行交互的外设“嘴”(即扬声器和TTS系统)和“眼睛”(即液晶屏幕),实现说话行为表现和表情展现。又例如,机器人为人形机器人时,机器人需要执行“唱歌跳舞应用”,通过内部机器人操作系统调用执行该指令的外设“嘴”(即扬声器和TTS系统)和机器人肢体(即机器人的腿部和臂部及相应舵机),实现唱歌行为表现和动作表现。

在步骤S120中,在第一应用程序A1执行的过程中监听是否存在第二应用程序A2调起请求,若监听到第二应用程序A2,则执行步骤S130,否则一直保持监听状态。

在一个例子中,机器人操作系统可以通过后台监听机制来监听是否有事件触发即是否存在新的应用程序请求,在接收到事件触发信息时,判断存在新应用程序调起请求。

在步骤S130中,判断第二应用程序A2是否要调用外设输出,若需要调用外设输出则执行步骤S140,否则执行步骤S180。

具体地,对第二应用程序A2的内容进行解析,判断是否通过执行第二应用程序A来展现某种外设行为。例如,在监听到第二应用程序A2为控制机器人行走的“行走应用程序”,通过分析得到需要展现控制机器人腿部的动作表现的外设行为。

在步骤S140中,判断第二应用程序A2的外设行为是否与第一应用程序A1调用的外设输出存在冲突,若存在冲突,则执行步骤S150,否则执行步骤S180。

在一个例子中,通过步骤S130的解析能够确定第二应用程序A2需要展现某种外设行为,将该外设行为涉及到的外设输出与当前执行的第一应用程序A1的外设输出进行比对,判断第二应用程序A2是否需要调用与第一应用程序A1相同的外设输出,若需要调用相同的外设输出,则认定第二应用程序A2的外设行为与第一应用程序A1调用的外设输出存在冲突。

例如,机器人为人形机器人时,第一应用程序A1是“唱歌跳舞应用”,通过内部机器人操作系统调用执行该指令的外设“嘴”(即扬声器和TTS系统)和机器人肢体(即机器人的腿部和臂部及相应舵机),实现唱歌行为表现和动作表现。当用户发起“运动控制应用”请求时,需要执行第二应用程序A2,即“运动控制应用”,该应用程序也需要调用机器人腿部来控制机器人腿部的自由度。容易理解,机器人是无法同时使用腿部既跳舞又走路的。因此通过对比得到,第二应用程序A2调用的运动行为输出与第一应用程序A1调用的跳舞行为输出存在冲突。

在另一个例子中,可以通过预设的列表来判断第二应用程序A2和当前执行的第一应用程序A1调用的外设输出是否存在冲突,该预设的列表将发生冲突的应用程序以一对一的形式或多对一的形式预先列举出来。例如,当前执行的第一应用程序A1是“唱歌跳舞应用”,需要机器人进行摇头行为输出,用户此时发出拍照指令,机器人操作系统监听到第二应用程序A2——“拍照应用”,通过将第一应用程序A1和第二应用程序A2与预设的冲突列表进行比对,得到二者存在冲突。容易理解,执行“拍照应用”时需要调用设置在机器人头部的摄像头,机器人在进行摇头行为时是无法准确抓拍用户的图像的。因此,虽然这两个应用程序所调用的外设不同,但二者在实现的过程中仍然存在冲突。

在步骤S150中,在确定存在冲突时,使第一应用程序A1暂停调用存在冲突的外设,执行第二应用程序A2完成外设输出。

在本例中,第一应用程序A1调用的外设输出一般为多个,机器人操作系统在确定存在冲突时,发出命令使第一应用程序A1停止调用冲突的外设,执行第二应用程序A2。优选地,在第二应用程序A2与第一应用程序A1存在冲突的外设为多个时,使第一应用A1暂停调用存在冲突的所有外设且持续启用其他未发生冲突的外设。如上例所述,在机器人执行唱歌跳舞应用时,用户发出“摆臂走路”的指令,通过判断得到这两个应用程序发生冲突的外设包括机器人臂部和腿部及相应舵机,而实现摇头行为的头部、头部舵机和扬声器不是冲突外设,因此机器人操作系统发出命令使唱歌跳舞应用停止调用涉及到的冲突外设,仅调用未发生冲突的头部、头部舵机和扬声器等外设。

在步骤S160中,判断第二应用程序A2是否执行完毕,若执行完毕则开始步骤S170,否则保持当前状态。

在步骤S170中,第一应用程序A1待第二应用程序A2完成外设输出后继续调用之前暂停的冲突外设。如上例所述,在机器人完成“摆臂走路”的指令后,释放涉及到的外设输出,机器人操作系统发送命令使执行的“唱歌跳舞”应用开始使用第二应用程序A2释放的机器人臂部和腿部及相应舵机等这些外设。

在步骤S180中,若不需要调用外设行为或者调用的外设行为与第一应用程序A1的不相冲突,则直接执行第二应用程序A2。

例如,若第二应用程序A2为查询一个信息内容,不涉及外设行为的调用,则直接执行该应用程序,不需要对第一应用程序A1进行任何处理。或者,若当前第一应用程序A1调用的外设行为为动作展现,涉及到的外设为腿部和手部及相应舵机,第二应用程序A2调用的外设行为为说话行为展现,涉及到的外设为扬声器,则同第一应用程序A1并行执行第二应用程序A2,分别完成各自的外设行为输出。

本发明实施例的方法,在使用机器人时不同的应用请求多个外设行为,发生冲突时,可使当前执行的应用程序暂缓调用冲突外设,待新应用程序执行完毕后再继续调用。这样能够及时解决冲突顺利完成各应用的调度,提高用户体验和用户与机器人进行交互的意愿。

第二实施例

图2为根据本发明的另一个实施例的基于智能机器人的外设行为冲突控制方法的流程示意图,同样,该外设行为冲突方法优选在机器人操作系统的环境中执行,其中涉及到的第一应用和第二应用运行在该智能机器人操作系统中。本实施例的方法主要包括以下步骤,其中,将与第一实施例相似的步骤以相同的标号标注,且不再赘述其具体内容,仅对区别步骤进行具体描述。

在步骤S110中,机器人执行第一应用程序A1,调用外设输出P0、P1、P2等。

在步骤S120中,在第一应用程序A1执行的过程中监听是否存在第二应用程序A2调起请求,若监听到第二应用程序A2,则执行步骤S190,否则一直保持监听状态。

在步骤S130中,判断第二应用程序A2是否要调用外设输出,若需要调用外设输出则执行步骤S140,否则执行步骤S180。

在步骤S140中,判断第二应用程序A2的外设行为是否与第一应用程序A1调用的外设输出存在冲突,若存在冲突,则执行步骤S150,否则执行步骤S180。

在步骤S150中,在确定存在冲突时,使第一应用程序A1暂停调用存在冲突的外设,执行第二应用程序A2完成外设输出。

在步骤S160中,判断第二应用程序A2是否执行完毕,若执行完毕则开始步骤S170’,否则保持当前状态。

在步骤S170’中,第一应用程序A1待第二应用程序A2完成外设输出后继续调用之前暂停的冲突外设且与其他未发生冲突的外设进行协调输出。

在第一实施例中的步骤S170中,第一应用程序A1待第二应用程序A2完成外设输出后继续调用之前暂停的冲突外设。在第一应用程序A1之前暂停冲突外时,将当前应用程序执行的有关该冲突外设的数据保存,待第二应用程序A2执行完外设输出后,第一应用程序A1根据保存的有关该冲突外设的数据继续来执行任务,然而,这种情况下可能会造成:冲突外设表现出的外设行为与未发生冲突外设持续执行任务产生的外设行为互不协调,给用户带来不好的体验感。

在该步骤S170’中,虽然也是继续调用之前暂停的冲突外设,但要保证该冲突外设表现出来的外设行为与未发生冲突的外设持续执行任务产生的外设行为相互协调。具体来说,可以忽略掉在第一应用程序A1暂停调用冲突外设之前的有关该冲突外设的所有数据,在重新调用冲突外设时,参考未发生冲突外设当前执行的任务阶段,使冲突外设也执行与该任务阶段对应的外设行为,这样就能保证协调性。

例如,在机器人完成“摆臂走路”的指令后,释放冲突外设——机器人腿部和臂部及相应舵机,机器人操作系统发送命令使之前执行的“唱歌跳舞”应用开始使用这些冲突外设。考虑到当前机器人执行唱歌行为的扬声器所处的任务阶段,“唱歌跳舞”应用使这些冲突外设也执行与扬声器所处的任务阶段对应的外设行为,这样就保证了唱歌跳舞的协调性。

在步骤S180中,若不需要调用外设行为或者调用的外设行为与第一应用程序A1的不相冲突,则直接执行第二应用程序A2。

本发明实施例的方法,在使用机器人时不同的应用请求多个外设行为,发生冲突时,可使当前执行的应用程序暂缓调用冲突外设,待新应用程序执行完毕后再继续调用并能够使冲突外设和非冲突外设在时隔一段时间后保持协调输出。这样能够及时解决冲突顺利完成各应用的调度,提高用户体验和用户与机器人进行交互的意愿。

第三实施例

图3为根据本发明的再一个实施例的基于智能机器人的外设行为冲突控制系统3的结构框图。如图3所示,本申请实施例的外设行为冲突控制系统3主要包括:应用请求监听单元310、外设行为冲突确认单元320和冲突控制单元330。

应用请求监听单元310,其用以在第一应用执行的过程中监听是否存在第二应用调起请求。

外设行为冲突确认单元320,其与应用请求监听单元310连接,用以确认第二应用调起的外设行为是否与第一应用的外设输出存在冲突。

冲突控制单元330,其与外设行为冲突确认单元320连接,用以在确定存在冲突时,使第一应用暂停调用存在冲突的外设,执行第二应用完成外设输出。冲突控制单元330包括:第一控制子单元331、第二控制子单元332和第三控制子单元333。

第一控制子单元331,其用以在存在冲突的外设为多个时,使第一应用暂停调用存在冲突的所有外设且持续启用其他未发生冲突的外设,待第二应用完成外设输出后使所述第一应用继续调用之前暂停的冲突外设。

第二控制子单元332,其用以在第一应用执行的过程中监听到第二应用调起请求,根据应用调用的需要和处理能力转换本地处理机制和后台处理机制使第一应用中断或使所述第一应用进入后台处理。

第三控制子单元333,其用以在第二应用完成外设输出后,使第一应用继续调用之前暂停的冲突外设并与其他未发生冲突的外设进行协调输出。

通过合理设置,本实施例的外设行为冲突控制系统3可以执行第一实施例和第二实施例的各个步骤,此处不再赘述。

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

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

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

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

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