工程科学与技术   2020, Vol. 52 Issue (2): 140-147
预设性能控制算法对机械臂运动控制的改进
赵京1, 王炎1,2, 陈雨青2     
1. 北京工业大学 机械工程及应用电子技术学院,北京 100124;
2. 贵阳学院 电子与通信工程学院,贵州 贵阳 550005
基金项目: 国家自然科学基金项目(51975008);贵州省科技厅联合基金计划项目(黔科合LH字[2015]7300号);贵阳市科技局–贵阳学院科技专项资金项目(GYU–KYZ[2019—2020]DT –05);贵阳学院高层次人才启动经费项目(GYU–ZRD[2018–036])
摘要: PD控制是在工业生产过程控制中,应用比较广泛,结构最简单的控制策略之一。传统的PD控制侧重于控制系统的稳态性能,而对系统的动态性能(包括超调量和收敛速度等)控制不够,如果想要提高响应速度就会使超调量变大,加剧响应振荡;如果想要超调量小,可能又会使响应速度变慢。响应速度与超调量似乎是一对比较矛盾的性能参数,单纯使用传统的PD控制,很难做到提高响应速度的同时降低超调量。所谓预设性能控制,指的是控制误差的收敛速度及超调量满足预先设定的条件,同时把控制误差收敛到一个预先指定的比较小的区域内。本文将PD控制与预设性能控制相结合,利用简单的PD控制结构和以对数形式误差变换为基础的预设性能函数来设计机械臂运动控制器,该控制器在设计的过程中可以预先设定稳态误差,而不像传统的PD控制器要通过多次的参数整定及调试后才能逐步减少控制误差。因此,本文提出的控制算法设计过程较简洁方便,具有较精确的控制精度和较快的响应速度,同时还能把超调量控制在合理的范围内。通过空间三关节机械臂的建模仿真分析,改进后的预设性能PD控制与传统PD控制相比,响应速度提高了40%左右,超调量减少了10%左右。通过4自由度Dobot机械臂的样机实验分析,改进后的预设性能PD控制与传统PD控制相比较,响应速度提高了20%左右,超调量减少了5%左右,因此该算法对控制系统动态响应性能的改善是比较明显的。
关键词: 机械臂    预设性能函数    运动控制    PD控制    
Improved Motion Control of Manipulator by Prescribed Performance Control Algorithm
ZHAO Jing1, WANG Yan1,2, CHEN Yuqing2     
1. College of Mechanical Eng. and Applied Electronics Technol., Beijing Univ. of Technol., Beijing 100124, China;
2. School of Electronic and Communication Eng., Guiyang Univ., Guiyang 550005, China
Abstract: PD control is widely used in the control of industrial production process, and it is also one of the control strategies with the simplest structure. It focuses on the steady-state performance of the control system, but there is not enough attention paid on the dynamic performance (including the overshoot and the convergence speed, etc.) of the system. Therefore, if the response speed is improved in the traditional PD control, the overshoot would increase and the oscillation response would be intensified. If a small overshoot is wanted, the response speed might be slow down. It seemes that the response speed and overshoot to be parameters of contradictory performance and it is difficult to improve response speed and reduce overshoot by using traditional PD control alone. The prescribed performance control means that the tracking error should converge to a predefined small residual set, with convergence rate no less than a prespecified value. The combined PD control with the prescribed performance control to design the manipulator motion controller using simple PD control structure and the prescribed performance function based on error transform of logarithmic form. The steady-state error can be preset in the design process of the controller, while the control error of traditional ID controller can only be gradually reduced after multiple parameters setting and debugging. Therefore, the design process of the control algorithm proposed was simple and convenient, with more accurate control precision and faster response speed. At the same time, the control algorithm can control the overshoot within a reasonable range. By the analysis of modeling and simulation of spatial three joints manipulator, the results showed that the prescribed performance PD control has the advantage of 40% faster response and 10% less overshoot comparing with the traditional PD control. By the prototype experimental analysis of the 4D of Dobot manipulator, the results showed that the prescribed performance PD control has the advantage of 20% faster response and 5% less overshoot comparing with the traditional PD control, which makes it obvious for the improvement of the dynamic response performance of the control system.
Key words: manipulator    prescribed performance function    motion control    PD control    

