一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于仿真演绎的知识图谱修正方法与流程

2021-10-29 23:11:00 来源:中国专利 TAG:图谱 机器人 仿真 知识 技术


1.本发明涉及人工智能机器人任务行为规划、知识图谱领域技术、机器人虚拟仿真引擎技术,尤其是涉及一种基于仿真演绎的知识图谱修正方法。


背景技术:

2.早先机器人作业使用示教或者完备的程序控制,无法完成自主的行为作业。目前常用的机器人自主作业主要由知识图谱提供信息支撑,使用动态的任务规划替代先前硬编码式的任务规划,机器人能在一定程度上实现自主作业。但是,使用动态规划任务会造成规划结果混乱;在知识图谱缺失关键知识节点的前提下,任务规划将会失败。


技术实现要素:

3.为解决现有技术的不足,实现提升机器人任务规划效率和成功率的目的,本发明采用如下的技术方案:
4.一种基于仿真演绎的知识图谱修正方法,包括如下步骤:
5.s1,构建仿真环境、仿真机器人,定义完成任务的子任务及一系列子行为集合;
6.s2,构建机器人知识图谱,知识图谱包括构成任务的各节点和表示节点间权值的边;
7.s3,构建机器人仿真任务集合,进行仿真推导,得出能够完成任务的行为路径;
8.s4,展开机器人仿真,根据能够完成任务的行为路径,修正知识图谱的权值。
9.进一步地,所述s1包括如下步骤:
10.s11,基于机器人环境,建立周边场景的数字仿真环境,其环境受到现实世界物理定律约束,记作env;
11.s12,基于机器人物理和模型特征,在机器人仿真环境中构建出对应的仿真机器人,包括机器人的运动行走部件,机器人抓取关节等,记作sim

robot;
12.s13,机器人作业任务记作task,包括一组子任务task

c;
13.s14,机器人运行时,执行的各个子任务记作task

c,完成任务task的一系列子任务,即一系列行为,记作{task

c}集合;
14.s15,子任务task

c,包括一组行为,且task

c对应操作物件记作obj。
15.进一步地,所述s2包括如下步骤:
16.s21,定义任务task为{robo,obj,{task

c}},robo表示真实机器人real

robot,obj表示真实机器人操作的物件,{task

c}表示完成任务task的行为队列;
17.s22,实现task的行为队列不是唯一的,知识图谱根据子任务task

c与操作物件obj的对应关系{obj,task

c},生成所有可能操作物件obj的行为,得到实现任务task的全部行为路径;
18.s23,使用全部子任务task

c构建任务知识图谱,其中任务知识图谱的每个子任务记为一个task

c节点,节点之间的边,表示task

c节点之间构成任务task的任务权值;
19.s24,根据行为构建行为知识图谱,其中行为知识图谱的每个子行为记为一个子行为节点,节点之间的边,表示子行为构成任务task的行为的行为权值,子任务task

c中被分解出的一组行为分别指向该行为对应的知识图谱;
20.s25,在知识图谱中,定义操作物件obj,在环境中全部可以操作的物件构成集合{obj}。
21.进一步地,所述s3包括如下步骤:
22.s31,在仿真环境env中,仿真机器人sim

robot,具备刚体物理特征、多自由度机械臂、运动导航能力;
23.s32,设计仿真机器人sim

robot的各个运动关节,捕捉运动轨迹,作为机器人基准轨迹trail;
24.s33,获取仿真机器人sim

robot的行径轨迹route;
25.s34,获取完成任务task中,仿真机器人sim

robot执行的每个动作motion;
26.s35,定义仿真机器人sim

robot的任意一次子任务task

c{trail,route,motion};
27.s36,知识图谱中,对于执行task的trail、route、motion,是未知的,我们要通过仿真进行推导,得出能够实现任务task的行为路径,包括如下步骤:
28.s361,知识库中,定义已有全部可执行的行为集合,包括动作集合{motion}

all,具有全部可规划的路径集合{route}

all,现有规划出的全部轨迹路径为{trail}

all;
29.s362,根据知识图谱,完成任务task所需的行为组合,动作motion、轨迹trail、路径route的组合,即行为集合{motion}

all、{route}

all、{trail}

all的子集,由该子集形成能够实现各子任务task

c的组合,记作{task

c

r};
30.s363,对任何一个任务组合{task

c

r},不能保证task

c

r一定能在真实机器人实体上完成子任务task

c,因此,对仿真环境env下发{task

c

r}数据集合,使其使用该集合中所有的task

c

r任务组合进行尝试,观测是否能够完成任务task。
31.进一步地,所述s4包括如下步骤:
32.s41,在仿真器中,同时运行多个仿真实例,其中每一个实例使用{task

c

r}集合中的一个任务规划task

c

r;
33.s42,对于每一个任务规划task

c

r,在仿真实例中运行,观察仿真机器人sim

robot在仿真环境env中的运行结果;
34.s43,对于运行结果,获取两个事实:仿真机器人sim

