机器人动作序列生成方法、装置和系统转让专利

申请号 : CN201810236772.3

文献号 : CN110297432B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张彦刚

申请人 : 北京猎户星空科技有限公司

摘要 :

本发明提出一种机器人动作序列生成方法、装置和系统,其中,方法包括:探测用户操作,响应于操作从显示的候选动作集合中确定出目标动作;根据目标动作,更新显示候选动作集合,并返回执行探测用户操作,响应于操作从显示的候选动作集合中确定出目标动作的步骤,直至操作结束;根据各次确定出的目标动作,以及确定出各目标动作的顺序,生成机器人动作序列。由此,通过在用户选定机器人所需执行的动作时,根据用户已选定的目标动作,更新可选择的候选动作集合,实时为用户设定机器人执行动作提供指示,简化用户操作。

权利要求 :

1.一种机器人动作序列生成方法,其特征在于,方法包括以下步骤:探测用户操作,响应于所述操作从显示的候选动作集合中确定出机器人的目标动作;

其中,所述目标动作为用户根据当前场景机器人需要执行的任务选择的机器人要执行的一个动作;

根据所述目标动作,更新显示所述候选动作集合,并返回执行探测用户操作,响应于所述操作从显示的候选动作集合中确定出机器人的目标动作的步骤,直至所述操作结束,其中,更新显示的所述候选动作集合中的动作为与当前场景下所述目标动作对应的下一个动作的候选动作;

根据各次确定出的目标动作,以及确定出各目标动作的顺序,生成机器人动作序列;

其中,所述根据所述目标动作,更新显示所述候选动作集合,包括:在预设的有向图中,从所述目标动作对应的目标节点处,沿连接所述有向图中不同节点的有向边指示的方向,搜索经过所述目标节点的各路径,以得到各路径中的候选节点;其中,所述有向图中包含了当前场景下各机器人动作对应的节点,所述候选节点是在所述目标节点之后各路径经过的节点;

根据所述候选节点对应的候选动作,更新显示所述候选动作集合。

2.根据权利要求1所述的机器人动作序列生成方法,其特征在于,所述根据所述候选节点对应的候选动作,更新显示所述候选动作集合,包括:从所述有向图中,读取所述目标节点与所述候选节点之间的有向边的权值;所述权值用于指示从执行所述目标节点指示的目标动作,到执行所述候选节点指示的候选动作,所述机器人所需的时长;

在更新后的候选动作集合中,显示读取到的权值和对应的候选动作的标识。

3.根据权利要求1所述的机器人动作序列生成方法,其特征在于,所述搜索经过所述目标节点的路径,以得到所述路径中的候选节点之后,还包括:统计得到的所述候选节点的个数;

若所述候选节点的个数为至少两个,确定执行根据所述候选节点对应的候选动作,更新显示所述候选动作集合的步骤。

4.根据权利要求3所述的机器人动作序列生成方法,其特征在于,所述方法还包括:若所述候选节点的个数为一个,将所述候选节点对应的候选动作作为所述目标动作,重复执行在预设的有向图中,从所述目标动作对应的目标节点处,沿连接所述有向图中不同节点的有向边指示的方向,搜索经过所述目标节点的各路径,以得到各路径中的候选节点的步骤。

5.根据权利要求1所述的机器人动作序列生成方法,其特征在于,所述有向图中的节点包括用于指示一组连贯动作的第一节点;所述搜索经过所述目标节点的各路径,以得到各路径中的候选节点,包括:

搜索经过所述目标节点的各路径,以从各路径经过的第一节点中确定位于所述目标节点之后的所述候选节点。

6.根据权利要求5所述的机器人动作序列生成方法,其特征在于,所述有向图中第一节点指示的一组连贯动作,是根据各任务拆解得到的子任务确定的,一组连贯动作用于执行对应的一个子任务;

所述有向图中有向边的方向,是根据对应的不同组连贯动作之间逻辑顺序确定的。

7.根据权利要求5 所述的机器人动作序列生成方法,其特征在于,所述有向图中的节点还包括:用于指示静态动作的第二节点;

所述第二节点指示的静态动作,包括:过渡动作、预设的复位动作、各第一节点指示的一组连贯动作中的起始动作和结束动作中的一个或多个组合;

其中,所述过渡动作用于衔接所述过渡动作之前和之后执行的两个动作。

8.根据权利要求1‑7任一所述的机器人动作序列生成方法,其特征在于,所述更新显示所述候选动作集合,包括:

以第一显示状态,显示所述候选集合中的各候选动作的相关信息。

9.根据权利要求8所述的机器人动作序列生成方法,其特征在于,所述方法,还包括:以不同于所述第一显示状态的第二显示状态,显示非候选动作的相关信息;其中,所述非候选动作是机器人可执行动作中除所述候选动作以外的部分。