机器人不仅广泛运用于工业生产领域,还越来越多运用到人类服务领域,因此对机械臂控制器的要求越来越高。传统的PD控制是在工业生产过程控制中,应用比较广泛,结构最简单的控制策略之一,因为PD控制具有如下优点:原理简单,使用方便,鲁棒性强,可以广泛应用到各种工业生产控制领域中。鲁棒性强,指的是PD的控制效果对被控对象的特性变化不太敏感,因此具有较强的抗干扰能力。传统的PD控制器参数设计方法有衰减曲线法、临界比例度法[1]、神经网络训练法[2]等。传统的PD控制器较侧重于控制系统的稳态性能,而对系统的动态性能(包括超调量和收敛速度等)则控制不够。如果想要提高响应速度就会使超调量变大,加剧响应振荡;如果想要超调量小,可能又会使响应速度变慢。响应速度与超调量似乎是一对比较矛盾的性能参数,单纯使用传统的PD控制,很难通过简单的参数调试来满足超调量小且快速响应的控制要求。

所谓预设性能控制,指的是控制误差的收敛速度及超调量满足预先设定的条件,同时把控制误差收敛到一个预先指定的较小的区域内,能使控制系统的动态性能和稳态性能同时得到满足。Kostarigka[3-5]、胡云安[6]等介绍了预设性能控制的发展历程及研究现状,阐述了预设性能控制的基本原理,说明了预设性能控制能够解决工业生产及控制器设计中的一些关键技术问题。Theodorakopoulos等[7]针对带输入不确定项和扰动的非线性系统,设计了一种连续的静态状态反馈预设性能控制器,避免用神经网络和模糊控制等方法对系统参数进行估计,也避免了复杂的数学计算,为预设性能控制器的设计拓宽了思路和方法。Li等[8]针对包含不确定项并且有时变延迟和不可测状态的非线性控制系统,提出了一种自适应模糊预设性能控制器。Sui等[9]针对包含饱和不可测状态的非线性随机控制系统,设计了自适应模糊预设性能控制器。陈明等[10]针对具有扰动的非线性控制系统,将预设性能控制和鲁棒控制相结合,设计鲁棒预设性能控制器。Doulgeri等[11-12]将预设性能控制应用到机械臂力和位置跟踪控制中,保证误差的收敛速度及超调量满足预先设定的条件,同时将系统误差收敛到一个预先指定的任意小的区域内。Doulgeri等[13]将预设性能的概念运用到机器人控制中,能够实现对通用机械臂关节位置的控制。

预设性能控制自从希腊学者Bechlioulis等[14]于2008年首次提出以来,获得了十分广泛的应用,但是将其用于改善机械臂PD运动控制性能的文献还几乎未见报道。作者将PD控制与预设性能控制相结合设计机械臂运动控制器,该控制算法在设计的过程中可以预先设定稳态误差,而不像传统的PD控制器要通过多次的参数整定及调试后才能逐步减少控制误差。因此,本文提出的控制算法设计过程较简洁方便,具有较精确的控制精度和较快的响应速度,同时还能把超调量控制在合理的范围内。

1 预设性能控制 1.1 预设性能控制基本原理

对于具有N自由度的机械臂动力学方程可以表示为如下形式:

${{M}}({{q}})\ddot {{q}}{\rm{ + }}{{C}}{\rm{(}}{{q}},\dot {{q}}{\rm{)}}\dot {{q}} + {{{C}}_{\rm v}}\dot {{q}} + {{G}}({{q}}) + {{F}} = {{\varGamma }}$ (1)

式中: ${{q}}(t)$ $\dot {{q}}(t) $ $\ddot {{q}}(t) \in {\mathbb{R} ^n} $ 表示关节的角位移、角速度及角加速度; ${{M}}({{q}}) \in {\mathbb{R} ^{n \times n}}$ 表示机械臂的惯性矩阵; ${{C}}({{q}},\dot {{q}}) \in {\mathbb{R} ^n}$ 表示哥氏力和离心力向量; ${{{C}}_{\rm v}}$ 表示正定的黏性关节摩擦系数矩阵; ${{G}}({{q}}) \in {\mathbb{R} ^n}$ 表示重力向量; ${{F}}$ 表示外部扰动; ${{\varGamma }} \in {\mathbb{R}^n}$ 表示输入力矩向量。

性质1  正定的惯性矩阵 ${{M}}({{q}})$ 满足以下不等式:

${\lambda _{\rm h}}{{{I}}_n} \le {{M}}({{q}}) \le {\lambda _{\rm H}}{{{I}}_n}$ (2)

