﻿ 基于滑模控制的改进差分进化算法
 计算机系统应用  2018, Vol. 27 Issue (12): 156-162 PDF

Improved Method of Difference Evolution Algorithm Based on Sliding Mode Control
LIU Long-Long, YU Sheng-Nan, GAO Cun-Chen
School of Mathematical Sciences, Ocean University of China, Qingdao 266100, China
Abstract: For the robot trajectory planning problem, an improved Differential Evolution(DE) algorithm based on sliding mode control is proposed. The operation time and energy consumption is taken as the objective function. The direction of variation is guided by the difference between the best individuals and the average individuals in the population. Using the best individuals to replace the worst individuals in the population, the rate of convergence is accelerated. Removal of mutation factor and cross factor reduces manual intervention and enhances the stability of the model. Using piecewise Hermite interpolation of order 3 instead of spline interpolation of order 3 to prevent fitting overshoot and reduce chattering. Based on the system state space equation, a sliding mode control law was designed and stability is proved by using a Lyapunov function. Simulation experiments and the analysis of results are demonstrated that the improved algorithm not only has strong search ability but also accelerate the convergence rate and reduce the chattering effect in the trajectory planning of the system states.
Key words: sliding mode control     trajectory planning     differential evolution algorithm

1 差分进化算法 1.1 差分进化算法的内容

(1) 差分进化算法从一个群体(即多个点)而不是从一个点开始搜索, 这是它能以较大的概率找到整体最优解的主要原因.

(2) 差分进化算法的进化准则是基于适应性信息的, 无须借助其他辅助性信息(如要求函数可导或连续), 大大地扩展了其应用范围.

(3) 差分进化算法具有内在的并行性, 这使得它非常适用于大规模并行分布计算, 减小时间成本开销.

(4) 差分进化算法采用概率转移规则, 不需要确定性的规则.

(1)变异阶段随机选取3个个体进行差分, 然后加权求和求出新个体, 进行贪婪选择后, 二选一保留原始个体或者用新个体替代原始个体. 利用随机选取的个体进行更新, 没有充分利用种群中表现最好的个体和种群总体的信息, 收敛的速度和稳定性有待提高.

(2) 为了增大种群多样性, 采用变异因子和交叉因子或者随迭代代数变化的自适应变异因子和交叉因子, 在增大种群多样性, 避免陷入局部最优的同时引入了需要人工干预的两个参数的取值范围. 人工干预参数的引入, 使得调参对于结果的影响很大, 这不利于算法的应用和推广.

1.2 改进差分进化算法的内容基本流程

(1) 生成初始群体

$n$ 维空间里, 随机产生满足约束条件的M个个体作为初始种群, 第 $i(i=1,2, \cdots,{M})$ 个个体表示如下:

 ${x_{ij}}(0)=r(x_{ij}^{{U}}- x_{ij}^{{L}})+x_{ij}^L$ (1)

(2) 筛选操作

 ${x_{\rm{best}}}(t)=\{ {x_{ij}}|\min (f({x_{i1}},{x_{i2}}, \cdots,{x_{in}}))\}$ (2)
 ${x_{\rm{bad}}}(t)=\{ {x_{ij}}|\max (f({x_{i1}},{x_{i2}}, \cdots,{x_{in}}))\}$ (3)

 ${x_{\rm{mean}}}(t)=mean({x_1},{x_2}, \cdots,{x_n})$ (4)