10.一种机器人动作序列生成装置,其特征在于,所述装置包括:确定模块,用于探测用户操作,响应于用户操作从显示的候选动作集合中确定出机器人的目标动作;其中,所述目标动作为用户根据当前场景机器人需要执行的任务选择的机器人要执行的一个动作;

更新模块,用于根据所述目标动作,更新显示所述候选动作集合,并返回执行探测用户操作,响应于用户操作从显示的候选动作集合中确定出机器人的目标动作的步骤,直至所述操作结束,其中,更新显示的所述候选动作集合中的动作为当前场景下与所述目标动作对应的下一个动作的候选动作;其中,还包括:在预设的有向图中,从所述目标动作对应的目标节点处,沿连接所述有向图中不同节点的有向边指示的方向,搜索经过所述目标节点的各路径,以得到各路径中的候选节点;其中,所述有向图中包含了当前场景下各机器人动作对应的节点,所述候选节点是在所述目标节点之后各路径经过的节点;根据所述候选节点对应的候选动作,更新显示所述候选动作集合。

控制模块,用于根据各次确定出的目标动作,以及确定出各目标动作的顺序,生成机器人动作序列。

11.一种终端设备,其特征在于,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现如权利要求1‑9中任一所述的机器人动作序列生成方法。

12.一种机器人的控制系统,其特征在于,所述系统包括如权利要求11所述的终端设备,以及计算机设备;

所述计算机设备,分别与所述终端设备和机器人通信,用于从所述终端设备获取机器人动作序列,根据所述机器人动作序列控制机器人。

13.根据权利要求12所述的控制系统,其特征在于,所述计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,具体实现以下步骤:

从所述终端设备获取所述机器人动作序列,所述机器人动作序列用于指示各目标动作,以及各目标动作的执行顺序;

在预设的有向图中,沿所述有向边指示的方向进行搜索,得到目标路径;所述目标路径所经过的节点中包含各目标动作对应的目标节点,且所述目标路径经过各目标节点的顺序符合对应各目标动作的执行顺序;

根据所述目标路径指示的各规定动作及其执行顺序,对所述机器人进行控制。

14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1‑9中任一所述的机器人动作序列生成方法。

说明书 :

机器人动作序列生成方法、装置和系统

技术领域

[0001] 本发明涉及机器人控制技术领域,尤其涉及一种机器人动作序列生成方法、装置和系统。

背景技术

[0002] 目前,机器人由于可以根据场景需求解放用户执行相应的任务,在日常生成和生活中得到广泛应用。比如,机器人可以解放用户的双手进行扫地、倒咖啡等任务。
[0003] 相关技术中,采用手动示教再现的方式进行机器人的控制,示教再现是一种可重复再现通过示教编程存储起来的作业程序的机器人。示教再现方式中由人工导引机器人末
端执行器,或由人工操作导引机械模拟装置,或用示教盒来使机器人完成预期的动作,进
而,用户根据动作完成情况进行下个动作的涉及和编程。
[0004] 然而,正如以上描述的,采用示教再现的方式控制机器人,下个动作的实现方式依赖于人工设计和实验,当人工设计不合理时,需要经过大量实验不断调整下一个可执行的
动作,操作效率较低。

发明内容

