关节机器人是一个强耦合、高非线性的复杂系统,其轨迹跟踪控制是调整每个关节电机输出的控制扭矩,使得关节角度能够达到期望值[1]。关节机器人轨迹跟踪常用的控制方法主要有基于机器人模型的运动控制方法、PID控制、滑模控制和模糊控制等。其中PID控制技术成熟且易于实现,被广泛应用于机器人轨迹跟踪控制中,但PID算法难以实现非线性系统的高精度控制[2]。因此,有学者提出利用模糊控制无须依靠精确数学模型便能对非线性系统良好逼近的特性,采用模糊PID控制实现机器人轨迹跟踪控制[3]。然而,在实际应用中,控制器输出力矩具有饱和性,如何设计模糊PID控制器使其在有限的输出力矩下达到理想的控制效果是需要专业人员的经验,存在设计不当难以获得最佳效果的不足。均衡评估控制力矩和轨迹跟踪控制效果这2个优化目标可以通过多目标优化算法对模糊PID控制的隶属函数和模糊规则进行寻优调整来实现[4-5]。粒子群算法(PSO)是一种模拟鸟群觅食的启发式算法优化技术,已成功应用于多种优化问题[6]。已有文献证明PSO在单目标优化上具有较快的收敛速度和较好的优化结果,在多目标优化问题上具有较大优势[7]。Mahmoodabadi等[8]用多目标粒子群算法对非线性系统的模糊控制器进行优化,提高了模糊控制器对非线性系统的控制精度;进一步以控制偏差和控制器输出力矩作为2个优化目标,采用多目标粒子群算法对双足机器人轨迹跟踪滑模控制进行了优化,验证了多目标粒子群算法在多目标优化中的优越性[9]。
本文以控制器输出力矩和轨迹跟踪偏差为2个优化目标,实现改进多目标PSO算法优化模糊控制器的隶属函数和模糊规则优化调整。首先设计了机器人轨迹跟踪模糊PID控制器;然后根据模糊PID控制器的多目标优化问题,设计改进多目标PSO算法;最后分别使用改进多目标PSO和基本多目标PSO应用于模糊PID控制的多目标优化问题,对比分析了2种优化算法的优化结果。
1 机器人轨迹跟踪模糊PID控制机器人轨迹跟踪模糊PID控制系统如图1所示,图中
![]() |
Download:
|
图 1 机器人轨迹跟踪模糊PID控制系统 |
$\;\left\{ \begin{array}{l} {K_{\rm{P}}} = {K_{{\rm{P}}0}} + \Delta {K_{\rm{P}}} \\ {K_{\rm{I}}} = {K_{{\rm{I}}0}} + \Delta {K_{\rm{I}}} \\ {K_{\rm{D}}} = {K_{{\rm{D}}0}} + \Delta {K_{\rm{D}}} \\ \end{array} \right.$ | (1) |
$\;\tau (t){\rm{ = }}{K_{\rm{P}}}e + {K_{\rm{I}}}\int_0^t {edt} + {K_{\rm{D}}}\frac{{{\rm{d}}e}}{{{\rm{d}}t}}$ | (2) |
式中:
模糊PID控制器中的模糊控制器输入变量偏差
![]() |
Download:
|
图 2 三角形隶属函数 |
![]() |
表 1 模糊PID控制器输入输出变量隶属函数设计 |
2个输入变量
$\begin{array}{l} {\rm{if\; e\; is }}\cdots{\rm{ and }}\;{{{e}}_{\rm{c}}}\;{\rm{ is }}\cdots{\rm{ , }} \\ {\rm{then }}\;\Delta {K_{\rm{P}}}\;{\rm{ is }}\cdots{\rm{ , }}\Delta {K_{\rm{I}}}\;{\rm{ is }}\cdots{\rm{ }},\Delta {K_{\rm{D}}}\;{\rm{ is }}\cdots \\ \end{array} $ |
本文设计的
忽略关节摩擦和末端负载,六关节机器人动力学方程可以写成如下形式
${{\tau}} = {{M}}({{q}})\ddot {{q}} + {{C}}({{q}},\dot {{q}})\dot {{q}} + {{G}}({{q}})$ | (3) |
式中:
为了对六关节机器人进行仿真,根据上述建立的动力学方程式(3)可计算方程中关节角加速度
![]() |
表 2
|
${\ddot {{q}}_t} = {{{M}}^{{\mathbf{ - 1}}}}({{{q}}_{\rm{t}}})[{{{\tau}} _{\rm{t}}} - {{C}}({{{q}}_{\rm{t}}},{\dot {{q}}_{\rm{t}}}){\dot {{q}}_{\rm{t}}} - {{G}}({{{q}}_{\rm{t}}})]$ | (4) |
式中:
由t时刻的关节角加速度
$\begin{array}{l} {{\dot {{q}}}_{{\rm{t}} + \Delta {\rm{t}}}} = {{\dot {{q}}}_{\rm{t}}} + {{\ddot {{q}}}_{\rm{t}}}\Delta t \\ {{{q}}_{{\rm{t}} + \Delta {\rm{t}}}} = {{{q}}_{\rm{t}}} + {{\dot q}_{\rm{t}}}\Delta t + \dfrac{1}{2}{{\ddot {{q}}}_{\rm{t}}}\Delta {t^2} \\ \end{array} $ | (5) |
优化机器人轨迹跟踪模糊PID控制,需要将待优化参数进行编码形成一个决策向量。粒子群算法中的决策向量为某个粒子
${{{x}}_i} = [{x_1},{x_2},\cdots,{x_D}]$ | (6) |
式中:
PSO优化模糊PID控制的粒子位置向量
模糊PID控制有2个优化目标函数,分别与轨迹跟踪偏差和控制器输出力矩有关,如式(7)所示,则目标向量为
![]() |
表 3 粒子位置向量参数 |
$\left\{ \begin{array}{l} {f_1}({{{x}}_i}) = \displaystyle\int_0^T {t \cdot \left| {e(t)} \right|{\rm{d}}t} \\ {f_2}({{{x}}_i}) = \displaystyle\int_0^T {t \cdot \sum\limits_{i = 1}^6 {\left| {{\tau _n}(t)} \right|} {\rm{d}}t} \end{array} \right.$ | (7) |
式中:
模糊PID控制器多目标优化时,最小化控制器输出力矩可能导致轨迹跟踪误差的提高,因此需要在这2个互相冲突的目标中找到权衡的解,而这样的解不唯一。2个粒子的位置向量
粒子群算法是通过各个粒子位置的不断调整,使得粒子不断向最优位置移动。算法中每个粒子均具有形如
改进多目标PSO算法优化机器人轨迹跟踪控制模糊PID控制器的流程如图3所示,算法主要步骤如下。
![]() |
Download:
|
注:pbest和gbest分别是粒子的个体位置向量向导和全局最佳位置向量向导 图 3 多目标粒子群算法优化模糊PID控制器流程 |
1)生成初始粒子种群:根据表3,随机生成
2)更新粒子群:设置第
3)更新隶属函数和模糊规则:读取当前粒子群中第
4)计算目标函数值:运行模糊PID控制器完成轨迹跟踪控制仿真,获得仿真控制中t时刻机器人仿真轨迹与期望轨迹的偏差
5)判断是否遍历S个粒子:若粒子数量
6)更新个体档案和全局档案:个体档案和全局档案分别是存储个体最佳位置和全局最优粒子的非支配解集。每个粒子均有自己的个体档案,而全局档案为所有粒子共享。个体档案和全局档案是为步骤8中选择pbest和gbest做准备。若当代粒子群中的粒子与档案中的解集为非支配关系,则将该粒子添加到档案中。
7)判断是否终止优化算法:判断粒子迭代次数
8)选择pbest和gbest:需从个体档案和全局档案中的非支配解集中分别选择出来一个确定的值。选择pbest和gbest的具体方法如下,首先对于每一个粒子均被赋予一个值
$\sigma = \dfrac{{f_1^2 - f_2^2}}{{f_1^2 + f_2^2}}$ | (8) |
然后将个体档案和全局档案中粒子
9)计算速度向量所需参数:速度向量所需参数分别为第
$\omega (k) = \omega (0) + (\omega ({n_k}) - \omega (0))\frac{k}{{{n_k}}}$ | (9) |
式中:
${c_1}(k) = {c_1}(0) + ({c_1}({n_k}) - {c_1}(0))\frac{k}{{{n_k}}}$ | (10) |
${c_2}(k) = {c_2}(0) + ({c_2}({n_k}) - {c_2}(0))\frac{k}{{{n_k}}}$ | (11) |
式中:
10)计算粒子速度向量:下一次迭代的速度向量
$ {v}_{i,d}(k+1)=\left\{ \begin{array}{l}{{{{v}}}^{\prime }}_{i,d}(k+1){ }{\text{如果}}{{{\rm{v}}}^{\prime }}_{{\rm{i}},{\rm{d}}}(k+1)<{V}_{\mathrm{max},d}\\ {V}_{\mathrm{max},d}{\text{如果}}{{{\rm{v}}}^{\prime }}_{{\rm{i}},{\rm{d}}}(k+1)\geqslant {V}_{\mathrm{max},d}\end{array} \right.$ | (12) |
式中:
$\begin{array}{l} v_{i,d}'(k + 1) = \omega {\rm{ }}{v_{i,d}}(k) + {c_1}{r_1}({p_{{\rm{best}}}}_{i,d}(k) - \\ {\rm{ }}{x_{i,d}}(k)) + {c_2}{r_2}({g_{{\rm{best}}}}_d(k) - {x_{i,d}}(k)) \\ \end{array} $ | (13) |
式中:
11)更新粒子位置:根据式(14)更新粒子位置向量
${{{x}}_i}(k + 1) = {{{x}}_i}(k) + {{{v}}_i}(k + 1)$ | (14) |
12)粒子位置变异:根据式(15)对新粒子群中的粒子位置进行变异,进入步骤2)。
${x_{i,d}} = ({x_{d,\max }} - {x_{d,\min }}) \cdot r + {x_{d,\min }}$ | (15) |
式中:
在机器人轨迹跟踪控制仿真中,设笛卡尔空间的期望轨迹为一段螺旋线,其参数方程如下
$\left\{ \begin{array}{l} x = 0.45 + 0.25 \cdot \cos (t \cdot 2\pi /{T_c}) \\ y = 0.25 + 0.25 \cdot \sin (t \cdot 2\pi /{T_c}) \\ z = - 0.25 + 0.025 \cdot t \\ \end{array} \right.$ | (16) |
式中:
六关节机器人的D-H参数如表4所示。根据机器人运动学可将笛卡尔空间的期望轨迹转换成机器人关节空间各个关节的期望角度轨迹,如图4所示。本文搭建的机器人轨迹跟踪模糊PID控制的MATLAB仿真系统如图5所示,仿真步长
![]() |
表 4 关节机器人D-H参数表 |
![]() |
Download:
|
图 4 关节空间期望角度轨迹 |
![]() |
Download:
|
图 5 机器人轨迹跟踪模糊PID控制的MATLAB仿真系统 |
![]() |
表 5 NSGA II优化算法参数 |
分别采用带精英策略的非支配排序遗传算法(NSGA II)、多目标基本粒子群算法(MOPSO)和改进多目标粒子群算法(Modify MOPSO)进行轨迹跟踪模糊PID控制器优化。NSGA II优化算法的参数设置如表5所示,2种粒子群优化算法的参数设置如表6所示。通过3种优化算法优化后得到的非支配解集如图6所示,解集中各个解的2个目标函数值如表7所示。从图6可以看出,Modify PSO的解集分布较广且均匀,而通过MOPSO得到的部分解集在某一个区域比较集中,且涵盖的范围较小,由NSGA II所得到的解集虽然分布较广,但分布不均匀。采用能够同时评价解集收敛性和多样性的超体积指标来比较3种优化算法获得的非支配解集,超体积越大说明算法综合性能越好。设置超体积的计算参考点为(36.5,14900),NSGA II、MOPSO和Modify MOPSO的超体积分别为885.4、3369.1和7247.6,可见Modify PSO获得的非支配解集最优。
![]() |
表 6 MOPSO和Modify MOPSO优化算法参数 |
![]() |
表 7 目标函数值 |
![]() |
Download:
|
图 6 多目标优化结果 |
综上,改进多目标PSO算法应用于关节机器人轨迹跟踪模糊PID控制器的多目标优化问题,可以得到比基本多目标PSO算法和NSGA II更优的非支配解集,验证了该算法在机器人轨迹跟踪模糊PID控制优化上有效性和优越性。
4 结论本文设计了一个模糊PID控制器应用于六关节机器人轨迹跟踪控制,以控制器输出力矩和轨迹跟踪偏差为2个优化目标,实现了改进多目标PSO算法优化模糊控制器的隶属函数和模糊规则优化调整。对比改进多目标PSO和基本多目标PSO算法、遗传算法应用于关节机器人轨迹跟踪模糊PID控制器的多目标问题,结果表明,改进PSO获得的非支配解集更好,验证了该算法应用于机器人轨迹跟踪模糊PID控制优化的有效性和优越性。进一步的研究工作是继续探索多目标PSO算法与其他优化算法(如蚁群算法、神经网络算法等)实现机器人轨迹跟踪控制器优化的效果,进行对比分析。
[1] |
SICILIANO B, KHATIB O. Springer handbook of robotics[M]. Berlin: Springer Berlin Heidelberg, 2008.
(![]() |
[2] |
SHARMA R, RANA K P S, KUMAR V. Performance analysis of fractional order fuzzy PID controllers applied to a robotic manipulator[J]. Expert systems with applications, 2014, 41(9): 4274-4289. DOI:10.1016/j.eswa.2013.12.030 (![]() |
[3] |
PIZARRO-LERMA A O, GARCÍA-HERNÁNDEZ R, SANTIBÁÑEZ V A. Fine-tuning of a fuzzy computed-torque control for a 2-DOF robot via genetic algorithms[J]. IFAC-PapersOnLine, 2018, 51(13): 326-331. DOI:10.1016/j.ifacol.2018.07.299 (![]() |
[4] |
游国栋, 李继生, 侯勇, 等. 光伏系统多目标粒子群优化模糊MPPT控制[J]. 天津科技大学学报, 2016, 31(1): 73-78. (![]() |
[5] |
赵俊, 陈建军. 混沌粒子群优化的模糊神经PID控制器设计[J]. 西安电子科技大学学报, 2008, 35(1): 54-59. (![]() |
[6] |
颜楠楠, 傅正财. 基于多目标粒子群优化算法的UPFC协调控制[J]. 电力系统保护与控制, 2010, 38(8): 43-48. (![]() |
[7] |
HAN Honggui, LU Wei, QIAO Junfei. An adaptive multiobjective particle swarm optimization based on multiple adaptive methods[J]. IEEE transactions on cybernetics, 2017, 47(9): 2754-2767. DOI:10.1109/TCYB.2017.2692385 (![]() |
[8] |
MAHMOODABADI M J, MOTTAGHI M B S, MAHMODINEJAD A. Optimum design of fuzzy controllers for nonlinear systems using multi-objective particle swarm optimization[J]. Journal of vibration and control, 2016, 22(3): 769-783. DOI:10.1177/1077546314532116 (![]() |
[9] |
MAHMOODABADI M J, MAAFI R A, TAHERKHORSANDI M. An optimal adaptive robust PID controller subject to fuzzy rules and sliding modes for MIMO uncertain chaotic systems[J]. Applied soft computing, 2017, 52: 1191-1199. DOI:10.1016/j.asoc.2016.09.007 (![]() |