一种基于多目标MAP-Elites的机器人损伤恢复方法
- 国知局
- 2024-07-31 23:46:41
本发明涉及机器人控制,尤其涉及一种基于多目标map-elites的机器人损伤恢复方法。
背景技术:
1、在强化学习领域中,机器人损伤恢复问题是一个重要的研究方向,特别涉及到,在现实世界环境中,如何使机器人能够在遭受损伤或意外情况后自主地进行修复和恢复功能。多足机器人的损伤恢复是一个需要高度灵活性和适应性的任务,要求机器人能够在受损后,识别受损部位,以迅速调整其行为策略,如调整步态、改变腿部运动方式等,以恢复正常的运动功能。cédric colas、joost huizinga等人在《scaling map-elites to deepneuroevolution》这篇论文中,利用基于单目标进化策略的质量多样性算法,在四足蚂蚁机器人的损伤后适应性调整上取得了显著成效,具体为,首先在未损伤的环境中进行初步训练,采用单一目标函数作为适应度函数,用以评估候选解在优化目标上的性能表现,进而引导搜索过程的高效进行。随后,在机器人受损的环境中再次进行训练,通过对原有模型进行精细调整,从预先构建的网格中挑选出最合适的策略应用于受损场景,以实现更出色的性能表现。该方案相较于其他同类型的算法展现出了更好的性能表现。
2、在原有的单目标方法中,将可能存在的多个性能指标简单混合为单一的目标函数,却忽视了不同目标间可能存在的相互制约和复杂关系,从而丢失了目标间潜在的有价值信息。此外,单目标方法往往限制了搜索空间的广度,导致算法无法充分探索多目标问题所蕴含的丰富潜在解决方案。这种局限性使得算法在局部搜索中容易陷入困境,难以发现更优的全局解。
3、因此,亟需提供一种基于多目标map-elites的机器人损伤恢复方法,以更好地处理多目标优化问题,提高算法的性能和适应性。
技术实现思路
1、针对现有技术存在的问题,本发明提供了一种基于多目标map-elites的机器人损伤恢复方法,能更好地处理多目标优化问题,充分地考虑到不同目标,更好的探索解空间中的多样性,避免陷入局部最优,最终获得更优质量的解决方案。
2、本发明的技术方案是这样实现的:
3、一种基于多目标map-elites的机器人损伤恢复方法,所述机器人为多足机器人;该方法包括行为地图构建阶段和损伤适应阶段,分别对应机器人的未受损环境和受损环境;所述未受损环境和所述受损环境均为模拟环境;所述受损环境至少有一个;
4、所述行为地图构建阶段,包括如下步骤:
5、t1、初始化行为地图;所述行为地图包括若干个网格,网格内存储有至少一个控制器参数;
6、t2、从所述行为地图中挑选一个所述控制器参数,作为父代控制器参数;在所述父代控制器参数的周围采样,得到多个样本控制器参数;将多个所述样本控制器参数分别与所述未受损环境进行交互,并评估所述交互,得到评估结果,所述评估结果包括行为特征、距离适应度值和成本适应度值;根据所述评估结果计算进化梯度,得到梯度方向信息;
7、其中,所述交互即使用所述控制器参数控制所述机器人在所述模拟环境中运行一个回合步数;
8、t3、根据所述梯度方向信息,进化所述父代控制器参数,得到子代控制器参数;将所述子代控制器参数与所述未受损环境进行交互并得到评估结果,根据所述行为特征定位所述子代控制器参数对应于所述行为地图内的位置,得到目标网格;
9、t4、根据所述距离适应度值和所述成本适应度值,比对所述子代控制器参数和所述目标网格内的所有控制器参数之间的支配关系;
10、根据所述支配关系,将所述子代控制器参数存储至所述目标网格,或替换所述目标网格内的控制器参数,或将所述子代控制器参数丢弃;
11、t5、重复执行步骤t2至t4,直至达到预设的第一迭代停止条件;
12、所述损伤适应阶段包括如下步骤:
13、t6、选择一个所述受损环境,采用基于地图的贝叶斯优化算法和所述行为地图,初始化损伤恢复模型;对所述损伤恢复模型进行调整和搜索,得到最佳控制器参数;通过使用所述最佳控制器参数,使所述多足机器人在所述受损环境得到恢复;
14、t7、重复步骤t6,直至模拟全部所述受损环境。
15、行为地图构建阶段对应模拟机器人的未受损环境,损伤适应阶段对应模拟受损环境,也即被测试环境;
16、距离适应度值用于评估机器人向前运动行进的距离,如在控制机器人执行动作后,向x轴方向前进的距离;成本适应度值用于评估运动过程中花费的成本,即机器人各关节扭矩成本;如成本适应度可以为执行动作向量的平方和的一半,动作向量一般包含所有关节的扭矩。
17、行为特征是指描述个体行为或性能的特征,通常用来度量个体在解决问题或执行任务时的效果或表现。任何有助于定义个体行为或性能的指标或属性均可被认为是行为特征。map-elites是演化计算领域的一个质量多样性优化框架。其核心思想是维护一组有限的单元,每个单元保存该行为空间区域中最佳的个体,也即精英客体,从而实现质量和多样性的同时优化。map-elites可通过定义行为特征,将模拟机器人在环境中的“状态-动作”轨迹映射到行为地图中。因而,根据行为特征,可定位拥有该行为特征的个体在行为地图中所处的网格。
18、t5中,第一迭代停止条件可以为迭代次数达到预设的目标总次数。
19、本发明中的损伤恢复是指即使机器人的某一处或某几处关节受损,利用某一控制器参数,依然能控制机器人维持向前行进的形态,在面对未预料的损伤时也能继续行进。
20、将原先单一的目标拆解并构造为两个适应度函数,能同时对两个目标进行处理,避免算法陷入局部最优解,促进搜索算法探索解空间中的多样性,发现更广泛的解决方案。最终针对特定的受损环境,从行为地图中筛选出最合适的最佳控制器参数,作为最佳的解决方案。
21、相较于现有技术,本方案无需按照不同的、真实的损伤环境训练模型,才能获得一个能控制机器人在该损伤环境中向前行进的控制器参数,而是使用一个行为地图,能构造出适应多种损伤环境的控制器参数组。
22、作为以上方案的进一步优化,所述t1的具体步骤包括:
23、t11、初始化行为空间,所述行为空间具有存储num个所述控制器参数的存储容量;将所述行为空间根据预设的离散值dis转化为具有若干网格的行为地图;
24、t12、以全连接神经网络为基础,随机初始化神经网络模型参数,得到所述控制器参数;使用所述控制器参数控制所述机器人与所述未受损环境进行交互并评估所述交互,得到评估结果;根据所述行为特征将所述控制器参数定位并存储至所述网格中。
25、行为空间是指描述个体特征的空间,对行为空间沿不同维度进行离散,可得到一个以网格结构表示的行为地图,每个网格中维护一个或多个在当前网格中性能最优的个体。
26、全连接神经网络(fully connected neural network,fcn)是一种连接方式较为简单的人工神经网络结构,属于前馈神经网络的一种。它主要由输入层、隐藏层和输出层构成,每个隐藏层中可以有多个神经元。全连接神经网络具有强大的特征提取和学习能力,可以应用于多种任务,如分类、回归以及无监督学习等。
27、每一次交互过程都进行多次评估,最终的评估结果为多次评估结果的均值。
28、作为以上方案的进一步优化,所述t11中,还包括预设维度值dim;其中,根据所述离散值dis,将所述行为空间沿每一维度均匀离散成dis份,得到网格数量为的行为地图;每个所述网格可容纳的所述控制器参数的数量为。
29、作为以上方案的进一步优化,所述行为特征为一个多维向量,其中每个维度代表了在每一回合步数中,所述机器人的每一足接触地面的时间比例,每个维度的取值范围均为[0,1];
30、每一个所述网格分别对应一个唯一的第一标识符,所述第一标识符为多维数组或多维向量,包括多个索引值;
31、所述行为地图、行为特征和所述第一标识符的维度相同;所述定位的过程为,将所述取值范围按照所述维度均分为多个区间,根据所述区间将所述行为特征的每一个参数按照先后位置分别映射转化为索引值,进而得到相对应的所述第一标识符。
32、模拟环境开放对外接口;通过调用模拟环境提供的接口,获取来自模拟环境的当前回合步数中的接触信息以及接触点的数量,循环遍历各个接触点;若有接触,且为多足蚂蚁机器人某一条腿与地面发生的,则对应腿的接触地面次数加1,将触地次数除以当前回合步数可计算每条腿接触地面的时间比例。
33、作为以上方案的进一步优化,所述t2的具体步骤包括:
34、t21、在所述行为地图中,根据所述距离适应度值和所述成本适应度值之和作为等权整体适应度值;选择所述等权整体适应度值最大的所述控制器参数所在的所述网格;
35、或,对于最近的存储过所述控制器参数的a个所述网格,按照所述等权整体适应度值进行降序排序,随机选择排序靠前的b个所述网格中的一个;其中,a和b均为自定义值,且a≥b;
36、t22、从被选择的所述网格中,随机选择一个所述控制器参数作为所述父代控制器参数;
37、t23、根据所述父代控制器参数构造各向同性的多元高斯分布,在所述多元高斯分布中进行随机采样,生成多个样本控制器参数;
38、t24、使用所述样本控制器参数控制所述机器人与所述未受损环境进行交互,并评估得到所述评估结果;
39、t25、对于所述样本控制器参数的距离适应度值和成本适应度值分别赋予不同的权重,计算加权整体适应度值;利用随机梯度上升法,对所述加权整体适应度值进行梯度估计,得到所述梯度方向信息。
40、t21中,若最近的存储数据的网格数量小于a,则仅采用前一种方法选择网格;否则,按照50% 的概率任选两种方法的一种进行网格的选择;
41、“随机梯度上升法”是一种优化算法,它使用随机选择的样本来估计梯度,并沿着梯度上升的方向更新参数,以最大化目标函数。“梯度估计”即近似计算加权整体适应度值相对于模型参数的梯度。梯度是一个向量,它指示了函数在每个点上的最陡峭上升方向。
42、使用加权后的适应度值计算梯度,指导进化方向,更充分地考虑到不同目标之间的关系和权衡,也可以增加搜索算法探索解空间中的多样性,避免算法陷入局部最优解。
43、作为以上方案的进一步优化,所述距离适应度值、所述成本适应度值和所述加权整体适应度值分别用表示;所述距离适应度值、所述成本适应度值对应的权重分别为和;
44、在每一轮迭代中,所述加权整体适应度值的计算过程为:
45、,
46、,
47、;
48、其中,r为权重范围控制参数;为距离函数初始权重,所述距离适应度值对应的权重范围为;n为迭代次数,即控制器参数。
49、作为以上方案的进一步优化,所述t4中,所述支配关系包括完全支配、完全被支配和非支配;
50、若所述子代控制器参数在距离适应度值和成本适应度值上均优于所述目标网格内的所有控制器参数,即为完全支配;此时将所述目标网格内的所有控制器参数移除,再将所述子代控制器参数存储至所述目标网格内;
51、若所述目标网格内的至少一个控制器参数对所述子代控制器参数完全支配,即为完全被支配,则丢弃所述子代控制器参数;
52、若子代控制器参数与所述目标网格内的控制器参数之间的支配关系不为完全支配或完全被支配,即为非支配;此时,判断所述目标网格的存储空间是否达到最大容量:若未达到最大容量,则直接将所述子代控制器参数存储至所述目标网格;否则,随机选择所述目标网格内的一个控制器参数与所述子代控制器参数进行替换。
53、对于两个参数a、b的多个适应度值,若a的所有适应度值均优于b的所有适应度值,则a完全支配b;反之,则a完全被b支配;否则,a和b为非支配关系。
54、通过支配关系不断更新网格中存储的控制器参数组,这一组控制器参数对应的适应度值,可形成一个帕累托前沿,即在当前网格中,使用该组控制器参数均能获得最佳的第一性能值,并提供了在不同受损环境下,在两目标间进行权衡和选择的可能性。
55、作为以上方案的进一步优化,所述多足机器人的每一足都包括至少两个关节,所述关节包括损伤和正常两种状态;
56、所述t6中,对于所述控制器参数,根据所述距离适应度值和所述成本适应度值以自定义的权重相加得到性能值;其中,所述控制器参数在与未受损环境和受损环境交互并计算得到的所述性能值,分别为第一性能值和第二性能值;
57、特别的是,性能值和前述的加权整体适应度值中均用到了权重,但两者并不相同;在加权整体适应度值中,权重有算法自适应更新;而性能值中,权重由用户根据实际需求自定义。
58、所述t6的具体步骤包括:
59、t61、设置任意数量和任意位置的所述关节为损伤状态,以模拟所述受损环境;
60、t62、在所述行为地图中,计算所有所述控制器参数的第一性能值,其中,第一性能值最大的所述控制器参数为第一目标参数;
61、采用基于地图的贝叶斯优化算法,使用所述行为地图中的所有控制器参数的行为特征和第一性能值,构建一个高斯过程模型;所述高斯过程模型用于预测所述控制器参数的性能;所述高斯过程模型为一个字典,所述字典的键为第二标识符,所述第二标识符与所述行为地图内的所述控制器参数一一对应;所述字典的值为一个元组,包括均值和方差;其中,所述均值即为所述控制器参数的估计性能;
62、t63、利用所述均值和所述方差构造采集函数;通过所述采集函数计算所述控制器参数的函数值,并选择函数值最大的一个控制器参数为第二目标参数;
63、t64、使用所述第二目标参数和所述受损环境交互,得到评估结果;使用所述第二目标参数的行为特征和第二性能值对所述高斯过程模型进行更新;
64、t65、重复执行t63、t64,直至达到预设的第二迭代停止条件;
65、t66、选择所述估计性能最大的所述控制器参数作为第三目标参数;将所述第一目标参数和所述第三目标参数分别与所述受损环境进行交互并得到评估结果,并选择第二性能值最大的一个作为所述最佳控制器参数。
66、在基于地图的贝叶斯优化算法中,所有控制器参数的行为特征和第一性能值被用作一种先验知识,帮助算法更有效地探索参数空间。通过结合地图的特定结构和特征,算法能够更准确地预测第二性能值在不同参数配置下的表现。
67、高斯过程(gaussian process, gp)是概率论和数理统计中随机过程的一种,指的是一组随机变量的集合,这个集合里面的任意有限个随机变量都服从联合正态分布。在高斯过程中,任意随机变量的线性组合都服从正态分布,每个有限维分布都是联合正态分布,其本身在连续指数集上的概率密度函数即是所有随机变量的高斯测度。高斯过程由其数学期望和协方差函数完全决定,并继承了正态分布的诸多性质。
68、t61用于模拟特定的受损环境;
69、t65中,第二迭代停止条件可以为迭代次数达到预设的目标总次数。
70、重复执行t61至t66,直至模拟全部所述受损环境,即可筛选出针对每种受损环境的最佳控制器参数。最佳控制器参数控制机器人在受损环境中可以耗费较低成本情况下较好地向前行走,也即对于特定的场景环境,获得的控制器参数可以做到耗费较低成本情况下较远地向前行走,或是尽量远地向前行走同时不消耗过多的成本。
71、在真实环境中,训练参数需要使用控制器参数控制机器人完整的执行一遍运行过程,其中包括遍历多种受损环境、以及多个控制器参数,时间消耗非常大。在本方案中,通过模拟过程、以及更新高斯过程模型既可以预测每个控制器参数对应的估计性能,虽然也需要进行遍历,但遍历只用于计算行为特征之间的相关性,以此来更新高斯过程模型,不需要将所有控制器参数放入环境中一一进行测试,其时间消耗远小于在某一受损环境中遍历所有控制器参数得到的结果。
72、最佳控制器参数也可以直接选择第一目标参数,只不过效果可能相较于第一、第三目标参数比较后的选择差,但节省了第三目标参数的计算时间,相当于牺牲质量换取时间。
73、作为以上方案的进一步优化,所述t61中,还构造更新容器;
74、所述t63中,还将所述第二目标参数存储至所述更新容器;
75、所述t62中,对所述行为地图内的所有控制器参数分别初始化均值和方差;
76、其中,对所述控制器参数的第一性能值进行归一化处理,转化为[0,1]内的小数值,即为所述均值的初始值。
77、所述方差的初始值为:;
78、其中,i为所述第二标识符,表示所述行为地图内的第i个控制器参数;表示第i个控制器参数的行为特征;m(x,y)为核函数,所述核函数的构造公式为:
79、;
80、其中,x和y分别表示两个行为特征,d表示x和y之间的欧几里得距离,v为预设的长度尺度参数;为指数函数,表示e的次方;所述核函数用于计算两个行为特征之间的相关性;
81、所述t64中,对所述高斯过程模型的所有均值和方差进行更新。
82、其中,所述均值的更新过程为:
83、t641、构造性能差异向量;对于所述更新容器内的所有所述第二目标参数,计算其第一性能值和第二性能值的差值,并将所述差值存储至所述性能差异向量内;
84、t642、对于所述更新容器内的所有所述第二目标参数,采用所述核函数计算任意两个控制器参数的行为特征之间的相关性,并加入一个方差为0.01的高斯白噪声,得到协方差矩阵k;
85、t643、对于所述行为地图内的所有所述控制器参数,利用所述核函数,分别计算与所述更新容器内的所有所述第二目标参数之间的行为特征的相关性,得到协方差矩阵k。
86、t644、所述高斯过程模型中,所述均值的计算为:
87、;
88、其中,表示第i个所述控制器参数的第一性能值。
89、所述方差的更新过程为:
90、t645、第i个所述控制器参数对应的方差的更新计算为:
91、;
92、即行为特征本身的自相关性度量减去各协方差矩阵的点积。
93、本方案中的核函数即为matérn核函数,用于计算两点之间的相似度,并被用来建立协方差矩阵。这个协方差矩阵表示的是在所有输入行为特征间性能值的相关性。
94、相关性的度量帮助模型了解新的行为特征怎样依据与已知点对(bc,p)的相关性进行性能值的估计。通过构建相关性,高斯过程模型可以利用已有数据对(bc,p)来对未知数据对(bc,p)做出有根据的预测,即根据已在受损环境中测试的控制器参数得到的行为特征对应的性能值,预测还未在受损环境中测试的控制器参数得到的行为特征对应的性能值。相较于完整遍历一遍行为地图中所有控制器参数与受损环境的交互,利用高斯过程模型预测交互结果,具有预测准确度、质量高的特点,而又大大的缩短了获取目标参数的时间,提高了效率。
95、方差的初始化中,通过核函数得到一个行为特征本身的自相关性度量,表示这个点的预测变异性没有被其它点影响。
96、进一步的,v的值为2.5。 作为以上方案的进一步优化,所述采集函数表示为:;其中,为探索参数,i为所述第二标识符。
97、ucb为upper confidence bound,即置信区间算法。其中,是指希腊字母kappa,与上述的协方差矩阵k不是同一个参数。
98、与现有技术相比,本发明取得以下有益效果:
99、(1)在进化阶段,本发明拆解了原先单一的目标构造了两个适应度函数,能同时对两个目标进行处理,避免算法陷入局部最优解,促进搜索算法探索解空间中的多样性,发现更广泛的解决方案。
100、(2)根据迭代轮次,本发明自动对各适应度函数在整体适应度函数中所占比重进行调整,无需人为手工设置各目标的权重系数。通过不断对权重进行调整,可探索到更多的方向,增加进化的多样性,也能更充分地考虑到不同目标,随着训练推进,存在的不同权衡关系。
101、(3)基于map-elites构造多目标模型,在模型中的每一个网格中均存储一个帕累托前沿,通过不断对网格中加入新的解来更新每个网格中的帕累托前沿,最终可以获得多组最优权衡解集合,在保证了多样性的情况下也同时考虑到了解决方案的质量。最终针对特定的受损环境,从行为地图中筛选出最合适的最佳控制器参数,作为最佳的解决方案。
102、(4)相较于现有技术,本方案无需按照不同的、真实的损伤环境训练模型,才能获得一个能控制机器人在该损伤环境中向前行进的控制器参数,而是使用一个行为地图,能构造出适应多种损伤环境的控制器参数组。
103、(5)通过高斯过程模型即可预测控制器参数在受损环境的估计性能,而无需完全遍历所有控制器参数与受损环境的模拟交互,大大节省了获得最佳控制器参数的搜索时间,有效提高了匹配效率。
104、(6)不同的机器人任务,有不同的要求,在成本导向型任务重,更注重成本的把控,耗费的成本越少,经济效益越高;而在效果导向型任务重,更注重是否能使机器人往前行进的距离更远,成本不是最需要考虑的指标。可根据具体需求为导向,使机器人在耗费较低成本情况下尽量远地向前行走,或是尽量远地向前行走同时不消耗过多的成本。
本文地址:https://www.jishuxx.com/zhuanli/20240730/198464.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表