«上一篇
文章快速检索     高级检索
下一篇»
  应用科技  2021, Vol. 48 Issue (3): 97-103  DOI: 10.11991/yykj.202001009
0

引用本文  

蒋清泽, 王宏涛. 改进多目标PSO算法优化机器人轨迹跟踪模糊PID控制器[J]. 应用科技, 2021, 48(3): 97-103. DOI: 10.11991/yykj.202001009.
JIANG Qingze, WANG Hongtao. Multi-objective PSO-based fuzzy PID controller for robot trajectory tracking[J]. Applied Science and Technology, 2021, 48(3): 97-103. DOI: 10.11991/yykj.202001009.

通信作者

王宏涛,E-mail:meehtwang@nuaa.edu.cn

作者简介

蒋清泽,男,硕士研究生;
王宏涛,女,教授,博士

文章历史

收稿日期:2020-01-10
改进多目标PSO算法优化机器人轨迹跟踪模糊PID控制器
蒋清泽, 王宏涛    
南京航空航天大学 机电学院,江苏 南京 210016
摘要:为进一步提高模糊PID控制器应用于关节机器人轨迹跟踪控制的效果,本文提出了一种改进的多目标粒子群(PSO)算法优化机器人轨迹跟踪模糊PID控制器的方法。首先,设计了一种关节机器人轨迹跟踪模糊PID控制器;其次,考虑控制器输出力矩和轨迹跟踪控制偏差2个优化目标,设计了改进多目标PSO算法实现模糊PID控制器隶属函数与模糊规则的优化调整;最后,分别采用多目标PSO算法和改进多目标PSO算法优化轨迹跟踪模糊PID控制器获得了2个优化目标的向量集合,并对比分析了优化结果。实验结果表明,所设计的改进多目标PSO算法具有更优的非支配解集,验证了该算法优化机器人轨迹跟踪模糊PID控制器的有效性和优越性。
关键词多目标优化    PSO    机器人控制    轨迹跟踪    模糊PID控制    隶属函数    模糊规则    非支配解集    
Multi-objective PSO-based fuzzy PID controller for robot trajectory tracking
JIANG Qingze, WANG Hongtao    
College of Mechanical and Electrical Engineering, Nanjing University of Aeronautics and Astronautics, Nanjing 210016, China
Abstract: In order to improve the control effect of fuzzy PID controller applied to the trajectory tracking control of joint robots, a novel modified multi-objective Particle Swarm Optimization (PSO) is used to optimize robot trajectory tracking fuzzy PID controller. Firstly, a fuzzy PID controller for robot trajectory tracking is designed. And further, considering the optimization goals of controller output torque and trajectory tracking control error, a modified multi-objective PSO algorithm is designed to optimize membership functions and fuzzy rules of the fuzzy PID controller. Finally, multi-objective PSO and modified multi-objective PSO are used to optimize the trajectory tracking fuzzy PID control to obtain the set of optimization goals vector, and the optimization results are compared and analyzed. The experimental results show that the designed modified multi-objective PSO has a better non-dominated solution set, which verifies effectiveness and superiority of the designed algorithm in robot trajectory tracking fuzzy PID control optimization.
Keywords: multi-objective optimization    PSO    robot control    trajectory tracking    fuzzy PID control    membership function    fuzzy rules    non-dominated solution set    

关节机器人是一个强耦合、高非线性的复杂系统,其轨迹跟踪控制是调整每个关节电机输出的控制扭矩,使得关节角度能够达到期望值[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所示,图中 ${q_{\rm{d}}}$ $q$ 分别表示六关节机器人各关节期望角度和实际角度; $e$ 表示 ${q_{\rm{d}}}$ $q$ 的偏差, $e = {q_{\rm{d}}} - q$ ec表示偏差变化率, ${e_{\rm{c}}} = {\rm{d}}e/{\rm{d}}t$ 图1虚线部分表示模糊控制器,其中 $e$ ${e_{\rm{c}}}$ 是模糊控制器的输入变量, $\Delta {K_{\rm{P}}}$ $\Delta {K_{\rm{I}}}$ $\Delta {K_{\rm{D}}}$ 表示PID调整参数,是模糊控制器的输出变量; $\tau $ 表示模糊PID控制器的输出控制力矩。控制过程为:首先模糊控制器根据 $e$ ${e_{\rm{c}}}$ 的值通过模糊化、模糊推理和解模糊得到PID调整参数;然后实现PID控制器3个参数的在线自适应调整,如式(1),根据式(2)输出控制力矩;最后将控制力矩作用于机器人,得到实际关节角度,并反馈给比较器。

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)