[0005] 本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
[0006] 为此,本发明的第一个目的在于提出一种机器人动作序列生成方法,通过在用户选定机器人所需执行的动作时,根据用户已选定的目标动作,更新可选择的候选动作集合,
实时为用户设定机器人执行动作提供指示,简化用户操作。
[0007] 本发明的第二个目的在于提出一种机器人动作序列生成装置。
[0008] 本发明的第三个目的在于提出一种终端设备。
[0009] 本发明的第四个目的在于提出一种机器人的控制系统。
[0010] 本发明的第五个目的在于提出一种计算机可读存储介质。
[0011] 为达上述目的,本发明第一方面实施例提出的一种机器人动作序列生成方法,包括以下步骤:探测用户操作,响应于所述操作从显示的候选动作集合中确定出目标动作;根
据所述目标动作,更新显示所述候选动作集合,并返回执行探测用户操作,响应于所述操作
从显示的候选动作集合中确定出目标动作的步骤,直至所述操作结束;根据各次确定出的
目标动作,以及确定出各目标动作的顺序,生成机器人动作序列。
[0012] 本发明实施例的机器人动作序列生成方法,探测用户操作,响应于操作从显示的候选动作集合中确定出目标动作,根据目标动作,更新显示候选动作集合,并返回执行探测
用户操作,响应于操作从显示的候选动作集合中确定出目标动作的步骤,直至操作结束,进
而,根据各次确定出的目标动作,以及确定出各目标动作的顺序,生成机器人动作序列。由
此,通过在用户选定机器人所需执行的动作时,根据用户已选定的目标动作,更新可选择的
候选动作集合,实时为用户设定机器人执行动作提供指示,简化用户操作。
[0013] 另外,本发明实施例的机器人动作序列生成方法,还包括如下附加的技术特征:
[0014] 可选地,所述根据所述目标动作,更新显示所述候选动作集合,包括:在预设的有向图中,从所述目标动作对应的目标节点处,沿连接所述有向图中不同节点的有向边指示
的方向,搜索经过所述目标节点的各路径,以得到各路径中的候选节点;其中,所述候选节
点是在所述目标节点之后各路径经过的节点;根据所述候选节点对应的候选动作,更新显
示所述候选动作集合。
[0015] 可选地,所述根据所述候选节点对应的候选动作,更新显示所述候选动作集合,包括:从所述有向图中,读取所述目标节点与所述候选节点之间的有向边的权值;所述权值用
于指示从执行所述目标节点指示的目标动作,到执行所述候选节点指示的候选动作,所述
机器人所需的时长;在更新后的候选动作集合中,显示读取到的权值和对应的候选动作的
标识。
[0016] 可选地,所述搜索经过所述目标节点的路径,以得到所述路径中的候选节点之后,还包括:统计得到的所述候选节点的个数;若所述候选节点的个数为至少两个,确定执行根
据所述候选节点对应的候选动作,更新显示所述候选动作集合的步骤。
[0017] 可选地,所述方法还包括:若所述候选节点的个数为一个,将所述候选节点对应的候选动作作为所述目标动作,重复执行在预设的有向图中,从所述目标动作对应的目标节
点处,沿连接所述有向图中不同节点的有向边指示的方向,搜索经过所述目标节点的各路
径,以得到各路径中的候选节点的步骤。
[0018] 可选地,所述有向图中的节点包括用于指示一组连贯动作的第一节点;所述搜索经过所述目标节点的各路径,以得到各路径中的候选节点,包括:搜索经过所述目标节点的
各路径,以从各路径经过的第一节点中确定位于所述目标节点之后的所述候选节点。
[0019] 可选地,所述有向图中第一节点指示的一组连贯动作,是根据各任务拆解得到的子任务确定的,一组连贯动作用于执行对应的一个子任务;所述有向图中有向边的方向,是
根据对应的不同组连贯动作之间逻辑顺序确定的。
[0020] 可选地,所述有向图中的节点还包括:用于指示静态动作的第二节点;所述第二节点指示的静态动作,包括:过渡动作、预设的复位动作、各第一节点指示的一组连贯动作中
的起始动作和结束动作中的一个或多个组合;其中,所述过渡动作用于衔接所述过渡动作
之前和之后执行的两个动作。
[0021] 可选地,所述更新显示所述候选动作集合,包括:以第一显示状态,显示所述候选集合中的各候选动作的相关信息。
[0022] 可选地,所述方法,还包括:以不同于所述第一显示状态的第二显示状态,显示非候选动作的相关信息;其中,所述非候选动作是机器人可执行动作中除所述候选动作以外
的部分。
[0023] 为达上述目的,本发明第二方面实施例提出的一种机器人动作序列生成装置,所述装置包括:确定模块,用于探测用户操作,响应于用户操作从显示的候选动作集合中确定
出目标动作;更新模块,用于根据所述目标动作,更新显示所述候选动作集合,并返回执行
探测用户操作,响应于用户操作从显示的候选动作集合中确定出目标动作的步骤,直至所
述操作结束;控制模块,用于根据各次确定出的目标动作,以及确定出各目标动作的顺序,
生成机器人动作序列。
[0024] 本发明实施例的机器人动作序列生成装置,探测用户操作,响应于操作从显示的候选动作集合中确定出目标动作,根据目标动作,更新显示候选动作集合,并返回执行探测
用户操作,响应于操作从显示的候选动作集合中确定出目标动作的步骤,直至操作结束,进
而,根据各次确定出的目标动作,以及确定出各目标动作的顺序,生成机器人动作序列。由
此,通过在用户选定机器人所需执行的动作时,根据用户已选定的目标动作,更新可选择的
候选动作集合,实时为用户设定机器人执行动作提供指示,简化用户操作。
[0025] 为达上述目的,本发明第三方面实施例提出的终端设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现如
前述实施例描述的机器人动作序列生成方法。
[0026] 为达上述目的,本发明第四方面实施例提出的机器人的控制系统,包括如前述实施例所述的终端设备,以及计算机设备;所述计算机设备,分别与所述终端设备和机器人通
信,用于从所述终端设备获取机器人动作序列,根据所述机器人动作序列控制机器人。
[0027] 本发明实施例的机器人动作序列生成装置,探测用户操作,响应于操作从显示的候选动作集合中确定出目标动作,根据目标动作,更新显示候选动作集合,并返回执行探测
用户操作,响应于操作从显示的候选动作集合中确定出目标动作的步骤,直至操作结束,进
而,根据各次确定出的目标动作,以及确定出各目标动作的顺序,生成机器人动作序列。由
此,通过在用户选定机器人所需执行的动作时,根据用户已选定的目标动作,更新可选择的
候选动作集合,实时为用户设定机器人执行动作提供指示,简化用户操作。
[0028] 另外,本发明实施例的机器人的控制系统,还包括如下附加的技术特征:
[0029] 可选地,所述计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,具体实现以下步骤:从所述终端设备获取
所述机器人动作序列,所述机器人动作序列用于指示各目标动作,以及各目标动作的执行
顺序;在预设的有向图中,沿所述有向边指示的方向进行搜索,得到目标路径;所述目标路
径所经过的节点中包含各目标动作对应的目标节点,且所述目标路径经过各目标节点的顺
序符合对应各目标动作的执行顺序;根据所述目标路径指示的各规定动作及其执行顺序,
对所述机器人进行控制。
[0030] 为达上述目的,本发明第五方面实施例提出的计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如前述实施例所述的机器人动作序列生成方法。
[0031] 本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

