1.本发明涉及机器人设计技术领域,尤其是涉及一种基于进化与学习的机器人自适应设计方法。
背景技术:2.随着机器人技术的发展,机器人的应用涉及到了越来越多的领域,对机器人的要求也因此更加趋向多元化。目前的机器人设计范式为首先设计面向使用场景的机器人形态,再根据形态进行控制的设计与匹配。这样的设计范式不具备普适性,不同的使用场景对于机器人的不同要求都需要不同程度的人工干预调整,设计过程复杂且低效。
3.借鉴达尔文进化论的思路,进化机器人的研究通过进化机器人的形态和/或控制器实现针对特定任务的自主优化。目前对于进化机器人主流的工作主要是针对形态固定的机器人进行控制器的优化,或是对模块化机器人进行形态受限的形态与控制器共同进化。这样的进化机器人受限于形态的搜索空间,不具备通用性。当环境与任务发生变化时,依然需要大量的人工调整。
技术实现要素:4.本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种基于进化与学习的机器人自适应设计方法,该方法不受机器人的形态限制,具备通用性。
5.本发明的目的可以通过以下技术方案来实现:
6.一种基于进化与学习的机器人自适应设计方法,该方法包括:
7.s1、随机生成机器人种群,对种群中机器人个体的形态和控制器基因进行编码;
8.s2、对种群中机器人个体的性能进行评估;
9.s3、遍历种群中的每个机器人个体,通过控制器的进化使得机器人在任务环境中进行学习,完成种群中每个机器人个体中控制器的优化;
10.s4、采用进化算法产生新的机器人种群;
11.s5、重复执行步骤s2~s4直到完成指定的迭代次,完成机器人设计。
12.优选地,步骤s1基于cppn随机生成机器人种群。
13.优选地,机器人种群中机器人个体的形态和控制器的生成方式具体为:
14.s11、采用cppn对机器人个体的形态进行编码,机器人骨架的形状与器官的位置通过cppn生成的结果来决定;
15.s12、机器人个体的控制器为一个人工神经网络控制器,采用cppn对机器人个体的控制器进行编码。
16.优选地,步骤s2中机器人个体性能的评估由适应度函数来定义,适应度函数通过对机器人的新颖度n、机器人相对目标位置的距离d、运动速度v进行处理,计算出机器人的实际性能f:
17.f=h(n,d,v)
18.其中,h性能计算函数。
19.优选地,步骤s3中机器人个体的学习具体包括:
20.s31、创建控制器种群;
21.s32、将控制器种群中的每个控制器分别与机器人形态配对;
22.s33、对配对后的机器人性能进行评估;
23.s34、有选择性地对控制器进行交叉、变异与重组形成新的控制器种群;
24.s35、重复s32到s34的过程直到学习的迭代次数完成。
25.优选地,步骤s34具体为:根据步骤s33中配对后的机器人性能高低,基于锦标赛选择法选择一部分控制器进行交叉变异与重组,形成新的控制器种群。
26.优选地,步骤s34中交叉、变异采用hyperneat算法。
27.优选地,步骤s4具体为:基于锦标赛选择法选择机器人种群中一部分机器人个体,对机器人个体的形态以及控制器基因型分别进行交叉、变异与重组从而产生新的机器人种群。
28.优选地,步骤s4包括:
29.s41、对机器人的形态编码进行交叉变异;
30.s42、对交叉变异后的形态编码进行解码获得进化后的机器人形态;
31.s43、对机器人的控制器编码进行交叉变异;
32.s44、对交叉变异后的控制器编码就行解码获得进化后的机器人控制器;
33.s45、将进化后的机器人形态与控制器进行组合获得进化后的机器人。
34.优选地,步骤s4中交叉、变异采用hyperneat算法。
35.与现有技术相比,本发明具有如下优点:
36.(1)本发明机器人的设计方法不受机器人的形态限制,具备通用性;
37.(2)本发明将将学习和进化相结合,实现任何场景与任务下机器人的学习与进化,不局限于单一使用场景或者单一任务,具有泛化性;
38.(3)本发明机器人的应对不同场景与任务的具体设计方案无需人工反复设计,机器人能够自适应目标完成设计,设计方法具有高效性;
39.(4)本发明机器人能够对进化生成的形态进行学习,使得控制器更加稳定;
40.(5)本发明机器人的形态复杂多变,并且能够根据使用需求自适应兼容各种类的传感器,执行器等设备,可拓展性强。
附图说明
41.图1为本发明一种基于进化与学习的机器人自适应设计方法的流程示意图;
42.图2为本发明随机生成的初始机器人种群的示意图;
43.图3为本发明的学习过程中机器人种群的示意图。
具体实施方式
44.下面结合附图和具体实施例对本发明进行详细说明。注意,以下的实施方式的说明只是实质上的例示,本发明并不意在对其适用物或其用途进行限定,且本发明并不限定于以下的实施方式。
45.实施例
46.如图1所示,本实施例提供一种基于进化与学习的机器人自适应设计方法,该方法包括:
47.步骤s1、随机生成机器人种群,具体的机器人种群构成如图2所示,机器人种群包括一定数目的机器人个体,每个机器人由形态和控制器来共同定义:形态定义其外观,控制器定义其行为。机器人的形态和控制器都由cppn来进行编码;对种群中机器人个体的形态和控制器基因进行编码。
48.在此步骤中,随机生成机器人种群的方法基于复合模式生成网络(cppn),机器人的形态与控制器的生成方式具体为:
49.s11、采用cppn对机器人个体的形态(机器人骨架形状与器官的组合)进行编码,机器人骨架的形状与器官的位置通过cppn生成的结果来决定,对cppn生成的机器人形态的解码中包括了对于生产可行性、与物理意义的评估,cppn生成的机器人形态不符合生产可行性、与物理意义的部分会被舍弃;
50.s12、机器人个体的控制器为一个人工神经网络(ann)控制器,采用cppn对机器人个体的控制器进行编码,通过对cppn的解码获得ann控制器中神经元之间的连接权重,使用获得的神经元之间的连接权重来定义具体的控制器。
51.机器人的完整的个体由通过解码cppn从而生成的形态与控制器组合获得。
52.步骤s2、对种群中机器人个体的性能进行评估,包含了形态的性能与控制器的性能,机器人个体性能的评估由适应度函数来定义,适应度函数通过对机器人的新颖度n、机器人相对目标位置的距离d、运动速度v进行处理,计算出机器人的实际性能f:
53.f=h(n,d,v)
54.其中,h性能计算函数。
55.步骤s3、遍历种群中的每个机器人个体,通过控制器的进化使得机器人在任务环境中进行学习,完成种群中每个机器人个体中控制器的优化,此步骤具体包括:
56.s31、创建控制器种群;
57.s32、将控制器种群中的每个控制器分别与机器人形态配对;
58.s33、对配对后的机器人性能进行评估;
59.s34、有选择性地对控制器进行交叉、变异与重组形成新的控制器种群;
60.s35、重复s32到s34的过程直到学习的迭代次数完成。
61.在上述步骤s33中对配对后的机器人性能进行评估也采用上述步骤s2的适应度函数进行评估。
62.s34根据步骤s33中配对后的机器人性能高低,基于锦标赛选择法选择一部分控制器进行交叉变异与重组,形成新的控制器种群,步骤s34中交叉、变异采用hyperneat算法。
63.如图3所示为学习过程中机器人种群的示意图。
64.步骤s4、采用进化算法产生新的机器人种群:基于锦标赛选择法选择机器人种群中一部分机器人个体,对机器人个体的形态以及控制器基因型分别进行交叉、变异与重组从而产生新的机器人种群,具体包括:
65.s41、对机器人的形态编码进行交叉变异;
66.s42、对交叉变异后的形态编码进行解码获得进化后的机器人形态;
67.s43、对机器人的控制器编码进行交叉变异;
68.s44、对交叉变异后的控制器编码就行解码获得进化后的机器人控制器;
69.s45、将进化后的机器人形态与控制器进行组合获得进化后的机器人。
70.上述过程中交叉、变异采用hyperneat算法。
71.步骤s5、重复执行步骤s2~s4直到完成指定的迭代次,种群中性能最好的个体用于完成机器人的设计。
72.在设计过程中,对机器人的性能评估是在具体环境中根据具体任务来评估每个机器人的性能。以在迷宫中的导航任务为例,机器人在一定时间内距离目标点越近,则针对运动距离的性能评估(fd)越高。fd的计算如下:
[0073][0074]
其中,(x
robot
,y
robot
)为机器人所在的位置,(x
goal
,y
goal
)为目标所在位置,d为场景中存在的最长直线距离;
[0075]
需要说明的是:机器人个体性能的评估由适应度函数来定义,适应度函数通过对机器人的新颖度n、机器人相对目标位置的距离d、运动速度v进行处理,共同决定机器人的实际性能f。在本实施例迷宫导航任务中涉及的性能函数f除了上述的距离评估fd外,进化过程中若某机器人个体在一定代数内不发生变化则认为其新颖度n降低并对其性能做出惩罚,若在规定时间内机器人无法到达指定目标地点,则认为其运动速度v过低。
[0076]
以上方法应用范围不仅局限于迷宫导航任务,在其他需要机器人对环境进行适应的任务中都可以得到应用。
[0077]
本发明机器人的设计方法不受机器人的形态限制,具备通用性;将将学习和进化相结合,实现任何场景与任务下机器人的学习与进化,不局限于单一使用场景或者单一任务,具有泛化性;机器人的应对不同场景与任务的具体设计方案无需人工反复设计,机器人能够自适应目标完成设计,设计方法具有高效性;机器人能够对进化生成的形态进行学习,使得控制器更加稳定;机器人的形态复杂多变,并且能够根据使用需求自适应兼容各种类的传感器,执行器等设备,可拓展性强。
[0078]
上述实施方式仅为例举,不表示对本发明范围的限定。这些实施方式还能以其它各种方式来实施,且能在不脱离本发明技术思想的范围内作各种省略、置换、变更。