式中, ${{{I}}_n}$ N维单位矩阵, ${\lambda _{\rm h}}$ ${\lambda _{\rm H}}$ 表示该惯性矩阵的最大和最小特征值。

性质2  存在正常数 $c_{\rm g}$ 同时满足以下不等式:

$\left\{\!\!\!\! {\begin{array}{*{20}{l}} {U({{q}}) - U({{{q}}_{\rm {{d}}}}) - {{{e}}^{\rm T}}{{G}}({{{q}}_{\rm d}}) \ge - {c_{\rm g}}||{{e}}|{|^2}}, \\ {{{{e}}^{\rm T}}[{{G}}({{q}}) - {{G}}({{{q}}_{\rm d}})] \ge - {c_{\rm g}}||{{e}}||^2} \end{array}} \right.$ (3)

式中, $U({{q}})$ 表示重力势能函数。

性质3  存在正常数 ${c_0}$ 使得矩阵 ${{c}}({{q}},{{a}}){{b}}$ 有关于n维向量 ${{a}}$ ${{b}}$ 函数的下界:

$||{{{{c}}({{q}},{{a}}){{b}}}}|| \le {c_0}||{{a}}||\;||{{b}}||$ (4)

式中, ${\rm{||}}\; \cdot \;{\rm{||}}$ 表示矩阵和向量的欧几里得范数。

设计机械臂控制系统,该系统的期望输入关节角位移为 ${{q}}_{\rm d}$ ,输出关节角位移为 ${{q}}$ ,误差变量定义为:

${{e}} = {{q}} - {{q}}_{\rm d},({{e}},{{q}},{{q}}_{\rm d} \in {\mathbb{R} ^n})$ (5)

控制目标就是控制误差 $\mathop {\lim }\limits_{t \to \infty } e(t) = 0$ ,为了控制误差更快更好地趋近于零,引入预设性能函数 $\rho (t)$ ,并满足如下关系:

$ - {\rho _i}(t) < {e_i}(t) < {\rho _i}(t),({e_i}(0) > 0,i = 1,2,\cdots,n)$ (6)

由不等式(6)可知,误差曲线将被限制在 $\;\rho (t)$ $ - \rho (t)$ 所包围的区域之中,另外,结合函数 $\;\rho (t)$ 的递减特性可知,误差 $e(t)$ 迅速收敛到0的一个极小邻域内,上述过程可借助图1进行说明。因此,可以通过设定衰减的预设性能函数 ${\;\rho _i}(t)$ 来对系统响应误差进行动态性能控制。

图1 系统误差与性能函数关系示意图 Fig. 1 Schematic diagram of system error and performance function relationship

1.2 预设性能PD控制算法

基于预设性能控制原理,将不等式约束(6)转换为等式约束,设 ${x_i} = {e_i}(t)/{\rho _i}(t)$ ,引入对数形式的误差变换函数 ${{{\varepsilon }}_i}(t){\rm{ = }}H[{x_i}(t)]$ ,其中:

$H[{x_i}(t)] \!=\! \left\{ {\begin{aligned} & {\ln \left( {\frac{{1 \!+\! {x_i}(t)}}{{1 \! - \! {x_i}(t)}}} \right),{e_i}(0) \! > \! 0};\\ & {\ln \left( {\frac{{1 \!+ \!{x_i}(t)}}{{1 \! -\! {x_i}(t)}}} \right),{e_i}(0)\! <\! 0} \end{aligned}} \right.\;i \! =\! 1,2, \cdots ,n$ (7)

式中, ${H_i}( \cdot )$ , i=1,2,…,n,可以视为在误差变换函数定义域内递增的双射:

${H_i}( \cdot ):{D_{xi}} \to \mathbb{R} ,(i = 1,2,\cdots,n)$ (8)

式中, ${D_{xi}}$ 是误差变换函数 ${H_i}( \cdot )$ 的定义域:

${D_{xi}}\buildrel \Delta \over = \{ {x_i}:{x_i} \in (- 1,1)\}\;\;\;\;\;\;\;\; $ (9)

设计机械臂预设性能达点运动控制器,也就是目标位移 ${{q}}_{\rm d}$ 是常数的情况下控制关节角达到预定的位置,该控制器的设计包括以下几个步骤:

对于n个关节的机械臂,建立衰减速度相同的预设性能函数,预设性能函数可设为如下形式的衰减函数:

${\rho _i}(t) = [{\rho _i}(0)]\exp ( - {l_i}t) + {\rho _i}(\infty ),i = 1,2,\cdots,n\!\!\!\!\!$ (10)

式中: ${\;\rho _i}(0)$ ${\;\rho _i}(\infty )$ ${l_i}$ 都为正常数; ${\;\rho _i}(0)$ 表示预设性能函数初值且 ${\;\rho _i}(0) > {e_i}(0)$ ${\;\rho _i}(\infty )$ 表示稳态误差值; ${l_i}$ 表示预设性能函数的衰减速度,其值越大系统响应的调节时间越短,该参数虽然在理论上能够取所有大于零的常数,但是在实际应用中必须考虑控制器是否能够提供足够的功率来满足系统的要求。

以误差变换函数为基础,结合PD控制规律设计预设性能PD控制算法,其控制律为:

${{\varGamma }} = - {{{K}}_{\rm p}}{{e}}(t) - {{{K}}_{\rm v}}{{\dot {{e}}}}(t) - {{{K}}_\varepsilon }{{{J}}_{\rm H}}(t){{\varepsilon }}(t)$ (11)

式中: ${{K}}_{\rm p}$ ${{K}}_{\rm v}$ 为PD参数, ${{{K}}_{{\varepsilon }}}$ 为预设性能增益参数,它们都是正定的对角常数矩阵;当 ${{{K}}_{{\varepsilon }}}$ 为零时,该控制器就变成单一的PD控制器, ${{J}}_{\rm H}(t)= {\rm{diag}}[{J_{\rm H1}}(T),{J_{\rm H2}}(T),\cdots$ ${J_{{\rm H}n}}(T)] $ ,表示误差转换函数,其中:

${{{J}}_{{\rm H}i}}(t){\rm{ = }}\frac{{\partial {H_i}}}{{\partial ({x_i}(t))}}\frac{1}{{{\rho _i}(t)}} > 0$ (12)

预设性能PD控制器主要分为PD控制和预设性能控制两部分,如图2所示,其中预设性能控制部分主要用来提高响应速度和减少超调量。

图2 控制系统结构 Fig. 2 Structure diagram of control system

2 稳定性分析

将控制律式(11)代入机械臂动力学方程 (1)得到闭环控制系统:

$\begin{aligned}[b] {{M}}({{q}})\ddot {{q}} & {\rm{ + }}{{C}}{\rm{(}}{{q}},\dot {{q}}{\rm{)}}\dot {{q}} + {{{C}}_{\rm v}}\dot {{q}} + {{G}}({{q}}) + {{F}} + \\ &{{{K}}_{\rm p}}{{e}}(t) + {{{K}}_{\rm v}}{{\dot {{e}}}}(t) + {{{K}}_\varepsilon }{{{J}}_{\rm H}}(t){{\varepsilon }}(t) = 0 \end{aligned} $ (13)

定义闭环系统状态变量S

${{S}}\buildrel \Delta \over = {[{\dot {{q}}^{\rm T}},{{{x}}^{\rm T}},{{{\textit{z}}}^{\rm T}}]^{\rm T}} \in {\mathbb{R} ^{3n}}$ (14)

式中, ${{\textit{z}}} = \displaystyle\int_0^t {{{e}}(t){\rm d}t} $ 。闭环系统(13)中的变量 ${{q}}$ ${{e}}$ ${{\varepsilon }}$ 都可以用状态变量表示为:

$\left\{ \begin{aligned} & {{{e}}(x,t) = \rho (t)x}, \\ &{{{q}}(x,t) = {{{q}}_{\rm d}} + \rho (t)x} , \\ &{{\varepsilon }}(x) = [{T_1}({x_1}),{T_2}({x_2}),\cdots,{T_n}({x_n})] \end{aligned} \right.$ (15)

定义向量函数 ${{\varepsilon }}(x)$ 的定义域为卡迪尔开空间 ${D_{xi}}(i=1,2,\cdots,n)$ 的乘积。

${D_x} \buildrel \Delta \over = {D_{x1}} \times {D_{x2}} \times \cdot \cdot \cdot \times {D_{xn}}$ (16)

同样定义系统状态的定义域为:

${D_x} \buildrel \Delta \over = \{ {{S}} \in {\mathbb{R} ^n},x \in {D_x},{\textit{z}} \in {\mathbb{R} ^n}\} $ (17)

定义函数 $V(s,t):D \times {\mathbb{R} ^ + } \to \mathbb{R} :$

$\begin{aligned}[b] V(s,t) =& \frac{1}{2}{{{v}}^{\rm T}}{{A}}({{q}},t){{v}} + \frac{1}{2}{{{\varepsilon}} ^{\rm T}}(x){{{K}}_{{\varepsilon}} }{{\varepsilon}} (x) + \\ &\frac{1}{2}{{{e}}^{\rm T}}{{{K}}_{\rm{p}}}{{e}} - {{{e}}^{\rm T}}{{G}}({{{q}}_{\rm d}}) \end{aligned} $ (18)

式中, ${{A}}({{q}},t)$ ${{v}}$ 定义为:

$\left\{ {\begin{aligned} & {{{A}}({{q}},t) = \left[\!\!\!\! {\begin{array}{*{20}{c}} {M({{q}})}&{M({{q}})} \\ {M({{q}})}&{{{{K}}_{\rm{ v}}} + {{{C}}_{ {\rm{v}}}}} \end{array}} \!\!\!\right]}, \\ & {{{A}}({{q}},{{v}}) = \frac{{\dot {{q}}}}{{{e}}}} \end{aligned}} \right.$ (19)

再定义函数 $W(\dot {{q}},x,t):{\mathbb{R} ^n} \times {D_x} \times {\mathbb{R} ^ + } \to \mathbb{R} $

$\begin{aligned}[b] W(\dot {{q}},x,t) =& {{\dot {{q}}}^{\rm T}}({{{K}}_{\rm{v}}} + {{{C}}_{\rm{v}}})\dot {{q}} - {{\dot {{q}}}^{\rm T}}[M({{q}}) + C({{q}},{{e}})]\dot {{q}} - \\ &\frac{1}{2}{{{e}}^{\rm T}}({{{K}}_{\rm{v}}} + {{{C}}_{\rm{v}}}){{e}} - {{\dot {{q}}}^{\rm T}}M({{q}}){{e}} + {{{e}}^{\rm T}}{{{K}}_{\rm{p}}}{{e}} + \\ & {{{e}}^{\rm T}}[{{G}}({{q}})] - {{G}}({{{q}}_{\rm{d}}})] + {{{e}}^{\rm T}}{K_{{\varepsilon}} }{{{J}}^{\rm T}}(x,t){{\varepsilon}} (x) \end{aligned} $ (20)

同时,满足如下方程:

$\frac{{{\rm d}V(s,t)}}{{{\rm d}t}} + W(\dot {{q}},x,t) = 0$ (21)

接下来的证明需要用到以下两个引理[15]

引理1  函数 $V(s,t):D \times {\mathbb{R} ^ + } \to \mathbb{R} $ 具有如下性质:

1)具有下界的正连续系统状态变量s,当 $||\dot { q}|| \to $ $ + \infty $ 时, $V(s,t) \to + \infty $ $||{\textit{z}}|| \to + \infty $ $\;x \to \partial {D_x}$

2)当以下条件满足时 $V(s,t)$ 是递减的:

$\left\{ {\begin{aligned} & {{{{K}}_{\rm v}} > (l + 1){\lambda _{\rm{H}}}}, \\ & {{{{K}}_{\rm p}} > 2{c_{\rm g}}} \end{aligned}} \right.$ (22)

引理2  当以下条件满足时

$\left\{\!\!\!\! {\begin{array}{l} {{{{K}}_{\rm v}} > (l + 1)\left( {{\lambda _{\rm H}} + {\rho _0}\sqrt n {c_0}} \right) + \dfrac{{\sqrt 2 {\lambda _{\rm H}}l}}{4}},\\ {{{{K}}_{\rm p}} > {c_{\rm g}}} \end{array}} \right.$ (23)

存在正常数 $\gamma $ ,同时 $\forall s \in D$ ,使得函数 $W(\dot {{q}},x,t)$ 有如下形式的下界:

$W(\dot {{q}},x,t) \ge \gamma ||\dot {{q}}||^2$ (24)

定义闭环系统(13)的定义域为D,当位置和速度增益参数 ${{K}}_{\rm p}$ ${{K}}_{\rm v}$ 满足式(22)和(23)时可以得出:1) $\dot {{q}},{\textit{z}} \in {\ell _\infty }$ ;2) $e \to 0$ 。通过分析进一步发现,当 ${{{K}}_{\rm{v}}}$ ${{{K}}_{\rm{p}}}$ 满足式(22)和(23)时,引理1和引理2的条件也同时得到满足,根据引理1可以得到:

$V(s,t) = 1 - {{\rm{e}}^{ - V(s,t)}}$ (25)

该函数具有如下性质:1) $V(s,t)$ 具有非负常数的下确界;2) $V(s,t) < 1$ ;3)当 $||\dot {{q}}|| \to + \infty $ $||{\textit{z}}|| \to + \infty $ 时, $V(s,t) \to 1$ 。通过这些结论,并对式(25)两边进行微分并联立式(21)得到:

$\dot V(s,t) = - W(\dot {{q}},x,t)[1 - v(s,t)] < 0$ (26)

对方程(21)在时间区间 $[0, + \infty )$ 进行积分,并代入式(24)得到 $\dot {{q}} \in {\ell _2}$

$V(0) - V(\infty ) \ge \gamma \int_0^\infty ||\dot {{q}}||^2{\rm d} t$ (27)

因为 $\dot {{q}}$ 是一致连续的并且属于 ${\ell _2}$ 空间,使用文献[16]的结论可知 $\dot {{q}} \to 0$ $x \to 0$ ,根据李雅普诺夫第二判据,可知该系统是渐进稳定的。

从式(22)、(23)可以看出,在自由度为N的机械臂控制系统中,控制器的参数选择主要跟机械臂的重力和速度有关。重力和速度越大,需要的控制器功率也就越大,因此在实际应用中,应考虑控制器是否能够提供足够的功率来满足系统需求。

3 仿真分析

通过机械臂的关节空间控制实现预设性能PD控制算法。使用比较直观的空间3关节机械臂进行仿真分析,采用ADAMS软件进行机械臂的建模,运用SIMULINK进行控制器设计。机械臂构型如图3所示,机械臂参数见表1

表1 机械臂参数 Tab. 1 Manipulator parameters