式中: ${K_{{\rm{P}}0}}$ ${K_{{\rm{I}}0}}$ ${K_{{\rm{D}}0}}$ 为PID参数的初值; $t$ 为时间。

1.1 模糊PID控制器设计

模糊PID控制器中的模糊控制器输入变量偏差 $e$ 和偏差变化率 ${e_c}$ 以及输出变量 $\Delta {K_{\rm{P}}}$ $\Delta {K_{\rm{I}}}$ $\Delta {K_{\rm{D}}}$ 的模糊集个数均设计为7个,其模糊集取为{NL, NM, NS, ZE, PS, PM, PL},即{负大, 负中, 负小, 零, 正小, 正中, 正大}。模糊集隶属函数选取三角形隶属函数,根据隶属函数的特性,某变量所有的模糊集的隶属函数关于Y轴对称,且将某一个三角隶属函数的“左脚”和“右脚”分别设置为相邻左右2个三角隶属函数的顶点横坐标,如图2所示。故在设计每一个变量的隶属函数时,需要确定其论域,以及Y轴某一侧3个参数 ${X_1}$ ${X_2}$ ${X_3}$ 。模糊PID控制器所有变量的隶属函数具体参数如表1所示。

Download:
图 2 三角形隶属函数
表 1 模糊PID控制器输入输出变量隶属函数设计

2个输入变量 $e$ $e_{\rm{c}}$ 的模糊集个数为7,可得输出变量 $\Delta {K_{\rm{P}}}$ $\Delta {K_{\rm{I}}}$ $\Delta {K_{\rm{D}}}$ 的每一个变量所对应的模糊规则均为49条,每条模糊规则的形式为

$\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} $

本文设计的 $\Delta {K_{\rm{P}}}$ $\Delta {K_{\rm{I}}}$ $\Delta {K_{\rm{D}}}$ 的模糊规则如表2所示,数字1~7分别代表NL、NM、NS、ZE、PS、PM、PL。

1.2 机器人动力学模型

忽略关节摩擦和末端负载,六关节机器人动力学方程可以写成如下形式

${{\tau}} = {{M}}({{q}})\ddot {{q}} + {{C}}({{q}},\dot {{q}})\dot {{q}} + {{G}}({{q}})$ (3)

式中: $ {{q}}{\text{、}}\dot{{{q}}}{\text{、}}\ddot{{{q}}}\in {\bf R}^{6}$ 分别为由机器人各关节、角速度和角加速度组成的角度向量、角速度向量和角加速度向量; ${{M}}({{q}}) \in {{\bf R}^{6 \times 6}}$ 为惯性对称矩阵; ${{C}}({{q}},\dot {{q}}) \in $ $ {{\bf R}^{6 \times 6}}$ 为哥氏力和离心力系数矩阵; ${{G}}({{q}}) \in {{\bf R}^6}$ 为重力向量。

为了对六关节机器人进行仿真,根据上述建立的动力学方程式(3)可计算方程中关节角加速度 ${\ddot {{q}}_{\rm{t}}}$

表 2 $\Delta {K_{\rm{P}}}$ / $\Delta {K_{\rm{I}}}$ / $\Delta {K_{\rm{D}}}$ 的模糊规则表
${\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)

式中: ${{{q}}_{\rm{t}}}$ ${\dot {{q}}_{\rm{t}}}$ 为某t时刻已知的机器人关节角度、关节角速度; ${\ddot {{q}}_{\rm{t}}}$ 为某t时刻的关节角加速度; ${{{\tau}} _{\rm{t}}}$ 为某t时刻的控制器输出的控制力矩; ${{M}}({{{q}}_{\rm{t}}})$ ${{C}}({{{q}}_{\rm{t}}},{\dot{{ q}}_{\rm{t}}}){\dot {{q}}_{\rm{t}}} + $ $ {{G}}({{{q}}_{\rm{t}}})$ 均可根据 ${{{q}}_{\rm{t}}}$ , ${\dot {{q}}_{\rm{t}}}$ 求得。

