基于高斯过程回归和遗传算法的装载机铲装过程优化方法

文档序号:32351654发布日期:2022-11-26 13:42阅读:123来源:国知局
基于高斯过程回归和遗传算法的装载机铲装过程优化方法

1.本发明属于机械技术领域,具体涉及一种基于高斯过程回归和遗传算法的装载机铲装过程优化方法。


背景技术:

2.长久以来,就如何提高装载机作业效率,许多学者对此进行了研究。在不改进装载机硬件或提供辅助系统的情况下,对装载机铲装轨迹进行优化是提高装载机作业效率的有效途径之一。在众多轨迹优化的研究中,绝大多数方法是基于仿真实验,建立仿真模型,对铲装轨迹进行优化。然而这些理论的轨迹与实际铲装作业的轨迹之间存在一定的偏差,同时装载机进行铲装作业时所处的环境较为复杂,仿真实验并不能很好的解决这些问题。


技术实现要素:

3.本发明提供一种基于高斯过程回归和遗传算法的装载机铲装过程优化方法,本发明方法优化后的装载机铲装自动作业轨迹更为准确,工作效率更高,进一步提升了自动铲装作业的可靠性。
4.为达到上述目的,本发明的技术方案如下:
5.所述的基于高斯过程回归和遗传算法的装载机铲装过程优化方法,包括以下步骤:
6.⑴
、将装载机单次铲装作业分解为插入物料堆ab阶段、铲装bc阶段、装载机怠速cd阶段、提升铲斗de阶段;人工操作进行多次实地作业,提取每次作业的ab、bc、cd和de四个阶段的装载机位移、动臂油缸位移和转斗油缸位移以及a点的插入瞬时速度,每次作业的这些参数作为一组轨迹特征参数,获得多组轨迹特征参数;其中,a为铲斗接触到物料堆的点,b为铲斗完成插入的点,c为完成铲装的点,d为开始提升铲斗的点,e为整个铲装作业的结束点;
7.⑵
、编码:取步骤

获得的多组轨迹特征参数,将每组中的各个轨迹特征参数作为染色体信息,进行排序,使之排列成一列基因序列,获得多列基因序列,设置进化次数,生成初始种群,轨迹特征参数的组数即为初始种群的规模数n;
8.⑶
、引入适应度函数,适应度函数为高斯过程回归模型,公式为:
[0009][0010][0011]kyy*
=(k(x1,x
*
) k(x2,x
*
)
ꢀ…ꢀ
k(xn,x
*
))
t
ꢀꢀ
(3)
[0012]ky*y*
=k(x*,x*)
ꢀꢀ
(4)
[0013]
其中,y为输出变量,y*为预测值;
[0014]
初始种群中各个基因序列输入适应度函数中,获得各个基因序列的效率值,这些效率值即为各个基因序列的适应度;
[0015]

、种群进化,设定种群进化次数,每次进化过程如下:
[0016]

、选择过程:基于轮盘赌法,基因序列适应度值越高,被选中的概率就越大,轮盘转动n次,轮盘每次转动从目标种群中选择一列基因序列,生成含n组基因序列的新种群,作为母代种群;最开始时目标种群为初始种群;
[0017]

、交叉过程:设定交叉概率设为0.4-1,随机选择母代种群中的两组基因序列,在基因序列上随机选择位置交换染色体信息,得到新基因序列,进行n次交叉,生成含n组基因序列的新种群,得到交叉子种群;
[0018]

、变异过程:设定变异概率为0.01-0.1,随机选取交叉子种群中的某个基因序列,在该基因列上的某一位置发生变异,改变染色体信息,得到新基因序列,进行n次变异,生成含n组基因序列的新种群,得到变异子种群;
[0019]

、进化过程:计算变异子种和母代种群中各个基因序列的适应度,选取变异子种群和母代种群中适应度最大的前n组的基因序列,得到新一代种群;
[0020]

、将步骤

产生的新一代种群输入步骤

中,作为目标种群,重复进行步骤
①‑④
,直至达到设定的种群进化次数,得到完成进化后的种群;
[0021]

、解码过程:将完成进化后的种群中对应最佳适应度的基因序列输出,即得到最佳轨迹特征参数,完成寻优过程。
[0022]
所述的步骤