图3 空间机械臂构型图 Fig. 3 Configuration diagram of spacial manipulator

该机械臂腰关节角位移为 ${q_1}$ ,肩关节的角位移为 ${q_2}$ ,肘关节的角位移为 ${q_3}$ 。由于腰关节一般运动的幅度和速度都不大,所以不考虑腰关节,仅以关节2肩关节和关节3肘关节为研究对象。令初始角位移 ${q_0}$ =(0, $\text{π} $ /12),期望角位移 ${q_{\rm{d}}}$ =( $\text{π} /6$ $\text{π} /4$ ), ${{e}}$ =( $ - \text{π} /6$ $ - \text{π}/6$ ),预设性能函数参数 ${\;\rho _i}(0)$ 设为 $2{{{e}}_0}$ $\text{π} /3$ ${\;\rho _i}(\infty )$ 设为0.01 rad,即稳态误差范围为0.57°, ${l_i}$ 设为4,系统响应的调节时间大约为1 s,根据式(10)可得预设性能函数:

${\rho _i}(t) = \frac{\text{π}}{3}{{\rm e}^{ - 4t}} + 0.01,i = 1,2,3$ (28)

根据控制系统稳定性的要求式(22)、(23)中控制器参数设为两组,如表2所示。

表2 控制器参数 Tab. 2 Controller parameters