robot是否能成功完成任务task,以及机器人在完成任务task的前提下需要的时间均值;
35.s44,对于能够完成任务task的任务规划task

c

r,获取其对应的行为路径{motion,trail,route},及时间均值delta

time,通过时间均值delta

time更新任务知识图谱中task

c节点间的边;设计算法,更新实现该任务规划中的行为在行为知识图谱中子行为节点间的边;
36.s45,对于不能完成任务task的规划task

c

r,将其对应的行为路径{motion,trail,route},在知识图谱中,删除节点间的边关联;
37.s46,通过s44、s45,我们得到更新后的知识图谱,包含更新后的动作motion图谱、轨迹trail图谱、实现路径route图谱,使用更新后的知识图谱,按仿真环境env下的规划方
案,获得最佳机器人任务规划,并下发至真实机器人real

robot进行任务作业。
38.进一步地,所述s44中,当有多种任务规划task

c

r都能完成任务task时,取时间均值delta

time最小的任务规划task

c

r,增加任务规划task

c

r对应的各task

c节点间的任务权值。
39.进一步地,所述行为包括动作motion、轨迹trail和路径route。
40.最终得到{task

c}、{motion}、{trail}、{route}、{obj}五个知识图谱。
41.进一步地,所述s44中行为知识图谱的权值更新如下:
42.对于动作motion:
[0043][0044]
初始权值设置为1,每个边的权值范围为[0.1,10],其中,t
motion
表示完成动作motion所需的时间总和,这意味着执行时间越长,该任务的权值就会越低;
[0045]
对于轨迹trail:
[0046][0047]
其中,t
trail
表示当前任务完成轨迹trail所需的时间总和;
[0048]
对于路径route:
[0049][0050]
主要为路径是否能够连通,以及作为task

c串联时,对route权值进行更新,所以对于不能形成连通链路的路径route,权值为0,能够连通的路径route,权值为连通所有task

c的权值总和,l表示连通节点数。
[0051]
进一步地,所述s44中任务知识图谱的权值更新包括如下步骤:
[0052]
s441,将各个子节点的边的权值设置为初始值:
[0053][0054]
t
max
=∑t
route
∑t
motion
∑t
trail
[0055]
其中,t
max
表示最大行为执行时间,t包括t
route
、t
motion
和t
trail
中的一个或多个,t
route
表示完成动作路径route所需要的时间总和,t
motion
表示完成动作motion所需的时间总和,t
trail
表示完成轨迹trail所需的时间总和,
[0056]
s442,对于能够构成子任务task

c的(motion trail route),一定在对应的{motion}{route}{trail}构成链路,对于所有可能的链路,取最大时延作为基准:
[0057][0058]
ave=max(delay
i
)
[0059]
一个节点i需要的时延就为:
[0060]
[0061][0062]
其中,n
i
表示节点i被连接的次数,按照统计次数进行均值求解,然后将这个结果与初始权值相加,weight表示任务节点的边的权值;
[0063]
当由仿真确定一条链路不能执行时,删除对应节点之间的边,对应链路上所有节点增加基于丢失节点的权值weight:
[0064][0065]
当仿真发生时,t、delay
i
、n
i
会根据仿真结果不断修正,例如某些任务的链路不通,n
i
总数就会下降,weight是根据仿真计算出的新值,与原来n
i
、t、t
max
不再相同,均需重新按公式计算;
[0066]
当一条仿真链路能够确定时,更新权值对应路径的权值:
[0067]
n
n
=∑(frequency*n
i
)
[0068]
weight
new
=weight
old
n
n
*ave
[0069]
其中,n
n
表示统计计数因子,frequency表示该节点(motion、trail、route)被不同子任务task

c走过的频率,n
i
表示该节点i被连接的次数。
[0070]
如图6所示,对于节点5,分别连接下个节点3和7,节点3和7连接次数为2和1,走过次数f为3、7,频率为0.3、0.7,此时n
n
=2*0.3 1*0.7=1.3。
[0071]
最终完成仿真后,所有motion、trail、route的权值将被更新,故而完成任务的各个子任务链路的总权值也会不同。
[0072]
进一步地,所述动作motion,每个动作motion按顺序构成动作链路[motion],动作链路是机器人完成任务task的动作序列,例如:打开柜子

拿出杯子

倒上水