(3) 变异操作

 ${x_{ij}}(t + 1) = {x_{ij}}(t) + rand(({x_{\rm{best}}}(t) - {x_{\rm{mean}}}(t))$ (5)

 ${x_{\rm{bad}}}(t + 1) = {x_{\rm{best}}}(t)$ (6)

(4) 选择操作

 ${x_{ij}}(t + 1) = \left\{ {\begin{array}{*{20}{c}}{\displaystyle\frac{1}{2}({x_{ij}}^L + {x_{{\rm{best}},j}}),{x_{ij}}(t) < {x_{ij}}^L}\\{\displaystyle\frac{1}{2}({x_{ij}}^U + {x_{{\rm{best}},j}}),{x_{ij}}(t) > {x_{ij}}^U}\end{array}} \right.$ (7)
 ${F_{\rm{next}}}=f({x_{i1}}(t+1), \cdots,{x_{in}}(t+1))$
 ${F_{\rm{now}}}=f({x_{i1}}(t), \cdots,{x_{in}}(t))$
 ${x_j}(t+1)=\left\{ {\begin{array}{*{20}{c}} {{x_j}(t+1),{F_{\rm{next}}} < {F_{\rm{now}}}} \\ {{x_j}(t),{F_{\rm{next}}} < {F_{\rm{now}}}} \;\;\quad\quad\end{array}} \right.$ (8)

1.3 标准差分进化算法的参数设置

(1)变异因子F

(2) 交叉因子 $cr$

(3) 群体规模M

(4) 最大迭代代数T

1.4 改进差分进化算法的参数设置

2 基于最优轨迹规划的滑模控制

2.1 轨迹规划算法与相关定理

 $I\ddot \theta+b\dot \theta=\tau+d$ (9)

 $\dot V \leqslant- \alpha V+f,\forall t \geqslant {t_0} \geqslant 0$

 $V(t) \leqslant {e^{- \alpha (t- {t_0})}}V({t_0})+\int_{{t_0}}^t {{e^{- \alpha (t- \tau)}}f(\tau){\rm{d}}\tau }$

2.2 最优轨迹的设计

 ${\theta _r}=({\theta _d}- {\theta _0})\Bigg[\frac{t}{T}- \frac{1}{{2\pi }}{\rm{sin}}(\frac{{2\pi t}}{T})\Bigg]+{\theta _0}$ (10)

 ${\theta _r}={\bar \theta _{r,0}},{\bar \theta _{r,1}}, \cdots,{\bar \theta _{r,2n- 1}},{\bar \theta _{r,2n}}$ (11)

 ${\bar \theta _{{\rm{opj}}}}(k)={\bar \theta _{r,j}}+\Delta {\bar \theta _j}(k)$ (12)

2.3 最优轨迹的优化

 $J=\omega \int_0^{3{T_{\rm{E}}}} | \tau \dot \theta |dt+(1- \omega)\int_0^{3{T_{\rm{E}}}} s (t){\rm{d}}t$ (13)

 ${\bar \theta _{{\rm{op}}}}=[{\bar \theta _{{\rm{op}},{\rm{0}}}},{\bar \theta _{{\rm{op}},{\rm{1}}}}, \cdots,{\bar \theta _{{\rm{op}},{{2n- 1}}}},{\bar \theta _{{\rm{op}},{{2n}}}}]$ (14)

 ${\theta _{{\rm{op}},{\rm{0}}}}={\mathop \theta \limits^- _{{\rm{op}},{\rm{0}}}}={\theta _0}$
 ${\theta _{{\rm{op}},{\rm{T}}}}{\rm{ }}={\mathop \theta \limits^- _{{\rm{op}},{{2n}}}}={\theta _d}$
 ${{\bar{\theta }}_{\text{op}}}(0)={{\dot{\bar{\theta }}}_{\text{op},\text{0}}}={{\dot{\theta }}_{0}}=0$
 ${{\bar{\theta }}_{\text{op}}}(T)={{\dot{\bar{\theta }}}_{\text{op},2n}}={{\dot{\theta }}_{d}}=0$

 ${\theta _{{\rm{op}}}}({t_j})={\bar \theta _{{\rm{op}},{{j}}}},{t_j}=\frac{j}{{2n}}{T_E},j=1,2, \cdots,2n- 1$

 $s=\dot e+ce$ (15)

 \begin{aligned} \dot s &=\ddot e+c\dot e={{\ddot \theta }_{{\rm{op}}}}- \ddot \theta+c\dot e \\ &={{\ddot \theta }_{{\rm{op}}}}- \frac{1}{I}(\tau+d- b\dot \theta)+c\dot e \\ \end{aligned} (16)

 $\tau=b\dot \theta+{\eta _2}sgn(s)+I(c\dot e+{\ddot \theta _{{\rm{op}}}}+{\eta _1}s)$ (17)

 \begin{aligned} \dot V &=- {\eta _1}{s^2}- \frac{s}{I}(d+{\eta _2}{\rm{sgn}}(s)) \\ &\leqslant- 2{\eta _1}V \leqslant 0 \\ \end{aligned} (18)

 $V(t) \leqslant V(0){e^{- {\eta _1}t}}$ (19)

3 仿真实例

 $I\ddot \theta+b\dot \theta=\tau+d$

 ${\theta _{{\rm{o}}{{\rm{p}}_{ij}}}}=r({\theta _d}- {\theta _0})+{\theta _0}$

4 结果分析

2010年Weber设计了对缩放因子F进行了适应性的调整[16]分布式 DE 算法(FACPDE). 2012年文献[17]提出了对FC进行动态调整的分布式DE算法(DDE-PTS). 将标准DE, IDE, FACPDE, DDE-PTS与滑模控制相结合, 得到仿真结果如图1~图3所示. 图1为DE与IDE控制输入信号图, 图2为DE FACPDE, DDE-PTS与IDE控制输入信号图. 图1图2显示了IDE相比DE, FACPDE和DDE-PTS对于消除抖振的效果更佳显著. 标准差分进化算法由于采用了三次样条插值, 要求曲线存在二阶连续偏导, 更加平滑; 由于要解决的问题中存在二阶导数, 改进DE采用保形分段三次Hermite插值, 对于二阶导数仅要求存在, 弱化了条件, 防止了拟合过冲, 使用范围更广. FACPDE, DDE-PTS由于人工参数设置的影响, 导致收敛过程中信号的不稳定性. 从图3的适应度函数曲线和图4的目标函数优化的最优轨迹效果图中, 可以看出, 足够长时间后, DE、FACPDE、DDE-PTS和IDE均可逼近最优解且IDE优化最优轨迹求出最优解的速度比DE,FACPDE和DDE-PTS更快. IDE由于在变异阶段充分利用了群体中最优个体的信息和种群的平均水平, 收敛速度有了很大的提升. 此外, IDE去掉了变异因子和交叉因子, 仅需设置种群数目和最大迭代次数两个参数, 减少了人为参与, 算法的稳定性得到很大程度的提高, 有利于算法的使用和推广. 上述结果验证了IDE算法在轨迹规划方面的合理性和有效性.

5 结论

 图 1 DE与IDE控制输入信号图

 图 2 DE,FACPDE,DDE-PTS与IDE控制输入信号图

 图 3 适应度函数曲线

 图 4 最优轨迹效果图

 [1] 钱东海, 谭伟, 赵锡芳. 基于B样条路径的机器人时间最优轨迹规划. 上海交通大学学报, 1998, 32(12): 29-33. [2] 杨国军, 崔平远. 机械手时间最优轨迹规划方法研究. 中国机械工程, 2002(20): 1715-1717. DOI:10.3321/j.issn:1004-132X.2002.20.002 [3] 王宪, 杨国梁. 基于改进蚁群算法的机器人轨迹规划. 计算机系统应用, 2010, 19(11): 79-82. DOI:10.3969/j.issn.1003-3254.2010.11.018 [4] 甘亚辉, 戴先中. 基于遗传算法的多机器人系统最优轨迹规划. 控制理论与应用, 2010, 27(9): 1245-1252. [5] 付荣, 居鹤华. 基于粒子群优化的时间最优机械臂轨迹规划算法. 信息与控制, 2011, 40(6): 802-808. [6] 居鹤华, 付荣. 基于GA的时间最优机械臂轨迹规划算法. 控制工程, 2012, 19(3): 472-477. DOI:10.3969/j.issn.1671-7848.2012.03.026 [7] 王学琨, 李刚, 周东凯, 等. 基于DE的时间最优6–DOF机械臂轨迹规划算法. 计算机仿真, 2015, 32(8): 332-337. DOI:10.3969/j.issn.1006-9348.2015.08.072 [8] 余阳, 林明, 林永才. 基于混合遗传算法的工业机器人最优轨迹规划. 计算机工程与设计, 2012, 33(4): 1574-1580. DOI:10.3969/j.issn.1000-7024.2012.04.063 [9] 赫建立, 朱龙英, 成磊, 等. 基于遗传算法的6–DOF机器人最优时间轨迹规划. 机械传动, 2015, 39(9): 41-45. [10] 刘一扬, 刘明明. 基于改进遗传算法的机器人运动轨迹跟踪控制. 机械传动, 2016, 40(3): 39-42, 61. [11] 邓飙, 张潇, 龙勇, 等. 基于五次B样条的起竖装置时间最优轨迹规划. 组合机床与自动化加工技术, 2016(6): 21-25. [12] 殷凤健, 梁庆华, 程旭, 等. 基于时间最优的机械臂关节空间轨迹规划算法. 机械设计与研究, 2017, 33(5): 12-15. [13] 梁延德, 李瑞峰, 张红哲, 等. 基于时间最优的PTP轨迹规划问题. 计算机工程与设计, 2017, 38(1): 231-237. [14] Das S, Konar A, Chakraborty UK. Two improved differential evolution schemes for faster global search. Proceedings of the 7th Annual Conference on Genetic and Evolutionary Computation. Washington DC, USA. 2005. 991–998. [15] Ioannou P, Sun J, Ioannou P A. Robust adaptive controls. Ioannou P, Sun J. Robust adaptive control. Prentice Hall PTR, 2013. 333–335. [16] Weber M, Tirronen V, Neri F. Scale factor inheritance mechanism in distributed differential evolution. Soft Computing, 2010, 14(11): 1187-1207. DOI:10.1007/s00500-009-0510-5 [17] Saadi HA, Chouinard JY, Guessoum A. Distributed differential evolution algorithm for PAPR reduction of OFDM signals. Proceedings of the 11th International Conference on Information Science, Signal Processing and Their Applications. Montreal, QC, Canada. 2012. 567–572.