t时刻的关节角加速度 ${\ddot {{q}}_{\rm{t}}}$ ,假设时间步长 $\Delta t$ ${\ddot {{q}}_{\rm{t}}}$ 不变化, 在初始条件为 ${{{q}}_0} = {\dot {{q}}_0} = 0$ 的情况下, 对当前t时刻关节信息 ${{{q}}_{\rm{t}}}$ ${\dot {{q}}_{\rm{t}}}$ 进行数值积分, 计算出下一时刻 $t + \Delta t$ 的角速度 ${\dot {{q}}_{{\rm{t}} + \Delta {\rm{t}}}}$ 和关节角 ${{{q}}_{{\rm{t}} + \Delta {\rm{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)
2 模糊PID控制的多目标PSO优化 2.1 模糊PID控制的多目标问题

优化机器人轨迹跟踪模糊PID控制,需要将待优化参数进行编码形成一个决策向量。粒子群算法中的决策向量为某个粒子 $i$ 的位置向量 ${{{x}}_i}$ ,具体表达为

${{{x}}_i} = [{x_1},{x_2},\cdots,{x_D}]$ (6)

式中: $D$ 为优化问题中待优化参数的个数。

PSO优化模糊PID控制的粒子位置向量 ${{{x}}_i}$ 中的元素所代表的参数及参数取值范围如表3所示,其中元素 ${x_{i,1}} - {x_{i,15}}$ 分别表示输入变量 $e$ ${e_{\rm{c}}}$ 和输出变量 $\Delta {K_{\rm{P}}}$ $\Delta {K_{\rm{I}}}$ $\Delta {K_{\rm{D}}}$ 的隶属函数中心顶点值,每个变量需指定3个中心顶点值,故5个变量需要15个表示模糊PID控制器隶属函数的设计参数;模糊PID控制器总共有3个规则表,每个规则表有49条模糊规则结果需要设计,故需要 $3 \times 49 = $ $ 147$ 个元素表示,即 ${x_{i,16}} - {x_{i,64}}$ ${x_{i,65}} - {x_{i,113}}$ ${x_{i,114}} - {x_{i,162}}$ 分别表示 $\Delta {K_{\rm{P}}}$ $\Delta {K_{\rm{I}}}$ $\Delta {K_{\rm{D}}}$ 规则的49条模糊规则。故总共需要162位元素基来表示, ${{D}} = 162$

模糊PID控制有2个优化目标函数,分别与轨迹跟踪偏差和控制器输出力矩有关,如式(7)所示,则目标向量为 ${{f}} = ({f_1},{f_2})$

表 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)

式中: $e(t)$ $t$ 时刻的机器人笛卡尔空间仿真轨迹与期望轨迹的偏差; ${\tau _n}(t)$ $t$ 时刻模糊PID控制器作用在第 $n$ 个关节的输出力矩; $T$ 为运行模糊PID控制器完成一次轨迹跟踪控制仿真的总时间。

模糊PID控制器多目标优化时,最小化控制器输出力矩可能导致轨迹跟踪误差的提高,因此需要在这2个互相冲突的目标中找到权衡的解,而这样的解不唯一。2个粒子的位置向量 ${{{x}}_1}$ ${{{x}}_2}$ ,若对于 $\forall k = 1,2$ ,有 ${f_k}({{{x}}_1}) \leqslant {f_k}({{{x}}_2})$ ,且对于 $\exists k = 1,2$ ${f_k}({{{x}}_1}) < {f_k}({{{x}}_2})$ ,称 ${{{x}}_1}$ 支配 ${{{x}}_2}$ ;否则称 ${{{x}}_1}$ ${{{x}}_2}$ 为非支配关系。多目标优化算法的任务是找到所有不被其他粒子位置向量支配的粒子所对应的目标向量 ${{f}} = ({f_1},{f_2})$ 的集合,这些目标向量互为非支配关系,其集合称为非支配解集。

2.2 改进多目标PSO算法

粒子群算法是通过各个粒子位置的不断调整,使得粒子不断向最优位置移动。算法中每个粒子均具有形如 $[{x_{i,1}}(k),{x_{i,2}}(k),\cdots,{x_{i,D}}(k)]$ 的位置向量 ${{{x}}_i}(k)$ 和形如 $[{v_{i,1}}(k),{v_{i,2}}(k),\cdots,{v_{i,D}}(k)]$ 的速度向量 ${{{v}}_i}(k)$ ,其中, $i = 1,2,\cdots,S$ 是粒子在粒子群中的序号, $k$ 为迭代次数,S是粒子群的个数。

改进多目标PSO算法优化机器人轨迹跟踪控制模糊PID控制器的流程如图3所示,算法主要步骤如下。

Download:
  注:pbestgbest分别是粒子的个体位置向量向导和全局最佳位置向量向导 图 3 多目标粒子群算法优化模糊PID控制器流程

1)生成初始粒子种群:根据表3,随机生成 $S$ 个形如 $[{x_{i,1}}(0),{x_{i,2}}(0),\cdots,{x_{i,162}}(0)]$ 的粒子位置向量 ${{{x}}_i}(0)$ ,且初始种群为 $\{ {{{x}}_1}(0),{{{x}}_2}(0),\cdots,{{{x}}_S}(0)\} $ ,设置初始种群中所有粒子的速度向量 ${{{v}}_i}(0)$ =0。

2)更新粒子群:设置第 $k$ 代粒子群为当前粒子群。