在同样的控制参数 ${{K}}_{\rm p}$ ${{K}}_{\rm v}$ 条件下,分别用传统的PD控制( ${{{K}}_{{\varepsilon }}} = 0$ )算法和预设性能PD控制( ${{{K}}_{{\varepsilon }}} \ne 0$ )算法(PP–PD)进行仿真,比较其误差响应曲线如图45所示。从图45中可以看出,关节误差严格满足 $- {\rho _i}(t) < $ $ {e_i}(t) < {\rho _i}(t),(i = 1,2,3)$ ,即系统误差曲线被严格控制在预设性能曲线 $ - {\rho _i}(t)$ ${\rho _i}(t)$ 之间。

图4 关节空间误差响应曲线(参数1) Fig. 4 Response curves of joints space (parameter 1)

图5 关节空间误差响应曲线(参数2) Fig. 5 Response curves of joints space (parameter 2)

系统的输入力矩曲线如图67所示。由图67可以看到:传统的PD控制算法只是在控制的初始瞬间输出力矩比较大,而在中后期的动态性能调节方面做得不够;而预设性能PD控制算法在中后期的调节力度也比较大。

图6 机械臂控制系统的输入力矩(参数1) Fig. 6 Input torque of manipulator control system (parameter 1)

图7 机械臂控制系统的输入力矩(参数2) Fig. 7 Input torque of manipulator control system (parameter 2)

