2. 贵阳学院 电子与通信工程学院,贵州 贵阳 550005
2. School of Electronic and Communication Eng., Guiyang Univ., Guiyang 550005, China
机器人不仅广泛运用于工业生产领域,还越来越多运用到人类服务领域,因此对机械臂控制器的要求越来越高。传统的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) |
式中:
性质1 正定的惯性矩阵
| ${\lambda _{\rm h}}{{{I}}_n} \le {{M}}({{q}}) \le {\lambda _{\rm H}}{{{I}}_n}$ | (2) |
式中,
性质2 存在正常数
| $\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) |
式中,
性质3 存在正常数
| $||{{{{c}}({{q}},{{a}}){{b}}}}|| \le {c_0}||{{a}}||\;||{{b}}||$ | (4) |
式中,
设计机械臂控制系统,该系统的期望输入关节角位移为
| ${{e}} = {{q}} - {{q}}_{\rm d},({{e}},{{q}},{{q}}_{\rm d} \in {\mathbb{R} ^n})$ | (5) |
控制目标就是控制误差
| $ - {\rho _i}(t) < {e_i}(t) < {\rho _i}(t),({e_i}(0) > 0,i = 1,2,\cdots,n)$ | (6) |
由不等式(6)可知,误差曲线将被限制在
![]() |
| 图1 系统误差与性能函数关系示意图 Fig. 1 Schematic diagram of system error and performance function relationship |
1.2 预设性能PD控制算法
基于预设性能控制原理,将不等式约束(6)转换为等式约束,设
| $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 ):{D_{xi}} \to \mathbb{R} ,(i = 1,2,\cdots,n)$ | (8) |
式中,
| ${D_{xi}}\buildrel \Delta \over = \{ {x_i}:{x_i} \in (- 1,1)\}\;\;\;\;\;\;\;\; $ | (9) |
设计机械臂预设性能达点运动控制器,也就是目标位移
对于n个关节的机械臂,建立衰减速度相同的预设性能函数,预设性能函数可设为如下形式的衰减函数:
| ${\rho _i}(t) = [{\rho _i}(0)]\exp ( - {l_i}t) + {\rho _i}(\infty ),i = 1,2,\cdots,n\!\!\!\!\!$ | (10) |
式中:
以误差变换函数为基础,结合PD控制规律设计预设性能PD控制算法,其控制律为:
| ${{\varGamma }} = - {{{K}}_{\rm p}}{{e}}(t) - {{{K}}_{\rm v}}{{\dot {{e}}}}(t) - {{{K}}_\varepsilon }{{{J}}_{\rm H}}(t){{\varepsilon }}(t)$ | (11) |
式中:
| ${{{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) |
式中,
| $\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) |
定义向量函数
| ${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) |
定义函数
| $\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) |
式中,
| $\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) |
再定义函数
| $\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 函数
1)具有下界的正连续系统状态变量s,当
2)当以下条件满足时
| $\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) |
存在正常数
| $W(\dot {{q}},x,t) \ge \gamma ||\dot {{q}}||^2$ | (24) |
定义闭环系统(13)的定义域为D,当位置和速度增益参数
| $V(s,t) = 1 - {{\rm{e}}^{ - V(s,t)}}$ | (25) |
该函数具有如下性质:1)
| $\dot V(s,t) = - W(\dot {{q}},x,t)[1 - v(s,t)] < 0$ | (26) |
对方程(21)在时间区间
| $V(0) - V(\infty ) \ge \gamma \int_0^\infty ||\dot {{q}}||^2{\rm d} t$ | (27) |
因为
从式(22)、(23)可以看出,在自由度为N的机械臂控制系统中,控制器的参数选择主要跟机械臂的重力和速度有关。重力和速度越大,需要的控制器功率也就越大,因此在实际应用中,应考虑控制器是否能够提供足够的功率来满足系统需求。
3 仿真分析通过机械臂的关节空间控制实现预设性能PD控制算法。使用比较直观的空间3关节机械臂进行仿真分析,采用ADAMS软件进行机械臂的建模,运用SIMULINK进行控制器设计。机械臂构型如图3所示,机械臂参数见表1。
| 表1 机械臂参数 Tab. 1 Manipulator parameters |
![]() |
![]() |
| 图3 空间机械臂构型图 Fig. 3 Configuration diagram of spacial manipulator |
该机械臂腰关节角位移为
| ${\rho _i}(t) = \frac{\text{π}}{3}{{\rm e}^{ - 4t}} + 0.01,i = 1,2,3$ | (28) |
根据控制系统稳定性的要求式(22)、(23)中控制器参数设为两组,如表2所示。
| 表2 控制器参数 Tab. 2 Controller parameters |
![]() |
在同样的控制参数
![]() |
| 图4 关节空间误差响应曲线(参数1) Fig. 4 Response curves of joints space (parameter 1) |
![]() |
| 图5 关节空间误差响应曲线(参数2) Fig. 5 Response curves of joints space (parameter 2) |
系统的输入力矩曲线如图6、7所示。由图6、7可以看到:传统的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为研究对象。令初始角位移
| ${\rho _i}(t) = \frac{\text{π}}{2}{{\rm e}^{ - 2t}} + 0.01,(i = 1,2,3)$ | (29) |
在同样的操作任务和
![]() |
| 图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.
|
2020, Vol. 52
