3)更新隶属函数和模糊规则:读取当前粒子群中第 $j$ ( $j = 1,2,\cdots,S$ )个粒子的位置向量,根据编码 ${x_{i,1}}(k) - {x_{i,10}}(k)$ 生成新的输入变量eec和输出变量 $\Delta {K_{\rm{P}}}$ $\Delta {K_{\rm{I}}}$ $\Delta {K_{\rm{D}}}$ 的隶属函数,更新隶属函数;根据编码 ${x_{i,11}}(k) - {x_{i,63}}(k)$ 产生新的输出变量 $\Delta {K_{\rm{P}}}$ $\Delta {K_{\rm{I}}}$ $\Delta {K_{\rm{D}}}$ 的模糊规则,更新模糊规则。

4)计算目标函数值:运行模糊PID控制器完成轨迹跟踪控制仿真,获得仿真控制中t时刻机器人仿真轨迹与期望轨迹的偏差 $e(t)$ 和各关节控制器的输出 ${u_i}(t)$ ,根据式(7)计算目标向量 ${{f}} = $ $ ({f_1},{f_2})$

5)判断是否遍历S个粒子:若粒子数量 $j$ 不满足 $j > S$ ,则 $j + 1$ ,进入步骤3);若满足 $j > S$ ,则进入步骤6)。

6)更新个体档案和全局档案:个体档案和全局档案分别是存储个体最佳位置和全局最优粒子的非支配解集。每个粒子均有自己的个体档案,而全局档案为所有粒子共享。个体档案和全局档案是为步骤8中选择pbestgbest做准备。若当代粒子群中的粒子与档案中的解集为非支配关系,则将该粒子添加到档案中。

7)判断是否终止优化算法:判断粒子迭代次数 $k$ 是否达到设定值,若到达最大值,则结束优化算法,返回当前全局档案中的粒子位置向量;若未到达,则进入步骤8)。

8)选择pbestgbest:需从个体档案和全局档案中的非支配解集中分别选择出来一个确定的值。选择pbestgbest的具体方法如下,首先对于每一个粒子均被赋予一个值 ${\sigma _i}$ ,且对于个人档案和全局档案中的每个粒子也被赋予一个值 ${\sigma _{{\rm{p}}i}}$ ${\sigma _{{\rm{g}}i}}$ ,目标函数值为 ${{f}} = ({f_1},{f_2})$ 的粒子值 $\sigma $ 被定义为

$\sigma = \dfrac{{f_1^2 - f_2^2}}{{f_1^2 + f_2^2}}$ (8)

然后将个体档案和全局档案中粒子 ${\sigma _{{\rm{p}}i}}$ ${\sigma _{{\rm{g}}i}}$ 最接近粒子 $i$ ${\sigma _i}$ 的档案成员作为该粒子的向导pbestgbest

9)计算速度向量所需参数:速度向量所需参数分别为第 $k$ 代粒子的惯性权重 $\omega (k)$ 、正加速度系数 ${c_1}(k)$ ${c_2}(k)$ ,其具体计算公式如式(9)—式(11)所示