表3是在不同的参数条件下两种控制算法的性能指标对比。由表3可知:传统的PD控制算法不仅响应慢而且超调量还比较大;预设性能PD控制算法具有较快的响应速度同时还能降低系统响应的超调量,因此该算法对控制系统动态性能的改善是比较明显的。

表3 控制器性能 Tab. 3 Controller performance

4 实验分析

实验采用Dobot机械臂为研究对象。该机械臂主要由回转主体、大臂、小臂、臂头等部分组成,是一种 4 自由度串联开链式机械臂,可用于完成夹取、书写、焊接、搬运、雕刻等操作工作。4个关节都是旋转关节,分别为J1、J2、J3、J4,并分别建立坐标系如图8所示,各连杆参数分别为b1=138 mm,b2=135 mm,b3=147 mm。

图8 Dobot机械臂模型 Fig. 8 Dobot manipulator model

为了验证本文算法的实时性能,搭建机械臂实验平台如图9所示,实验的硬件部分主要包括Dobot机械臂、Arduino核心板(底座)和PC上位机。为实现Dobot机械臂实体与上位机的实时通信,以Arduino板作为数据采集的实时采集的硬件,完成关节角位移及功率等采样数据的实时通信,采样频率为50 Hz,上位机与机械臂的通信流程如图10所示。软件采用以C语言为基础,结合Dobot公司提供的Dobotstudio API接口及函数库设计控制算法对机械臂预运动控制进行实验分析及验证。

图9 实验平台搭架及调试 Fig. 9 Building and debugging of experimental platform

图10 实时通信及数据采集流程 Fig. 10 Data acquisition of real-time communication

该样机实验以第2个关节J2和第3个关节J3为研究对象。令初始角位移 ${q_0}=(0,\text{π}/12)$ ,期望角位移 ${q_{\rm{d}}}= $ $(\text{π} /4,\text{π}/3)$ ${{e}}=( -\text{π} /4, - \text{π} /4)$ ,预设性能函数参数 ${\;\rho _i}(0)$ 设为 $2{e_0}$ $\text{π} /2$ ${\;\rho _i}(\infty )$ 设为0.01 rad,即稳态误差范围为0.57°, ${l_i}$ 设为2,其预设性能函数如下:

${\rho _i}(t) = \frac{\text{π}}{2}{{\rm e}^{ - 2t}} + 0.01,(i = 1,2,3)$ (29)

在同样的操作任务和 ${{K}}_{\rm p}$ ${{K}}_{\rm v}$ 参数条件下,分别用单一的PD控制算法和预设性能PD控制算法(PP–PD)进行实验,比较系统响应曲线如图11所示。由图11可以看出,在单一的PD控制算法下,系统响应的调节时间有2 s左右,而加入了预设性能控制算法以后,系统响应的调节时间只有1.5 s左右,预设性能控制算法能有效地提高系统响应速度。

图11 Dobot机械臂响应曲线 Fig. 11 Response curves of Dobot manipulator

系统的输入力矩曲线如图12所示,由图12可以看到,预设性能PD控制算法在系统响应刚超过预期值时,立刻会施加一个反方向的力矩控制超调并提高系统响应速度,因此能更好地改善系统的动态响应性能。

图12 Dobot机械臂系统输入力矩 Fig. 12 Input torque of Dobot manipulator system

5 结 论

本文阐述了一种针对机械臂在关节空间中实现达点运动控制,且具有预先设定的稳态和瞬态性能的控制方法。该算法利用简单的PD控制结构加上误差变换函数为基础的预设性能函数来实现关节角达点运动的预设性能控制,且该算法不需要任何系统的动力学模型就能够实现预先设定的输出。本文的预设性能PD控制算法可以对传统PD控制进行改进,该控制算法在设计的过程中可以预先设定稳态误差和响应时间,与传统PD控制算法相比,减化了要进行多次参数整定和调试来不断缩小误差的设计过程。通过仿真和Dobot机械臂样机实验可以看出,改进后的预设性能PD控制算法能够有效改进机械臂运动控制的动态响应性能。