离开,机器人完成任务需要执行一系列动作,每一个motion为一个机器人动作指令,且是最小单元,例如:抓、握、行动、停止等动作,每一个动作由唯一id作为标识,所有motion构成集合{motion},记录这些motion上下文数据库称为动作知识图谱。
[0073]
本发明的优势和有益效果在于:
[0074]
本发明基于知识图谱技术、机器人虚拟环境仿真技术、机器人控制论规划技术,通过使用虚拟仿真环境仿真演绎,修正经过计算知识图谱得出的错误的任务规划,让实体机器人在真实环境中获得正确的任务规划,解决了单一使用知识图谱进行机器人任务规划的不足,在机器人执行错误规划之前,先行将知识图谱进行修复。
附图说明
[0075]
图1是本发明的方法原理图。
[0076]
图2是本发明中任务构成示意图。
[0077]
图3是本发明中知识图谱结构示意图。
[0078]
图4是本发明中知识图谱进行机器人作业任务划分流程图。
[0079]
图5是本发明中知识图谱修正的流程图。
[0080]
图6是本发明中仿真链路示意图。
具体实施方式
[0081]
以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
[0082]
基于仿真演绎修正知识图谱的方法,包括如下步骤:
[0083]
如图1所示,首先我们建立机器人仿真环境,建立周边场景的数字仿真环境,其环境受到现实世界物理定律约束,记作env,机器人仿真将在env中进行。基于机器人物理和模型特征,在仿真环境中同样构建出对应的机器人模型,包括机器人的运动行走部件,机器人抓取关节等,记作sim

robot。与此对应的真实机器人记作real_robot。
[0084]
机器人进行任务作业时会依次执行各个子任务,执行的各个子任务记作task

c,机器人完成一个任务的一系列行为记作{task

c}集合。每一个子任务task

c,都可以被分解为动作motion,轨迹trail和路径route,且每一个task

c都可以操作一个物件记作obj。机器人作业任务记作task,由若干的子任务task

c组成。该过程如图2所示。
[0085]
如图3所示,对于一个任务task,主体机器人记为real

robot,完成任务的行为队列记作{task

c},操作的物件为obj,那么一个任务被定义为{robo,obj,task

c},因为实现task的行为队列不是唯一的,知识图谱根据task

c与obj的对应关系,生成所有可能操作物件obj的行为,这种一一对应的关系记作{obj,task

c},该组合由知识图谱生成,并将推理出实现该任务task的全部行为路径。使用全部task

c构建知识图谱,其中图谱的每个节点记为一个task

c,节点之间的边表示子任务之间构成主任务task的权重,分别构建motion、trail、route知识图谱,task

c中被分解出的motion、trail、route分别指向对应的图谱。在知识图谱中,定义可操作性的物件为obj,在环境中全部可以操作的物件构成集合,记作{obj}。因此,我们有{task

c}{motion}{trail}{route}{obj}五个知识图谱,其中{obj}图谱不需要更新。
[0086]
在仿真环境中,模拟机器人,记作sim

robot,机器人具备刚体物理特征,具备多自由度机械臂,运动导航能力。设计robot

sim虚拟机器人的各个运动关节,捕捉机器人运动轨迹,作为机器人基准轨迹trail;记录虚拟机器人sim

robot的行径轨迹,轨迹记作route;机器人执行一个动作,记作motion,完成任务中,执行的每个动作按照顺序用作链路,记作[motion]。
[0087]
对于机器人的任意一次子任务task

c,是trail、route、motion的组合,我们记作任务task

c{trail,route,motion};知识图谱中,对于执行task的trail、route、motion,是未知的,我们要通过仿真进行推导,得出能够实现任务的路径方法。
[0088]
知识库中,已有全部可执行的动作集合{motion}

all,具有全部可规划的路径集合{route}

all,现有规划出的全部轨迹路径为{trail}

all。由此,根据知识图谱,完成任务task所需的动作、轨迹、规划有多种组合类型,其中每一种组合类型都是{motion}

all、{route}

all、{trail}

all中的一个子集,由该子集形成能够实现task

c任务的组合,记作{task

c

r},如图4所示。
[0089]
针对{task

c

r}中的任何一个任务组合,不能保证task

c

r一定能在真实机器人实体上完成任务task

c。因此,对仿真环境下发{task

c

r}数据集合,使其使用该集合中所有的task

c

r任务组合来尝试,观测是否能够完成任务。
[0090]
如图5所示,在仿真器中,同时运行多个仿真实例,其中每一个实例使用{task

c

r}集合中的一个任务规划task

c

r。对于每一个任务规划task

c

r,在仿真实例中运行,观察模拟机器人在仿真环境中的运行结果。对于运行结果,记录两个事实:机器人是否能成功完成任务,机器人在完成任务的前提下,需要的时间均值。对于能够完成任务的规划task

c

r,有与之对应的{motion,trail,route},并附加完成任务规划的均值时间delta

time;设计算法更新{motion,trail,route},更新实现该任务规划中motion、trail、route知识图谱中节点的边的权值;对于不能完成任务的规划task

c

r,有与之对应的{motion,trail,route},在知识图谱中去除节点间的边关联。
[0091]
通过上述步骤,我们得到更新后的知识图谱,包含更新后的动作图谱motion、轨迹图谱trail、实现路径图谱route、更新后的子任务图谱task

c。使用更新后的知识图谱,按照在仿真环境下的规划方案,获得最佳机器人任务规划,并下发到现实场景中的机器人进行任务作业。
[0092]
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