$\omega (k) = \omega (0) + (\omega ({n_k}) - \omega (0))\frac{k}{{{n_k}}}$ (9)

式中: ${n_k}$ 为算法设置的最大迭代次数; $\omega (0)$ $\omega ({n_k})$ 分别为初始惯性权重和最终惯性权重; $\omega (k)$ 为第 $k$ 代的惯性权重,且 $\omega (0) \geqslant \omega ({n_k})$

${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)

式中: ${c_1}(0)$ ${c_1}({n_k})$ 分别为 ${c_1}$ 的初值与终值; ${c_2}(0)$ ${c_2}({n_k})$ 分别为 ${c_2}$ 的初值与终值,且 ${c_1}(0) \geqslant {c_1}({n_k})$ ${c_2}(0) \leqslant {c_2}({n_k})$

10)计算粒子速度向量:下一次迭代的速度向量 ${{{v}}_i}(k + 1)$ 中第 $d$ 维速度计算如式(12)所示

$ {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)

式中: ${V_{\max ,d}}$ 为第 $d$ 维上允许的最大速度; ${v'_{i,d}}(k + 1)$ 计算如式(13)所示

$\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)

式中: ${x_{i,d}}(k)$ ${v_{i,d}}(k)$ 分别为在 $k$ 时刻粒子 $i$ $d$ 维上的位置和速度, $d = 1,2,\cdots,D$ $\omega $ 为惯性权重系数; ${p_{{\rm{best}}}}_{i,d}(k)$ 为粒子 $i$ 从个体档案中选择出来的pbest的第 $d$ 维, ${g_{{\rm{best}}}}_d(k)$ 为在 $k$ 时刻当前全局档案中选择出来的gbest的第 $d$ 维;系数 ${r_1}$ ${r_2}$ 则为在区间 $[0,1]$ 上服从均匀分布 $U(0,1)$ 的随机数。

11)更新粒子位置:根据式(14)更新粒子位置向量 ${{{x}}_i}(k + 1)$

${{{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)

式中: ${x_{i,d}}$ 为粒子 $i$ 在第 $d$ 维上的值; ${x_{d,\max }}$ ${x_{d,\min }}$ 分别为粒子在第 $d$ 维上值的上界与下界;系数 $r$ 为在区间 $[0,1]$ 上服从均匀分布 $U(0,1)$ 的随机数。

3 仿真与结果分析

在机器人轨迹跟踪控制仿真中,设笛卡尔空间的期望轨迹为一段螺旋线,其参数方程如下

$\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)

式中: $t$ 为时间; ${T_c}$ 为周期时长; $ x{\text{、}}y{\text{、}}z$ 分别为笛卡尔空间的坐标值。

六关节机器人的D-H参数如表4所示。根据机器人运动学可将笛卡尔空间的期望轨迹转换成机器人关节空间各个关节的期望角度轨迹,如图4所示。本文搭建的机器人轨迹跟踪模糊PID控制的MATLAB仿真系统如图5所示,仿真步长 $\Delta t{\rm{ = }} $ $ 0{\rm{.01\;s}}$ ,仿真总时长 $T$ =10 s。运用该控制器可以得到各个时刻各关节角度的仿真值和输出力矩值,用于计算优化算法中式(7)的2个目标函数值 ${f_1}$ ${f_2}$ ,按照图3的流程图,设置表5的优化算法参数,运行上述设计的控制仿真系统,完成关节机器人轨迹跟踪模糊PID控制器的改进多目标PSO优化。

表 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. (0)
[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 (0)
[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 (0)
[4] 游国栋, 李继生, 侯勇, 等. 光伏系统多目标粒子群优化模糊MPPT控制[J]. 天津科技大学学报, 2016, 31(1): 73-78. (0)
[5] 赵俊, 陈建军. 混沌粒子群优化的模糊神经PID控制器设计[J]. 西安电子科技大学学报, 2008, 35(1): 54-59. (0)
[6] 颜楠楠, 傅正财. 基于多目标粒子群优化算法的UPFC协调控制[J]. 电力系统保护与控制, 2010, 38(8): 43-48. (0)
[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 (0)
[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 (0)
[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 (0)