参考文献
[1]
Wang Qinglan,Shi Xuewen,Zhang Tongdui. Parameters tuning of PID controller based on critical proportioning method[J]. Journal of Tangshan Normal University, 2016(5): 58-60. [王庆兰,石学文,张同对. 临界比例度法整定PID控制器参数[J]. 唐山师范学院学报, 2016(5): 58-60. DOI:10.3969/j.issn.1009-9115.2016.05.039]
[2]
Jin Linjun,Fang Jian’an,Pan Leining. Neural PID controller based on improved particle swarm optimization algorithm[J]. Mechanical & Electrical Engineering Magazine, 2015, 32(2): 295-300. [金林骏,方建安,潘磊宁. 一种基于改进的粒子群优化算法的神经网络PID控制器[J]. 机电工程, 2015, 32(2): 295-300.]
[3]
Kostarigka A K,Rovithakis G A. Prescribed performance output feedback control:An approximate passivation approach[J]. Control & Automation, 2010, 40: 11-16.
[4]
Kostarigka A K,Rovithakis G A. Prescribed performance output feedback/observer-free robust adaptive control of uncertain systems using neural networks[J]. IEEE Transactions on Systems Man & Cybernetics (Part B), 2011, 41(6): 1483-1494.
[5]
Kostarigka A K,Rovithakis G A. Adaptive dynamic output feedback neural network control of uncertain MIMO nonlinear systems with prescribed performance[J]. IEEE Transactions on Neural Networks & Learning Systems, 2012, 23(1): 138-149.
[6]
Hu Yun’an,Zhang Lei,Geng Baoliang. Research development of prescribed performance contrtol[J]. Journal of Naval Aeronautical and Astronautical University, 2016, 31(1): 1-6. [胡云安,张雷,耿宝亮. 预设性能控制研究进展[J]. 海军航空工程学院学报, 2016, 31(1): 1-6. DOI:10.7682/j.issn.1673-1522.2016.01.001]
[7]
Theodorakopoulos A,Rovithakis G A. Guaranteeing preselected tracking quality for uncertain strict-feedback systems with deadzone input nonlinearity and disturbances via low-complexity control[J]. Automatica, 2015, 54(C): 135-145.
[8]
Li Y,Tong S. Prescribed performance adaptive fuzzy output-feedback dynamic surface control for nonlinear large-scale systems with time delays[J]. Information Sciences, 2015, 292: 125-142. DOI:10.1016/j.ins.2014.08.060
[9]
Sui S,Tong S,Li Y. Observer-based fuzzy adaptive prescribed performance tracking control for nonlinear stochastic systems with input saturation[J]. Neurocomputing, 2015, 158: 100-108. DOI:10.1016/j.neucom.2015.01.063
[10]
Chen Ming,Zhang Shiyong. Prescribed performance robust controller design for nonlinear systems based on Backstepping[J]. Control and Decision, 2015, 30(5): 877-881. [陈明,张士勇. 基于Backstepping的非线性系统预设性能鲁棒控制器设计[J]. 控制与决策, 2015, 30(5): 877-881.]
[11]
Doulgeri Z,Karayiannidis Y,Zoidi O.Prescribed performance control for robot joint trajectory tracking under parametric and model uncertainties[C]//Mediterranean Conference on Control and Automation.New York:IEEE,2009:1313–1318.
[12]
Bechlioulis C,Doulgeri Z,Rovithakis G.Robot force/position tracking with guaranteed prescribed performance[C]//IEEE International Conference on Robotics and Automation.New York:IEEE,2009:629–634.
[13]
Doulgeri Z,Karayiannidis Y.PID type robot joint position regulation with prescribed performance guaranties[C]//IEEE International Conference on Robotics and Automation.New York:IEEE,2010:4137–4142.
[14]
Bechlioulis C P,Rovithakis G A. Robust adaptive control of feedback linearizable MIMO nonlinear systems with prescribed performance[J]. IEEE Transactions on Automatic Control, 2008, 53(9): 2090-2099. DOI:10.1109/TAC.2008.929402
[15]
Karayiannidis Y,Doulgeri Z. Model-free robot joint position regulation and tracking with prescribed performance guarantees[J]. Robotics and Autonomous Systems, 2012, 60(2): 214-226. DOI:10.1016/j.robot.2011.10.007
[16]
Desoer C A,Vidyasagar M.Feedback systems:Input-output properties[M].Salt Lake City:Academic Press,1975:1454–1455.