一种基于量子鸽群优化的机械臂模糊PID控制方法与流程
未命名
09-13
阅读:122
评论:0
一种基于量子鸽群优化的机械臂模糊pid控制方法
技术领域
1.本发明属于机械臂控制的技术领域,具体涉及一种基于量子鸽群优化的机械臂模糊pid控制方法。
背景技术:
2.随着新一代信息技术的发展,因模糊pid控制器简单、方便的优势,在工程控制领域具有举足轻重的地位,模糊pid控制器被广泛应用于电子、自动化控制、航天等领域,尤其在三轴机械臂控制系统的应用。三轴机械臂pid控制器的目的在于寻找一组δkp、δki、δkd,使系统的指标达到最优。然而,pid控制最为关键的是pid控制参数的整定,常规的参数优化方法比较复杂且难以实现,多存在震荡的情况。
3.在机械臂运动过程中,系统刚度是随时变化的,因此需要同时对所有控制器进行参数优化,以保证控制精度及效率。单个模糊pid待优化参数数量为7,其中三轴机械臂模糊pid需要优化21个参数,数量远大于普通单个pid的3个参数优化。由于量子鸽群优化算法(qpio)具有用最少的个体,表达最多得种群特性的特点,可用小种群数量解决大规模优化问题。
4.然而,现有的量子鸽群优化算法(qpio),存在以下问题:在实数编码的量子表示修正中,在原算法的概率密度函数进行求解时,概率密度函数值无限接近于0,而使用该概率密度函数值对新的最优解观测坐标进行求解时,将造成该坐标无限接近于零点。在量子旋转门中,在算法实际运行过程中,每次迭代总有某个维度的值会得到更新,这将造成αi值从算法一开始就下降到结束,使算法过早陷入局部最优。基本鸽群算法指南针算子更新时,只有飞行矢量方向受原飞行方向和最优鸽子方向的影响。
5.因此,本发明基于qpio,并对其进行改进得到量子修正鸽群优化算法(qapio),用于对模糊pid进行参数自整定,具有持续更新能力,可以不断对最优值进行更新,提高全局优化能力,避免过早取得局部最优,解决了原算法容易过早陷于[0,0,...,0,0]t点造成优化算法失效的问题。
技术实现要素:
[0006]
本发明的目的在于提供了一种基于量子鸽群优化的机械臂模糊pid控制方法,旨在解决机械臂模糊pid控制参数大规模优化的问题。
[0007]
本发明主要通过以下技术方案实现:
[0008]
一种基于量子鸽群优化的机械臂模糊pid控制方法,首先进行运动轨迹规划,通过模糊pid控制器控制机械臂按照规划的运动轨迹进行运动;采用量子鸽群算法对模糊pid控制参数进行优化,每只鸽子都可以作为机械臂各关节pid控制参数,选取量子鸽群算法中的粒子x为各关节pid控制参数,更新所设置的x,包括以下步骤:
[0009]
步骤s100:初始化参数t、n
p0
、α0、δθ、r与位置信息,
[0010]
其中,t为迭代次数,n
p0
为鸽子总数,α0为初始伪态概率,δθ为量子旋转门变化角
度,r为罗盘算子;
[0011]
步骤s200:设置每只鸽子的随机速度和位置信息,比较每只鸽子的适应度,找出当前最优解;
[0012]
步骤s300:对中心地标坐标进行求解,并操作量子旋转门,对伪态概率α进行更新;
[0013]
步骤s400:对最优解观测值进行求解,对最优解观测值进行更新;
[0014]
步骤s500:操作指南针算子,对鸽子的位置信息和速度信息进行更新,然后比较所有鸽子的适应度,找到新的最优解;
[0015]
步骤s600:如果迭代次数达到指南针算子的迭代上限,则停止当前迭代,转而操作地标算子,进入步骤s700;否则跳转至步骤s300;
[0016]
步骤s700:根据鸽子适应度值对鸽子进行排序,操作地标算子,存储最佳位置以及最优函数值;
[0017]
步骤s800:判断迭代次数是否超过迭代上限,若超过,则输出结果,否则跳转至步骤s700。
[0018]
为了更好地实现本发明,进一步地,所述步骤s300中,对中心地标坐标进行求解:
[0019]
进行中心地标与适应度最好鸽子的距离计算,对坐标差求解二范数:
[0020]
dist=||xc(t+1)-x
gb
||2ꢀꢀ
(16)
[0021]
中心地标的位置是随所有鸽子的位置变化而变化的,当最优鸽子与中心地标距离减小时,将使概率幅值减小,按照公式(12)、公式(13)进行处理,反之则对概率幅值进行重置:
[0022][0023][0024]
其中:xc为中心地标;
[0025]
x
gb
为最优解;
[0026]
αi(t)为第i只鸽子在第t代的伪态概率;
[0027]
ε为无穷小值。
[0028]
为了更好地实现本发明,进一步地,所述步骤s400中,对最优解观测值进行更新:
[0029]
实数编码的量子表示的概率密度函数如下:
[0030][0031]
由公式(14)可知,波函数将只受标准差的影响,并将波函数值限制在4σ范围内;最优解观测坐标生成等式:
[0032][0033]
由公式(15)可知,最优解观测坐标围绕中心地标按照4σ原则生成,并随着迭代次数的增加生成范围逐渐缩小;
[0034]
其中:σi为标准差,
[0035]
t代表时间,t代表总时间。
[0036]
为了更好地实现本发明,进一步地,所述步骤s500中,对鸽子的位置信息和速度信息进行更新:
[0037]
第i只鸽子在第t代的位置信息更新策略如下:
[0038]
xi(t+1)=xi(t)+vi(t+1)
ꢀꢀ
(2)
[0039]
第i只鸽子在第t代的速度信息更新策略如下:
[0040][0041]
指南针算子矢量受原飞行方向、最优解观测坐标方向和最优鸽子方向共同影响。
[0042]
为了更好地实现本发明,进一步地,所述步骤s700中,根据公式(3)、公式(4)、公式(5)操作地标算子,
[0043][0044][0045]
xi(t+1)=x(t)+rand(xc+xi(t))
ꢀꢀ
(5)
[0046]
其中,n
p
为第t次迭代的种群个体数,
[0047]
fitness(x)为适应度函数,用于评价优化效果,适应度函数值越小,改组参数取得的优化效果越好,
[0048]
xc为中心地标。
[0049]
为了更好地实现本发明,进一步地,适应度函数fitness(x)如下:
[0050]
[0051]
其中,t为时间,
[0052]
t为总时间,
[0053]
e(t)为机械臂关节运动误差,
[0054]
ω为权重。
[0055]
为了更好地实现本发明,进一步地,由于最大绝对偏差远远小于其与时间的积对时间的积分,因此设定ω=5000。
[0056]
为了更好地实现本发明,进一步地,各关节pid控制参数包括各关节的pid参数k
p0
、k
i0
、k
d0
以及各关节角位移误差变化率ec和各关节pid调整参数δk
p
、δki、δkd的缩放因子k
ec
、α、β、γ,三轴机械臂共有21个控制参数,对模糊pid控制器的21个参数进行优化并寻找最优值,并将得到的最优值用于机械臂的运动控制;包括以下步骤:
[0057]
步骤a1:初始化算法;
[0058]
设置鸽子总数n
p0
,指南针算子迭代次数t,地标算子迭代次数以及初始化优化算法的参数α0,量子旋转门变化角度δθ,罗盘算子r,并设置优化维度dim;
[0059]
随机生成鸽子生成坐标及初始速度;
[0060]
步骤a2:将鸽子各维度参数对应地输入到simulink建立的模糊pid控制器中,联合simulink模型进行机械臂运动仿真,得到机械臂各关节的动作响应曲线;
[0061]
对得到的机械臂各关节的运动响应曲线进行适应度计算,并与该鸽子当前适应度进行对比,取最小适应度对应解更新当前鸽子解;
[0062]
将适应度与最优解适应度对比,对最优参数进行更新;
[0063]
步骤a3:求解中心地标坐标,并操作量子旋转门,对伪态概率α进行更新;
[0064]
步骤a4:对最优解观测值进行求解,对最优解观测值进行更新;
[0065]
步骤a5:操作指南针算子对鸽子位置进行更新,对鸽子位置信息和速度信息进行更新;
[0066]
求解适应度并找到最优鸽子;
[0067]
步骤a6:判断是否达到指南针算子最大迭代次数,若无,则进入步骤a3,否则进入步骤a7;
[0068]
步骤a7:根据鸽子适应度,对鸽子进行排序,并暂停后半部分鸽子坐标的更新,操作地标算子对鸽子的位置进行更新;求解适应度并找到最优鸽子;
[0069]
步骤a8:判断是否达到最大迭代次数或者满足最小界限,若否,则进入步骤a7,否则,输出结果。
[0070]
为了更好地实现本发明,进一步地,所述步骤a1中,设置鸽子总数n
p0
为100,指南针算子迭代次数t为80,地标算子迭代次数为20,初始化优化算法的参数α0等于量子旋转门变化角度δθ=14
°
,罗盘算子r=0.2,设置优化维度dim=21。
[0071]
为了更好地实现本发明,进一步地,所述步骤a1中,设置参数k
p0
、k
i0
、k
d0
的解在[0,30]的范围内按照平均分布随机生成,设置参数k
ec
、α、β、γ的解在[0,3]的范围内按照平均分布随机生成,并初始化所有解适应度为无穷。
[0072]
量子鸽群优化算法:
[0073]
鸽群算法由两部分组成:指南针算子和地标算子。
[0074]
1.指南针算子
[0075]
地图和指南针算子是模仿太阳和地球磁场这两种导航工具对鸽子的作用。鸽子通过磁感来感受磁场,从而在脑海中绘制地图,并把太阳当作指南针来调整方向。随着鸽群越来越逼近目的地,会逐步减少对太阳和磁性粒子的依赖。
[0076]
在此阶段,鸽群算法有点类似于粒子群算法(pso),每只鸽子同样由其位置信息和速度信息表示。第i只鸽子在第t代的速度信息和位置信息更新策略如下:
[0077]
vi(t+1)=e-rt
vi(t)+rand[x
gb
(t)-xi(t)]
ꢀꢀ
(1)
[0078]
xi(t+1)=xi(t)+vi(t+1)
ꢀꢀ
(2)
[0079]
其中r为罗盘算子,取值为0.2。
[0080]
2.地标算子
[0081]
此阶段,主要针对算法的探索能力进行了提升优化。地标算子模仿导航工具地标对鸽子的影响。当鸽群接近目的地时,会依靠临近地标进行导航。如果某只鸽子熟悉地标,那么以径直飞向目的地;反之,如果不熟悉地标并且远离目的地的情况下,该只鸽子会跟随熟悉地标的其他鸽子飞行,从而到达目的地。
[0082]
首先对鸽子的适应度值进行排序,然后每次迭代对其种群数量减半,假设中心鸽子熟悉地形,可以直接飞向目的地,其他的鸽子都在中心鸽子的引领下,向着目的地前进。位置更新策略如下:
[0083][0084][0085]
xi(t+1)=x(t)+rand(x
c-xi(t))
ꢀꢀ
(5)
[0086]
其中np为第t次迭代的种群个体数,fitness(x)为适应度函数,用于评价优化效果,适应度函数值越小,改组参数取得的优化效果越好。xc为中心地标。
[0087]
基本鸽群算法流程(简)
[0088]
start—
[0089]
step1:初始化参数与位置信息;
[0090]
step2:设置每只鸽子随机速度和位置信息,比较每只鸽子的适应度,找出当前最优解;
[0091]
step3:操作指南针算子。根据公式(1)(2)对鸽子的位置信息和速度信息进行更新,然后比较所有鸽子的适应度,找到新的最优解;
[0092]
step4:如果迭代次数达到地图和指南针算子的迭代上限,则停止当前迭代,转而操作地标算子,否则跳转至step3;
[0093]
step5:根据鸽子的适应度值对其进行排序,根据公式(3)(4)(5)操作地标算子,存储最佳位置以及最优函数值;
[0094]
step6:判断迭代次数是否超过迭代上限,若超过,则输出结果,否则跳转至step5。
[0095]
output:最优解——end
[0096]
实数编码的量子表示(rcq):
[0097]
量子通过“0”态和“1”态进行表示,即正态与伪态。量子位状态用以下方程表示:
[0098]
∣ψ》=α∣0》+β∣1》
[0099]
其中α和β分别表示两种状态的概率,满足方程
[0100][0101]
在这里最优解被认为是两个状态概率的线性叠加,即“0”态和“1”态,最优解的量子表示可以更新为:
[0102][0103]
则每只鸽子的收敛方向可以重新被定义为:
[0104][0105]
其中为具有候选解的观测值,引入函数ω(x),将|ω(x)|2作为概率密度函数并计算得到最优候选解的观测值:
[0106][0107]
其中μi和σi分别代表期望值和标准差,以当前最优解作为期望值,标准差公式可以用以下公式表示:
[0108][0109][0110]
其中ru为0~1的随机数
[0111]
最后得到当前最优解观测值为:
[0112][0113]
第j只鸽子在第t次迭代时的速度更新公式更改为:
[0114]
vj(t+1)=e-rt
vj(t)+d
j,c
ꢀꢀ
(11)
[0115]
量子旋转门(qrg):
[0116]
在量子遗传算法中,由于量子编码作用下的染色体不再是单一状态,遗传操作不能继续采用传统的选择、交叉、变异操作,继而采用量子旋转门作用于量子染色体的基态,使其相互千扰、发生相位变化,从而改变αi的分布域。
[0117]
这里同样使用qrg对最优解的概率幅值进行更新,通过增加旋转角度,提高αi的概率幅值,进而提高了个体朝全局最佳解的收敛速度。算法开始时,αi与βi所对应的概率幅值均为如果全局最优解在迭代结束之后发生改变,则通过量子旋转门改变αi;否则,将
[0118]
概率幅值全部重置为初始值,防止算法陷入局部最优。qrg具体更新策略如下:
[0119][0120][0121]
其中t为迭代次数,δθ为量子旋转门变化角度。
[0122]
本发明的有益效果如下:
[0123]
本发明的qapio算法是基于qpio的改进算法。本发明的qapio算法对原算法中的指南针算子更新方程、实数编码的量子表示中的概率密度函数和量子旋转门进行了修改,使得该算法具有持续更新能力,可以不断对最优值进行更新,提高全局优化能力,避免过早取得局部最优,解决了原算法容易过早陷于[0,0,...,0,0]t点造成优化算法失效的问题。本发明有效实现了对机械臂模糊pid控制器参数进行优化,具有较好的实用性。
附图说明
[0124]
图1为三轴机械臂的结构示意图;
[0125]
图2为模糊pid控制器参数优化控制原理图;
[0126]
图3为量子修正鸽群优化算法的流程图;
[0127]
图4为实施例4的流程图。
具体实施方式
[0128]
实施例1:
[0129]
一种基于量子鸽群优化的机械臂模糊pid控制方法,如图3所示,首先进行运动轨迹规划,通过模糊pid控制器控制机械臂按照规划的运动轨迹进行运动;采用量子鸽群算法对模糊pid控制参数进行优化,每只鸽子都可以作为机械臂各关节pid控制参数,选取量子鸽群算法中的粒子x为各关节pid控制参数,更新所设置的x,包括以下步骤:
[0130]
步骤s100:初始化参数t、n
p0
、α0、δθ、r与位置信息,
[0131]
其中,t为迭代次数,n
p0
为鸽子总数,α0为初始伪态概率,δθ为量子旋转门变化角度,r为罗盘算子;
[0132]
步骤s200:设置每只鸽子的随机速度和位置信息,比较每只鸽子的适应度,找出当前最优解;
[0133]
步骤s300:对中心地标坐标进行求解,并操作量子旋转门,对伪态概率α进行更新;
[0134]
步骤s400:对最优解观测值进行求解,对最优解观测值进行更新;
[0135]
步骤s500:操作指南针算子,对鸽子的位置信息和速度信息进行更新,然后比较所有鸽子的适应度,找到新的最优解;
[0136]
步骤s600:如果迭代次数达到指南针算子的迭代上限,则停止当前迭代,转而操作地标算子,进入步骤s700;否则跳转至步骤s300;
[0137]
步骤s700:根据鸽子适应度值对鸽子进行排序,操作地标算子,存储最佳位置以及最优函数值;
[0138]
步骤s800:判断迭代次数是否超过迭代上限,若超过,则输出结果,否则跳转至步骤s700。
[0139]
优选地,所述步骤s300中,对中心地标坐标进行求解:
[0140]
进行中心地标与适应度最好鸽子的距离计算,对坐标差求解二范数:
[0141]
dist=||xc(t+1)-x
gb
||2ꢀꢀ
(16)
[0142]
中心地标的位置是随所有鸽子的位置变化而变化的,当最优鸽子与中心地标距离减小时,将使概率幅值减小,按照公式(12)、公式(13)进行处理,反之则对概率幅值进行重置:
[0143][0144][0145]
其中:xc为中心地标;
[0146]
x
gb
为最优解;
[0147]
αi(t)为第i只鸽子在第t代的伪态概率;
[0148]
ε为无穷小值,可用小于等于10-7
的值代替。
[0149]
优选地,所述步骤s400中,对最优解观测值进行更新:
[0150]
实数编码的量子表示的概率密度函数如下:
[0151][0152]
由公式(14)可知,波函数将只受标准差的影响,并将波函数值限制在4σ范围内;最优解观测坐标生成等式:
[0153][0154]
由公式(15)可知,最优解观测坐标围绕中心地标按照4σ原则生成,并随着迭代次数的增加生成范围逐渐缩小;
[0155]
其中:σi为标准差,
[0156]
t代表时间,t代表总时间。
[0157]
优选地,所述步骤s500中,对鸽子的位置信息和速度信息进行更新:
[0158]
第i只鸽子在第t代的位置信息更新策略如下:
[0159]
xi(t+1)=xi(t)+vi(t+1)
ꢀꢀ
(2)
[0160]
第i只鸽子在第t代的速度信息更新策略如下:
[0161][0162]
指南针算子矢量受原飞行方向、最优解观测坐标方向和最优鸽子方向共同影响。
[0163]
优选地,所述步骤s700中,根据公式(3)、公式(4)、公式(5)操作地标算子,
[0164][0165][0166]
xi(t+1)=x(t)+rand(x
c-xi(t))
ꢀꢀ
(5)
[0167]
其中,n
p
为第t次迭代的种群个体数,
[0168]
fitness(x)为适应度函数,用于评价优化效果,适应度函数值越小,该组参数取得的优化效果越好,
[0169]
xc为中心地标。
[0170]
优选地,适应度函数fitness(x)如下:
[0171][0172]
其中,t为时间,
[0173]
t为总时间,
[0174]
e(t)为机械臂关节运动误差,
[0175]
ω为权重。
[0176]
优选地,由于最大绝对偏差远远小于其与时间的积对时间的积分,因此设定ω=5000。
[0177]
实施例2:
[0178]
一种基于量子鸽群优化的机械臂模糊pid控制方法,如图2所示,三轴机械臂的运动控制首先需要进行运动轨迹规划,机械臂按照以上运动轨迹运动。以模糊pid控制器作为机械臂的运动控制器,并使用量子修正鸽群优化算法qapio对模糊pid控制器的控制参数进行优化。
[0179]
如图1所示,b1为基座,b2为大臂,b3为末端工作台,j1为基座转动惯量,j2为大臂转动惯量,j3为末端工作台转动惯量,mr1为基座电机轴质量,mr2为大臂电机轴质量,mr3为末端工作台电机轴质量,mi1为基座质量,mi2为大臂质量,mi3为末端工作台质量,i1为基座惯性矩,i2为大臂惯性矩,i3为末端工作台惯性矩,θ1为基座旋转角,θ2为大臂旋转角,θ2为末端工作台旋转角,l1为杆件b1长度,l2为杆件b2长度,d1、d2为质心距离。
[0180]
如图2所示,input=[q1,q2,q3]为输入角位移,output=[q1’
,q2’
,q3’
]为输出角位移,e=[e1,e2,e3]为各环节角位移误差,ec=[ec1,ec2,ec3]为各关节角位移误差变化率,δkp=[δkp1,δkp2,δkp3]、
[0181]
δki=[δki1,δki2,δki3]、δkd=[δkd1,δkd2,δkd3]分别为模糊控制器输出的各关节pid调整参数,kec=[kec1,kec2,kec3]、α=[α1,α2,α3]、β=[β1,β2,β3]、γ=[γ1,γ2,γ3]。分别为ec、δkp、δki、δkd的缩放因子。kp0=[kp01,kp02,kp03]、ki0=[ki01,ki02,ki03]、kd0=[kd01,kd02,kd03],分别为pid三个参数,u=[u1,u2,u3]为控制器控制三个电机的输出力矩。
[0182]
其中模糊控制器将输入输出参数e、ec、δkp、δki、δkd分为7个模糊分区:负大(nb)、负中(nm)、负小(ns)、零(z)、正小(ps)正中(pm)、正大(pb)。输入输出参数e、ec、δkp、δki、δkd的模糊子集为{nb,nm,ns,z,ps,pm,pb}。并取三角形函数为隶属度函数,该函数由a、b、c三个参数确定形状,trimf(x,[a b c]),由以下等式表示:
[0183][0184]
机械臂运动过程中系统刚度是随时变化的,因此需要同时对所有控制器进行参数优化,以保证控制精度及效率,单个模糊pid待优化参数数量为7,本文的3轴机械臂模糊pid需要优化21个参数,数量远大于普通单个pid的3个参数优化。由于量子鸽群优化算法(qpio)具有用最少的个体,表达最多得种群特性的特点,可用小种群数量解决大规模优化问题。本文选择qpio,并对其进行改进得到量子修正鸽群优化算法(qapio)用于对模糊pid进行参数自整定。qapio是基于qpio的改进算法。qapio对原算法中的指南针算子更新方程、实数编码的量子表示中的概率密度函数和量子旋转门进行了修改,使得该算法具有持续更
新能力,可以不断对最优值进行更新,提高全局优化能力,避免过早取得局部最优,解决了原算法容易过早陷于[0,0,...,0,0]
t
点造成优化算法失效的问题。
[0185]
量子鸽群算法流程如下:
[0186]
start—
[0187]
step1:初始化参数t、np0、α0、δθ、r与位置信息;
[0188]
step2:设置每只鸽子随机速度和位置信息,比较每只鸽子的适应度,找出当前最优解;
[0189]
step3:操作量子旋转门。依次根据公式(12)(13)对伪态概率α进行更新;
[0190]
step4:对最优解观测值进行求解。依次根据公式(9)(8)(7)(10)(6)对最优解观测值进行更新;
[0191]
step5:操作指南针算子。根据公式(11)(2)对鸽子的位置信息和速度信息进行更新,然后比较所有鸽子的适应度,找到新的最优解;
[0192]
step6:如果迭代次数达到指南针算子的迭代上限,则停止当前迭代,转而操作地标算子,否则跳转至step3;
[0193]
step7:根据鸽子适应度值对其进行排序,根据公式(3)(4)(5)操作地标算子,存储最佳位置以及最优函数值;
[0194]
step8:判断迭代次数是否超过迭代上限,若超过,则输出结果,否则跳转至step7。
[0195]
output:最优解——end
[0196]
优选地,对实数编码的量子表示修正:
[0197]
原算法的概率密度函数进行求解时,当第i个鸽子距离当前最优候选解很远时公式(7)中的(x
i-ui)2项会非常大,由于公式(7)属于正态分布函数,这将导致概率密度函数值无限接近于0,而使用该概率密度函数值对新的最优解观测坐标使用公式(10)进行求解时,将造成该坐标无限接近于零点。因此假设当最优解观测坐标无限接近零点时,并联立公式(6)(11)(2)将得到以下等式:
[0198][0199]
其中e-rt
项将随着迭代次数增加无限接近于0,因此原算法采用的概率密度函数极易将算法陷于零点处。
[0200]
将实数编码的量子表示的概率密度函数修正得到以下公式:
[0201][0202]
由该式可知修正后的波函数将只受标准差的影响,并将波函数值限制在4σ范围内。并修改最优解观测坐标生成等式:
[0203][0204]
由上式知最优解观测坐标围绕中心地标按照4σ原则生成,并随着迭代次数的增加
生成范围逐渐缩小。
[0205]
优选地,对量子旋转门改进
[0206]
原算法量子旋转门在全局最优解改变之后将改变αi,否则,将概率幅值全部重置为初始值,防止算法陷入局部最优。量子旋转门中δθ值一般设置在10
°
左右可以使αi值成梯度下降,并间接使得波函数值越来越小,但算法实际运行过程中,每次迭代总有某个维度的值会得到更新,这将造成αi值从算法一开始就下降到结束,使算法过早陷入局部最优。此处提供另一种重置概率幅值(αi)的方法。算法添加中心地标与适应度最好鸽子的距离计算,即对坐标差求解二范数:
[0207]
dist=||xc(t+1)-x
gb
||2ꢀꢀ
(16)
[0208]
中心地标的位置是随所有鸽子的位置变化而变化的,当最优鸽子与中心地标距离减小时将使概率幅值减小,即按照公式(12)(13)进行处理,反之则对概率幅值进行重置。
[0209]
优选地,对指南针算子更新方程改进
[0210]
基本鸽群算法指南针算子更新公式只有e-rt
vi(t)和rand*(x
gb-xi(t))两部分,即飞行矢量方向受原飞行方向和最优鸽子方向的影响,而量子鸽群算法更新公式有e-rt
vi(t)和两部分,即飞行矢量方向受原飞行方向和最优解观测坐标方向的影响。qapio将以上更新公式进行混合得到以下公式:
[0211][0212]
由以上公式可知指南针算子矢量受原飞行方向、最优解观测坐标方向和最优鸽子方向共同影响。这将大大增强鸽群利用地磁进行导航的能力。
[0213]
实施例3:
[0214]
一种基于量子鸽群优化的机械臂模糊pid控制方法,首先需要进行运动轨迹规划,机械臂按照以上运动轨迹运动。以模糊pid控制器作为机械臂的运动控制器,并使用量子修正鸽群优化算法qapio对模糊pid控制器的控制参数进行优化。如图3所示,包括以下步骤:
[0215]
step1:初始化参数t、n
p0
、α0、δθ、r与位置信息;
[0216]
step2:设置每只鸽子随机速度和位置信息,计算并比较每只鸽子的适应度,找出当前最优解;
[0217]
step3:根据公式(4)对中心地标坐标进行求解,并操作量子旋转门,依次根据公式(16)(12)(13)对伪态概率α进行更新;
[0218]
step4:对最优解观测值进行求解。依次根据公式(9)、(8)、(14)、(15)对最优解观测值进行更新;
[0219]
step5:操作指南针算子。根据公式(17)、(2)对鸽子的位置信息和速度信息进行更新,然后比较所有鸽子的适应度,找到新的最优解;
[0220]
step6:如果迭代次数达到指南针算子的迭代上限,则停止当前迭代,转而操作地标算子,否则跳转至step3;
[0221]
step7:根据鸽子适应度值对其进行排序,根据公式(3)、(4)、(5)操作地标算子,存储最佳位置以及最优函数值;
[0222]
step8:判断迭代次数是否超过迭代上限,若超过,则输出结果,否则跳转至step7。
[0223]
output:最优解——end
[0224]
优选地,所述step3中,对中心地标坐标进行求解:
[0225]
位置更新策略如下:
[0226][0227]
其中,xi(t)为第i只鸽子在第t代的位置信息
[0228]
xc为中心地标
[0229]
fitness(x)为适应度函数,用于评价优化效果,适应度函数值越小,改组参数取得的优化效果越好;
[0230]
进行中心地标与适应度最好鸽子的距离计算,即对坐标差求解二范数:
[0231]
dist=||xc(t+1)-x
gb
||2ꢀꢀ
(16)
[0232]
中心地标的位置是随所有鸽子的位置变化而变化的,当最优鸽子与中心地标距离减小时将使概率幅值减小,即按照公式(12)(13)进行处理,反之则对概率幅值α进行重置:
[0233][0234][0235]
其中:
[0236]
优选地,所述step4中,对最优解观测值进行更新:
[0237]
其中μi和σi分别代表期望值和标准差,以当前最优解作为期望值,标准差公式可以用以下公式表示:
[0238]
[0239][0240]
其中ru为0~1的随机数
[0241]
第i只鸽子在第t代的位置信息更新策略如下:
[0242]
xi(t+1)=xi(t)+vi(t+1)
ꢀꢀ
(2)
[0243]
每只鸽子的收敛方向可以重新被定义为:
[0244][0245]
第j只鸽子在第t次迭代时的速度更新公式更改为:
[0246]
vj(t+1)=e-rt
vj(t)+d
j,c
ꢀꢀ
(11)
[0247]
假设当最优解观测坐标无限接近零点时,并联立公式(6)(11)(2)将得到以下等式:
[0248][0249]
其中e-rt
项将随着迭代次数增加无限接近于0,因此原算法采用的概率密度函数极易将算法陷于零点处。
[0250]
将实数编码的量子表示的概率密度函数修正得到以下公式:
[0251][0252]
由该式可知修正后的波函数将只受标准差的影响,并将波函数值限制在4σ范围内。并修改最优解观测坐标生成等式:
[0253][0254]
由上式知最优解观测坐标围绕中心地标按照4σ原则生成,并随着迭代次数的增加生成范围逐渐缩小。
[0255]
实施例4:
[0256]
一种基于量子鸽群优化的机械臂模糊pid控制方法,对模糊pid控制器的21个参数进行优化并寻找最优值,并将得到的最优值用于机械臂的运动控制。
[0257]
如图4所示,算法针对模糊pid控制器的优化原理:
[0258]
1)初始化,运行qapio优化算法;
[0259]
2)设置鸽子总数n
p0
为100,指南针算子迭代次数t为80,地标算子迭代次数为20,初始化优化算法的参数δθ=14
°
,r=0.2设置优化维度dim=21;
[0260]
3)随机生成鸽子生成坐标及初始速度,其中kp0、ki0、kd0的解在[0,30]的范围内
按照平均分布随机生成,kec、α、β、γ的解在[0,3]的范围内按照平均分布随机生成,并初始化所有解适应度为无穷。
[0261]
4)将鸽子各维度参数对应地输入到simulink建立的模糊pid控制器中,联合
[0262]
simulink模型进行机械臂运动仿真,得到机械臂各关节的动作响应曲线。
[0263]
5)对得到的机械臂运动响应曲线进行适应度计算,并与该鸽子当前适应度进行对比,取最小适应度对应解更新当前鸽子解。该值可以对系统的动态性能进行综合评价。
[0264]
6)将适应度与最优解适应度对比,对最优参数进行更新。
[0265]
7)根据公式(4)对中心地标坐标进行求解,并操作量子旋转门,依次根据公式(16)(12)(13)对伪态概率α进行更新;
[0266]
8)对最优解观测值进行求解。依次根据公式(9)(8)(14)(15)对最优解观测值进行更新;
[0267]
9)操作指南针算子。根据公式(17)(2)对鸽子位置信息和速度信息进行更新,并返
[0268]
回步骤4;
[0269]
10)判断是否满足终止条件,即迭代次数达到指南针算子最大迭代次数,满足终止条件则进入步骤11,否则返回步骤4。
[0270]
11)将鸽子各维度参数对应地输入到simulink建立的模糊pid控制器中,联合
[0271]
simulink模型进行机械臂运动仿真,得到机械臂各关节的动作响应曲线。
[0272]
12)对得到的机械臂运动响应曲线进行适应度计算,并与该鸽子当前适应度进行对比,取最小适应度对应解更新当前鸽子解。该值可以对系统的动态性能进行综合评价。
[0273]
13)将适应度与最优解适应度对比,对最优参数进行更新。
[0274]
14)根据鸽子适应度,对鸽子进行排序,并暂停后半部分鸽子坐标的更新,根据公式(3)(4)(5)操作地标算子对鸽子的位置进行更新。
[0275]
15)判断是否满足终止条件,即迭代次数达到地标算子最大迭代次数或者适应度阈值,满足终止条件则停止迭代并输出最优解,否则返回步骤10。
[0276]
以上所述,仅是本发明的较佳实施例,并非对本发明做任何形式上的限制,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化,均落入本发明的保护范围之内。
技术特征:
1.一种基于量子鸽群优化的机械臂模糊pid控制方法,其特征在于,首先进行运动轨迹规划,通过模糊pid控制器控制机械臂按照规划的运动轨迹进行运动;采用量子鸽群算法对模糊pid控制参数进行优化,每只鸽子都可以作为机械臂各关节pid控制参数,选取量子鸽群算法中的粒子x为各关节pid控制参数,更新所设置的x,包括以下步骤:步骤s100:初始化参数t、n
p0
、α0、δθ、r与位置信息,其中,t为迭代次数,n
p0
为鸽子总数,α0为初始伪态概率,δθ为量子旋转门变化角度,r为罗盘算子;步骤s200:设置每只鸽子的随机速度和位置信息,比较每只鸽子的适应度,找出当前最优解;步骤s300:对中心地标坐标进行求解,并操作量子旋转门,对伪态概率α进行更新;步骤s400:对最优解观测值进行求解,对最优解观测值进行更新;步骤s500:操作指南针算子,对鸽子的位置信息和速度信息进行更新,然后比较所有鸽子的适应度,找到新的最优解;步骤s600:如果迭代次数达到指南针算子的迭代上限,则停止当前迭代,转而操作地标算子,进入步骤s700;否则跳转至步骤s300;步骤s700:根据鸽子适应度值对鸽子进行排序,操作地标算子,存储最佳位置以及最优函数值;步骤s800:判断迭代次数是否超过迭代上限,若超过,则输出结果,否则跳转至步骤s700。2.根据权利要求1所述的一种基于量子鸽群优化的机械臂模糊pid控制方法,其特征在于,所述步骤s300中,对中心地标坐标进行求解:进行中心地标与适应度最好鸽子的距离计算,对坐标差求解二范数:dist=||x
c
(t+1)-x
gb
||2ꢀꢀꢀꢀ
(16)中心地标的位置是随所有鸽子的位置变化而变化的,当最优鸽子与中心地标距离减小时,将使概率幅值减小,按照公式(12)、公式(13)进行处理,反之则对概率幅值进行重置:时,将使概率幅值减小,按照公式(12)、公式(13)进行处理,反之则对概率幅值进行重置:其中:x
c
为中心地标;
x
gb
为最优解;α
i
(t)为第i只鸽子在第t代的伪态概率;ε为无穷小值。3.根据权利要求2所述的一种基于量子鸽群优化的机械臂模糊pid控制方法,其特征在于,所述步骤s400中,对最优解观测值进行更新:实数编码的量子表示的概率密度函数如下:由公式(14)可知,波函数将只受标准差的影响,并将波函数值限制在4σ范围内;最优解观测坐标生成等式:由公式(15)可知,最优解观测坐标围绕中心地标按照4σ原则生成,并随着迭代次数的增加生成范围逐渐缩小;其中:σ
i
为标准差,t代表时间,t代表总时间。4.根据权利要求3所述的一种基于量子鸽群优化的机械臂模糊pid控制方法,其特征在于,所述步骤s500中,对鸽子的位置信息和速度信息进行更新:第i只鸽子在第t代的位置信息更新策略如下:x
i
(t+1)=x
i
(t)+v
i
(t+1)
ꢀꢀꢀꢀ
(2)第i只鸽子在第t代的速度信息更新策略如下:指南针算子矢量受原飞行方向、最优解观测坐标方向和最优鸽子方向共同影响。5.根据权利要求1所述的一种基于量子鸽群优化的机械臂模糊pid控制方法,其特征在于,所述步骤s700中,根据公式(3)、公式(4)、公式(5)操作地标算子,于,所述步骤s700中,根据公式(3)、公式(4)、公式(5)操作地标算子,x
i
(t+1)=x(t)+rand(x
c-x
i
(t))
ꢀꢀꢀꢀꢀ
(5)
其中,n
p
为第t次迭代的种群个体数,fitness(x)为适应度函数,用于评价优化效果,适应度函数值越小,改组参数取得的优化效果越好,x
c
为中心地标。6.根据权利要求5所述的一种基于量子鸽群优化的机械臂模糊pid控制方法,其特征在于,适应度函数fitness(x)如下:其中,t为时间,t为总时间,e(t)为机械臂关节运动误差,ω为权重。7.根据权利要求6所述的一种基于量子鸽群优化的机械臂模糊pid控制方法,其特征在于,由于最大绝对偏差远远小于其与时间的积对时间的积分,因此设定ω=5000。8.根据权利要求1-7任一项所述的一种基于量子鸽群优化的机械臂模糊pid控制方法,其特征在于,各关节pid控制参数包括各关节的pid参数k
p0
、k
i0
、k
d0
以及各关节角位移误差变化率ec和各关节pid调整参数δk
p
、δk
i
、δk
d
的缩放因子k
ec
、α、β、γ,三轴机械臂共有21个控制参数,对模糊pid控制器的21个参数进行优化并寻找最优值,并将得到的最优值用于机械臂的运动控制;包括以下步骤:步骤a1:初始化算法;设置鸽子总数n
p0
,指南针算子迭代次数t,地标算子迭代次数以及初始化优化算法的参数α0,量子旋转门变化角度δθ,罗盘算子r,并设置优化维度dim;随机生成鸽子生成坐标及初始速度;步骤a2:将鸽子各维度参数对应地输入到simulink建立的模糊pid控制器中,联合simulink模型进行机械臂运动仿真,得到机械臂各关节的动作响应曲线;对得到的机械臂各关节的运动响应曲线进行适应度计算,并与该鸽子当前适应度进行对比,取最小适应度对应解更新当前鸽子解;将适应度与最优解适应度对比,对最优参数进行更新;步骤a3:求解中心地标坐标,并操作量子旋转门,对伪态概率α进行更新;步骤a4:对最优解观测值进行求解,对最优解观测值进行更新;步骤a5:操作指南针算子对鸽子位置进行更新,对鸽子位置信息和速度信息进行更新;求解适应度并找到最优鸽子;步骤a6:判断是否达到指南针算子最大迭代次数,若无,则进入步骤a3,否则进入步骤a7;步骤a7:根据鸽子适应度,对鸽子进行排序,并暂停后半部分鸽子坐标的更新,操作地标算子对鸽子的位置进行更新;求解适应度并找到最优鸽子;步骤a8:判断是否达到最大迭代次数或者满足最小界限,若否,则进入步骤a7,否则,输
出结果。9.根据权利要求8所述的一种基于量子鸽群优化的机械臂模糊pid控制方法,其特征在于,所述步骤a1中,设置鸽子总数n
p0
为100,指南针算子迭代次数t为80,地标算子迭代次数为20,初始化优化算法的参数α0等于量子旋转门变化角度δθ=14
°
,罗盘算子r=0.2,设置优化维度dim=21。10.根据权利要求8所述的一种基于量子鸽群优化的机械臂模糊pid控制方法,其特征在于,所述步骤a1中,设置参数k
p0
、k
i0
、k
d0
的解在[0,30]的范围内按照平均分布随机生成,设置参数k
ec
、α、β、γ的解在[0,3]的范围内按照平均分布随机生成,并初始化所有解适应度为无穷。
技术总结
本发明公开了一种基于量子鸽群优化的机械臂模糊PID控制方法,首先进行运动轨迹规划,通过模糊PID控制器控制机械臂按照规划的运动轨迹进行运动;采用QAPIO算法对模糊PID控制参数进行优化,每只鸽子都可以作为机械臂各关节PID控制参数。本发明的QAPIO算法对原算法中的指南针算子更新方程、实数编码的量子表示中的概率密度函数和量子旋转门进行了修改,使得该算法具有持续更新能力,可以不断对最优值进行更新,提高全局优化能力,避免过早取得局部最优,解决了原算法容易过早陷于[0,0,...,0,0]T点造成优化算法失效的问题。本发明有效实现了对机械臂模糊PID控制器参数进行优化,具有较好的实用性。好的实用性。好的实用性。
技术研发人员:阳洋 钟佳 亢秀山 杨小虎 杨华 苏广洪 田桂青 武杰 周航 宿灵 王学军 李超 罗洋 杨涛 祝欢
受保护的技术使用者:重庆深赛科技有限公司
技术研发日:2023.05.23
技术公布日:2023/9/12
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