[0032] 本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
[0033] 图1是本发明一个实施例的机器人动作序列生成方法的流程图;
[0034] 图2(a)是本发明一个实施例的机器人动作序列生成场景示意图;
[0035] 图2(b)是本发明另一个实施例的机器人动作序列生成场景示意图;
[0036] 图2(c)是本发明又一个实施例的机器人动作序列生成场景示意图;
[0037] 图3是本发明一个实施例的有向图的应用场景示意图;
[0038] 图4是本发明另一个实施例的机器人动作序列生成方法的流程图;
[0039] 图5是本发明再一个实施例的机器人动作序列生成场景示意图;
[0040] 图6是根据本发明一个实施例的机器人动作序列生成装置的结构示意图;以及
[0041] 图7是根据本发明一个实施例的机器人的控制系统的结构示意图。

具体实施方式

[0042] 下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附
图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
[0043] 下面参考附图描述本发明实施例的机器人动作序列生成方法、装置和系统。
[0044] 应当理解的是,对机器人进行控制的执行主体,可以为集中在机器人内部的处理器,也可以是独立于机器人的设备,本发明实施例的对机器人进行控制的执行主体,为独立
于机器人的终端设备,该终端设备可以为用户提供操作界面,接收用户在操作界面上设计
的机器人的执行动作,并向应用该执行动作对机器人进行控制。
[0045] 其中,终端设备可以是手机、平板电脑、个人数字助理、穿戴式设备等具有各种操作系统的硬件设备,该穿戴式设备可以是智能手环、智能手表、智能眼镜等。
[0046] 图1是本发明一个实施例的机器人动作序列生成方法的流程图。如图1所示,该方法包括以下步骤:
[0047] 步骤101,探测用户操作,响应于操作从显示的候选动作集合中确定出目标动作。
[0048] 正如以上提到的,本发明实施例中,可通过终端设备提供可由用户设置执行动作的操作界面,以根据用户在操作界面上设置的执行动作控制机器人。
[0049] 而为了解决现有技术中,用户需要根据当前任务需要,通过大量实验设置机器人可执行的动作带来的控制效率较低的技术问题,在本发明的实施例中,在终端设备中,直接
为用户显示当前机器人可执行的候选动作集合。其中,候选动作集合与当前场景有关,为当
前场景下基本任务对应的机器人动作的集合。
[0050] 举例而言,在当前场景为“咖啡机器人”时,候选动作结合包括“抓起杯子”、“把杯子放在咖啡机下”、“按动咖啡机的出咖啡按钮”等。
[0051] 具体地,检测用户操作,用户的操作为当前设备可以识别并响应的操作,包括语音操作、触摸操作、文字输入操作等,当前设备响应用户的操纵从显示的候选动作集合中确定
目标动作,其中,目标动作是用户根据当前场景需要执行的任务选择的机器人第一步要执
行的动作。
[0052] 例如,当根据当前场景需要执行的任务为“冲泡一杯美式咖啡”时,则用户从显示的候选动作集合中选择“抓起杯子”作为当前冲泡咖啡所需要执行的第一步动作作为目标
动作。
[0053] 步骤102,根据目标动作,更新显示候选动作集合,并返回执行探测用户操作,响应于操作从显示的候选动作集合中确定出目标动作的步骤,直至操作结束。
[0054] 步骤103,根据各次确定出的目标动作,以及确定出各目标动作的顺序,生成机器人动作序列。
[0055] 可以理解,机器人在完成每个场景任务时,所执行的任务都可以看成是由多个动作组成的,比如,冲泡一杯美式咖啡”的任务其实可以看成由“拿起咖啡杯”、“将咖啡杯放入
咖啡机”、“按动出咖啡按钮”、“将咖啡杯从咖啡机中取出”、“接取热水”等动作组成,而每两
个动作之间具有执行逻辑,比如,“按动出咖啡按钮”对应的执行动作,一定在“将咖啡杯放
入咖啡机”后,因而,在确定出目标动作后,根据执行动作的执行逻辑,与该目标动作对应的
下一步可操作的执行动作对应的候选动作集合也相应变化。
[0056] 举例而言,当目标动作为“拿起咖啡杯”后,此时可以在“拿起咖啡杯”后可执行的动作为“把咖啡杯放在咖啡机下”和“把咖啡杯放在奶管下”等,因而,更新后的候选动作集
合包括“把咖啡放在咖啡机下”和“把咖啡放在奶管下”。
[0057] 具体地,根据目标动作,更新显示候选动作集合,并返回执行探测用户操作,响应于操作从显示的候选动作集合中确定出目标动作的步骤,如此反复,直至操作结束。最终,
根据各次确定出的目标动作,以及确定出各目标动作的顺序,生成机器人动作序列。
[0058] 当然,在实际应用中,由于两个动作之间具有执行逻辑,因而,也可以由用户输入第一步动作(第一个目标动作),以便于快速确定出与第一步动作对应的候选动作集合,其
中,用户输入第一步动作的方式,包括但不限于以下方式:
[0059] 第一种方式:
[0060] 由用户控制机器人,比如,拖动机器人的机械臂,通过用户控制机器人的最终位置确定第一步动作。
[0061] 第二种方式:
[0062] 由用户拖动显示界面中显示的模拟机器人,通过用户控制模拟机器人的最终位置确定第一步动作。
[0063] 第三种方式:
[0064] 检测用户输入的控制机器人第一步动作的语音信息或文字指令,根据检测的指令内容确定第一步动作。
[0065] 为了更加直观的说明本发明实施例的机器人动作序列生成方法的执行过程,下面结合具体的应用场景进行示例说明,说明如下:
[0066] 在本示例中,终端设备提供给用户机器人动作设置应用程序界面,通过检测用户对该应用程序的操作,确定出对应的机器人动作序列。
[0067] 具体而言,如图2(a)所示,终端设备的应用程序界面上,接收用户选择的满足当前场景的初始候选动作集合,其中,在本示例中候选动作集合的选定方式通过拖动机器人对
应的机械臂实现,比如,拖动机械臂1,则确定与机械臂1对应的可执行动作集合为当前候选
动作集合,进而,如图2(b)所示,显示用户选定的候选动作集合,接收用户在图2(b)所示的
候选动作集合中选择的第一个目标动作“拿起咖啡杯”后,如图2(c)所示,候选动作集合更
新为把咖啡杯放在咖啡机下”和“把咖啡杯放在奶管下”,进而,接收用户在如图2(c)所示的
候选动作集合中选择的第二个目标动作…,如此直到选择的目标动作满足任务需要时,根
据各次确定出的目标动作,以及确定出各目标动作的顺序,生成机器人动作序列。
[0068] 由此,本发明实施例的机器人动作序列生成方法,一方面,以语义级别呈现候选动作集合,便于用户进行执行动作的设定,另一方面,根据用户已选定的目标动作,更新可选
择的候选动作集合,实时为用户设定机器人执行动作提供指示,简化用户操作,避免用户需
要不断实验才能确定下一步可执行的目标动作。
[0069] 其中,在本发明的一个实施例中,为了能够更加直观的为用户设定机器人执行动作提供指示,还可通过显示状态的不同对用户可选择的候选动作进行区分。
[0070] 在本实例中,以第一显示状态显示所述候选动作集合中的各候选动作的相关信息,以不同于第一显示状态的第二显示状态,显示非候选动作的相关信息;其中,非候选动
作是机器人可执行动作中除候选动作以外的部分,其中,第一显示状态和第二显示状态对
应,比如,第一显示状态为高亮显示,则第二显示状态为灰度显示,又比如,第一显示状态为
立体突出显示,则第二显示状态为非立体突出显示。
[0071] 当然,在实际应用中,也可以仅仅显示可以执行的各候选动作的相关信息,对非候选动作不显示。
[0072] 综上所述,本发明实施例的机器人动作序列生成方法,探测用户操作,响应于操作从显示的候选动作集合中确定出目标动作,根据目标动作,更新显示候选动作集合,并返回
执行探测用户操作,响应于操作从显示的候选动作集合中确定出目标动作的步骤,直至操
作结束,进而,根据各次确定出的目标动作,以及确定出各目标动作的顺序,生成机器人动
作序列。由此,通过在用户选定机器人所需执行的动作时,根据用户已选定的目标动作,更
新可选择的候选动作集合,实时为用户设定机器人执行动作提供指示,简化用户操作。
[0073] 基于以上实施例,应当理解的是,候选动作集合中的候选动作,一定是符合当前机器人执行动作逻辑的,而这种逻辑的符合性,在本发明的实施例中,通过有向图来保证。
[0074] 也就是说,在确定出上一个目标动作后,可以根据有向图确定出下一个可以在上一个目标动作后执行的候选动作集合。
[0075] 为了便于理解,在说明根据有向图进行候选动作集合确定时,首先对有向图进行说明。
[0076] 可以理解,机器人在完成每个场景任务时,所执行的任务都可以看成是由多个动作组成的,灵活多变的不同的任务之间,在拆分为对应的动作时,每个动作具有相对一致
性,比如,机器人在执行倒咖啡任务和执行烧水任务时,都包括“拿起”和“打开”动作等。
[0077] 而这种动作的一致性,根据机器人的执行动作的原理,可以通过指示机器人动作的节点体现,该指示机器人动作的节点包括执行机器人动作时的起始位姿、终止位姿等完
成动作的位置元素等,因此,在本发明的实施例中,基于执行任务之间可以共享的机器人动
作对应的节点构建有向图,该有向图包含了执行场景中灵活多变的多个任务对应的机器人
动作的指示节点。
[0078] 在实际应用中,根据场景任务要求,可以根据多个相关节点指示的具体动作以及多个相关节点之间的有向边,自动生成完成当前场景任务要求的目标路径,通过该目标路
径指示的多个相关节点及多个相关节点之间的有向边指示的节点执行顺序,可以执行当前
任务要求。
[0079] 在本发明的一个实施例中,有向图中的节点包括用于指示一组连贯动作的第一节点,第一节点对应的一组连贯动作是根据对任务拆解得到的子任务确定的,一组连贯动作
用于执行对应的一个子任务,比如,当前任务为“饮品服务”,则根据该任务拆解为子任务
“冲泡一杯美式咖啡”、“冲泡一杯拿铁”等。
[0080] 有向图中还包括用于指示静态动作的第二节点,包含第一节点和第二节点的有向图中有向边的方向,是根据对应的不同组连贯动作之间的逻辑顺序、即子任务之间的逻辑
顺序确定的,第二节点包括的静态动作用于完成当前场景任务的目标动作,比如,当前子任
务为“冲一杯美式咖啡”,则完成当前场景任务的目标动作为“抓起杯子”、“把杯子放到咖啡
机下”、“按动咖啡机的出咖啡按钮”等。
[0081] 其中,第二节点指示的静态动作,包括预设的复位动作(复位动作用于控制机器人在执行任务结束时,始终处于复位动作指示的固定的初始状态,从而,保证机器人在执行任
务时,以从复位动作开始到复位动作结束的闭环操作方式,便于对机器人的控制)、各第一
节点指示的一组连贯动作中的起动作和/或结束动作等相对静态存在的位置元素。
[0082] 可以理解,本发明实施例中,以第一节点和第二节点为共同节点,以节点之间的相互转换关系为有向边,构建了一个有向图,所谓目标路径即为根据任务要求,将第一节点和
第二节点按照一定的顺序组合起来,该组合起来的目标路径不但描述了节点指示的动作的
空间转换关系,还描述了动作之间的执行逻辑关系,比如,当前任务为“冲一杯美式咖啡”
时,生成的目标路径经过的节点中,“复位位置”的上一步一定是“放下咖啡杯”,有向地图的
这种执行逻辑的体现,保证了在经过目标路径时的执行逻辑与实际应用中执行对应任务的
逻辑的一致性,保证了有向地图的稳定性和实用性。
[0083] 其中,由于机器人在执行动作时,需要一定的执行空间冗余,以保证机器人在执行任务的过程中不会发生碰撞,比如,自身的碰撞或者与障碍物的碰撞等,因而,要保证机器
人在经过目标路径的节点时,能够在各个节点之间自由移动,本发明实施例中的第二节点
还包括过渡动作,以用于衔接过渡动作前和后执行的两个节点指示的动作,避免机器人直
接由起始动作过渡到终止动作导致的碰撞。
[0084] 需要说明的是,过渡动作对应的第二节点的添加,可以根据机器人在执行动作时的动作和执行动作所需空间预先设置,也可以通过机器人执行动作的情况对过渡动作对应
的第二节点进行添加或更新等。
[0085] 具体而言,根据任务执行逻辑,预先设置一个开始第二节点和一个结束第二节点,比如,当前任务为“冲一杯美式咖啡”,则预设的一个开始第二节点为“拿起咖啡杯”,结束第
二节点为“复位位置”等,进而,在有向图中,从预设的一个第二节点开始,沿有向边指示的
方向搜索顺序经过各目标节点后,并以预设的一个第二节点结束的路径;其中,目标节点属
于用于指示一组连贯动作的第一节点,根据搜索得到的路径,确定目标路径。
[0086] 举例而言,在当前任务为“接取热水”时,指示该任务的一组连贯动作的目标节点即相关第一节点为“拿起咖啡杯”、“接取热水”等,预设的开始的第二节点为“拿起咖啡杯开
始位置”,预设的结束的第二节点为“复位位置”,则从预设的一个第二节点开始,沿有向边
指示的方向搜索顺序经过各目标节点后,并以预设的一个第二节点“复位位置”结束的路
径,确定出的目标路径为如图3中虚线线条所示,参照图3,目标路径将相关第一节点和第二
节点按照执行顺序组合在一起,以完成当前任务。
[0087] 基于以上描述,可知有向图中蕴含了执行动作的逻辑,因而,在本发明实施例中,基于有向图中这种执行动作的逻辑确定候选动作集合,其中,确定出上一个目标动作后,可
以根据该目标动作对应的有向边连接的节点中,可穿越即允许通过的下一个节点对应的动
作生成候选动作集合。
[0088] 下面,其次集中在根据有向图确定候选动作集合进行说明。
[0089] 具体而言,如图4所示,根据目标动作,更新显示候选动作集合的方法步骤包括:
[0090] 步骤201,在预设的有向图中,从目标动作对应的目标节点处,沿连接有向图中不同节点的有向边指示的方向,搜索经过目标节点的各路径,以得到各路径中的候选节点;其
中,候选节点是在目标节点之后各路径经过的节点。
[0091] 步骤202,根据候选节点对应的候选动作,更新显示候选动作集合。
[0092] 具体地,在预设的有向图中,从目标动作对应的目标节点处,沿连接有向图中不同节点的有向边指示的方向,搜索经过目标节点的各路径,以得到各路径中的候选节,该候选
节点与有向边指示的方向一致,代表了可以在目标动作下一刻可执行的动作,进而,根据候
选节点对应的候选动作,更新显示候选动作集合。
[0093] 在本发明的一个实施例中,当有向图中的节点包括上述提及的用于指示一组连贯动作的第一节点时,搜索经过目标节点的各路径,以得到各路径中的候选节点的方式,为搜
索经过目标节点的各路径,以从各路径经过的第一节点中确定位于目标节点之后的候选节
点,即候选节点是从第一节点中确定出的。
[0094] 当然,根据机器人工作的原理,选择的下一个待执行的候选节点的不同,机器人在进行节点之间切换所需要的操作时间是不同的,因而,为了进一步的给用户选择下一步待
执行的目标动作以指示,在本发明的实施例中,还可在显示候选动作结合时,对候选集中每
个候选动作的时间成本进行显示。
[0095] 其中,需要说明的是,在本发明的一个实施例中,为有向图中各有向边设置权值,权值用于指示从执行有向边连接一个节点指示的动作,到执行有向边连接的另一个节点指
示的动作,机器人所需的时长。
[0096] 具体而言,在本示例中,从有向图中,读取目标节点与候选节点之间的有向边的权值,权值用于指示从执行目标节点指示的目标动作,到执行候选节点指示的候选动作,机器
人所需的时长。在更新后的候选动作集合中,显示读取到的权值和对应的候选动作的标识。
比如,如图5所示,在在更新后的候选动作集合中,显示每个候选动作读取到的权值,以为用
户选择下一个目标动作提供依据。
[0097] 另外,在实际执行过程中,候选节点的个数实际上是不确定的,可能为一个,也可能为多个,为了提高对机器人的控制效率,可以根据候选节点的个数确定候选动作集合的
显示步骤。
[0098] 具体而言,在本发明的一个实施例中,在搜索经过目标节点的路径,以得到路径中的候选节点之后,统计得到的候选节点的个数,若候选节点的个数为至少两个,确定执行根
据候选节点对应的候选动作,更新显示候选动作集合的步骤,即重复执行与上一次选定目
标动作时相同的步骤。
[0099] 在本发明的一个实施例中,若候选节点的个数为一个,将候选节点对应的候选动作作为目标动作,重复执行在预设的有向图中,从目标动作对应的目标节点处,沿连接有向
图中不同节点的有向边指示的方向,搜索经过目标节点的各路径,以得到各路径中的候选
节点的步骤,即当候选节点为一个时,直接将该候选节点作为目标动作,不需要执行从候选
动作集合中选定目标动作的步骤,直接按照该唯一的候选节点对应的有向边的方向执行下
一步的候选节点集合更新的动作。
[0100] 综上所述,本发明实施例的机器人动作序列生成方法,基于有向图确定候选动作集合,保证了最终确定出的机器人动作序列的合乎逻辑性,实用性较高。
[0101] 为了实现上述实施例,本发明还提出一种机器人动作序列生成装置,图6是根据本发明一个实施例的机器人动作序列生成装置的结构示意图,如图6所示,该装置包括:确定
模块100、更新模块200和控制模块300。
[0102] 其中,确定模块100,用于探测用户操作,响应于用户操作从显示的候选动作集合中确定出目标动作。
[0103] 更新模块200,用于根据目标动作,更新显示候选动作集合,并返回执行探测用户操作,响应于用户操作从显示的候选动作集合中确定出目标动作的步骤,直至操作结束。
[0104] 控制模块300,用于根据各次确定出的目标动作,以及确定出各目标动作的顺序,生成机器人动作序列。
[0105] 需要说明的是,前述对机器人动作序列生成方法实施例的解释说明也适用于该实施例的机器人动作序列生成装置,其实现原理类似,此处不再赘述。
[0106] 综上所述,本发明实施例的机器人动作序列生成装置,探测用户操作,响应于操作从显示的候选动作集合中确定出目标动作,根据目标动作,更新显示候选动作集合,并返回
执行探测用户操作,响应于操作从显示的候选动作集合中确定出目标动作的步骤,直至操
作结束,进而,根据各次确定出的目标动作,以及确定出各目标动作的顺序,生成机器人动
作序列。由此,通过在用户选定机器人所需执行的动作时,根据用户已选定的目标动作,更
新可选择的候选动作集合,实时为用户设定机器人执行动作提供指示,简化用户操作。
[0107] 为了实现上述实施例,本发明还提出了一种终端设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现如前
述实施例描述的机器人动作序列生成方法。
[0108] 为了实现上述实施例,本发明还提出了一种机器人的控制系统,图7是根据本发明一个实施例的机器人的控制系统的结构示意图,如图7所示,该机器人的控制系统包括终端
设备1000和计算机设备2000,其中,计算机设备2000,分别与终端设备1000和机器人通信,
用于从终端设备1000获取机器人动作序列,根据机器人动作序列控制机器人。
[0109] 其中,计算机设备2000包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时,具体实现以下步骤:
[0110] 从终端设备获取机器人动作序列,机器人动作序列用于指示各目标动作,以及各目标动作的执行顺序;
[0111] 在预设的有向图中,沿有向边指示的方向进行搜索,得到目标路径;目标路径所经过的节点中包含各目标动作对应的目标节点,且目标路径经过各目标节点的顺序符合对应
各目标动作的执行顺序;
[0112] 根据目标路径指示的各规定动作及其执行顺序,对机器人进行控制。
[0113] 需要说明的是,前述对机器人动作序列生成方法实施例的解释说明也适用于该实施例的机器人动作序列生成系统,其实现原理类似,此处不再赘述。
[0114] 综上所述,本发明实施例的机器人动作序列生成系统,探测用户操作,响应于操作从显示的候选动作集合中确定出目标动作,根据目标动作,更新显示候选动作集合,并返回
执行探测用户操作,响应于操作从显示的候选动作集合中确定出目标动作的步骤,直至操
作结束,进而,根据各次确定出的目标动作,以及确定出各目标动作的顺序,生成机器人动
作序列。由此,通过在用户选定机器人所需执行的动作时,根据用户已选定的目标动作,更
新可选择的候选动作集合,实时为用户设定机器人执行动作提供指示,简化用户操作。
[0115] 为了实现上述实施例,本发明实施例还提出一种计算机可读存储介质,其上存储有计算机程序,当该程序由处理器执行时,实现如前述机器人动作序列生成方法实施例所
述的机器人动作序列生成方法。
[0116] 在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特
点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不
必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任
一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技
术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结
合和组合。
[0117] 此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者
隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三
个等,除非另有明确具体的限定。
[0118] 流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部
分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺
序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明
的实施例所属技术领域的技术人员所理解。
[0119] 在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供
指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执
行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设
备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传
输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装
置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电
连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器
(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存
储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的
介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其
他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
[0120] 应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件
或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技
术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离
散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编
程门阵列(FPGA)等。
[0121] 本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介
质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
[0122] 此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模
块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如
果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机
可读取存储介质中。
[0123] 上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限
制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变
型。
[0124] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质
中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁
碟、光盘、只读存储记忆体(Read‑Only Memory,ROM)或随机存储记忆体(Random Access 
Memory,RAM)等。
[0125] 以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应
涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。