中高斯过程回归模型的推导过程如下:
[0023]
高斯过程由由一个均值函数和核函数组成,其表达式为:
[0024]
y~n(μ(x),k(x,x'))
ꢀꢀ
(5)
[0025]
式中:μ(x)为均值函数,k(x,x')为核函数。
[0026]
使用高斯核函数作为核函数:
[0027][0028]
式中:σf、σ
l
是超参数,δ为狄拉克函数,当x=x’时,δ=1,否则为零;
[0029]
为了简化计算,均值函数选择为0,即μ(x)=0;
[0030]
设需要预测的值为y*,根据高斯过程定义,对于高斯过程中任意有限的随机变量的线性组合都服从高斯分布,则对于输出变量y与预测值y*也符合联合高斯分布,其联合高斯分布函数为:
[0031][0032]
通过贝叶斯推导,得到高斯过程回归模型,即公式(1);
[0033]
高斯过程回归模型的预测均值为:
[0034][0035]
所述的步骤

中,选择过程具体为:
[0036]
目标种群中各基因序列,即个体被选中概率的计算公式为:
[0037][0038]
对目标种群中各个基因序列进行随机编号,得到n组编号的基因序列,基于公式(9)分别计算出各个基因序列的被选中概率,然后所有基因序列被选中概率累计相加,获得分别对应各个编号基因序列的n组累计相加概率,轮盘转动n次;每次转动随机生成0-1之间的随机数,查看随机数所落入的累计相加概率的区间,向上选取累计相加概率,抽取该累计相加概率所对应编号的基因序列;最终获得n组基因序列,进行随机编号,得到母代种群。
[0039]
所述的步骤

中,交叉过程具体为:
[0040]
a、执行交叉的个体选择
[0041]
随机生成两个0至1之间的数,然后乘n,向上整取,得到两个取整值,选取母代种群中该两个取整值所对应编号的基因序列作为执行交叉的个体;
[0042]
b、是否执行交叉操作判断
[0043]
随机生成一个0至1的数字,如果该数字大于交叉概率则不执行交叉操作,如果小于交叉概率,则执行交叉操作;
[0044]
c、交叉位置选择
[0045]
随机生成一个0至1的数字,乘以基因序列的长度,即乘以基因序列所包含的染色体数,向上整取,得到该需要进行交换的染色体在基因序列中位置,对两个执行交叉的个体该位置的染色体进行交换;
[0046]
d、进行n次步骤a-c的操作,每次交换后的基因序列编号不变,得到交叉子种群。
[0047]
所述的步骤

中,变异过程具体为:
[0048]
a、变异的个体选择
[0049]
随机生成一个0至1的数字,然后乘n,向上整取,选取交叉子种群中该取整值所对应编号的基因序列作为执行变异的个体;
[0050]
b、是否执行变异操作
[0051]
随机生成一个0至1的数字,如果该数字大于变异概率,则不执行变异操作,如果小于,则执行变异操作;
[0052]
c、变异位置选择
[0053]
随机生成一个0至1的数,乘以基因序列长度,即乘以基因序列所包含的染色体数,向上整取,得到拟进行变异的染色体在基因序列中位置;
[0054]
d、变异数值的生成
[0055]aij
=第i个个体第j个位置上的值,i由步骤a变异的个体选择确定,j由步骤c变异位置选择确定;a
1j
为第j个位置上的下限值;a
2j
为第j个位置上的上限值;
[0056]
随机生成一个0至1的数:
[0057]
如果该数大于0.5,则生成的变异数值按下式计算:
[0058][0059]
如果该数小于0.5,,则生成的变异数值按下式计算:
[0060][0061]
用计算获得的变异数值替换变异的个体中拟进行变异的染色体;
[0062]
e、进行n次步骤a-d的操作,每次变异后的基因序列编号不变,得到变异子种群。
[0063]
所述的n的取值范围为20-50。
[0064]
本发明的有益效果为:
[0065]
本发明通过大量实验获得装载机在铲装作业各阶段各单位的轨迹特征参数与作业效率值,利用高斯过程回归,建立代理模型,通过遗传算法,以提高作业效率值为目标,对装载机铲装轨迹进行优化,实现铲装过程最佳的装载机位移、动臂油缸位移、转斗油缸位移和a点的插入瞬时速度,优化后的装载机铲装自动作业轨迹更为准确,工作效率更高,进一步提升了自动铲装作业的可靠性。
附图说明
[0066]
图1是本发明装载机单次铲装作业分解图;
[0067]
图2是本发明高斯过程回归模型示意图;
[0068]
图3是本发明的遗传算法流程;
[0069]
图4是本发明遗传算法寻优图;
具体实施方式
[0070]
下面结合附图通过具体实施例对本发明进行详细说明。
[0071]
实施例1
[0072]
所述的基于高斯过程回归和遗传算法的装载机铲装过程优化方法,包括以下步骤:
[0073]

、如图1所示,将装载机单次铲装作业分解为插入物料堆ab阶段、铲装bc阶段、装载机怠速cd阶段、提升铲斗de阶段;人工操作进行多次实地作业,提取每次作业的ab、bc、cd和de四个阶段的装载机位移、动臂油缸位移和转斗油缸位移以及a点的插入瞬时速度,每次作业的这些参数作为一组轨迹特征参数,获得100组轨迹特征参数;其中,a为铲斗接触到物料堆的点,b为铲斗完成插入的点,c为完成铲装的点,d为开始提升铲斗的点,e为整个铲装作业的结束点;
[0074]

、编码:随机取步骤

获得的轨迹特征参数中的20组,将每组中的各个轨迹特征参数作为染色体信息,进行排序,使之排列成一列基因序列,获得多列基因序列,设置进化次数,生成初始种群t0,轨迹特征参数的组数即为初始种群的规模数n;
[0075]

、引入适应度函数,适应度函数为高斯过程回归模型,高斯过程回归模型的示意图见图2,公式为:
[0076]
[0077][0078]kyy*
=(k(x1,x
*
) k(x2,x
*
)
ꢀ…ꢀ
k(xn,x
*
))
t
ꢀꢀ
(3)
[0079]ky*y*
=k(x*,x*)
ꢀꢀ
(4)
[0080]
其中,y为输出变量,y*为预测值;
[0081]
初始种群中各个基因序列输入适应度函数中,获得各个基因序列的效率值,这些效率值即为各个基因序列的适应度;
[0082]

、种群进化,设定种群进化次数为1000次,每次进化过程如下:
[0083]

、选择过程:基于轮盘赌法,基因序列适应度值越高,被选中的概率就越大,轮盘转动n次,轮盘每次转动从目标种群中选择一列基因序列,生成含n组基因序列的新种群,作为母代种群;最开始时目标种群为初始种群;
[0084]
选择过程具体为:
[0085]
目标种群中各基因序列,即个体被选中概率的计算公式为:
[0086][0087]
对目标种群中各个基因序列进行随机编号,得到n组编号的基因序列,基于公式(9)分别计算出各个基因序列的被选中概率,然后所有基因序列被选中概率累计相加,获得分别对应各个编号基因序列的n组累计相加概率,轮盘转动n次;每次转动随机生成0-1之间的随机数,查看随机数所落入的累计相加概率的区间,向上选取累计相加概率,抽取该累计相加概率所对应编号的基因序列;最终获得n组基因序列,进行随机编号,得到母代种群;
[0088]

、交叉过程:设定交叉概率设为0.6,随机选择母代种群中的两组基因序列,在基因序列上随机选择位置交换染色体信息,得到新基因序列,进行n次交叉,生成含n组基因序列的新种群,得到交叉子种群;
[0089]
交叉过程具体为:
[0090]
a、执行交叉的个体选择
[0091]
随机生成两个0至1之间的数,然后乘n,向上整取,得到两个取整值,选取母代种群中该两个取整值所对应编号的基因序列作为执行交叉的个体;
[0092]
b、是否执行交叉操作判断
[0093]
随机生成一个0至1的数字,如果该数字大于交叉概率则不执行交叉操作,如果小于交叉概率,则执行交叉操作;
[0094]
c、交叉位置选择
[0095]
随机生成一个0至1的数字,乘以基因序列的长度,即乘以基因序列所包含的染色体数,向上整取,得到该需要进行交换的染色体在基因序列中位置,对两个执行交叉的个体该位置的染色体进行交换;
[0096]
d、进行n次步骤a-c的操作,每次交换后的基因序列编号不变,得到交叉子种群。
[0097]

、变异过程:设定变异概率为0.1,随机选取交叉子种群中的某个基因序列,在该
基因列上的某一位置发生变异,改变染色体信息,得到新基因序列,进行n次变异,生成含n组基因序列的新种群,得到变异子种群;
[0098]
变异过程具体为:
[0099]
a、变异的个体选择
[0100]
随机生成一个0至1的数字,然后乘n,向上整取,选取交叉子种群中该取整值所对应编号的基因序列作为执行变异的个体;
[0101]
b、是否执行变异操作
[0102]
随机生成一个0至1的数字,如果该数字大于变异概率,则不执行变异操作,如果小于,则执行变异操作;
[0103]
c、变异位置选择
[0104]
随机生成一个0至1的数,乘以基因序列长度,即乘以基因序列所包含的染色体数,向上整取,得到拟进行变异的染色体在基因序列中位置;
[0105]
d、变异数值的生成
[0106]aij
=第i个个体第j个位置上的值,i由步骤a变异的个体选择确定,j由步骤c变异位置选择确定;a
1j
为第j个位置上的下限值;a
2j
为第j个位置上的上限值;
[0107]
随机生成一个0至1的数:
[0108]
如果该数大于0.5,则生成的变异数值按下式计算:
[0109][0110]
如果该数小于0.5,,则生成的变异数值按下式计算:
[0111][0112]
用计算获得的变异数值替换变异的个体中拟进行变异的染色体;
[0113]
e、进行n次步骤a-d的操作,每次变异后的基因序列编号不变,得到变异子种群;
[0114]

、进化过程:计算变异子种和母代种群中各个基因序列的适应度,选取变异子种群和母代种群中适应度最大的前n组的基因序列,得到新一代种群t1;
[0115]

、将步骤

产生的新一代种群输入步骤

中,作为目标种群,重复进行步骤
①‑④
,直至达到设定的种群进化次数,得到完成进化后的种群;
[0116]

、解码过程:将完成进化后的种群中对应最佳适应度的基因序列输出,即得到最佳轨迹特征参数,完成寻优过程。
[0117]

、遗传算法寻优结果:
[0118]
如图4所示,最佳轨迹特征参数对应的效率值,相对于100组样本中的最高效率值,提升了13.6%。
[0119]
实施例2
[0120]
实施例1中高斯过程回归模型:
[0121]
[0122][0123]kyy*
=(k(x1,x
*
) k(x2,x
*
)
ꢀ…ꢀ
k(xn,x
*
))
t
ꢀꢀ
(3)
[0124]ky*y*
=k(x*,x*)
ꢀꢀ
(4)
[0125]
其中,y为输出变量,y*为预测值;
[0126]
该高斯过程回归模型的推导过程如下:
[0127]
高斯过程由由一个均值函数和核函数组成,其表达式为:
[0128]
y~n(μ(x),k(x,x'))
ꢀꢀ
(5)
[0129]
式中:μ(x)为均值函数,k(x,x')为核函数。
[0130]
使用高斯核函数作为核函数:
[0131][0132]
式中:σf、σ
l
是超参数,δ为狄拉克函数,当x=x’时,δ=1,否则为零;
[0133]
为了简化计算,均值函数选择为0,即μ(x)=0;
[0134]
设需要预测的值为y*,根据高斯过程定义,对于高斯过程中任意有限的随机变量的线性组合都服从高斯分布,则对于输出变量y与预测值y*也符合联合高斯分布,其联合高斯分布函数为:
[0135][0136]
通过贝叶斯推导,得到高斯过程回归模型,即公式(1);
[0137]
高斯过程回归模型的预测均值为:
[0138][0139]
高斯过程回归模型误差:
[0140]
采用决定系数r2、平均绝对百分比误差mape和均方根误差rmse来评价高斯过程回归的拟合效果:
[0141][0142][0143]
[0144]
式中y*表示预测值,y表示真实值。
[0145]
实施例1中通过100组试验样本构建了高斯过程回归模型,基于公式(12)、(13)、(14)计算模型误差如下表1:
[0146]
表1高斯过程回归模型误差
[0147][0148]
可以进一步增加试验样本数来构建高斯过程回归模型,能够进一步减少模型误差。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1